packages feed

webauthn 0 → 0.1.0.0

raw patch · 128 files changed

+20475/−703 lines, 128 filesdep +QuickCheckdep +asn1-parsedep +binarydep −cerealdep ~aesondep ~asn1-encodingdep ~asn1-typessetup-changednew-uploaderbinary-added

Dependencies added: QuickCheck, asn1-parse, binary, deriving-aeson, directory, file-embed, filepath, hourglass, hspec, hspec-expectations-json, jose, lens, monad-time, mtl, pem, quickcheck-instances, singletons, time, unordered-containers, uuid, validation, webauthn, x509-store

Dependencies removed: cereal

Dependency ranges changed: aeson, asn1-encoding, asn1-types, base, base16-bytestring, base64-bytestring, bytestring, cborg, containers, cryptonite, hashable, memory, serialise, text, x509, x509-validation

Files

− CHANGELOG.md
@@ -1,5 +0,0 @@-# Revision history for webauthn--## 0 -- YYYY-mm-dd--* First version. Released on an unsuspecting world.
LICENSE view
@@ -1,30 +1,176 @@-Copyright (c) 2019, Fumiaki Kinoshita+                                 Apache License+                           Version 2.0, January 2004+                        http://www.apache.org/licenses/ -All rights reserved.+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION -Redistribution and use in source and binary forms, with or without-modification, are permitted provided that the following conditions are met:+   1. Definitions. -    * Redistributions of source code must retain the above copyright-      notice, this list of conditions and the following disclaimer.+      "License" shall mean the terms and conditions for use, reproduction,+      and distribution as defined by Sections 1 through 9 of this document. -    * Redistributions in binary form must reproduce the above-      copyright notice, this list of conditions and the following-      disclaimer in the documentation and/or other materials provided-      with the distribution.+      "Licensor" shall mean the copyright owner or entity authorized by+      the copyright owner that is granting the License. -    * Neither the name of Fumiaki Kinoshita nor the names of other-      contributors may be used to endorse or promote products derived-      from this software without specific prior written permission.+      "Legal Entity" shall mean the union of the acting entity and all+      other entities that control, are controlled by, or are under common+      control with that entity. For the purposes of this definition,+      "control" means (i) the power, direct or indirect, to cause the+      direction or management of such entity, whether by contract or+      otherwise, or (ii) ownership of fifty percent (50%) or more of the+      outstanding shares, or (iii) beneficial ownership of such entity. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.+      "You" (or "Your") shall mean an individual or Legal Entity+      exercising permissions granted by this License.++      "Source" form shall mean the preferred form for making modifications,+      including but not limited to software source code, documentation+      source, and configuration files.++      "Object" form shall mean any form resulting from mechanical+      transformation or translation of a Source form, including but+      not limited to compiled object code, generated documentation,+      and conversions to other media types.++      "Work" shall mean the work of authorship, whether in Source or+      Object form, made available under the License, as indicated by a+      copyright notice that is included in or attached to the work+      (an example is provided in the Appendix below).++      "Derivative Works" shall mean any work, whether in Source or Object+      form, that is based on (or derived from) the Work and for which the+      editorial revisions, annotations, elaborations, or other modifications+      represent, as a whole, an original work of authorship. For the purposes+      of this License, Derivative Works shall not include works that remain+      separable from, or merely link (or bind by name) to the interfaces of,+      the Work and Derivative Works thereof.++      "Contribution" shall mean any work of authorship, including+      the original version of the Work and any modifications or additions+      to that Work or Derivative Works thereof, that is intentionally+      submitted to Licensor for inclusion in the Work by the copyright owner+      or by an individual or Legal Entity authorized to submit on behalf of+      the copyright owner. For the purposes of this definition, "submitted"+      means any form of electronic, verbal, or written communication sent+      to the Licensor or its representatives, including but not limited to+      communication on electronic mailing lists, source code control systems,+      and issue tracking systems that are managed by, or on behalf of, the+      Licensor for the purpose of discussing and improving the Work, but+      excluding communication that is conspicuously marked or otherwise+      designated in writing by the copyright owner as "Not a Contribution."++      "Contributor" shall mean Licensor and any individual or Legal Entity+      on behalf of whom a Contribution has been received by Licensor and+      subsequently incorporated within the Work.++   2. Grant of Copyright License. Subject to the terms and conditions of+      this License, each Contributor hereby grants to You a perpetual,+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable+      copyright license to reproduce, prepare Derivative Works of,+      publicly display, publicly perform, sublicense, and distribute the+      Work and such Derivative Works in Source or Object form.++   3. Grant of Patent License. Subject to the terms and conditions of+      this License, each Contributor hereby grants to You a perpetual,+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable+      (except as stated in this section) patent license to make, have made,+      use, offer to sell, sell, import, and otherwise transfer the Work,+      where such license applies only to those patent claims licensable+      by such Contributor that are necessarily infringed by their+      Contribution(s) alone or by combination of their Contribution(s)+      with the Work to which such Contribution(s) was submitted. If You+      institute patent litigation against any entity (including a+      cross-claim or counterclaim in a lawsuit) alleging that the Work+      or a Contribution incorporated within the Work constitutes direct+      or contributory patent infringement, then any patent licenses+      granted to You under this License for that Work shall terminate+      as of the date such litigation is filed.++   4. Redistribution. You may reproduce and distribute copies of the+      Work or Derivative Works thereof in any medium, with or without+      modifications, and in Source or Object form, provided that You+      meet the following conditions:++      (a) You must give any other recipients of the Work or+          Derivative Works a copy of this License; and++      (b) You must cause any modified files to carry prominent notices+          stating that You changed the files; and++      (c) You must retain, in the Source form of any Derivative Works+          that You distribute, all copyright, patent, trademark, and+          attribution notices from the Source form of the Work,+          excluding those notices that do not pertain to any part of+          the Derivative Works; and++      (d) If the Work includes a "NOTICE" text file as part of its+          distribution, then any Derivative Works that You distribute must+          include a readable copy of the attribution notices contained+          within such NOTICE file, excluding those notices that do not+          pertain to any part of the Derivative Works, in at least one+          of the following places: within a NOTICE text file distributed+          as part of the Derivative Works; within the Source form or+          documentation, if provided along with the Derivative Works; or,+          within a display generated by the Derivative Works, if and+          wherever such third-party notices normally appear. The contents+          of the NOTICE file are for informational purposes only and+          do not modify the License. You may add Your own attribution+          notices within Derivative Works that You distribute, alongside+          or as an addendum to the NOTICE text from the Work, provided+          that such additional attribution notices cannot be construed+          as modifying the License.++      You may add Your own copyright statement to Your modifications and+      may provide additional or different license terms and conditions+      for use, reproduction, or distribution of Your modifications, or+      for any such Derivative Works as a whole, provided Your use,+      reproduction, and distribution of the Work otherwise complies with+      the conditions stated in this License.++   5. Submission of Contributions. Unless You explicitly state otherwise,+      any Contribution intentionally submitted for inclusion in the Work+      by You to the Licensor shall be under the terms and conditions of+      this License, without any additional terms or conditions.+      Notwithstanding the above, nothing herein shall supersede or modify+      the terms of any separate license agreement you may have executed+      with Licensor regarding such Contributions.++   6. Trademarks. This License does not grant permission to use the trade+      names, trademarks, service marks, or product names of the Licensor,+      except as required for reasonable and customary use in describing the+      origin of the Work and reproducing the content of the NOTICE file.++   7. Disclaimer of Warranty. Unless required by applicable law or+      agreed to in writing, Licensor provides the Work (and each+      Contributor provides its Contributions) on an "AS IS" BASIS,+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or+      implied, including, without limitation, any warranties or conditions+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A+      PARTICULAR PURPOSE. You are solely responsible for determining the+      appropriateness of using or redistributing the Work and assume any+      risks associated with Your exercise of permissions under this License.++   8. Limitation of Liability. In no event and under no legal theory,+      whether in tort (including negligence), contract, or otherwise,+      unless required by applicable law (such as deliberate and grossly+      negligent acts) or agreed to in writing, shall any Contributor be+      liable to You for damages, including any direct, indirect, special,+      incidental, or consequential damages of any character arising as a+      result of this License or out of the use or inability to use the+      Work (including but not limited to damages for loss of goodwill,+      work stoppage, computer failure or malfunction, or any and all+      other commercial damages or losses), even if such Contributor+      has been advised of the possibility of such damages.++   9. Accepting Warranty or Additional Liability. While redistributing+      the Work or Derivative Works thereof, You may choose to offer,+      and charge a fee for, acceptance of support, warranty, indemnity,+      or other liability obligations and/or rights consistent with this+      License. However, in accepting such obligations, You may act only+      on Your own behalf and on Your sole responsibility, not on behalf+      of any other Contributor, and only if You agree to indemnify,+      defend, and hold each Contributor harmless for any liability+      incurred by, or claims asserted against, such Contributor by reason+      of your accepting any such warranty or additional liability.++   END OF TERMS AND CONDITIONS
+ README.md view
@@ -0,0 +1,110 @@+# Haskell WebAuthn Library++This library implements the server-side+[Web Authentication Relying Party specification Level 2][spec]. The goal of Web+Authentication (WebAuthn) is to bring passwordless login/second factor+authentication to the web, logging in using a FIDO U2F Security Key, finger+print scanner and some other authenticator.++This project was originally developed in 2020 as a Zurihac project by+[@arianvp](https://github.com/arianvp/) and [@duijf](https://github.com/duijf).+Starting September 2021 a team at [Tweag](https://www.tweag.io/) was sponsored+by [Mercury](https://mercury.com/) to create a production-ready open-source+implementation of this standard, which was done by+[@infinisil](https://github.com/infinisil/) and+[@ErinvanderVeen](https://github.com/ErinvanderVeen/).++## Setting up the environment+We assume Nix is used for the development of this library. If not using Nix,+take a look at `default.nix` for the dependencies and GHC version. All+instructions below assume the use of Nix.++### Nix Caches+Tweag provides a Cachix cache for the library itself and all+non-Haskell dependencies, setting up the `tweag-haskell-fido2` cache can be+done using the [instructions][cachix] provided by Cachix.++### Nix Shell+The Nix shell provides all libraries and tools required to build the library,+tests, and example server. Simply call `nix-shell` to enter a shell. If the+binary caches have been configured properly, this should take little time. If+they have not been properly configured, entering the Nix shell will take+multiple hours.++All further instructions in this README assume that you are in a Nix shell.++## Developing the Library+The [Haskell Language Server (hls)][hls] and [Ormolu][ormolu] are highly+recommended for the development of this library. The hls+[documentation][hls-editor] describes how to configure your editor to use it.+We also recommend enabling auto-format using Ormolu for your editor. We do,+however, also provide a bash script in `bin/autoformat.sh` that uses Ormolu to+format all Haskell source files in the repository.++Code not formatted using Ormolu will be rejected in CI.++## Running the tests+Tests are provided in the `tests` directory. Running these tests is done via+cabal:+```bash+cabal run test-suite:tests+```++## Running the demo+The library comes with an example implementation for a server that makes use of+it, which can be found in the `server` directory. All dependencies required to+build the example server are included in the Nix shell.+```bash+cd server+./run.sh+```++Changes to the server's source files automatically trigger a rebuild of the+server.++## Testing with an Authenticator+The easiest way to test the server, or your own application, is to use the+Chrome WebAuthn development tool. Simply open the Chrome DevTools, click on the+three dots in the top right, select "More tools -> WebAuthn", and then enable+the virtual environment.++Testing with a physical authenticator is easiest using an Android or iOS phone+supporting it, or a dedicated token like a [YubiKey][yubikey] or the+open-source [SoloKey][solokey]. Testing with a phone requires setting up a+certificate for the domain of the relying party as WebAuthn only works via+https, with an exception being made for `localhost`.++## Acknowledgements+The test files in `tests/responses/` were not created by Tweag, but+were instead copied from existing WebAuthn libraries. Notably the+[.NET][dotnet] and [python][python] libraries by the .NET foundation and Duo+Labs respectively.++## LICENSES+```text+Copyright+  2020 - 2021 Arian van Putten+  2021 -      Tweag I/O++Licensed under the Apache License, Version 2.0 (the "License"); you may not use+this file except in compliance with the License. You may obtain a copy of the+License at++  http://www.apache.org/licenses/LICENSE-2.0++Unless required by applicable law or agreed to in writing, software distributed+under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR+CONDITIONS OF ANY KIND, either express or implied. See the License for the+specific language governing permissions and limitations under the License.+```++[cache]: https://input-output-hk.github.io/haskell.nix/tutorials/getting-started.html#setting-up-the-binary-cache+[cachix]: https://app.cachix.org/cache/tweag-haskell-fido2+[dotnet]: https://github.com/passwordless-lib/fido2-net-lib+[hls-editor]: https://haskell-language-server.readthedocs.io/en/latest/configuration.html#configuring-your-editor+[hls]: https://github.com/haskell/haskell-language-server+[ormolu]: https://github.com/tweag/ormolu+[python]: https://github.com/duo-labs/py_webauthn+[solokey]: https://solokeys.com/+[spec]: https://www.w3.org/TR/webauthn-2/+[yubikey]: https://www.yubico.com/
− Setup.hs
@@ -1,2 +0,0 @@-import Distribution.Simple-main = defaultMain
+ root-certs/apple/Apple_WebAuthn_Root_CA.crt view

binary file changed (absent → 534 bytes)

+ root-certs/metadata/root.crt view

binary file changed (absent → 867 bytes)

+ root-certs/tpm/AMD/AMD-fTPM-ECC-RootCA.crt view

binary file changed (absent → 774 bytes)

+ root-certs/tpm/AMD/AMD-fTPM-RSA-RootCA.crt view

binary file changed (absent → 1164 bytes)

+ root-certs/tpm/AMD/Microsoft Pluton Root CA 2021.crt view

binary file changed (absent → 661 bytes)

+ root-certs/tpm/Atmel/Atmel TPM Root Signing Module.crt view

binary file changed (absent → 559 bytes)

+ root-certs/tpm/Infineon/IFX TPM EK Root CA.crt view

binary file changed (absent → 1108 bytes)

+ root-certs/tpm/Infineon/IFX-RootCA.crt view

binary file changed (absent → 1019 bytes)

+ root-certs/tpm/Infineon/IFX_TPM_RootCert_008.crt view

binary file changed (absent → 1295 bytes)

+ root-certs/tpm/Infineon/Infineon OPTIGA(TM) ECC Root CA.crt view

binary file changed (absent → 607 bytes)

+ root-certs/tpm/Infineon/Infineon OPTIGA(TM) RSA Root CA.crt view

binary file changed (absent → 1455 bytes)

+ root-certs/tpm/Infineon/Infineon_OPTIGA(TM)_ECC_Root_CA_2.crt view

binary file changed (absent → 689 bytes)

+ root-certs/tpm/Infineon/Infineon_OPTIGA(TM)_RSA_Root_CA_2.crt view

binary file changed (absent → 1461 bytes)

+ root-certs/tpm/Infineon/OptigaEccRootCA3.crt view

binary file changed (absent → 689 bytes)

+ root-certs/tpm/Infineon/OptigaRsaRootCA3.crt view

binary file changed (absent → 1461 bytes)

+ root-certs/tpm/Intel/EKRootPublicKey.crt view

binary file changed (absent → 635 bytes)

+ root-certs/tpm/Intel/OnDie_CA_RootCA_Certificate.crt view

binary file changed (absent → 702 bytes)

+ root-certs/tpm/Microsoft/Microsoft TPM Root Certificate Authority 2014.crt view

binary file changed (absent → 1529 bytes)

+ root-certs/tpm/NationZ/EkRootCA.crt view

binary file changed (absent → 584 bytes)

+ root-certs/tpm/Nuvoton/NTC TPM EK Root CA 01.crt view

binary file changed (absent → 846 bytes)

+ root-certs/tpm/Nuvoton/NTC TPM EK Root CA 02.crt view

binary file changed (absent → 846 bytes)

+ root-certs/tpm/Nuvoton/NTC TPM EK Root CA ARSUF 01.crt view

binary file changed (absent → 861 bytes)

+ root-certs/tpm/Nuvoton/Nuvoton TPM Root CA 1013.crt view

binary file changed (absent → 918 bytes)

+ root-certs/tpm/Nuvoton/Nuvoton TPM Root CA 1014.crt view

binary file changed (absent → 918 bytes)

+ root-certs/tpm/Nuvoton/Nuvoton TPM Root CA 1110.crt view

binary file changed (absent → 522 bytes)

+ root-certs/tpm/Nuvoton/Nuvoton TPM Root CA 1111.crt view

binary file changed (absent → 523 bytes)

+ root-certs/tpm/Nuvoton/Nuvoton TPM Root CA 1210.crt view

binary file changed (absent → 545 bytes)

+ root-certs/tpm/Nuvoton/Nuvoton TPM Root CA 2010.crt view

binary file changed (absent → 918 bytes)

+ root-certs/tpm/Nuvoton/Nuvoton TPM Root CA 2011.crt view

binary file changed (absent → 918 bytes)

+ root-certs/tpm/Nuvoton/Nuvoton TPM Root CA 2012.crt view

binary file changed (absent → 918 bytes)

+ root-certs/tpm/Nuvoton/Nuvoton TPM Root CA 2110.crt view

binary file changed (absent → 522 bytes)

+ root-certs/tpm/Nuvoton/Nuvoton TPM Root CA 2111.crt view

binary file changed (absent → 523 bytes)

+ root-certs/tpm/Nuvoton/Nuvoton TPM Root CA 2112.crt view

binary file changed (absent → 522 bytes)

+ root-certs/tpm/QC/Microsoft TPM Root Certificate Authority 2014.crt view

binary file changed (absent → 1529 bytes)

+ root-certs/tpm/STMicro/GlobalSign Trusted Computing CA.crt view

binary file changed (absent → 987 bytes)

+ root-certs/tpm/STMicro/GlobalSign Trusted Platform Module ECC Root CA.crt view

binary file changed (absent → 695 bytes)

+ root-certs/tpm/STMicro/ST TPM Root Certificate.crt view

binary file changed (absent → 1040 bytes)

+ root-certs/tpm/STMicro/STM TPM ECC Root CA 01.crt view

binary file changed (absent → 716 bytes)

+ src/Crypto/WebAuthn.hs view
@@ -0,0 +1,156 @@+{-# OPTIONS_GHC -Wno-missing-import-lists #-}++-- | Stability: provisional+--+-- This is the main module of the library. It re-exports the most commonly+-- needed modules and should be the only module considered stable. The+-- following sections give an overview of how a web application can use the+-- exported symbols to make use of the WebAuthn standard.+--+-- == WebAuthn basics+--+-- For a web application the [WebAuthn standard](https://www.w3.org/TR/webauthn-2/)+-- allows the creation and use of public key-based credentials for the purpose+-- of strongly authenticating users.+--+-- The WebAuthn standard usually involves three different devices, each of which+-- can be [WebAuthn conformant](https://www.w3.org/TR/webauthn-2/#sctn-conformance):+--+-- * A [Relying Party](https://www.w3.org/TR/webauthn-2/#webauthn-relying-party),+--   aka a __website__ like @github.com@ or @google.com@+-- * A [User Agent](https://www.w3.org/TR/webauthn-2/#conforming-user-agent),+--   aka usually a __browser__ like Firefox or Chrome+-- * A [Authenticator](https://www.w3.org/TR/webauthn-2/#authenticator),+--   aka something like a __security key__ like a Yubikey or a fingerprint sensor+--+-- This library implements the server side of [Relying Party conformance](https://www.w3.org/TR/webauthn-2/#sctn-conforming-relying-parties)+-- and is therefore intended to be used by a website's server.+--+-- == Ceremonies+-- In order for a Relying Party to be conformant, it needs to implement two+-- [Relying Party Operations](https://www.w3.org/TR/webauthn-2/#sctn-rp-operations),+-- aka [ceremonies](https://www.w3.org/TR/webauthn-2/#ceremony):+--+-- * The [Registration Ceremony](https://www.w3.org/TR/webauthn-2/#registration-ceremony),+--   where a [public key credential](https://www.w3.org/TR/webauthn-2/#public-key-credential)+--   is created and associated with the user's account. The public key credential+--   may be [attested](https://www.w3.org/TR/webauthn-2/#sctn-attestation) via+--   one of the supported+--   [attestation statement formats](https://www.w3.org/TR/webauthn-2/#attestation-statement-format).+--   Afterwards the user can be authenticated by an Authentication Ceremony.+-- * The [Authentication Ceremony](https://www.w3.org/TR/webauthn-2/#authentication-ceremony),+--   where it is [asserted](https://www.w3.org/TR/webauthn-2/#assertion) that+--   the user controls the [credential private key](https://www.w3.org/TR/webauthn-2/#credential-private-key)+--   of a previously-registered [public key credential](https://www.w3.org/TR/webauthn-2/#public-key-credential).+--+-- Both Ceremonies have the same general flow:+--+-- 1. The user interacts with the website, triggering a registration or authentication+--   ceremony via some Relying Party website script, which sends a request to the Relying+--   Party server to request the credential creation/request options. Depending+--   on the scenario this request may include a username and more.+-- #step-2#+-- 2. The Relying Party creates an [PublicKeyCredentialCreationOptions](https://www.w3.org/TR/webauthn-2/#dictdef-publickeycredentialcreationoptions)+--   or [PublicKeyCredentialRequestOptions](https://www.w3.org/TR/webauthn-2/#dictdef-publickeycredentialrequestoptions) object respectively,+--   which encodes the parameters for the [ceremony](https://www.w3.org/TR/webauthn-2/#ceremony),+--   and sends it back as the response. This notably includes a+--   [Cryptographic Challenge](https://www.w3.org/TR/webauthn-2/#sctn-cryptographic-challenges),+--   generated by the server.+-- 3. Using the response as an argument, the script calls the+--   [@navigator.credentials.create()@](https://w3c.github.io/webappsec-credential-management/#dom-credentialscontainer-create)+--   or [@navigator.credentials.get()@](https://w3c.github.io/webappsec-credential-management/#dom-credentialscontainer-get)+--   functions of the browser respectively. This typically causes the browser+--   to request some gesture by the user. The result of these functions is+--   then sent to the Relying Party server with another request.+-- #step-4#+-- 4. The Relying Party verifies the request according to+--   [§ 7.1 Registering a New Credential](https://www.w3.org/TR/webauthn-2/#sctn-registering-a-new-credential) or+--   [§ 7.2 Verifying an Authentication Assertion](https://www.w3.org/TR/webauthn-2/#sctn-verifying-assertion) respectively.+--   The response indicates the result of this verification. For successful+--   registration ceremonies, the server stores the resulting public key and+--   some additional information in its database. For successful authentication+--   ceremonies, the server may want to update the relevant database entry.+-- 5. The script handles the received response accordingly, displaying errors+--   as needed.+--+-- This library only implements the server side of these steps, since the browser+-- script is usually very specific to the website and use case, but also fairly simple.+-- The example server in the source of this implementation shows how+-- [a potential implementation](https://github.com/tweag/webauthn/blob/master/server/www/unauthenticated.js).+-- See also these [Sample API Usage Scenarios](https://www.w3.org/TR/webauthn-2/#sctn-sample-scenarios).+--+-- == Library+--+-- The two ceremonies described above are very similar in many ways. Because of+-- this, the library has many functions and types that are parametrized by+-- 'CeremonyKind', which allows improved type safety.+--+-- The library consists of the following main parts+module Crypto.WebAuthn+  ( -- * Model Types++    -- | A set of types representing credential options ('CredentialOptions')+    -- and their resulting credentials responses ('Credential'), used in+    -- [step 2](#step-2) and [step 4](#step-4#) respectively.+    --+    -- Also includes a set of functions for indirectly encoding credential+    -- options to JSON ('encodeCredentialOptionsRegistration',+    -- 'encodeCredentialOptionsAuthentication') and indirectly decoding+    -- credential responses from JSON ('decodeCredentialRegistration',+    -- 'decodeCredentialAuthentication'), using the same encoding as+    -- [webauthn-json](https://github.com/github/webauthn-json) which can be+    -- used on the JavaScript side. This is needed to construct the response+    -- for [step 2](#step-2) and to deconstruct the request in+    -- [step 4](#step-4) respectively.+    module Crypto.WebAuthn.Model,++    -- * Attestation Statement Formats++    -- | In case of a [registration ceremony](https://www.w3.org/TR/webauthn-2/#registration),+    -- there is the possibility for the Relying Party to request an+    -- [attestation](https://www.w3.org/TR/webauthn-2/#sctn-attestation),+    -- which if returned may allow the Relying Party to make a trust decision+    -- ('rrAttestationStatement') with the authenticator model used.+    --+    -- This module contains the 'allSupportedFormats' value, which contains+    -- implementations of all standard attestation statement formats supported+    -- by this library. It can be passed to the 'decodeCredentialRegistration'+    -- to enable all these formats.+    module Crypto.WebAuthn.AttestationStatementFormat,++    -- * Operations++    -- | Functions for verifying resulting credential responses, needed in [step 4](#step-4).+    -- This is the main functionality implemented by the library. This module+    -- exports these two main symbols:+    --+    -- * 'verifyRegistrationResponse': Verifies a 'Credential' response for+    --   registration.+    -- * 'verifyAuthenticationResponse': Verifies a 'Credential' response for+    --   authentication.+    module Crypto.WebAuthn.Operation,++    -- * Metadata++    -- | A function for decoding a [FIDO Alliance Metadata Service](https://fidoalliance.org/metadata/)+    -- BLOB in order to be able to enforce a set of requirements on the authenticator+    -- used, e.g. to only allow authenticators that have been+    -- [FIDO certified](https://fidoalliance.org/certification/functional-certification/).+    --+    -- Notably this library does not define any functions for fetching the+    -- metadata, which is left to the user of the library. See the+    -- [@MetadataFetch@](https://github.com/tweag/webauthn/blob/master/server/src/MetadataFetch.hs)+    -- module in the example server for a potential implementation.+    --+    -- Currently the only function exported from this module is+    --+    -- * 'metadataBlobToRegistry': Decodes and verifies a Metadata BLOB to a+    --   'MetadataServiceRegistry', which can be passed to 'verifyRegistrationResponse'+    module Crypto.WebAuthn.Metadata,+  )+where++import Crypto.WebAuthn.AttestationStatementFormat+import Crypto.WebAuthn.Metadata+import Crypto.WebAuthn.Model+import Crypto.WebAuthn.Operation
+ src/Crypto/WebAuthn/AttestationStatementFormat.hs view
@@ -0,0 +1,28 @@+-- | Stability: experimental+-- This module exports all supported [attestation statement format](https://www.w3.org/TR/webauthn-2/#attestation-statement-format)s by this library.+module Crypto.WebAuthn.AttestationStatementFormat (allSupportedFormats) where++import qualified Crypto.WebAuthn.AttestationStatementFormat.AndroidKey as AndroidKey+import qualified Crypto.WebAuthn.AttestationStatementFormat.AndroidSafetyNet as AndroidSafetyNet+import qualified Crypto.WebAuthn.AttestationStatementFormat.Apple as Apple+import qualified Crypto.WebAuthn.AttestationStatementFormat.FidoU2F as FidoU2F+import qualified Crypto.WebAuthn.AttestationStatementFormat.None as None+import qualified Crypto.WebAuthn.AttestationStatementFormat.Packed as Packed+import qualified Crypto.WebAuthn.AttestationStatementFormat.TPM as TPM+import qualified Crypto.WebAuthn.Model.Types as M++-- | All supported [attestation statement formats](https://www.w3.org/TR/webauthn-2/#sctn-attestation-formats)+-- of this library. This value can be passed to 'Crypto.WebAuthn.Model.WebIDL.Decoding.decodeCreatedPublicKeyCredential'.+-- Since 'M.SupportedAttestationStatementFormats' is a 'Semigroup' the '<>' operator can be used to add additional formats if needed.+allSupportedFormats :: M.SupportedAttestationStatementFormats+allSupportedFormats =+  foldMap+    M.singletonAttestationStatementFormat+    [ None.format,+      Packed.format,+      AndroidKey.format,+      AndroidSafetyNet.format,+      FidoU2F.format,+      Apple.format,+      TPM.format+    ]
+ src/Crypto/WebAuthn/AttestationStatementFormat/AndroidKey.hs view
@@ -0,0 +1,298 @@+{-# LANGUAGE ApplicativeDo #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE ViewPatterns #-}++-- | Stability: experimental+-- This module implements the+-- [Android Key Attestation Statement Format](https://www.w3.org/TR/webauthn-2/#sctn-android-key-attestation).+module Crypto.WebAuthn.AttestationStatementFormat.AndroidKey+  ( format,+    Format (..),+    TrustLevel (..),+    VerificationError (..),+  )+where++import qualified Codec.CBOR.Term as CBOR+import Control.Exception (Exception)+import Control.Monad (forM, unless, void, when)+import Crypto.Hash (Digest, SHA256, digestFromByteString)+import qualified Crypto.WebAuthn.Cose.Algorithm as Cose+import qualified Crypto.WebAuthn.Cose.Internal.Verify as Cose+import Crypto.WebAuthn.Internal.Utils (failure)+import qualified Crypto.WebAuthn.Model.Types as M+import Data.ASN1.Parse (ParseASN1, getNext, getNextContainerMaybe, hasNext, onNextContainer, onNextContainerMaybe, runParseASN1)+import Data.ASN1.Types (ASN1 (IntVal, OctetString), ASN1Class (Context), ASN1ConstructionType (Container, Sequence, Set))+import Data.Aeson (ToJSON, object, toJSON, (.=))+import Data.Bifunctor (first)+import Data.ByteArray (convert)+import Data.ByteString (ByteString)+import Data.HashMap.Strict ((!?))+import Data.List.NonEmpty (NonEmpty ((:|)), toList)+import qualified Data.List.NonEmpty as NE+import Data.Maybe (isJust)+import Data.Set (Set)+import qualified Data.Set as Set+import Data.Text (Text)+import qualified Data.Text as Text+import Data.X509 (Extension (extDecode, extEncode, extHasNestedASN1, extOID))+import qualified Data.X509 as X509++-- | [(spec)](https://source.android.com/security/keystore/attestation#attestation-extension)+-- The X509 extension android uses for attestation information+data ExtAttestation = ExtAttestation+  { attestationChallenge :: Digest SHA256,+    softwareEnforced :: AuthorizationList,+    teeEnforced :: AuthorizationList+  }+  deriving (Eq, Show)++-- | [(spec)](https://source.android.com/security/keystore/attestation#schema)+-- A partial @AuthorizationList@ structure+data AuthorizationList = AuthorizationList+  { purpose :: Maybe (Set Integer),+    allApplications :: Maybe (),+    origin :: Maybe Integer+  }+  deriving (Eq, Show)++instance Extension ExtAttestation where+  extOID = const [1, 3, 6, 1, 4, 1, 11129, 2, 1, 17]+  extHasNestedASN1 = const True+  extEncode = error "Can not encode the parsed ExtAttestation to a valid [ASN1] because most fields are dropped during parsing."+  extDecode asn1 =+    first ("Could not decode ASN1 attestation extension: " ++) $+      runParseASN1 decodeExtAttestation asn1+    where+      decodeExtAttestation :: ParseASN1 ExtAttestation+      decodeExtAttestation = onNextContainer Sequence $ do+        -- Discard the version as the different attestation versions do not differ in a way that is significant to our purpose.+        _attestationVersion <- getNext+        _attestationSecurityLevel <- getNext+        _keyMasterVersion <- getNext+        _keymmasterSecurityLevel <- getNext+        (OctetString attestationChallenge) <- getNext+        _uniqueId <- getNext+        softwareEnforced <- onNextContainer Sequence decodeAttestationList+        teeEnforced <- onNextContainer Sequence decodeAttestationList+        attestationChallengeHash <- maybe (fail "Could not create hash from AttestationChallenge: ") pure $ digestFromByteString attestationChallenge+        pure $ ExtAttestation attestationChallengeHash softwareEnforced teeEnforced++      decodeAttestationList :: ParseASN1 AuthorizationList+      decodeAttestationList = do+        purpose <- onNextContainerMaybe (Container Context 1) (onNextContainer Set $ decodeIntSet Set.empty)+        _algorithm <- getNextContainerMaybe (Container Context 2)+        _keySize <- getNextContainerMaybe (Container Context 3)+        _digest <- getNextContainerMaybe (Container Context 5)+        _padding <- getNextContainerMaybe (Container Context 6)+        _ecCurve <- getNextContainerMaybe (Container Context 10)+        _rsaPublicExponent <- getNextContainerMaybe (Container Context 200)+        _rollbackResistance <- getNextContainerMaybe (Container Context 303)+        _activeDateTime <- getNextContainerMaybe (Container Context 400)+        _originationExpireDateTime <- getNextContainerMaybe (Container Context 401)+        _usageExpireDateTime <- getNextContainerMaybe (Container Context 402)+        _noAuthRequired <- getNextContainerMaybe (Container Context 503)+        _userAuthType <- getNextContainerMaybe (Container Context 504)+        _authTimeout <- getNextContainerMaybe (Container Context 505)+        _allowWhileOnBody <- getNextContainerMaybe (Container Context 506)+        _trustedUserPresenceRequired <- getNextContainerMaybe (Container Context 507)+        _trustedConfirmationRequired <- getNextContainerMaybe (Container Context 508)+        _unlockedDeviceRequired <- getNextContainerMaybe (Container Context 509)+        allApplications <- void <$> getNextContainerMaybe (Container Context 600)+        _applicationId <- getNextContainerMaybe (Container Context 601)+        _creationDateTime <- getNextContainerMaybe (Container Context 701)+        origin <-+          onNextContainerMaybe (Container Context 702) $+            getNext >>= \case+              IntVal i -> pure i+              _ -> fail "Unexpected non-IntVal"+        _rollbackResistant <- getNextContainerMaybe (Container Context 703)+        _rootOfTrust <- getNextContainerMaybe (Container Context 704)+        _osVersion <- getNextContainerMaybe (Container Context 705)+        _osPatchLevel <- getNextContainerMaybe (Container Context 706)+        _attestationApplicationId <- getNextContainerMaybe (Container Context 709)+        _attestationIdBrand <- getNextContainerMaybe (Container Context 710)+        _attestationIdDevice <- getNextContainerMaybe (Container Context 711)+        _attestationIdProduct <- getNextContainerMaybe (Container Context 712)+        _attestationIdSerial <- getNextContainerMaybe (Container Context 713)+        _attestationIdImei <- getNextContainerMaybe (Container Context 714)+        _attestationIdMeid <- getNextContainerMaybe (Container Context 715)+        _attestationIdManufacturer <- getNextContainerMaybe (Container Context 716)+        _attestationIdModel <- getNextContainerMaybe (Container Context 717)+        _vendorPatchLevel <- getNextContainerMaybe (Container Context 718)+        _bootPatchLevel <- getNextContainerMaybe (Container Context 719)+        pure $ AuthorizationList purpose allApplications origin++      decodeIntSet :: Set Integer -> ParseASN1 (Set Integer)+      decodeIntSet set = do+        next <- hasNext+        if next+          then do+            IntVal elem <- getNext+            decodeIntSet (Set.insert elem set)+          else pure set++-- | The required Trust level for Android Key attestation.+data TrustLevel+  = -- | Trust has to be ensured on the software level. This is weaker than TEE+    -- enforced trust.+    SoftwareEnforced+  | -- | Hardware backed attestation, this requires that the Trusted Executing+    -- Environment enforced the attestation.+    TeeEnforced++-- | The Android Key Format. Allow configuration of the required level of+-- trust.+newtype Format = Format+  { requiredTrustLevel :: TrustLevel+  }++instance Show Format where+  show = Text.unpack . M.asfIdentifier++-- | [(spec)](https://www.w3.org/TR/webauthn-2/#sctn-android-key-attestation)+data Statement = Statement+  { sig :: ByteString,+    x5c :: NonEmpty X509.SignedCertificate,+    alg :: Cose.CoseSignAlg,+    -- | Holds the parsed attestation extension of the above X509 certificate+    -- Not part of the spec, but prevents parsing in the AndroidKey.verify function+    pubKey :: Cose.PublicKey,+    attExt :: ExtAttestation+  }+  deriving (Eq, Show)++instance ToJSON Statement where+  toJSON Statement {..} =+    object+      [ "alg" .= alg,+        "sig" .= sig,+        "x5c" .= x5c+      ]++-- | Verification errors specific to Android Key attestation+data VerificationError+  = -- | The public key in the certificate is different from the on in the+    -- attested credential data+    VerificationErrorCredentialKeyMismatch+  | -- | The challenge field of the certificate extension does not match the+    -- clientDataHash+    VerificationErrorClientDataHashMismatch+  | -- | The "attestation" extension is scoped to all applications instead of just the RpId+    VerificationErrorAndroidKeyAllApplicationsFieldFound+  | -- | The origin field(s) were not equal to KM_ORIGIN_GENERATED+    VerificationErrorAndroidKeyOriginFieldInvalid+  | -- | The purpose field(s) were not equal to the singleton set containing+    -- KM_PURPOSE_SIGN+    VerificationErrorAndroidKeyPurposeFieldInvalid+  | -- | The Public key cannot verify the signature over the authenticatorData+    -- and the clientDataHash.+    VerificationErrorVerificationFailure Text+  deriving (Show, Exception)++-- | [(spec)](https://android.googlesource.com/platform/hardware/libhardware/+/master/include/hardware/keymaster_defs.h)+kmOriginGenerated :: Integer+kmOriginGenerated = 0++-- | [(spec)](https://android.googlesource.com/platform/hardware/libhardware/+/master/include/hardware/keymaster_defs.h)+kmPurposeSign :: Integer+kmPurposeSign = 2++instance M.AttestationStatementFormat Format where+  type AttStmt Format = Statement++  asfIdentifier _ = "android-key"++  asfDecode _ xs = do+    case (xs !? "alg", xs !? "sig", xs !? "x5c") of+      (Just (CBOR.TInt algId), Just (CBOR.TBytes sig), Just (CBOR.TList (NE.nonEmpty -> Just x5cRaw))) -> do+        alg <- Cose.toCoseSignAlg algId+        x5c@(credCert :| _) <- forM x5cRaw $ \case+          CBOR.TBytes certBytes ->+            first (("Failed to decode signed certificate: " <>) . Text.pack) (X509.decodeSignedCertificate certBytes)+          cert ->+            Left $ "Certificate CBOR value is not bytes: " <> Text.pack (show cert)++        let cert = X509.getCertificate credCert+        attExt <- case X509.extensionGetE (X509.certExtensions cert) of+          Just (Right ext) -> pure ext+          Just (Left err) -> Left $ "Failed to decode certificate attestation extension: " <> Text.pack err+          Nothing -> Left "Certificate attestation extension is missing"++        pubKey <- Cose.fromX509 $ X509.certPubKey cert++        pure Statement {..}+      _ -> Left $ "CBOR map didn't have expected value types (alg: int, sig: bytes, x5c: nonempty list): " <> Text.pack (show xs)++  asfEncode _ Statement {..} =+    CBOR.TMap+      [ (CBOR.TString "sig", CBOR.TBytes sig),+        (CBOR.TString "alg", CBOR.TInt $ Cose.fromCoseSignAlg alg),+        ( CBOR.TString "x5c",+          CBOR.TList $+            map (CBOR.TBytes . X509.encodeSignedObject) $ toList x5c+        )+      ]++  type AttStmtVerificationError Format = VerificationError++  asfVerify Format {..} _ Statement {..} M.AuthenticatorData {adRawData = M.WithRaw rawData, ..} clientDataHash = do+    -- 1. Verify that attStmt is valid CBOR conforming to the syntax defined above and perform CBOR decoding on it to+    -- extract the contained fields.+    -- NOTE: The validity of the data is already checked during decoding.++    -- 2. Verify that sig is a valid signature over the concatenation of authenticatorData and clientDataHash using the+    -- public key in the first certificate in x5c with the algorithm specified in alg.+    let signedData = rawData <> convert (M.unClientDataHash clientDataHash)+    case Cose.verify alg pubKey signedData sig of+      Right () -> pure ()+      Left err -> failure $ VerificationErrorVerificationFailure err++    -- 3. Verify that the public key in the first certificate in x5c matches the credentialPublicKey in the+    -- attestedCredentialData in authenticatorData.+    unless (Cose.fromCose (M.acdCredentialPublicKey adAttestedCredentialData) == pubKey) $ failure VerificationErrorCredentialKeyMismatch++    -- 4. Verify that the attestationChallenge field in the attestation certificate extension data is identical to+    -- clientDataHash.+    -- See https://source.android.com/security/keystore/attestation for the ASN1 description+    unless (attestationChallenge attExt == M.unClientDataHash clientDataHash) $ failure VerificationErrorClientDataHashMismatch++    -- 5. Verify the following using the appropriate authorization list from the attestation certificate extension data:++    -- 5.a The AuthorizationList.allApplications field is not present on either+    -- authorization list (softwareEnforced nor teeEnforced), since+    -- PublicKeyCredential MUST be scoped to the RP ID.+    let software = softwareEnforced attExt+        tee = teeEnforced attExt+    when (isJust (allApplications software) || isJust (allApplications tee)) $ failure VerificationErrorAndroidKeyAllApplicationsFieldFound++    -- 5.b For the following, use only the teeEnforced authorization list if the+    -- RP wants to accept only keys from a trusted execution environment,+    -- otherwise use the union of teeEnforced and softwareEnforced.+    -- 5.b.1 The value in the AuthorizationList.origin field is equal to KM_ORIGIN_GENERATED.+    -- 5.b.2 The value in the AuthorizationList.purpose field is equal to KM_PURPOSE_SIGN.+    -- NOTE: This statement is ambiguous as the purpose field is a set. Existing libraries take the same approach, checking if KM_PURPOSE_SIGN is the only member.+    let targetSet = Just $ Set.singleton kmPurposeSign+    case requiredTrustLevel of+      SoftwareEnforced -> do+        unless (origin software == Just kmOriginGenerated || origin tee == Just kmOriginGenerated) $ failure VerificationErrorAndroidKeyOriginFieldInvalid+        unless (targetSet == purpose software || targetSet == purpose tee) $ failure VerificationErrorAndroidKeyPurposeFieldInvalid+        pure ()+      TeeEnforced -> do+        unless (origin tee == Just kmOriginGenerated) $ failure VerificationErrorAndroidKeyOriginFieldInvalid+        unless (targetSet == purpose tee) $ failure VerificationErrorAndroidKeyPurposeFieldInvalid+        pure ()++    -- 6. If successful, return implementation-specific values representing attestation type Basic and attestation trust+    -- path x5c.+    pure $+      M.SomeAttestationType $+        M.AttestationTypeVerifiable M.VerifiableAttestationTypeBasic (M.Fido2Chain x5c)++  asfTrustAnchors _ _ = mempty++-- | The default Android Key format configuration. Requires the attestation to+-- be backed by a Trusted Executing Environment (TEE).+format :: M.SomeAttestationStatementFormat+format = M.SomeAttestationStatementFormat $ Format TeeEnforced
+ src/Crypto/WebAuthn/AttestationStatementFormat/AndroidSafetyNet.hs view
@@ -0,0 +1,267 @@+{-# LANGUAGE ApplicativeDo #-}+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++-- | Stability: experimental+-- This module implements the+-- [Android SafetyNet Attestation Statement Format](https://www.w3.org/TR/webauthn-2/#sctn-android-safetynet-attestation).+module Crypto.WebAuthn.AttestationStatementFormat.AndroidSafetyNet+  ( format,+    Format (..),+    Integrity (..),+    VerificationError (..),+  )+where++import Codec.CBOR.Term (Term (TBytes, TString))+import qualified Codec.CBOR.Term as CBOR+import Control.Lens ((^.), (^?))+import Control.Lens.Combinators (_Just)+import Control.Monad (unless, when)+import Control.Monad.Except (MonadError, runExcept, throwError)+import qualified Crypto.Hash as Hash+import qualified Crypto.JOSE as JOSE+import qualified Crypto.JWT as JOSE+import Crypto.WebAuthn.Internal.DateOrphans ()+import Crypto.WebAuthn.Internal.Utils (failure)+import qualified Crypto.WebAuthn.Model.Types as M+import qualified Data.ASN1.Types.String as X509+import Data.Aeson ((.=))+import qualified Data.Aeson as Aeson+import Data.Bifunctor (Bifunctor (first))+import qualified Data.ByteArray as BA+import qualified Data.ByteString as BS+import qualified Data.ByteString.Base64 as Base64+import qualified Data.ByteString.Lazy as LBS+import Data.Fixed (Fixed (MkFixed), Milli)+import Data.HashMap.Lazy ((!?))+import qualified Data.Hourglass as HG+import qualified Data.List.NonEmpty as NE+import Data.String (IsString)+import Data.Text (Text)+import qualified Data.Text as Text+import Data.Text.Encoding (decodeUtf8)+import qualified Data.X509 as X509+import qualified Data.X509.Validation as X509+import GHC.Exception (Exception)+import GHC.Generics (Generic)++-- | [(spec)](https://developer.android.com/training/safetynet/attestation#potential-integrity-verdicts)+-- The integrity of an android device from which a SafetyNet message+-- originated.+data Integrity+  = -- | The device has no integrity, which is the case for an emulator, or it+    -- could be the case for a compromised device+    NoIntegrity+  | -- | The device must have passed the basic integrity check, which is e.g.+    -- the case for a device with a custom ROM but not rooted, or a certified+    -- device with an unlocked bootloader+    BasicIntegrity+  | -- | The device passed the [CTS](https://source.android.com/compatibility/cts/),+    -- it is genuine and verified+    CTSProfileIntegrity+  deriving (Enum, Bounded, Eq, Ord, Show)++-- | The Android SafetyKey Format. Allows configuration of the required level of+-- trust.+data Format = Format+  { -- | What level the integrity check of the originating Android device must+    -- have passed.+    requiredIntegrity :: Integrity,+    -- | The maximum time the received message may be old for it to still be+    -- considered valid.+    driftBackwardsTolerance :: HG.Duration,+    -- | The maximum time difference the received message may report being from+    -- the future for it to still be considered valid.+    driftForwardsTolerance :: HG.Duration+  }++instance Show Format where+  show = Text.unpack . M.asfIdentifier++-- | [(spec)](https://developer.android.com/training/safetynet/attestation.html#compat-check-response)+data Response = Response+  { timestampMs :: Milliseconds,+    nonce :: Text,+    apkPackageName :: Text,+    apkCertificateDigestSha256 :: [Text], -- [Base 64 encoded SHA256 hash]+    ctsProfileMatch :: Bool,+    basicIntegrity :: Bool,+    evaluationType :: Text+  }+  deriving (Eq, Show, Generic, Aeson.FromJSON, Aeson.ToJSON)++-- | Milliseconds represented as an 'Integer', used for 'timestampMs'+newtype Milliseconds = Milliseconds Integer+  deriving (Eq, Show)+  deriving newtype (Aeson.FromJSON, Aeson.ToJSON)+  deriving (HG.Timeable) via Milli++-- | [(spec)](https://www.w3.org/TR/webauthn-2/#sctn-android-safetynet-attestation)+data Statement = Statement+  { ver :: Text.Text,+    x5c :: NE.NonEmpty X509.SignedCertificate,+    response :: Response,+    responseRaw :: BS.ByteString+  }+  deriving (Eq, Show)++instance Aeson.ToJSON Statement where+  toJSON Statement {..} =+    Aeson.object+      [ "ver" .= ver,+        "x5c" .= x5c,+        "response" .= response+      ]++-- | Verification errors specific to Android SafetyNet+data VerificationError+  = -- | The receiced nonce was not set to the concatenation of the+    -- authenticator data and client data hash+    VerificationErrorInvalidNonce+  | -- | The response was created to far in the past+    -- (first: now, second: generated time)+    VerificationErrorResponseTooOld HG.DateTime HG.DateTime+  | -- | The response was created to far in the future+    -- (first: now, second: generated time)+    VerificationErrorResponseInFuture HG.DateTime HG.DateTime+  | -- | The integrity check failed based on the required integrity from the+    -- format+    VerificationErrorFailedIntegrityCheck Integrity+  deriving (Show, Exception)++androidHostName :: VerificationHostName+androidHostName = "attest.android.com"++newtype VerificationHostName = VerificationHostName {unVerificationHostName :: X509.HostName}+  deriving newtype (IsString)++-- | This instance doesn't actually perform any validation+instance MonadError JOSE.Error m => JOSE.VerificationKeyStore m (JOSE.JWSHeader ()) p VerificationHostName where+  getVerificationKeys header _ hostName = do+    chain <- case header ^? JOSE.x5c . _Just . JOSE.param of+      Nothing -> throwError JOSE.JWSInvalidSignature+      Just chain -> pure chain++    let leaf = NE.head chain+    case X509.asn1CharacterToString+      =<< ( X509.getDnElement X509.DnCommonName+              . X509.certSubjectDN+              . X509.getCertificate+              $ leaf+          ) of+      Nothing -> pure ()+      Just commonName ->+        unless (commonName == unVerificationHostName hostName)+          . throwError+          $ JOSE.JWSInvalidSignature++    -- Create a JWK from the leaf certificate, which is used to sign the payload+    pure <$> JOSE.fromX509Certificate leaf++instance M.AttestationStatementFormat Format where+  type AttStmt Format = Statement+  asfIdentifier _ = "android-safetynet"++  asfDecode _ xs =+    case (xs !? "ver", xs !? "response") of+      (Just (TString ver), Just (TBytes responseRaw)) -> do+        jws <-+          first (("Failed to decode compact JWT response blob: " <>) . Text.pack . show) $+            runExcept @JOSE.Error $ JOSE.decodeCompact (LBS.fromStrict responseRaw)+        response <-+          first (("Failed to verify/decode JWT payload: " <>) . Text.pack . show) $+            JOSE.verifyJWSWithPayload+              (first JOSE.JSONDecodeError . Aeson.eitherDecode)+              (JOSE.defaultJWTValidationSettings (const True))+              androidHostName+              jws+        x5c <- extractX5C jws+        pure $ Statement {..}+      _ -> Left $ "CBOR map didn't have expected types (ver: string, response: bytes): " <> Text.pack (show xs)+    where+      extractX5C :: JOSE.CompactJWS JOSE.JWSHeader -> Either Text (NE.NonEmpty X509.SignedCertificate)+      extractX5C jws = do+        sig <- case jws ^? JOSE.signatures of+          Nothing -> Left "Can't extract x5c because the JWT contains no signatures"+          Just res -> pure res+        JOSE.HeaderParam () x5c <- case sig ^. JOSE.header . JOSE.x5c of+          Nothing -> Left "No x5c in the header of the first JWT signature"+          Just res -> pure res+        pure x5c++  asfEncode _ Statement {..} =+    CBOR.TMap+      [ (TString "ver", TString ver),+        (TString "response", TBytes responseRaw)+      ]++  type AttStmtVerificationError Format = VerificationError+  asfVerify Format {..} now Statement {..} M.AuthenticatorData {adRawData = M.WithRaw rawData} clientDataHash = do+    -- 1. Verify that attStmt is valid CBOR conforming to the syntax defined above and perform CBOR decoding on it to+    -- extract the contained fields.+    -- NOTE: Done in decoding++    -- 2. Verify that response is a valid SafetyNet response of version ver by following the steps indicated by the+    -- SafetyNet online documentation. As of this writing, there is only one format of the SafetyNet response and ver+    -- is reserved for future use.+    -- NOTE: As stated above, only one version exists, which we assume during decoding++    -- 3. Verify that the nonce attribute in the payload of response is identical to the Base64 encoding of the SHA-256+    -- hash of the concatenation of authenticatorData and clientDataHash.+    let signedData = rawData <> BA.convert (M.unClientDataHash clientDataHash)+    let hashedData = Hash.hashWith Hash.SHA256 signedData+    let encodedData = decodeUtf8 . Base64.encode $ BA.convert hashedData+    unless (nonce response == encodedData) . failure $ VerificationErrorInvalidNonce++    -- 4. Verify that the SafetyNet response actually came from the SafetyNet service by following the steps in the+    -- SafetyNet online documentation.+    -- 4.1. Extract the SSL certificate chain from the JWS message.+    -- NOTE: Done during decoding++    -- 4.2. Validate the SSL certificate chain and use SSL hostname matching to verify that the leaf certificate was+    -- issued to the hostname attest.android.com.+    -- NOTE: Done during decoding++    -- 4.3. Use the certificate to verify the signature of the JWS message.+    -- NOTE: Done during decoding. The jose library forces us to do verification before we access the payload. Since we+    -- would like to decode the payload during decoding, this step is also done during decoding.++    -- 4.4. Check the data of the JWS message to make sure it matches the data within your original request. In particular,+    -- make sure that the timestamp has been validated and that the nonce, package name, and hashes of the app's+    -- signing certificate(s) match the expected values.+    -- NOTE: For WebAuthn, we need not care about the package name or the app's signing certificate. The Nonce as+    -- has already been dealt with.+    let generatedTime = HG.timeConvert $ timestampMs response+    when ((generatedTime `HG.timeAdd` driftBackwardsTolerance) < now) $ failure $ VerificationErrorResponseTooOld now generatedTime+    when (generatedTime > (now `HG.timeAdd` driftForwardsTolerance)) $ failure $ VerificationErrorResponseInFuture now generatedTime++    let integrity = case (basicIntegrity response, ctsProfileMatch response) of+          (_, True) -> CTSProfileIntegrity+          (True, False) -> BasicIntegrity+          (False, False) -> NoIntegrity+    unless (integrity >= requiredIntegrity) $+      failure $ VerificationErrorFailedIntegrityCheck integrity++    -- 5. If successful, return implementation-specific values representing attestation type Basic and attestation trust+    -- path x5c.+    pure $+      M.SomeAttestationType $+        M.AttestationTypeVerifiable M.VerifiableAttestationTypeBasic (M.Fido2Chain x5c)++  asfTrustAnchors _ _ = mempty++-- | The default SafetyNet format configuration. Requires full+-- CTSProfileIntegrity and allows for the SafetyNet message to be at most 60+-- seconds old. Does not allow any timedrift into the future.+format :: M.SomeAttestationStatementFormat+format =+  M.SomeAttestationStatementFormat $+    Format+      { requiredIntegrity = CTSProfileIntegrity,+        driftBackwardsTolerance = mempty {HG.durationSeconds = 60},+        driftForwardsTolerance = mempty+      }
+ src/Crypto/WebAuthn/AttestationStatementFormat/Apple.hs view
@@ -0,0 +1,177 @@+{-# LANGUAGE ApplicativeDo #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TemplateHaskell #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE ViewPatterns #-}++-- | Stability: experimental+-- This module implements the+-- [Apple Anonymous Attestation Statement Format](https://www.w3.org/TR/webauthn-2/#sctn-apple-anonymous-attestation).+-- Note that this attestation statement format is currently not registered in the+-- [WebAuthn Attestation Statement Format Identifiers IANA registry](https://www.iana.org/assignments/webauthn/webauthn.xhtml#webauthn-attestation-statement-format-ids).+module Crypto.WebAuthn.AttestationStatementFormat.Apple+  ( format,+    Format (..),+    VerificationError (..),+  )+where++import qualified Codec.CBOR.Term as CBOR+import Control.Exception (Exception)+import Control.Monad (forM)+import Control.Monad.Cont (unless)+import Crypto.Hash (Digest, SHA256, digestFromByteString, hash)+import qualified Crypto.WebAuthn.Cose.Internal.Verify as Cose+import Crypto.WebAuthn.Internal.Utils (failure)+import qualified Crypto.WebAuthn.Model.Types as M+import qualified Data.ASN1.Parse as ASN1+import qualified Data.ASN1.Types as ASN1+import Data.Aeson (ToJSON, object, toJSON, (.=))+import Data.Bifunctor (first)+import qualified Data.ByteArray as BA+import Data.FileEmbed (embedFile)+import Data.HashMap.Strict ((!?))+import Data.List.NonEmpty (NonEmpty ((:|)), toList)+import qualified Data.List.NonEmpty as NE+import qualified Data.Text as Text+import qualified Data.X509 as X509+import qualified Data.X509.CertificateStore as X509++-- | The Apple format. The sole purpose of this type is to instantiate the+-- AttestationStatementFormat typeclass below.+data Format = Format++instance Show Format where+  show = Text.unpack . M.asfIdentifier++-- | Verification errors specific to Apple attestation+data VerificationError+  = -- | The nonce found in the certificate extension does not match the+    -- expected nonce+    -- (first: expected, second: received)+    NonceMismatch (Digest SHA256) (Digest SHA256)+  | -- | The public Key found in the certificate does not match the+    -- credential's public key.+    -- (first: credential, second: certificate)+    PublickeyMismatch Cose.PublicKey Cose.PublicKey+  deriving (Show, Exception)++-- | [(spec)](https://www.w3.org/TR/webauthn-2/#sctn-apple-anonymous-attestation)+-- We extend the statement to include values we would further have to decode+-- during the verification procedure.+data Statement = Statement+  { x5c :: NE.NonEmpty X509.SignedCertificate,+    sNonce :: Digest SHA256,+    pubKey :: Cose.PublicKey+  }+  deriving (Eq, Show)++instance ToJSON Statement where+  toJSON Statement {..} =+    object+      [ "x5c" .= x5c+      ]++-- | Undocumented, but the Apple Nonce Extension should only contain the nonce+newtype AppleNonceExtension = AppleNonceExtension+  { nonce :: Digest SHA256+  }+  deriving (Eq, Show)++instance X509.Extension AppleNonceExtension where+  extOID = const [1, 2, 840, 113635, 100, 8, 2]+  extHasNestedASN1 = const False+  extEncode = error "extEncode for AppleNonceExtension is unimplemented"+  extDecode = ASN1.runParseASN1 decode+    where+      decode :: ASN1.ParseASN1 AppleNonceExtension+      decode = do+        ASN1.OctetString nonce <-+          ASN1.onNextContainer ASN1.Sequence $+            ASN1.onNextContainer (ASN1.Container ASN1.Context 1) ASN1.getNext+        maybe+          (fail "The nonce in the Extention was not a valid SHA256 hash")+          (pure . AppleNonceExtension)+          (digestFromByteString nonce)++instance M.AttestationStatementFormat Format where+  type AttStmt Format = Statement+  asfIdentifier _ = "apple"++  asfDecode _ xs = case xs !? "x5c" of+    Just (CBOR.TList (NE.nonEmpty -> Just x5cRaw)) -> do+      x5c@(credCert :| _) <- forM x5cRaw $ \case+        CBOR.TBytes certBytes ->+          first (("Failed to decode signed certificate: " <>) . Text.pack) (X509.decodeSignedCertificate certBytes)+        cert ->+          Left $ "Certificate CBOR value is not bytes: " <> Text.pack (show cert)++      let cert = X509.getCertificate credCert++      pubKey <- Cose.fromX509 $ X509.certPubKey cert++      AppleNonceExtension {..} <- case X509.extensionGetE $ X509.certExtensions cert of+        Just (Right ext) -> pure ext+        Just (Left err) -> Left $ "Failed to decode certificate apple nonce extension: " <> Text.pack err+        Nothing -> Left "Certificate apple nonce extension is missing"++      pure $ Statement x5c nonce pubKey+    _ -> Left $ "CBOR map didn't have expected value types (x5c: nonempty list): " <> Text.pack (show xs)++  asfEncode _ Statement {..} =+    let encodedx5c = map (CBOR.TBytes . X509.encodeSignedObject) $ toList x5c+     in CBOR.TMap+          [ (CBOR.TString "x5c", CBOR.TList encodedx5c)+          ]++  type AttStmtVerificationError Format = VerificationError++  -- https://www.w3.org/TR/webauthn-2/#sctn-apple-anonymous-attestation+  asfVerify+    _+    _+    Statement {..}+    M.AuthenticatorData {adAttestedCredentialData = credData, ..}+    clientDataHash = do+      -- 1. Let authenticatorData denote the authenticator data for the+      -- attestation, and let clientDataHash denote the hash of the serialized+      -- client data.+      -- NOTE: Done in decoding++      -- 2. Concatenate authenticatorData and clientDataHash to form+      -- nonceToHash.+      let nonceToHash = M.unRaw adRawData <> BA.convert (M.unClientDataHash clientDataHash)++      -- 3. Perform SHA-256 hash of nonceToHash to produce nonce.+      let nonce = hash nonceToHash++      -- 4. Verify that nonce equals the value of the extension with OID+      -- 1.2.840.113635.100.8.2 in credCert.+      unless (nonce == sNonce) . failure $ NonceMismatch nonce sNonce++      -- 5. Verify that the credential public key equals the Subject Public Key+      -- of credCert.+      let credentialPublicKey = Cose.fromCose $ M.acdCredentialPublicKey credData+      unless (credentialPublicKey == pubKey) . failure $ PublickeyMismatch credentialPublicKey pubKey++      -- 6. If successful, return implementation-specific values representing+      -- attestation type Anonymization CA and attestation trust path x5c.+      pure $+        M.SomeAttestationType $+          M.AttestationTypeVerifiable M.VerifiableAttestationTypeAnonCA (M.Fido2Chain x5c)++  asfTrustAnchors _ _ = rootCertificateStore++rootCertificateStore :: X509.CertificateStore+rootCertificateStore = X509.makeCertificateStore [rootCertificate]++-- | The root certificate used for apple attestation formats+rootCertificate :: X509.SignedCertificate+rootCertificate = case X509.decodeSignedCertificate $(embedFile "root-certs/apple/Apple_WebAuthn_Root_CA.crt") of+  Left err -> error $ "Error while decoding Apple root certificate: " <> err+  Right cert -> cert++-- | Helper function that wraps the Apple format into the general+-- SomeAttestationStatementFormat type.+format :: M.SomeAttestationStatementFormat+format = M.SomeAttestationStatementFormat Format
+ src/Crypto/WebAuthn/AttestationStatementFormat/FidoU2F.hs view
@@ -0,0 +1,176 @@+{-# LANGUAGE ApplicativeDo #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++-- | Stability: experimental+-- This module implements the+-- [FIDO U2F Attestation Statement Format](https://www.w3.org/TR/webauthn-2/#sctn-fido-u2f-attestation).+module Crypto.WebAuthn.AttestationStatementFormat.FidoU2F+  ( format,+    Format (..),+    VerificationError (..),+  )+where++import qualified Codec.CBOR.Term as CBOR+import Control.Exception (Exception)+import Control.Monad (unless)+import Crypto.PubKey.ECC.Types (CurveName (SEC_p256r1))+import qualified Crypto.WebAuthn.Cose.Internal.Verify as Cose+import Crypto.WebAuthn.Internal.Utils (failure)+import qualified Crypto.WebAuthn.Model.Types as M+import Data.Aeson (ToJSON, object, toJSON, (.=))+import Data.Bifunctor (first)+import qualified Data.ByteArray as BA+import qualified Data.ByteString as BS+import Data.HashMap.Strict ((!?))+import qualified Data.Text as Text+import qualified Data.X509 as X509+import qualified Data.X509.EC as X509+import qualified Data.X509.Validation as X509++-- | The Fido U2F format. The sole purpose of this type is to instantiate the+-- AttestationStatementFormat typeclass below.+data Format = Format++instance Show Format where+  show = Text.unpack . M.asfIdentifier++-- | Decoding errors specific to Fido U2F attestation+data DecodingError+  = -- | No Signature field was present+    NoSig+  | -- | No x5c certificate was present+    NoX5C+  | -- | Multiple x5c certificates were found where only one was expected+    MultipleX5C+  | -- | There was an error decoding the x5c certificate, string is the error resulted by the `Data.X509.decodeSignedCertificate` function+    DecodingErrorX5C String+  deriving (Show, Exception)++-- | Verification errors specific to Fido U2F attestation+data VerificationError+  = -- | The public key in the certificate was not an EC Key or the curve was not the p256 curve+    InvalidCertificatePublicKey X509.PubKey+  | -- | The credential public key is not an ECDSA key+    NonECDSACredentialPublicKey Cose.PublicKey+  | -- | The x and/or y coordinates of the credential public key don't have a length of 32 bytes+    WrongCoordinateSize Int Int+  | -- | The provided public key cannot validate the signature over the verification data+    InvalidSignature X509.SignatureFailure+  deriving (Show, Exception)++-- | [(spec)](https://www.w3.org/TR/webauthn-2/#sctn-fido-u2f-attestation)+data Statement = Statement+  { sig :: BS.ByteString,+    attCert :: X509.SignedCertificate+  }+  deriving (Show, Eq)++instance ToJSON Statement where+  toJSON Statement {..} =+    object+      [ "attestnCert" .= attCert,+        "sig" .= sig+      ]++instance M.AttestationStatementFormat Format where+  type AttStmt Format = Statement+  asfIdentifier _ = "fido-u2f"++  asfDecode _ xs = case (xs !? "sig", xs !? "x5c") of+    (Just (CBOR.TBytes sig), Just (CBOR.TList [CBOR.TBytes certBytes])) -> do+      attCert <- first (("Failed to decode signed certificate: " <>) . Text.pack) (X509.decodeSignedCertificate certBytes)+      pure $ Statement sig attCert+    _ -> Left $ "CBOR map didn't have expected value types (sig: bytes, x5c: one-element list): " <> Text.pack (show xs)++  asfEncode _ Statement {..} =+    CBOR.TMap+      [ (CBOR.TString "sig", CBOR.TBytes sig),+        (CBOR.TString "x5c", CBOR.TList [CBOR.TBytes $ X509.encodeSignedObject attCert])+      ]++  type AttStmtVerificationError Format = VerificationError++  asfVerify+    _+    _+    Statement {..}+    M.AuthenticatorData+      { M.adAttestedCredentialData = M.AttestedCredentialData {..},+        ..+      }+    clientDataHash = do+      -- 1. Verify that attStmt is valid CBOR conforming to the syntax defined above+      -- and perform CBOR decoding on it to extract the contained fields.+      -- NOTE: The validity of the data is already checked during decoding.++      -- 2.a Check that x5c has exactly one element and let attCert be that element.+      -- NOTE: This has already been done during decoding++      -- 2.b Let certificate public key be the public key conveyed by attCert. If+      -- certificate public key is not an Elliptic Curve (EC) public key over the+      -- P-256 curve, terminate this algorithm and return an appropriate error.+      let certPubKey = X509.certPubKey $ X509.getCertificate attCert+      case certPubKey of+        X509.PubKeyEC pk ->+          case X509.ecPubKeyCurveName pk of+            Just SEC_p256r1 -> pure ()+            _ -> failure $ InvalidCertificatePublicKey certPubKey+        _ -> failure $ InvalidCertificatePublicKey certPubKey++      -- 3. Extract the claimed rpIdHash from authenticatorData, and the claimed+      -- credentialId and credentialPublicKey from authenticatorData.attestedCredentialData.+      -- NOTE: Done in patternmatch++      -- 4. Convert the COSE_KEY formatted credentialPublicKey (see Section 7 of+      -- [RFC8152]) to Raw ANSI X9.62 public key format (see ALG_KEY_ECC_X962_RAW in+      -- Section 3.6.2 Public Key Representation Formats of [FIDO-Registry]).++      -- 4.a Let x be the value corresponding to the "-2" key (representing x+      -- coordinate) in credentialPublicKey, and confirm its size to be of 32 bytes.+      -- If size differs or "-2" key is not found, terminate this algorithm and+      -- return an appropriate error.+      -- 4.b Let y be the value corresponding to the "-3" key (representing y+      -- coordinate) in credentialPublicKey, and confirm its size to be of 32 bytes.+      -- If size differs or "-3" key is not found, terminate this algorithm and+      -- return an appropriate error.+      -- NOTE: Already done during decoding of the COSE public key+      case Cose.fromCose acdCredentialPublicKey of+        Cose.PublicKeyECDSA {ecdsaX = xb, ecdsaY = yb} -> do+          let xlen = BS.length xb+              ylen = BS.length yb+          unless (xlen == 32 && ylen == 32) $ failure $ WrongCoordinateSize xlen ylen++          -- 4.c Let publicKeyU2F be the concatenation 0x04 || x || y.+          let publicKeyU2F = BS.singleton 0x04 <> xb <> yb++          -- 5. Let verificationData be the concatenation of (0x00 || rpIdHash ||+          -- clientDataHash || credentialId || publicKeyU2F) (see Section 4.3 of+          -- [FIDO-U2F-Message-Formats]).+          let credId = M.unCredentialId acdCredentialId+              verificationData = BS.singleton 0x00 <> BA.convert (M.unRpIdHash adRpIdHash) <> BA.convert (M.unClientDataHash clientDataHash) <> credId <> publicKeyU2F++          -- 6. Verify the sig using verificationData and the certificate public key per+          -- section 4.1.4 of [SEC1] with SHA-256 as the hash function used in step two.+          case X509.verifySignature (X509.SignatureALG X509.HashSHA256 X509.PubKeyALG_EC) certPubKey verificationData sig of+            X509.SignaturePass -> pure ()+            X509.SignatureFailed e -> failure $ InvalidSignature e+          pure ()+        key -> failure $ NonECDSACredentialPublicKey key++      -- 7. Optionally, inspect x5c and consult externally provided knowledge to+      -- determine whether attStmt conveys a Basic or AttCA attestation.+      -- 8. If successful, return implementation-specific values representing+      -- attestation type Basic, AttCA or uncertainty, and attestation trust path+      -- x5c.+      pure $+        M.SomeAttestationType $+          M.AttestationTypeVerifiable M.VerifiableAttestationTypeUncertain (M.FidoU2FCert attCert)++  asfTrustAnchors _ _ = mempty++-- | Helper function that wraps the Fido U2F format into the general+-- SomeAttestationStatementFormat type.+format :: M.SomeAttestationStatementFormat+format = M.SomeAttestationStatementFormat Format
+ src/Crypto/WebAuthn/AttestationStatementFormat/None.hs view
@@ -0,0 +1,41 @@+{-# LANGUAGE TypeFamilies #-}++-- | Stability: experimental+-- This module implements the+-- [None Attestation Statement Format](https://www.w3.org/TR/webauthn-2/#sctn-none-attestation).+-- Note that this attestation statement format is currently not registered in the+-- [WebAuthn Attestation Statement Format Identifiers IANA registry](https://www.iana.org/assignments/webauthn/webauthn.xhtml#webauthn-attestation-statement-format-ids).+module Crypto.WebAuthn.AttestationStatementFormat.None+  ( format,+    Format (..),+  )+where++import qualified Codec.CBOR.Term as CBOR+import qualified Crypto.WebAuthn.Model.Types as M+import qualified Data.Text as Text+import Data.Void (Void)++-- | The None format. The sole purpose of this type is to instantiate the+-- AttestationStatementFormat typeclass below.+data Format = Format++instance Show Format where+  show = Text.unpack . M.asfIdentifier++instance M.AttestationStatementFormat Format where+  type AttStmt Format = ()+  asfIdentifier _ = "none"++  asfDecode _ _ = Right ()+  asfEncode _ _ = CBOR.TMap []++  type AttStmtVerificationError Format = Void+  asfVerify _ _ _ _ _ = pure $ M.SomeAttestationType M.AttestationTypeNone++  asfTrustAnchors _ _ = mempty++-- | Helper function that wraps the None format into the general+-- SomeAttestationStatementFormat type.+format :: M.SomeAttestationStatementFormat+format = M.SomeAttestationStatementFormat Format
+ src/Crypto/WebAuthn/AttestationStatementFormat/Packed.hs view
@@ -0,0 +1,190 @@+{-# LANGUAGE ApplicativeDo #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++-- | Stability: experimental+-- This module implements the+-- [Packed Attestation Statement Format](https://www.w3.org/TR/webauthn-2/#sctn-packed-attestation).+module Crypto.WebAuthn.AttestationStatementFormat.Packed+  ( format,+    Format (..),+    VerificationError (..),+  )+where++import qualified Codec.CBOR.Term as CBOR+import Control.Exception (Exception)+import Control.Monad (forM, unless, when)+import qualified Crypto.WebAuthn.Cose.Algorithm as Cose+import qualified Crypto.WebAuthn.Cose.Internal.Verify as Cose+import qualified Crypto.WebAuthn.Cose.Key as Cose+import Crypto.WebAuthn.Internal.Utils (IdFidoGenCeAAGUID (IdFidoGenCeAAGUID), failure)+import qualified Crypto.WebAuthn.Model.Types as M+import Data.ASN1.Error (ASN1Error)+import qualified Data.ASN1.OID as OID+import Data.Aeson (ToJSON, object, toJSON, (.=))+import Data.Bifunctor (first)+import Data.ByteArray (convert)+import qualified Data.ByteString as BS+import Data.HashMap.Strict ((!?))+import Data.List.NonEmpty (NonEmpty ((:|)), toList)+import qualified Data.List.NonEmpty as NE+import Data.Maybe (isJust)+import Data.Text (Text)+import qualified Data.Text as Text+import qualified Data.X509 as X509+import qualified Data.X509.Validation as X509++-- | The Packed format. The sole purpose of this type is to instantiate the+-- AttestationStatementFormat typeclass below.+data Format = Format++instance Show Format where+  show = Text.unpack . M.asfIdentifier++-- | [(spec)](https://www.w3.org/TR/webauthn-2/#sctn-packed-attestation)+data Statement = Statement+  { alg :: Cose.CoseSignAlg,+    sig :: BS.ByteString,+    x5c :: Maybe (NE.NonEmpty X509.SignedCertificate, IdFidoGenCeAAGUID)+  }+  deriving (Eq, Show)++instance ToJSON Statement where+  toJSON Statement {..} =+    object+      ( [ "alg" .= alg,+          "sig" .= sig+        ]+          ++ maybe [] (\(x5c', _) -> ["x5c" .= x5c']) x5c+      )++-- | Verification errors specific to Packed attestation+data VerificationError+  = -- | The Algorithm from the attestation format does not match the algorithm+    -- of the key in the credential data+    VerificationErrorAlgorithmMismatch+  | -- | The statement key cannot verify the signature over the attested+    -- credential data and client data for self attestation+    VerificationErrorInvalidSignature Text+  | -- | The statement certificate cannot verify the signature over the attested+    -- credential data and client data for nonself attestation+    VerificationErrorVerificationFailure X509.SignatureFailure+  | -- | The certificate does not meet the requirements layed out in the+    -- webauthn specification+    -- https://www.w3.org/TR/webauthn-2/#sctn-packed-attestation-cert-requirements+    VerificationErrorCertificateRequirementsUnmet+  | -- | The (supposedly) ASN1 encoded certificate extension could not be+    -- decoded+    VerificationErrorASN1Error ASN1Error+  | -- | The certificate extension does not contain a AAGUID+    VerificationErrorCredentialAAGUIDMissing+  | -- | The AAGUID in the certificate extension does not match the AAGUID in+    -- the authenticator data+    VerificationErrorCertificateAAGUIDMismatch+  deriving (Show, Exception)++instance M.AttestationStatementFormat Format where+  type AttStmt Format = Statement++  asfIdentifier _ = "packed"++  asfDecode _ xs =+    case (xs !? "alg", xs !? "sig", xs !? "x5c") of+      (Just (CBOR.TInt algId), Just (CBOR.TBytes sig), Just (CBOR.TList x5cRaw)) -> do+        alg <- Cose.toCoseSignAlg algId+        x5c <- case NE.nonEmpty x5cRaw of+          Nothing -> pure Nothing+          Just x5cBytes -> do+            x5c@(signedCert :| _) <- forM x5cBytes $ \case+              CBOR.TBytes certBytes ->+                first (("Failed to decode signed certificate: " <>) . Text.pack) (X509.decodeSignedCertificate certBytes)+              cert ->+                Left $ "Certificate CBOR value is not bytes: " <> Text.pack (show cert)++            let cert = X509.getCertificate signedCert+            aaguidExt <- case X509.extensionGetE (X509.certExtensions cert) of+              Just (Right ext) -> pure ext+              Just (Left err) -> Left $ "Failed to decode certificate aaguid extension: " <> Text.pack err+              Nothing -> Left "Certificate aaguid extension is missing"+            pure $ Just (x5c, aaguidExt)+        pure $ Statement {..}+      _ -> Left $ "CBOR map didn't have expected value types (alg: int, sig: bytes, x5c: list): " <> Text.pack (show xs)++  asfEncode _ Statement {..} =+    let encodedx5c = case x5c of+          Nothing -> []+          Just (certChain, _) -> map (CBOR.TBytes . X509.encodeSignedObject) $ toList certChain+     in CBOR.TMap+          [ (CBOR.TString "sig", CBOR.TBytes sig),+            (CBOR.TString "alg", CBOR.TInt $ Cose.fromCoseSignAlg alg),+            (CBOR.TString "x5c", CBOR.TList encodedx5c)+          ]++  type AttStmtVerificationError Format = VerificationError++  asfVerify+    _+    _+    Statement {alg = stmtAlg, sig = stmtSig, x5c = stmtx5c}+    M.AuthenticatorData {M.adRawData = M.WithRaw rawData, M.adAttestedCredentialData = credData}+    clientDataHash = do+      let signedData = rawData <> convert (M.unClientDataHash clientDataHash)+      case stmtx5c of+        -- Self attestation+        Nothing -> do+          -- Validate that alg matches the algorithm of the credentialPublicKey in authenticatorData.+          let key = M.acdCredentialPublicKey credData+              signAlg = Cose.keySignAlg key+          when (stmtAlg /= signAlg) $ failure VerificationErrorAlgorithmMismatch++          -- Verify that sig is a valid signature over the concatenation of+          -- authenticatorData and clientDataHash using the credential public key with alg.+          case Cose.verify signAlg (Cose.fromCose key) signedData stmtSig of+            Right () -> pure ()+            Left err -> failure $ VerificationErrorInvalidSignature err++          pure $ M.SomeAttestationType M.AttestationTypeSelf++        -- Basic, AttCA+        Just (x5c@(certCred :| _), IdFidoGenCeAAGUID credAAGUID) -> do+          let cert = X509.getCertificate certCred+              pubKey = X509.certPubKey cert+          -- Verify that sig is a valid signature over the concatenation of authenticatorData and clientDataHash using+          -- the attestation public key in attestnCert with the algorithm specified in alg.+          case X509.verifySignature (X509.SignatureALG X509.HashSHA256 X509.PubKeyALG_EC) pubKey signedData stmtSig of+            X509.SignaturePass -> pure ()+            X509.SignatureFailed err -> failure $ VerificationErrorVerificationFailure err++          -- Verify that attestnCert meets the requirements in § 8.2.1 Packed Attestation Statement Certificate+          -- Requirements.+          let dnElements = X509.getDistinguishedElements $ X509.certSubjectDN cert+          unless+            ( hasDnElement X509.DnCountry dnElements+                && hasDnElement X509.DnOrganization dnElements+                && hasDnElement X509.DnCommonName dnElements+                && findDnElement X509.DnOrganizationUnit dnElements == Just "Authenticator Attestation"+            )+            $ failure VerificationErrorCertificateRequirementsUnmet++          -- If attestnCert contains an extension with OID 1.3.6.1.4.1.45724.1.1.4 (id-fido-gen-ce-aaguid) verify that+          -- the value of this extension matches the aaguid in authenticatorData.+          let aaguid = M.acdAaguid credData+          unless (aaguid == credAAGUID) $ failure VerificationErrorCertificateAAGUIDMismatch++          pure $+            M.SomeAttestationType $+              M.AttestationTypeVerifiable M.VerifiableAttestationTypeUncertain (M.Fido2Chain x5c)+      where+        hasDnElement :: X509.DnElement -> [(OID.OID, X509.ASN1CharacterString)] -> Bool+        hasDnElement el = isJust . findDnElement el++        findDnElement :: X509.DnElement -> [(OID.OID, X509.ASN1CharacterString)] -> Maybe X509.ASN1CharacterString+        findDnElement dnElementName = lookup (OID.getObjectID dnElementName)++  asfTrustAnchors _ _ = mempty++-- | Helper function that wraps the Packed format into the general+-- SomeAttestationStatementFormat type.+format :: M.SomeAttestationStatementFormat+format = M.SomeAttestationStatementFormat Format
+ src/Crypto/WebAuthn/AttestationStatementFormat/TPM.hs view
@@ -0,0 +1,644 @@+{-# LANGUAGE ApplicativeDo #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TemplateHaskell #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE ViewPatterns #-}++-- | Stability: experimental+-- This module implements the+-- [TPM Attestation Statement Format](https://www.w3.org/TR/webauthn-2/#sctn-tpm-attestation).+module Crypto.WebAuthn.AttestationStatementFormat.TPM+  ( format,+    Format (..),+    VerificationError (..),+  )+where++import qualified Codec.CBOR.Term as CBOR+import Control.Exception (Exception)+import Control.Monad (forM, unless, when)+import Crypto.Hash (SHA1 (SHA1), SHA256 (SHA256), hashWith)+import qualified Crypto.Hash as Hash+import Crypto.Number.Serialize (os2ip)+import qualified Crypto.WebAuthn.Cose.Algorithm as Cose+import qualified Crypto.WebAuthn.Cose.Internal.Verify as Cose+import qualified Crypto.WebAuthn.Cose.Key as Cose+import Crypto.WebAuthn.Internal.Utils (IdFidoGenCeAAGUID (IdFidoGenCeAAGUID), failure)+import qualified Crypto.WebAuthn.Model.Types as M+import Data.ASN1.Error (ASN1Error)+import Data.ASN1.OID (OID)+import Data.ASN1.Parse (ParseASN1, getNext, hasNext, runParseASN1)+import Data.ASN1.Prim (ASN1 (ASN1String, OID))+import Data.Aeson (ToJSON, Value (String), object, toJSON, (.=))+import Data.Bifunctor (Bifunctor (first))+import Data.Binary (Word16, Word32, Word64)+import qualified Data.Binary.Get as Get+import qualified Data.Binary.Put as Put+import qualified Data.ByteArray as BA+import qualified Data.ByteString as BS+import qualified Data.ByteString.Lazy as LBS+import Data.FileEmbed (embedDir)+import Data.HashMap.Strict ((!?))+import Data.List.NonEmpty (NonEmpty ((:|)))+import qualified Data.List.NonEmpty as NE+import qualified Data.Map as Map+import qualified Data.Set as Set+import Data.Text (Text)+import qualified Data.Text as Text+import Data.Text.Encoding (decodeUtf8)+import qualified Data.X509 as X509+import qualified Data.X509.CertificateStore as X509+import GHC.Generics (Generic)++tpmManufacturers :: Set.Set Text+tpmManufacturers =+  Set.fromList+    [ "id:FFFFF1D0", -- FIDO testing TPM+    -- From https://trustedcomputinggroup.org/wp-content/uploads/TCG-TPM-Vendor-ID-Registry-Version-1.02-Revision-1.00.pdf+      "id:414D4400", -- 'AMD'  AMD+      "id:41544D4C", -- 'ATML' Atmel+      "id:4252434D", -- 'BRCM' Broadcom+      "id:4353434F", -- 'CSCO' Cisco+      "id:464C5953", -- 'FLYS' Flyslice Technologies+      "id:48504500", -- 'HPE'  HPE+      "id:49424d00", -- 'IBM'  IBM+      "id:49465800", -- 'IFX'  Infineon+      "id:494E5443", -- 'INTC' Intel+      "id:4C454E00", -- 'LEN'  Lenovo+      "id:4D534654", -- 'MSFT' Microsoft+      "id:4E534D20", -- 'NSM'  National Semiconductor+      "id:4E545A00", -- 'NTZ'  Nationz+      "id:4E544300", -- 'NTC'  Nuvoton Technology+      "id:51434F4D", -- 'QCOM' Qualcomm+      "id:534D5343", -- 'SMSC' SMSC+      "id:53544D20", -- 'STM ' ST Microelectronics+      "id:534D534E", -- 'SMSN' Samsung+      "id:534E5300", -- 'SNS'  Sinosun+      "id:54584E00", -- 'TXN'  Texas Instruments+      "id:57454300", -- 'WEC'  Winbond+      "id:524F4343", -- 'ROCC' Fuzhou Rockchip+      "id:474F4F47" -- 'GOOG'  Google+    ]++-- | [(spec)](https://trustedcomputinggroup.org/wp-content/uploads/TCG-_Algorithm_Registry_r1p32_pub.pdf)+data TPMAlgId = TPMAlgRSA | TPMAlgSHA1 | TPMAlgSHA256 | TPMAlgECC+  deriving (Show, Eq, Generic, ToJSON)++-- | [(spec)](https://trustedcomputinggroup.org/wp-content/uploads/TCG-_Algorithm_Registry_r1p32_pub.pdf)+toTPMAlgId :: MonadFail m => Word16 -> m TPMAlgId+toTPMAlgId 0x0001 = pure TPMAlgRSA+toTPMAlgId 0x0004 = pure TPMAlgSHA1+toTPMAlgId 0x000B = pure TPMAlgSHA256+toTPMAlgId 0x0023 = pure TPMAlgECC+toTPMAlgId _ = fail "Unsupported or invalid TPM_ALD_IG"++-- | [(spec)](https://trustedcomputinggroup.org/wp-content/uploads/TCG-_Algorithm_Registry_r1p32_pub.pdf)+toCurveId :: MonadFail m => Word16 -> m Cose.CoseCurveECDSA+toCurveId 0x0003 = pure Cose.CoseCurveP256+toCurveId 0x0004 = pure Cose.CoseCurveP384+toCurveId 0x0005 = pure Cose.CoseCurveP521+toCurveId _ = fail "Unsupported Curve ID"++-- | [(spec)](https://trustedcomputinggroup.org/wp-content/uploads/TCG_TPM2_r1p59_Part2_Structures_pub.pdf)+tpmGeneratedValue :: Word32+tpmGeneratedValue = 0xff544347++-- | [(spec)](https://trustedcomputinggroup.org/wp-content/uploads/TCG_TPM2_r1p59_Part2_Structures_pub.pdf)+tpmStAttestCertify :: Word16+tpmStAttestCertify = 0x8017++-- | The TPMS_CLOCK_INFO structure as specified in [TPMv2-Part2](https://www.trustedcomputinggroup.org/wp-content/uploads/TPM-Rev-2.0-Part-2-Structures-01.38.pdf)+-- section 10.11.1.+data TPMSClockInfo = TPMSClockInfo+  { tpmsciClock :: Word64,+    tpmsciResetCount :: Word32,+    tpmsciRestartCount :: Word32,+    tpmsciSafe :: Bool+  }+  deriving (Eq, Show, Generic, ToJSON)++-- | The TPMS_CERTIFY_INFO structure as specified in [TPMv2-Part2](https://www.trustedcomputinggroup.org/wp-content/uploads/TPM-Rev-2.0-Part-2-Structures-01.38.pdf)+-- section 10.12.3.+data TPMSCertifyInfo = TPMSCertifyInfo+  { tpmsciName :: BS.ByteString,+    tpmsciQualifiedName :: BS.ByteString+  }+  deriving (Eq, Show, Generic, ToJSON)++-- | The TPMS_ATTEST structure as specified in+-- [TPMv2-Part2](https://www.trustedcomputinggroup.org/wp-content/uploads/TPM-Rev-2.0-Part-2-Structures-01.38.pdf)+-- section 10.12.8.+data TPMSAttest = TPMSAttest+  { tpmsaMagic :: Word32,+    tpmsaType :: Word16,+    tpmsaQualifiedSigner :: BS.ByteString,+    tpmsaExtraData :: BS.ByteString,+    tpmsaClockInfo :: TPMSClockInfo,+    tpmsaFirmwareVersion :: Word64,+    tpmsaAttested :: TPMSCertifyInfo+  }+  deriving (Eq, Show, Generic, ToJSON)++-- | The TPMA_OBJECT structure as specified in+-- [TPMv2-Part2](https://www.trustedcomputinggroup.org/wp-content/uploads/TPM-Rev-2.0-Part-2-Structures-01.38.pdf)+-- section 8.3+type TPMAObject = Word32++-- | The TPMU_PUBLIC_PARMS structure as specified in+-- [TPMv2-Part2](https://www.trustedcomputinggroup.org/wp-content/uploads/TPM-Rev-2.0-Part-2-Structures-01.38.pdf)+-- section 12.2.3.7.+data TPMUPublicParms+  = TPMSRSAParms+      { tpmsrpSymmetric :: Word16,+        tpmsrpScheme :: Word16,+        tpmsrpKeyBits :: Word16,+        tpmsrpExponent :: Word32+      }+  | TPMSECCParms+      { tpmsepSymmetric :: Word16,+        tpmsepScheme :: Word16,+        tpmsepCurveId :: Cose.CoseCurveECDSA,+        tpmsepkdf :: Word16+      }+  deriving (Eq, Show, Generic, ToJSON)++-- | The TPMU_PUBLIC_ID structure as specified in+-- [TPMv2-Part2](https://www.trustedcomputinggroup.org/wp-content/uploads/TPM-Rev-2.0-Part-2-Structures-01.38.pdf)+-- section 12.2.3.2.+data TPMUPublicId+  = TPM2BPublicKeyRSA BS.ByteString+  | TPMSECCPoint+      { tpmseX :: BS.ByteString,+        tpmseY :: BS.ByteString+      }+  deriving (Eq, Show, Generic, ToJSON)++-- | The TPMT_PUBLIC structure (see [TPMv2-Part2](https://www.trustedcomputinggroup.org/wp-content/uploads/TPM-Rev-2.0-Part-2-Structures-01.38.pdf) section 12.2.4) used by the TPM to represent the credential public key.+data TPMTPublic = TPMTPublic+  { tpmtpType :: TPMAlgId,+    tpmtpNameAlg :: TPMAlgId,+    tpmtpNameAlgRaw :: Word16,+    tpmtpObjectAttributes :: TPMAObject,+    tpmtpAuthPolicy :: BS.ByteString,+    tpmtpParameters :: TPMUPublicParms,+    tpmtpUnique :: TPMUPublicId+  }+  deriving (Eq, Show, Generic, ToJSON)++-- | The TPM format. The sole purpose of this type is to instantiate the+-- AttestationStatementFormat typeclass below.+data Format = Format++instance Show Format where+  show = Text.unpack . M.asfIdentifier++-- | TPM Subject Alternative Name as described in section 3.2.9 [here](https://www.trustedcomputinggroup.org/wp-content/uploads/Credential_Profile_EK_V2.0_R14_published.pdf)+data SubjectAlternativeName = SubjectAlternativeName+  { tpmManufacturer :: Text,+    tpmModel :: Text,+    tpmVersion :: Text+  }+  deriving (Eq, Show)++-- | [(spec)](https://www.w3.org/TR/webauthn-2/#sctn-tpm-attestation)+data Statement = Statement+  { alg :: Cose.CoseSignAlg,+    x5c :: NE.NonEmpty X509.SignedCertificate,+    aikCert :: X509.SignedCertificate,+    subjectAlternativeName :: SubjectAlternativeName,+    aaguidExt :: Maybe IdFidoGenCeAAGUID,+    extendedKeyUsage :: [X509.ExtKeyUsagePurpose],+    basicConstraintsCA :: Bool,+    sig :: BS.ByteString,+    certInfo :: TPMSAttest,+    certInfoRaw :: BS.ByteString,+    pubArea :: TPMTPublic,+    pubAreaRaw :: BS.ByteString,+    pubAreaKey :: Cose.PublicKey+  }+  deriving (Eq, Show)++instance ToJSON Statement where+  toJSON Statement {..} =+    object+      [ "ver" .= String "2.0",+        "alg" .= alg,+        "x5c" .= x5c,+        "sig" .= sig,+        "certInfo" .= certInfo,+        "pubArea" .= pubArea+      ]++-- | Verification errors specific to TPM attestation+data VerificationError+  = -- | The public key in the certificate is different from the on in the+    -- attested credential data+    VerificationErrorCredentialKeyMismatch+  | -- | The magic number in certInfo was not set to TPM_GENERATED_VALUE+    VerificationErrorInvalidMagicNumber Word32+  | -- | The type in certInfo was not set to TPM_ST_ATTEST_CERTIFY+    VerificationErrorInvalidType Word16+  | -- | The algorithm specified in the nameAlg field is unsupported or is not+    -- a valid name algorithm+    VerificationErrorInvalidNameAlgorithm+  | -- | The calulated name does not match the provided name.+    -- (first: expected, second: received)+    VerificationErrorInvalidName BS.ByteString BS.ByteString+  | -- | The public key in the certificate was invalid, either because the it+    -- had an unexpected algorithm, or because it was otherwise malformed+    VerificationErrorInvalidPublicKey Text+  | -- | The certificate didn't have the expected version-value+    -- (first: expected, second: received)+    VerificationErrorCertificateVersion Int Int+  | -- | The Public key cannot verify the signature over the authenticatorData+    -- and the clientDataHash.+    VerificationErrorVerificationFailure Text+  | -- | The subject field was not empty+    VerificationErrorNonEmptySubjectField+  | -- | The vendor was unknown+    VerificationErrorUnknownVendor+  | -- | The Extended Key Usage did not contain the 2.23.133.8.3 OID+    VerificationErrorExtKeyOIDMissing+  | -- | The CA component of the basic constraints extension was set to True+    VerificationErrorBasicConstraintsTrue+  | -- | The AAGUID in the certificate extension does not match the AAGUID in+    -- the authenticator data+    VerificationErrorCertificateAAGUIDMismatch+  | -- | The (supposedly) ASN1 encoded certificate extension could not be+    -- decoded+    VerificationErrorASN1Error ASN1Error+  | -- | The certificate extension does not contain a AAGUID+    VerificationErrorCredentialAAGUIDMissing+  | -- | The desired algorithm does not have a known associated hash function+    VerificationErrorUnknownHashFunction+  | -- | The calculated hash over the attToBeSigned does not match the received+    -- hash+    -- (first: calculated, second: received)+    VerificationErrorHashMismatch BS.ByteString BS.ByteString+  deriving (Show, Exception)++-- [(spec)](https://www.trustedcomputinggroup.org/wp-content/uploads/Credential_Profile_EK_V2.0_R14_published.pdf)+-- The specifications specifies that the inner most objects of the ASN.1+-- encoding are individual sets of sequences. See notably page 35 of the spec.+-- However, in practice, we found that some TPM implementions interpreted this+-- as being a single set of individual sequences. We could attempt to parse+-- both, relying on the Alternative typeclass, or we could write our parser in+-- such a way that it is agnostic to whatever structure is chosen by searching+-- through the ASN.1 encoding for the desired OIDs.+--+-- We chose the second, since it can possibly also handle other interpretations+-- of the spec.+instance X509.Extension SubjectAlternativeName where+  extOID = const [2, 5, 29, 17]+  extHasNestedASN1 = const True+  extEncode = error "Unimplemented: This library does not implement encoding the SubjectAlternativeName extension"+  extDecode asn1 =+    first ("Could not decode ASN1 subject-alternative-name extension: " ++) $+      runParseASN1 decodeSubjectAlternativeName asn1+    where+      decodeSubjectAlternativeName :: ParseASN1 SubjectAlternativeName+      decodeSubjectAlternativeName =+        do+          map <- Map.fromList <$> decodeFields+          -- https://www.trustedcomputinggroup.org/wp-content/uploads/Credential_Profile_EK_V2.0_R14_published.pdf+          tpmManufacturer <- maybe (fail "manufacturer field not found in subject alternative name") pure $ Map.lookup [2, 23, 133, 2, 1] map+          tpmModel <- maybe (fail "model field not found in subject alternative name") pure $ Map.lookup [2, 23, 133, 2, 2] map+          tpmVersion <- maybe (fail "version field not found in subject alternative name") pure $ Map.lookup [2, 23, 133, 2, 3] map+          pure SubjectAlternativeName {..}++      decodeFields :: ParseASN1 [(OID, Text)]+      decodeFields = do+        next <- hasNext+        if next+          then do+            n <- getNext+            case n of+              OID oid -> do+                m <- getNext+                case m of+                  ASN1String asnString -> do+                    let text = decodeUtf8 $ X509.getCharacterStringRawData asnString+                    fields <- decodeFields+                    pure ((oid, text) : fields)+                  _ -> decodeFields+              _ -> decodeFields+          else pure []++instance M.AttestationStatementFormat Format where+  type AttStmt Format = Statement++  asfIdentifier _ = "tpm"++  asfDecode _ xs =+    case (xs !? "ver", xs !? "alg", xs !? "x5c", xs !? "sig", xs !? "certInfo", xs !? "pubArea") of+      (Just (CBOR.TString "2.0"), Just (CBOR.TInt algId), Just (CBOR.TList (NE.nonEmpty -> Just x5cRaw)), Just (CBOR.TBytes sig), Just (CBOR.TBytes certInfoRaw), Just (CBOR.TBytes pubAreaRaw)) ->+        do+          x5c@(aikCert :| _) <- forM x5cRaw $ \case+            CBOR.TBytes certBytes ->+              first (("Failed to decode signed certificate: " <>) . Text.pack) (X509.decodeSignedCertificate certBytes)+            cert ->+              Left $ "Certificate CBOR value is not bytes: " <> Text.pack (show cert)+          alg <- Cose.toCoseSignAlg algId+          -- The get interface requires lazy bytestrings but we typically use+          -- strict bytestrings in the library, so we have to convert between+          -- them+          certInfo <- case Get.runGetOrFail getTPMAttest (LBS.fromStrict certInfoRaw) of+            Left (_, _, err) -> Left $ "Failed to decode certInfo: " <> Text.pack (show err)+            Right (_, _, res) -> pure res+          pubArea <- case Get.runGetOrFail getTPMTPublic (LBS.fromStrict pubAreaRaw) of+            Left (_, _, err) -> Left $ "Failed to decode pubArea: " <> Text.pack (show err)+            Right (_, _, res) -> pure res+          pubAreaKey <- extractPublicKey pubArea++          let cert = X509.getCertificate aikCert++          subjectAlternativeName <- case X509.extensionGetE (X509.certExtensions cert) of+            Just (Right ext) -> pure ext+            Just (Left err) -> Left $ "Failed to decode certificate subject alternative name extension: " <> Text.pack err+            Nothing -> Left "Certificate subject alternative name extension is missing"+          aaguidExt <- case X509.extensionGetE (X509.certExtensions cert) of+            Just (Right ext) -> pure $ Just ext+            Just (Left err) -> Left $ "Failed to decode certificate aaguid extension: " <> Text.pack err+            Nothing -> pure Nothing+          X509.ExtExtendedKeyUsage extendedKeyUsage <- case X509.extensionGetE (X509.certExtensions cert) of+            Just (Right ext) -> pure ext+            Just (Left err) -> Left $ "Failed to decode certificate extended key usage extension: " <> Text.pack err+            Nothing -> Left "Certificate extended key usage extension is missing"+          X509.ExtBasicConstraints basicConstraintsCA _ <- case X509.extensionGetE (X509.certExtensions cert) of+            Just (Right ext) -> pure ext+            Just (Left err) -> Left $ "Failed to decode certificate basic constraints extension: " <> Text.pack err+            Nothing -> Left "Certificate basic constraints extension is missing"+          Right $ Statement {..}+      _ -> Left $ "CBOR map didn't have expected value types (ver: \"2.0\", alg: int, x5c: non-empty list, sig: bytes, certInfo: bytes, pubArea: bytes): " <> Text.pack (show xs)+    where+      getTPMAttest :: Get.Get TPMSAttest+      getTPMAttest = do+        tpmsaMagic <- Get.getWord32be+        unless (tpmsaMagic == tpmGeneratedValue) $ fail "Invalid magic number"+        tpmsaType <- Get.getWord16be+        tpmsaQualifiedSigner <- getTPMByteString+        tpmsaExtraData <- getTPMByteString+        tpmsaClockInfo <- getClockInfo+        tpmsaFirmwareVersion <- Get.getWord64be+        tpmsaAttested <- getCertifyInfo+        True <- Get.isEmpty+        pure TPMSAttest {..}++      getClockInfo :: Get.Get TPMSClockInfo+      getClockInfo = do+        tpmsciClock <- Get.getWord64be+        tpmsciResetCount <- Get.getWord32be+        tpmsciRestartCount <- Get.getWord32be+        tpmsciSafe <- (== 1) <$> Get.getWord8+        pure TPMSClockInfo {..}++      getCertifyInfo :: Get.Get TPMSCertifyInfo+      getCertifyInfo = do+        tpmsciName <- getTPMByteString+        tpmsciQualifiedName <- getTPMByteString+        pure TPMSCertifyInfo {..}++      getTPMByteString :: Get.Get BS.ByteString+      getTPMByteString = do+        size <- Get.getWord16be+        Get.getByteString (fromIntegral size)++      getTPMTPublic :: Get.Get TPMTPublic+      getTPMTPublic = do+        tpmtpType <- toTPMAlgId =<< Get.getWord16be+        tpmtpNameAlgRaw <- Get.getWord16be+        tpmtpNameAlg <- toTPMAlgId tpmtpNameAlgRaw+        tpmtpObjectAttributes <- getTPMAObject+        tpmtpAuthPolicy <- getTPMByteString+        tpmtpParameters <- getTPMUPublicParms tpmtpType+        tpmtpUnique <- getTPMUPublicId tpmtpType+        True <- Get.isEmpty+        pure TPMTPublic {..}++      -- We don't need to inspect the bits in the object, so we skip parsing it+      getTPMAObject :: Get.Get TPMAObject+      getTPMAObject = Get.getWord32be++      getTPMUPublicParms :: TPMAlgId -> Get.Get TPMUPublicParms+      getTPMUPublicParms TPMAlgRSA = do+        tpmsrpSymmetric <- Get.getWord16be+        tpmsrpScheme <- Get.getWord16be+        tpmsrpKeyBits <- Get.getWord16be+        -- An exponent of zero indicates that the exponent is the default of 2^16 + 1+        tpmsrpExponent <- (\e -> if e == 0 then 65537 else e) <$> Get.getWord32be+        pure TPMSRSAParms {..}+      getTPMUPublicParms TPMAlgSHA1 = fail "SHA1 does not have public key parameters"+      getTPMUPublicParms TPMAlgSHA256 = fail "SHA256 does not have public key parameters"+      getTPMUPublicParms TPMAlgECC = do+        tpmsepSymmetric <- Get.getWord16be+        tpmsepScheme <- Get.getWord16be+        tpmsepCurveId <- toCurveId =<< Get.getWord16be+        tpmsepkdf <- Get.getWord16be+        pure TPMSECCParms {..}++      getTPMUPublicId :: TPMAlgId -> Get.Get TPMUPublicId+      getTPMUPublicId TPMAlgRSA = TPM2BPublicKeyRSA <$> getTPMByteString+      getTPMUPublicId TPMAlgSHA1 = fail "SHA1 does not have a public id"+      getTPMUPublicId TPMAlgSHA256 = fail "SHA256 does not have a public id"+      getTPMUPublicId TPMAlgECC = do+        tpmseX <- getTPMByteString+        tpmseY <- getTPMByteString+        pure TPMSECCPoint {..}++      extractPublicKey :: TPMTPublic -> Either Text Cose.PublicKey+      extractPublicKey+        TPMTPublic+          { tpmtpType = TPMAlgRSA,+            tpmtpParameters = TPMSRSAParms {..},+            tpmtpUnique = TPM2BPublicKeyRSA nb+          } =+          pure+            Cose.PublicKeyRSA+              { rsaN = os2ip nb,+                rsaE = toInteger tpmsrpExponent+              }+      extractPublicKey+        TPMTPublic+          { tpmtpType = TPMAlgECC,+            tpmtpParameters = TPMSECCParms {..},+            tpmtpUnique = TPMSECCPoint {..}+          } =+          pure+            Cose.PublicKeyECDSA+              { ecdsaCurve = tpmsepCurveId,+                ecdsaX = tpmseX,+                ecdsaY = tpmseY+              }+      extractPublicKey key = Left $ "Unsupported TPM public key: " <> Text.pack (show key)++  asfEncode _ Statement {..} =+    CBOR.TMap+      [ (CBOR.TString "ver", CBOR.TString "2.0"),+        (CBOR.TString "alg", CBOR.TInt $ Cose.fromCoseSignAlg alg),+        ( CBOR.TString "x5c",+          CBOR.TList $ map (CBOR.TBytes . X509.encodeSignedObject) $ NE.toList x5c+        ),+        (CBOR.TString "sig", CBOR.TBytes sig),+        (CBOR.TString "certInfo", CBOR.TBytes certInfoRaw),+        (CBOR.TString "pubArea", CBOR.TBytes pubAreaRaw)+      ]++  type AttStmtVerificationError Format = VerificationError++  asfVerify+    _+    _+    Statement {..}+    M.AuthenticatorData {adRawData = M.WithRaw adRawData, ..}+    clientDataHash = do+      -- 1. Verify that attStmt is valid CBOR conforming to the syntax defined+      -- above and perform CBOR decoding on it to extract the contained fields.+      -- NOTE: This is done during decoding++      -- 2. Verify that the public key specified by the parameters and unique+      -- fields of pubArea is identical to the credentialPublicKey in the+      -- attestedCredentialData in authenticatorData.+      let pubKey = Cose.fromCose $ M.acdCredentialPublicKey adAttestedCredentialData+      unless (pubKey == pubAreaKey) $ failure VerificationErrorCredentialKeyMismatch++      -- 3. Concatenate authenticatorData and clientDataHash to form attToBeSigned.+      let attToBeSigned = adRawData <> BA.convert (M.unClientDataHash clientDataHash)++      -- 4. Validate that certInfo is valid:+      -- 4.1 Verify that magic is set to TPM_GENERATED_VALUE.+      let magic = tpmsaMagic certInfo+      unless (magic == tpmGeneratedValue) . failure $ VerificationErrorInvalidMagicNumber magic++      -- 4.2 Verify that type is set to TPM_ST_ATTEST_CERTIFY.+      let typ = tpmsaType certInfo+      unless (typ == tpmStAttestCertify) . failure $ VerificationErrorInvalidType typ++      -- 4.3 Verify that extraData is set to the hash of attToBeSigned using+      -- the hash algorithm employed in "alg".+      case hashWithCorrectAlgorithm alg attToBeSigned of+        Just attHash -> do+          let extraData = tpmsaExtraData certInfo+          unless (attHash == extraData) . failure $ VerificationErrorHashMismatch attHash extraData+          pure ()+        Nothing -> failure VerificationErrorUnknownHashFunction++      -- 4.5 Verify that attested contains a TPMS_CERTIFY_INFO structure as+      -- specified in [TPMv2-Part2] section 10.12.3, whose name field contains+      -- a valid Name for pubArea, as computed using the algorithm in the+      -- nameAlg field of pubArea using the procedure specified in+      -- [TPMv2-Part1] section 16.+      let mPubAreaHash = case tpmtpNameAlg pubArea of+            TPMAlgSHA1 -> Just $ BA.convert $ hashWith SHA1 pubAreaRaw+            TPMAlgSHA256 -> Just $ BA.convert $ hashWith SHA256 pubAreaRaw+            TPMAlgECC -> Nothing+            TPMAlgRSA -> Nothing++      case mPubAreaHash of+        Just pubAreaHash -> do+          let pubName = LBS.toStrict $+                Put.runPut $ do+                  Put.putWord16be (tpmtpNameAlgRaw pubArea)+                  Put.putByteString pubAreaHash++          let name = tpmsciName (tpmsaAttested certInfo)+          unless (name == pubName) . failure $ VerificationErrorInvalidName pubName name+          pure ()+        Nothing -> failure VerificationErrorInvalidNameAlgorithm++      -- 4.6 Verify that x5c is present+      -- NOTE: Done in decoding++      -- 4.7 Note that the remaining fields in the "Standard Attestation Structure"+      -- [TPMv2-Part1] section 31.2, i.e., qualifiedSigner, clockInfo and+      -- firmwareVersion are ignored. These fields MAY be used as an input to+      -- risk engines.+      -- NOTE: We don't implement a risk engine++      -- 4.8 Verify the sig is a valid signature over certInfo using the+      -- attestation public key in aikCert with the algorithm specified in alg.+      let unsignedAikCert = X509.getCertificate aikCert+      case Cose.fromX509 $ X509.certPubKey unsignedAikCert of+        Right certPubKey -> case Cose.verify alg certPubKey certInfoRaw sig of+          Right () -> pure ()+          Left err -> failure $ VerificationErrorVerificationFailure err+        Left err -> failure $ VerificationErrorInvalidPublicKey err++      -- 4.9 Verify that aikCert meets the requirements in § 8.3.1 TPM Attestation+      -- Statement Certificate Requirements.++      -- 4.9.1 Version MUST be set to 3.+      -- Version ::= INTEGER { v1(0), v2(1), v3(2) }, see https://datatracker.ietf.org/doc/html/rfc5280.html#section-4.1+      let version = X509.certVersion unsignedAikCert+      unless (version == 2) . failure $ VerificationErrorCertificateVersion 2 version+      -- 4.9.2. Subject field MUST be set to empty.+      unless (null . X509.getDistinguishedElements $ X509.certSubjectDN unsignedAikCert) $ failure VerificationErrorNonEmptySubjectField+      -- 4.9.3 The Subject Alternative Name extension MUST be set as defined in+      -- [TPMv2-EK-Profile] section 3.2.9.+      -- 4.9.3.1 The TPM manufacturer identifies the manufacturer of the TPM. This value MUST be the+      -- vendor ID defined in the TCG Vendor ID Registry[3]+      unless (Set.member (tpmManufacturer subjectAlternativeName) tpmManufacturers) $ failure VerificationErrorUnknownVendor++      -- 4.9.4 The Extended Key Usage extension MUST contain the OID+      -- 2.23.133.8.3 ("joint-iso-itu-t(2) internationalorganizations(23) 133+      -- tcg-kp(8) tcg-kp-AIKCertificate(3)").+      unless (X509.KeyUsagePurpose_Unknown [2, 23, 133, 8, 3] `elem` extendedKeyUsage) $ failure VerificationErrorExtKeyOIDMissing++      -- 4.9.5 The Basic Constraints extension MUST have the CA component set+      -- to false.+      when basicConstraintsCA $ failure VerificationErrorBasicConstraintsTrue++      -- 4.9.6 An Authority Information Access (AIA) extension with entry+      -- id-ad-ocsp and a CRL Distribution Point extension [RFC5280] are both+      -- OPTIONAL as the status of many attestation certificates is available+      -- through metadata services. See, for example, the FIDO Metadata Service+      -- [FIDOMetadataService].+      -- NOTE: CRL checking and AIA can be done in a more general way after+      -- this function. See also <https://github.com/tweag/webauthn/issues/23>++      -- If aikCert contains an extension with OID 1.3.6.1.4.1.45724.1.1.4+      -- (id-fido-gen-ce-aaguid) verify that the value of this extension+      -- matches the aaguid in authenticatorData.+      case aaguidExt of+        Just (IdFidoGenCeAAGUID aaguid) -> unless (M.acdAaguid adAttestedCredentialData == aaguid) $ failure VerificationErrorCertificateAAGUIDMismatch+        Nothing -> pure ()++      pure $+        M.SomeAttestationType $+          M.AttestationTypeVerifiable M.VerifiableAttestationTypeUncertain (M.Fido2Chain x5c)+      where+        hashWithCorrectAlgorithm :: (BA.ByteArrayAccess ba, BA.ByteArray bout) => Cose.CoseSignAlg -> ba -> Maybe bout+        hashWithCorrectAlgorithm Cose.CoseSignAlgEdDSA _ =+          Nothing+        hashWithCorrectAlgorithm (Cose.CoseSignAlgECDSA Cose.CoseHashAlgECDSASHA256) bytes =+          pure $ BA.convert (Hash.hashWith Hash.SHA256 bytes)+        hashWithCorrectAlgorithm (Cose.CoseSignAlgECDSA Cose.CoseHashAlgECDSASHA384) bytes =+          pure $ BA.convert (Hash.hashWith Hash.SHA384 bytes)+        hashWithCorrectAlgorithm (Cose.CoseSignAlgECDSA Cose.CoseHashAlgECDSASHA512) bytes =+          pure $ BA.convert (Hash.hashWith Hash.SHA512 bytes)+        hashWithCorrectAlgorithm (Cose.CoseSignAlgRSA Cose.CoseHashAlgRSASHA1) bytes =+          pure $ BA.convert (Hash.hashWith Hash.SHA1 bytes)+        hashWithCorrectAlgorithm (Cose.CoseSignAlgRSA Cose.CoseHashAlgRSASHA256) bytes =+          pure $ BA.convert (Hash.hashWith Hash.SHA256 bytes)+        hashWithCorrectAlgorithm (Cose.CoseSignAlgRSA Cose.CoseHashAlgRSASHA384) bytes =+          pure $ BA.convert (Hash.hashWith Hash.SHA384 bytes)+        hashWithCorrectAlgorithm (Cose.CoseSignAlgRSA Cose.CoseHashAlgRSASHA512) bytes =+          pure $ BA.convert (Hash.hashWith Hash.SHA512 bytes)++  asfTrustAnchors _ _ = rootCertificateStore++rootCertificateStore :: X509.CertificateStore+rootCertificateStore = X509.makeCertificateStore $ map snd rootCertificates++-- | All known TPM root certificates along with their vendors+rootCertificates :: [(Text, X509.SignedCertificate)]+rootCertificates = processEntry <$> $(embedDir "root-certs/tpm")+  where+    processEntry :: (FilePath, BS.ByteString) -> (Text, X509.SignedCertificate)+    processEntry (path, bytes) = case X509.decodeSignedCertificate bytes of+      Right cert -> (Text.takeWhile (/= '/') (Text.pack path), cert)+      Left err -> error $ "Error while decoding certificate " <> path <> ": " <> err++-- | Helper function that wraps the TPM format into the general+-- SomeAttestationStatementFormat type.+format :: M.SomeAttestationStatementFormat+format = M.SomeAttestationStatementFormat Format
+ src/Crypto/WebAuthn/Cose/Algorithm.hs view
@@ -0,0 +1,240 @@+{-# LANGUAGE PatternSynonyms #-}++-- | Stability: experimental+-- This module contains definitions for [COSE registry](https://www.iana.org/assignments/cose/cose.xhtml)+-- entries that are relevant for Webauthn COSE public keys. All the types in+-- this module implement the 'Serialise' class, mapping them to the respective+-- CBOR values/labels.+--+-- This modules sometimes uses this+-- [CBOR Grammar](https://datatracker.ietf.org/doc/html/draft-ietf-cose-rfc8152bis-struct-13#section-1.4)+-- to describe CBOR value types corresponding to CBOR parameters+module Crypto.WebAuthn.Cose.Algorithm+  ( -- * COSE Algorithms+    CoseSignAlg+      ( ..,+        CoseAlgorithmEdDSA,+        CoseAlgorithmES256,+        CoseAlgorithmES384,+        CoseAlgorithmES512,+        CoseAlgorithmRS256,+        CoseAlgorithmRS384,+        CoseAlgorithmRS512,+        CoseAlgorithmRS1+      ),+    fromCoseSignAlg,+    toCoseSignAlg,++    -- * Hash Algorithms+    CoseHashAlgECDSA (..),+    CoseHashAlgRSA (..),+  )+where++import Codec.CBOR.Decoding (decodeIntCanonical)+import Codec.CBOR.Encoding (encodeInt)+import Codec.Serialise (Serialise)+import Codec.Serialise.Class (decode, encode)+import Data.Aeson (ToJSON)+import Data.Text (Text)+import qualified Data.Text as Text+import GHC.Generics (Generic)++-- | [(spec)](https://www.iana.org/assignments/cose/cose.xhtml#algorithms)+-- All the entries from the [COSE Algorithms registry](https://www.iana.org/assignments/cose/cose.xhtml#algorithms)+-- limited to the ones that are currently needed for Webauthn. Notably we only+-- care about asymmetric signature algorithms+data CoseSignAlg+  = -- | [(spec)](https://datatracker.ietf.org/doc/html/draft-ietf-cose-rfc8152bis-algs-12#section-2.2)+    -- EdDSA+    --+    -- [RFC8032](https://datatracker.ietf.org/doc/html/rfc8032) describes the elliptic curve signature scheme Edwards-curve+    -- Digital Signature Algorithm (EdDSA).  In that document, the signature+    -- algorithm is instantiated using parameters for edwards25519 and+    -- edwards448 curves.  The document additionally describes two variants+    -- of the EdDSA algorithm: Pure EdDSA, where no hash function is applied+    -- to the content before signing, and HashEdDSA, where a hash function+    -- is applied to the content before signing and the result of that hash+    -- function is signed.  For EdDSA, the content to be signed (either the+    -- message or the pre-hash value) is processed twice inside of the+    -- signature algorithm.  For use with COSE, only the pure EdDSA version+    -- is used.+    --+    -- Security considerations are [here](https://datatracker.ietf.org/doc/html/draft-ietf-cose-rfc8152bis-algs-12#section-2.2.1)+    CoseSignAlgEdDSA+  | -- | [(spec)](https://datatracker.ietf.org/doc/html/draft-ietf-cose-rfc8152bis-algs-12#section-2.1)+    -- ECDSA+    --+    -- ECDSA [DSS] defines a signature algorithm using ECC.  Implementations+    -- SHOULD use a deterministic version of ECDSA such as the one defined+    -- in [RFC6979].+    --+    -- The ECDSA signature algorithm is parameterized with a hash function+    -- (h).  In the event that the length of the hash function output is+    -- greater than the group of the key, the leftmost bytes of the hash+    -- output are used.+    -- ECDSA w/ SHA-256+    --+    -- This document defines ECDSA to work only with the curves P-256,+    -- P-384, and P-521. Future documents may define it to work with other+    -- curves and points in the future.+    --+    -- In order to promote interoperability, it is suggested that SHA-256 be+    -- used only with curve P-256, SHA-384 be used only with curve P-384,+    -- and SHA-512 be used with curve P-521.  This is aligned with the+    -- recommendation in [Section 4 of RFC5480](https://datatracker.ietf.org/doc/html/rfc5480#section-4)+    --+    -- Security considerations are [here](https://datatracker.ietf.org/doc/html/draft-ietf-cose-rfc8152bis-algs-12#section-2.1.1)+    CoseSignAlgECDSA CoseHashAlgECDSA+  | -- | [(spec)](https://www.rfc-editor.org/rfc/rfc8812.html#section-2)+    -- The RSASSA-PKCS1-v1_5 signature algorithm is defined in+    -- [RFC8017](https://www.rfc-editor.org/rfc/rfc8812.html#RFC8017).+    -- The RSASSA-PKCS1-v1_5 signature algorithm is parameterized with a hash function (h).+    --+    -- A key of size 2048 bits or larger MUST be used with these algorithms.+    --+    -- Security considerations are [here](https://www.rfc-editor.org/rfc/rfc8812.html#section-5)+    CoseSignAlgRSA CoseHashAlgRSA+  deriving (Eq, Show, Ord, Generic, ToJSON)++-- | Hash algorithms that can be used with the ECDSA signature algorithm+data CoseHashAlgECDSA+  = -- | SHA-256+    CoseHashAlgECDSASHA256+  | -- | SHA-384+    CoseHashAlgECDSASHA384+  | -- | SHA-512+    CoseHashAlgECDSASHA512+  deriving (Eq, Show, Ord, Enum, Bounded, Generic, ToJSON)++-- | Hash algorithms that can be used with the RSA signature algorithm+data CoseHashAlgRSA+  = -- | SHA-1 (deprecated)+    CoseHashAlgRSASHA1+  | -- | SHA-256+    CoseHashAlgRSASHA256+  | -- | SHA-384+    CoseHashAlgRSASHA384+  | -- | SHA-512+    CoseHashAlgRSASHA512+  deriving (Eq, Show, Ord, Enum, Bounded, Generic, ToJSON)++-- | [(spec)](https://datatracker.ietf.org/doc/html/draft-ietf-cose-rfc8152bis-algs-12#section-2.2)+-- [Cose Algorithm registry](https://www.iana.org/assignments/cose/cose.xhtml#algorithms)+-- entry @EdDSA@. Alias for 'CoseSignAlgEdDSA'+--+-- * Name: EdDSA+-- * Description: EdDSA+-- * Recommended: Yes+pattern CoseAlgorithmEdDSA :: CoseSignAlg+pattern CoseAlgorithmEdDSA = CoseSignAlgEdDSA++-- | [(spec)](https://datatracker.ietf.org/doc/html/draft-ietf-cose-rfc8152bis-algs-12#section-2.1)+-- [Cose Algorithm registry](https://www.iana.org/assignments/cose/cose.xhtml#algorithms)+-- entry @ES256@. Alias for @'CoseSignAlgECDSA' 'CoseHashAlgECDSASHA256'@+--+-- * Name: ES256+-- * Description: ECDSA w/ SHA-256+-- * Recommended: Yes+pattern CoseAlgorithmES256 :: CoseSignAlg+pattern CoseAlgorithmES256 = CoseSignAlgECDSA CoseHashAlgECDSASHA256++-- | [(spec)](https://datatracker.ietf.org/doc/html/draft-ietf-cose-rfc8152bis-algs-12#section-2.1)+-- [Cose Algorithm registry](https://www.iana.org/assignments/cose/cose.xhtml#algorithms)+-- entry @ES384@. Alias for @'CoseSignAlgECDSA' 'CoseHashAlgECDSASHA384'@+--+-- * Name: ES384+-- * Description: ECDSA w/ SHA-384+-- * Recommended: Yes+pattern CoseAlgorithmES384 :: CoseSignAlg+pattern CoseAlgorithmES384 = CoseSignAlgECDSA CoseHashAlgECDSASHA384++-- | [(spec)](https://datatracker.ietf.org/doc/html/draft-ietf-cose-rfc8152bis-algs-12#section-2.1)+-- [Cose Algorithm registry](https://www.iana.org/assignments/cose/cose.xhtml#algorithms)+-- entry @ES512@. Alias for @'CoseSignAlgECDSA' 'CoseHashAlgECDSASHA512'@+--+-- * Name: ES512+-- * Description: ECDSA w/ SHA-512+-- * Recommended: Yes+pattern CoseAlgorithmES512 :: CoseSignAlg+pattern CoseAlgorithmES512 = CoseSignAlgECDSA CoseHashAlgECDSASHA512++-- | [(spec)](https://www.rfc-editor.org/rfc/rfc8812.html#section-2)+-- [Cose Algorithm registry](https://www.iana.org/assignments/cose/cose.xhtml#algorithms)+-- entry @RS256@. Alias for @'CoseSignAlgRSA' 'CoseHashAlgRSASHA256'@+--+-- * Name: RS256+-- * Description: RSASSA-PKCS1-v1_5 using SHA-256+-- * Recommended: No+pattern CoseAlgorithmRS256 :: CoseSignAlg+pattern CoseAlgorithmRS256 = CoseSignAlgRSA CoseHashAlgRSASHA256++-- | [(spec)](https://www.rfc-editor.org/rfc/rfc8812.html#section-2)+-- [Cose Algorithm registry](https://www.iana.org/assignments/cose/cose.xhtml#algorithms)+-- entry @RS384@. Alias for @'CoseSignAlgRSA' 'CoseHashAlgRSASHA384'@+--+-- * Name: RS384+-- * Description: RSASSA-PKCS1-v1_5 using SHA-384+-- * Recommended: No+pattern CoseAlgorithmRS384 :: CoseSignAlg+pattern CoseAlgorithmRS384 = CoseSignAlgRSA CoseHashAlgRSASHA384++-- | [(spec)](https://www.rfc-editor.org/rfc/rfc8812.html#section-2)+-- [Cose Algorithm registry](https://www.iana.org/assignments/cose/cose.xhtml#algorithms)+-- entry @RS512@. Alias for @'CoseSignAlgRSA' 'CoseHashAlgRSASHA512'@+--+-- * Name: RS512+-- * Description: RSASSA-PKCS1-v1_5 using SHA-512+-- * Recommended: No+pattern CoseAlgorithmRS512 :: CoseSignAlg+pattern CoseAlgorithmRS512 = CoseSignAlgRSA CoseHashAlgRSASHA512++-- | [(spec)](https://www.rfc-editor.org/rfc/rfc8812.html#section-2)+-- [Cose Algorithm registry](https://www.iana.org/assignments/cose/cose.xhtml#algorithms)+-- entry @RS1@. Alias for @'CoseSignAlgRSA' 'CoseHashAlgRSASHA1'@+--+-- * Name: RS1+-- * Description: RSASSA-PKCS1-v1_5 using SHA-1+-- * Recommended: Deprecated+pattern CoseAlgorithmRS1 :: CoseSignAlg+pattern CoseAlgorithmRS1 = CoseSignAlgRSA CoseHashAlgRSASHA1++-- | Serialises COSE Algorithms using the @Value@ column from the+-- [COSE Algorithms registry](https://www.iana.org/assignments/cose/cose.xhtml#algorithms).+-- This uses the 'fromCoseSignAlg' and 'toCoseSignAlg' functions to do the+-- encoding and decoding respectively.+instance Serialise CoseSignAlg where+  encode = encodeInt . fromCoseSignAlg+  decode = do+    int <- decodeIntCanonical+    case toCoseSignAlg int of+      Right res -> pure res+      Left err -> fail $ Text.unpack err++-- | Converts a 'CoseSignAlg' to the corresponding integer value from the+-- [COSE Algorithms registry](https://www.iana.org/assignments/cose/cose.xhtml#algorithms).+-- The inverse operation is 'toCoseSignAlg'+fromCoseSignAlg :: Num p => CoseSignAlg -> p+fromCoseSignAlg (CoseSignAlgRSA CoseHashAlgRSASHA1) = -65535+fromCoseSignAlg (CoseSignAlgRSA CoseHashAlgRSASHA512) = -259+fromCoseSignAlg (CoseSignAlgRSA CoseHashAlgRSASHA384) = -258+fromCoseSignAlg (CoseSignAlgRSA CoseHashAlgRSASHA256) = -257+fromCoseSignAlg (CoseSignAlgECDSA CoseHashAlgECDSASHA512) = -36+fromCoseSignAlg (CoseSignAlgECDSA CoseHashAlgECDSASHA384) = -35+fromCoseSignAlg CoseSignAlgEdDSA = -8+fromCoseSignAlg (CoseSignAlgECDSA CoseHashAlgECDSASHA256) = -7++-- | Converts an integer value to the corresponding 'CoseSignAlg' from the+-- [COSE Algorithms registry](https://www.iana.org/assignments/cose/cose.xhtml#algorithms).+-- Returns an error if the integer doesn't represent a known algorithm.+-- The inverse operation is 'fromCoseSignAlg'+toCoseSignAlg :: (Eq a, Num a, Show a) => a -> Either Text CoseSignAlg+toCoseSignAlg (-65535) = pure (CoseSignAlgRSA CoseHashAlgRSASHA1)+toCoseSignAlg (-259) = pure (CoseSignAlgRSA CoseHashAlgRSASHA512)+toCoseSignAlg (-258) = pure (CoseSignAlgRSA CoseHashAlgRSASHA384)+toCoseSignAlg (-257) = pure (CoseSignAlgRSA CoseHashAlgRSASHA256)+toCoseSignAlg (-36) = pure (CoseSignAlgECDSA CoseHashAlgECDSASHA512)+toCoseSignAlg (-35) = pure (CoseSignAlgECDSA CoseHashAlgECDSASHA384)+toCoseSignAlg (-8) = pure CoseSignAlgEdDSA+toCoseSignAlg (-7) = pure (CoseSignAlgECDSA CoseHashAlgECDSASHA256)+toCoseSignAlg value = Left $ "Unknown COSE algorithm value " <> Text.pack (show value)
+ src/Crypto/WebAuthn/Cose/Internal/Registry.hs view
@@ -0,0 +1,295 @@+{-# LANGUAGE AllowAmbiguousTypes #-}+{-# LANGUAGE ScopedTypeVariables #-}++-- | Stability: internal+-- This module contains definitions for [COSE registry](https://www.iana.org/assignments/cose/cose.xhtml)+-- entries that are relevant for Webauthn COSE public keys. All the types in+-- this module implement the 'Serialise' class, mapping them to the respective+-- CBOR values/labels.+--+-- This modules sometimes uses this+-- [CBOR Grammar](https://datatracker.ietf.org/doc/html/draft-ietf-cose-rfc8152bis-struct-13#section-1.4)+-- to describe CBOR value types corresponding to CBOR parameters+module Crypto.WebAuthn.Cose.Internal.Registry+  ( -- * COSE Key Types+    CoseKeyType (..),++    -- * COSE Parameters+    CoseKeyCommonParameter (..),+    CoseKeyTypeParameterOKP (..),+    CoseKeyTypeParameterEC2 (..),+    CoseKeyTypeParameterRSA (..),+    parameterCount,++    -- * COSE Elliptic Curves+    CoseEllipticCurveOKP (..),+    CoseEllipticCurveEC2 (..),+  )+where++import Codec.CBOR.Decoding (decodeIntCanonical)+import Codec.CBOR.Encoding (encodeInt)+import Codec.Serialise (Serialise)+import Codec.Serialise.Class (decode, encode)++-- | [(spec)](https://www.iana.org/assignments/cose/cose.xhtml#key-common-parameters)+-- All the entries from the [COSE Key Common Parameters registry](https://www.iana.org/assignments/cose/cose.xhtml#key-common-parameters)+-- that are needed for Webauthn public keys+data CoseKeyCommonParameter+  = -- | [(spec)](https://datatracker.ietf.org/doc/html/draft-ietf-cose-rfc8152bis-struct-15#section-7.1)+    --+    -- * COSE value type: tstr / int+    -- * Value registry: 'CoseKeyType'+    -- * Description: Identification of the key type+    --+    -- This parameter is used to identify the family of keys for this+    -- structure and, thus, the set of key-type-specific parameters to be+    -- found. The key type MUST be included as part of the trust decision+    -- process.+    CoseKeyCommonParameterKty+  | -- | [(spec)](https://datatracker.ietf.org/doc/html/draft-ietf-cose-rfc8152bis-struct-15#section-7.1)+    --+    -- * COSE value type: tstr / int+    -- * Value registry: 'Crypto.WebAuthn.Cose.Algorithm.CoseSignAlg'+    -- * Description: Key usage restriction to this algorithm+    --+    -- This parameter is used to restrict the algorithm that is used+    -- with the key.+    CoseKeyCommonParameterAlg+  deriving (Eq, Show, Bounded, Enum)++-- | Serialises the parameters using the @Label@ column from the+-- [COSE Key Common Parameters registry](https://www.iana.org/assignments/cose/cose.xhtml#key-common-parameters)+instance Serialise CoseKeyCommonParameter where+  encode CoseKeyCommonParameterKty = encodeInt 1+  encode CoseKeyCommonParameterAlg = encodeInt 3+  decode =+    decodeIntCanonical >>= \case+      1 -> pure CoseKeyCommonParameterKty+      3 -> pure CoseKeyCommonParameterAlg+      value -> fail $ "Unknown COSE key common parameter " <> show value++-- | [(spec)](https://www.iana.org/assignments/cose/cose.xhtml#key-type)+-- All the entries from the [COSE Key Types registry](https://www.iana.org/assignments/cose/cose.xhtml#key-type)+-- that are known to be needed for Webauthn public keys+data CoseKeyType+  = -- | [(spec)](https://datatracker.ietf.org/doc/html/draft-ietf-cose-rfc8152bis-algs-12#section-7.2)+    -- Octet Key Pair.+    -- See 'CoseKeyTypeParameterOKP' for the parameters specific to this key type.+    CoseKeyTypeOKP+  | -- | [(spec)](https://datatracker.ietf.org/doc/html/draft-ietf-cose-rfc8152bis-algs-12#section-7.1.1)+    -- Elliptic Curve Keys w/ x- and y-coordinate pair.+    -- See 'CoseKeyTypeParameterEC2' for the parameters specific to this key type.+    CoseKeyTypeEC2+  | -- | [(spec)](https://www.rfc-editor.org/rfc/rfc8230.html#section-4)+    -- RSA Key.+    -- See 'CoseKeyTypeParameterRSA' for the parameters specific to this key type.+    CoseKeyTypeRSA+  deriving (Eq, Show)++-- | Serialises the key type using the @Value@ column from the+-- [COSE Key Types registry](https://www.iana.org/assignments/cose/cose.xhtml#key-type)+instance Serialise CoseKeyType where+  encode CoseKeyTypeOKP = encodeInt 1+  encode CoseKeyTypeEC2 = encodeInt 2+  encode CoseKeyTypeRSA = encodeInt 3+  decode =+    decodeIntCanonical >>= \case+      1 -> pure CoseKeyTypeOKP+      2 -> pure CoseKeyTypeEC2+      3 -> pure CoseKeyTypeRSA+      value -> fail $ "Unknown COSE key type " <> show value++-- | [(spec)](https://www.iana.org/assignments/cose/cose.xhtml#key-type-parameters)+-- All the entries from the [COSE Key Type Parameters registry](https://www.iana.org/assignments/cose/cose.xhtml#key-type-parameters)+-- for key type 'CoseKeyTypeOKP' (aka @Key Type@ is @1@) that are required for+-- public keys+data CoseKeyTypeParameterOKP+  = -- | [(spec)](https://datatracker.ietf.org/doc/html/draft-ietf-cose-rfc8152bis-algs-12#section-7.2)+    --+    -- * COSE value type: int / tstr+    -- * Value registry: 'CoseEllipticCurveOKP'+    -- * Description: EC identifier+    --+    -- This contains an identifier of the curve to be used with the key.+    CoseKeyTypeParameterOKPCrv+  | -- | [(spec)](https://datatracker.ietf.org/doc/html/draft-ietf-cose-rfc8152bis-algs-12#section-7.2)+    --+    -- * COSE value type: bstr+    -- * Description: Public Key+    --+    -- This contains the public key. The byte string contains the public key as defined by the algorithm.+    CoseKeyTypeParameterOKPX+  deriving (Eq, Show, Bounded, Enum)++-- | Serialises the parameters using the @Label@ column from the+-- [COSE Key Type Parameters registry](https://www.iana.org/assignments/cose/cose.xhtml#key-type-parameters)+instance Serialise CoseKeyTypeParameterOKP where+  encode CoseKeyTypeParameterOKPCrv = encodeInt (-1)+  encode CoseKeyTypeParameterOKPX = encodeInt (-2)+  decode =+    decodeIntCanonical >>= \case+      -1 -> pure CoseKeyTypeParameterOKPCrv+      -2 -> pure CoseKeyTypeParameterOKPX+      value -> fail $ "Unknown COSE key type parameter " <> show value <> " for key type OKP"++-- | Elliptic curves for key type 'CoseKeyTypeOKP' from the+-- [COSE Elliptic Curves registry](https://www.iana.org/assignments/cose/cose.xhtml#elliptic-curves),+-- limited to the ones that are currently needed for Webauthn+data CoseEllipticCurveOKP+  = -- | [(spec)](https://datatracker.ietf.org/doc/html/draft-ietf-cose-rfc8152bis-algs-12#section-7.1)+    -- Ed25519 for use w/ EdDSA only+    CoseEllipticCurveEd25519+  deriving (Eq, Show)++-- | Serialises COSE Elliptic Curves using the @Value@ column from the+-- [COSE Elliptic Curves registry](https://www.iana.org/assignments/cose/cose.xhtml#elliptic-curves).+instance Serialise CoseEllipticCurveOKP where+  encode CoseEllipticCurveEd25519 = encodeInt 6+  decode =+    decodeIntCanonical >>= \case+      6 -> pure CoseEllipticCurveEd25519+      value -> fail $ "Unknown COSE elliptic curve " <> show value <> " for key type OKP"++-- | [(spec)](https://www.iana.org/assignments/cose/cose.xhtml#key-type-parameters)+-- All the entries from the [COSE Key Type Parameters registry](https://www.iana.org/assignments/cose/cose.xhtml#key-type-parameters)+-- for key type 'CoseKeyTypeEC2' (aka @Key Type@ is @2@) that are required for+-- public keys+data CoseKeyTypeParameterEC2+  = -- | [(spec)](https://datatracker.ietf.org/doc/html/draft-ietf-cose-rfc8152bis-algs-12#section-7.1.1)+    --+    -- * COSE value type: int / tstr+    -- * Value registry: 'CoseEllipticCurveEC2'+    -- * Description: EC identifier+    --+    -- This contains an identifier of the curve to be used with the key.+    CoseKeyTypeParameterEC2Crv+  | -- | [(spec)](https://datatracker.ietf.org/doc/html/draft-ietf-cose-rfc8152bis-algs-12#section-7.1.1)+    --+    -- * COSE value type: bstr+    -- * Description: x-coordinate+    --+    -- This contains the x-coordinate for the EC point. The integer is+    -- converted to a byte string as defined in [SEC1]. Leading zero+    -- octets MUST be preserved.+    CoseKeyTypeParameterEC2X+  | -- | [(spec)](https://datatracker.ietf.org/doc/html/draft-ietf-cose-rfc8152bis-algs-12#section-7.1.1)+    --+    -- * COSE value type: bstr / bool+    -- * Description: y-coordinate+    --+    -- This contains either the sign bit or the value of the+    -- y-coordinate for the EC point. When encoding the value y, the+    -- integer is converted to an byte string (as defined in+    -- [SEC1](https://datatracker.ietf.org/doc/html/draft-ietf-cose-rfc8152bis-algs-12#ref-SEC1))+    -- and encoded as a CBOR bstr. Leading zero octets MUST be+    -- preserved. The compressed point encoding is also supported.+    -- Compute the sign bit as laid out in the Elliptic-Curve-Point-to-+    -- Octet-String Conversion function of+    -- [SEC1](https://datatracker.ietf.org/doc/html/draft-ietf-cose-rfc8152bis-algs-12#ref-SEC1).+    -- If the sign bit is zero, then encode y as a CBOR false value;+    -- otherwise, encode y as a CBOR true value.+    -- The encoding of the infinity point is not supported.+    CoseKeyTypeParameterEC2Y+  deriving (Eq, Show, Bounded, Enum)++-- | Serialises the parameters using the @Label@ column from the+-- [COSE Key Type Parameters registry](https://www.iana.org/assignments/cose/cose.xhtml#key-type-parameters)+instance Serialise CoseKeyTypeParameterEC2 where+  encode CoseKeyTypeParameterEC2Crv = encodeInt (-1)+  encode CoseKeyTypeParameterEC2X = encodeInt (-2)+  encode CoseKeyTypeParameterEC2Y = encodeInt (-3)+  decode =+    decodeIntCanonical >>= \case+      -1 -> pure CoseKeyTypeParameterEC2Crv+      -2 -> pure CoseKeyTypeParameterEC2X+      -3 -> pure CoseKeyTypeParameterEC2Y+      value -> fail $ "Unknown COSE key type parameter " <> show value <> " for key type EC2"++-- | Elliptic curves for key type 'CoseKeyTypeEC2' from the+-- [COSE Elliptic Curves registry](https://www.iana.org/assignments/cose/cose.xhtml#elliptic-curves),+-- limited to the ones that are currently needed for Webauthn+data CoseEllipticCurveEC2+  = -- | [(spec)](https://datatracker.ietf.org/doc/html/draft-ietf-cose-rfc8152bis-algs-12#section-7.1)+    -- NIST P-256 also known as secp256r1+    CoseEllipticCurveEC2P256+  | -- | [(spec)](https://datatracker.ietf.org/doc/html/draft-ietf-cose-rfc8152bis-algs-12#section-7.1)+    -- NIST P-384 also known as secp384r1+    CoseEllipticCurveEC2P384+  | -- | [(spec)](https://datatracker.ietf.org/doc/html/draft-ietf-cose-rfc8152bis-algs-12#section-7.1)+    -- NIST P-521 also known as secp521r1+    CoseEllipticCurveEC2P521+  deriving (Eq, Show)++-- | Serialises COSE Elliptic Curves using the @Value@ column from the+-- [COSE Elliptic Curves registry](https://www.iana.org/assignments/cose/cose.xhtml#elliptic-curves).+instance Serialise CoseEllipticCurveEC2 where+  encode CoseEllipticCurveEC2P256 = encodeInt 1+  encode CoseEllipticCurveEC2P384 = encodeInt 2+  encode CoseEllipticCurveEC2P521 = encodeInt 3+  decode =+    decodeIntCanonical >>= \case+      1 -> pure CoseEllipticCurveEC2P256+      2 -> pure CoseEllipticCurveEC2P384+      3 -> pure CoseEllipticCurveEC2P521+      value -> fail $ "Unknown COSE elliptic curve " <> show value <> " for key type EC2"++-- | [(spec)](https://www.iana.org/assignments/cose/cose.xhtml#key-type-parameters)+-- All the entries from the [COSE Key Type Parameters registry](https://www.iana.org/assignments/cose/cose.xhtml#key-type-parameters)+-- for key type 'CoseKeyTypeRSA' (aka @Key Type@ is @3@) that are required for+-- public keys+data CoseKeyTypeParameterRSA+  = -- | [(spec)](https://www.rfc-editor.org/rfc/rfc8230.html#section-4)+    --+    -- * COSE value type: bstr+    -- * Description: the RSA modulus n+    --+    -- The RSA modulus n is a product of u distinct odd primes+    -- r_i, i = 1, 2, ..., u, where u >= 2+    --+    -- All numeric key parameters are encoded in an unsigned big-endian+    -- representation as an octet sequence using the CBOR byte string+    -- type (major type 2). The octet sequence MUST utilize the minimum+    -- number of octets needed to represent the value. For instance, the+    -- value 32,768 is represented as the CBOR byte sequence 0b010_00010,+    -- 0x80 0x00 (major type 2, additional information 2 for the length).+    CoseKeyTypeParameterRSAN+  | -- | [(spec)](https://www.rfc-editor.org/rfc/rfc8230.html#section-4)+    --+    -- * COSE value type: bstr+    -- * Description: the RSA public exponent e+    --+    -- The RSA public exponent e is an integer between 3 and n - 1 satisfying+    -- GCD(e,\lambda(n)) = 1, where \lambda(n) = LCM(r_1 - 1, ..., r_u - 1)+    --+    -- All numeric key parameters are encoded in an unsigned big-endian+    -- representation as an octet sequence using the CBOR byte string+    -- type (major type 2). The octet sequence MUST utilize the minimum+    -- number of octets needed to represent the value. For instance, the+    -- value 32,768 is represented as the CBOR byte sequence 0b010_00010,+    -- 0x80 0x00 (major type 2, additional information 2 for the length).+    CoseKeyTypeParameterRSAE+  deriving (Eq, Show, Bounded, Enum)++-- | Serialises the parameters using the @Label@ column from the+-- [COSE Key Type Parameters registry](https://www.iana.org/assignments/cose/cose.xhtml#key-type-parameters)+instance Serialise CoseKeyTypeParameterRSA where+  encode CoseKeyTypeParameterRSAN = encodeInt (-1)+  encode CoseKeyTypeParameterRSAE = encodeInt (-2)+  decode =+    decodeIntCanonical >>= \case+      -1 -> pure CoseKeyTypeParameterRSAN+      -2 -> pure CoseKeyTypeParameterRSAE+      value -> fail $ "Unknown COSE key type parameter " <> show value <> " for key type RSA"++-- | The number of parameters for a 'CoseKeyType' relevant for Webauthn public+-- keys+parameterCount :: CoseKeyType -> Word+parameterCount CoseKeyTypeOKP = cardinality @CoseKeyCommonParameter + cardinality @CoseKeyTypeParameterOKP+parameterCount CoseKeyTypeEC2 = cardinality @CoseKeyCommonParameter + cardinality @CoseKeyTypeParameterEC2+parameterCount CoseKeyTypeRSA = cardinality @CoseKeyCommonParameter + cardinality @CoseKeyTypeParameterRSA++-- | A utility function for getting the number of constructors for a type+-- that implements both 'Bounded' and 'Enum'+cardinality :: forall a b. (Bounded a, Enum a, Num b) => b+cardinality = fromIntegral $ 1 + fromEnum @a maxBound - fromEnum @a minBound
+ src/Crypto/WebAuthn/Cose/Internal/Verify.hs view
@@ -0,0 +1,238 @@+{-# LANGUAGE ExistentialQuantification #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE ViewPatterns #-}++-- | Stability: internal+-- public keys and signature algorithms are represented with three+-- different types:+--+-- * 'Cose.CoseSignAlg', which is the signature algorithm used, equivalent to a+--   COSE Algorithm from the COSE registry+-- * 'Cose.CosePublicKey', which is a combination of a 'Cose.CoseSignAlg' along with+--   a public key that can be used with it. This is what the COSE_Key+--   CBOR structure decodes to+-- * 'PublicKey', only the public key part of 'Cose.CosePublicKey'+--+-- The following main operations are supported for these types:+--+-- * 'Cose.CosePublicKey' can be totally decomposed into a 'Cose.CoseSignAlg'+--   with 'Cose.keySignAlg' and a 'PublicKey' with 'fromCose'+-- * A 'PublicKey' can be created from an X.509 public key with 'fromX509'+-- * A 'Cose.CoseSignAlg' and a 'PublicKey' can be used to verify a signature+--   with 'verify'+module Crypto.WebAuthn.Cose.Internal.Verify+  ( -- * Public Key+    PublicKey (..),+    fromCose,+    fromX509,++    -- * Signature verification+    verify,++    -- * Hash Conversions to cryptonite types+    SomeHashAlgorithm (..),+    toCryptHashECDSA,+    SomeHashAlgorithmASN1 (..),+    toCryptHashRSA,++    -- * Conversions from/to cryptonite elliptic curves+    toCryptCurveECDSA,+    fromCryptCurveECDSA,+  )+where++import Crypto.Error (CryptoFailable (CryptoFailed, CryptoPassed))+import qualified Crypto.Hash as Hash+import Crypto.Number.Serialize (i2osp, i2ospOf, os2ip)+import qualified Crypto.PubKey.ECC.ECDSA as ECDSA+import qualified Crypto.PubKey.ECC.Types as ECC+import qualified Crypto.PubKey.Ed25519 as Ed25519+import qualified Crypto.PubKey.RSA as RSA+import qualified Crypto.PubKey.RSA.PKCS15 as RSA+import qualified Crypto.WebAuthn.Cose.Algorithm as A+import qualified Crypto.WebAuthn.Cose.Key as Cose+import Crypto.WebAuthn.Internal.ToJSONOrphans ()+import qualified Data.ASN1.BinaryEncoding as ASN1+import qualified Data.ASN1.Encoding as ASN1+import qualified Data.ASN1.Types as ASN1+import Data.Aeson (ToJSON)+import Data.ByteArray (convert)+import qualified Data.ByteString as BS+import Data.Text (Text)+import qualified Data.Text as Text+import qualified Data.X509 as X509+import qualified Data.X509.EC as X509+import GHC.Generics (Generic)++-- | Same as 'Cose.CosePublicKey', but without signature algorithm parameters, i.e.+-- hash algorithms.+data PublicKey+  = -- | See 'Cose.CosePublicKeyEdDSA'+    PublicKeyEdDSA+      { -- | [(spec)](https://datatracker.ietf.org/doc/html/draft-ietf-cose-rfc8152bis-algs-12#section-7.2)+        -- The elliptic curve to use+        eddsaCurve :: Cose.CoseCurveEdDSA,+        -- | [(spec)](https://datatracker.ietf.org/doc/html/draft-ietf-cose-rfc8152bis-algs-12#section-7.2)+        -- This contains the public key bytes+        eddsaX :: BS.ByteString+      }+  | -- | See 'Cose.CosePublicKeyECDSA'+    PublicKeyECDSA+      { -- | [(spec)](https://datatracker.ietf.org/doc/html/draft-ietf-cose-rfc8152bis-algs-12#section-7.1.1)+        -- The elliptic curve to use+        ecdsaCurve :: Cose.CoseCurveECDSA,+        -- | [(spec)](https://datatracker.ietf.org/doc/html/draft-ietf-cose-rfc8152bis-algs-12#section-7.1.1)+        -- This contains the x-coordinate for the EC point. The integer is+        -- converted to a byte string as defined in [SEC1]. Leading zero+        -- octets MUST be preserved.+        ecdsaX :: BS.ByteString,+        -- | [(spec)](https://datatracker.ietf.org/doc/html/draft-ietf-cose-rfc8152bis-algs-12#section-7.1.1)+        -- This contains the value of the+        -- y-coordinate for the EC point. When encoding the value y, the+        -- integer is converted to an byte string (as defined in+        -- [SEC1](https://datatracker.ietf.org/doc/html/draft-ietf-cose-rfc8152bis-algs-12#ref-SEC1))+        -- and encoded as a CBOR bstr. Leading zero octets MUST be+        -- preserved.+        ecdsaY :: BS.ByteString+      }+  | -- | See 'Cose.CosePublicKeyRSA'+    PublicKeyRSA+      { -- | [(spec)](https://www.rfc-editor.org/rfc/rfc8230.html#section-4)+        -- The RSA modulus n is a product of u distinct odd primes+        -- r_i, i = 1, 2, ..., u, where u >= 2+        rsaN :: Integer,+        -- | [(spec)](https://www.rfc-editor.org/rfc/rfc8230.html#section-4)+        -- The RSA public exponent e is an integer between 3 and n - 1 satisfying+        -- GCD(e,\\lambda(n)) = 1, where \\lambda(n) = LCM(r_1 - 1, ..., r_u - 1)+        rsaE :: Integer+      }+  deriving (Eq, Show, Generic, ToJSON)++-- | Turns a 'Cose.CosePublicKey' into a 'PublicKey' by removing the hash functions+fromCose :: Cose.CosePublicKey -> PublicKey+fromCose Cose.CosePublicKeyEdDSA {..} = PublicKeyEdDSA {..}+fromCose Cose.CosePublicKeyECDSA {..} = PublicKeyECDSA {..}+fromCose Cose.CosePublicKeyRSA {..} = PublicKeyRSA {..}++-- | Turns a X.509 certificates 'X509.PubKey' into a 'PublicKey'+fromX509 :: X509.PubKey -> Either Text PublicKey+fromX509 (X509.PubKeyEd25519 key) =+  Right $+    PublicKeyEdDSA+      { eddsaCurve = Cose.CoseCurveEd25519,+        eddsaX = convert key+      }+fromX509 (X509.PubKeyEC X509.PubKeyEC_Named {..}) = do+  let curve = ECC.getCurveByName pubkeyEC_name+  ecdsaCurve <- fromCryptCurveECDSA pubkeyEC_name+  point <- case X509.unserializePoint curve pubkeyEC_pub of+    Nothing -> Left "Failed to unserialize ECDSA point in X509 certificate"+    Just res -> pure res+  -- Round up to a full byte+  let byteSize = (ECC.curveSizeBits curve + 7) `div` 8+  case point of+    ECC.Point x y -> do+      ecdsaX <- case i2ospOf byteSize x of+        Nothing -> Left $ "Failed to convert ECDSA x coordinate integer " <> Text.pack (show x) <> " to bytes of size " <> Text.pack (show byteSize)+        Just res -> pure res+      ecdsaY <- case i2ospOf byteSize y of+        Nothing -> Left $ "Failed to convert ECDSA y coordinate integer " <> Text.pack (show y) <> " to bytes of size " <> Text.pack (show byteSize)+        Just res -> pure res+      Right $ PublicKeyECDSA {..}+    ECC.PointO -> Left "The infinity point is not supported"+fromX509 (X509.PubKeyRSA RSA.PublicKey {..}) =+  Right+    PublicKeyRSA+      { rsaN = public_n,+        rsaE = public_e+      }+fromX509 key = Left $ "X509 public key algorithm is not supported: " <> Text.pack (show (X509.pubkeyToAlg key))++-- | Verifies an asymmetric signature for a message using a 'Cose.CoseSignAlg'+-- and a 'PublicKey'. Returns an error if the signature algorithm doesn't+-- match. Also returns an error if the signature wasn't valid or for other+-- errors.+verify :: A.CoseSignAlg -> PublicKey -> BS.ByteString -> BS.ByteString -> Either Text ()+verify A.CoseSignAlgEdDSA PublicKeyEdDSA {eddsaCurve = Cose.CoseCurveEd25519, ..} msg sig = do+  key <- case Ed25519.publicKey eddsaX of+    CryptoFailed err -> Left $ "Failed to create Ed25519 public key: " <> Text.pack (show err)+    CryptoPassed res -> pure res+  sig <- case Ed25519.signature sig of+    CryptoFailed err -> Left $ "Failed to create Ed25519 signature: " <> Text.pack (show err)+    CryptoPassed res -> pure res+  if Ed25519.verify key msg sig+    then Right ()+    else Left "EdDSA Signature invalid"+verify (A.CoseSignAlgECDSA (toCryptHashECDSA -> SomeHashAlgorithm hash)) PublicKeyECDSA {..} msg sig = do+  let key =+        ECDSA.PublicKey+          { public_curve = ECC.getCurveByName $ toCryptCurveECDSA ecdsaCurve,+            public_q = ECC.Point (os2ip ecdsaX) (os2ip ecdsaY)+          }++  -- https://www.w3.org/TR/webauthn-2/#sctn-signature-attestation-types+  -- > For COSEAlgorithmIdentifier -7 (ES256), and other ECDSA-based algorithms,+  -- the `sig` value MUST be encoded as an ASN.1 DER Ecdsa-Sig-Value, as defined+  -- in [RFC3279](https://www.w3.org/TR/webauthn-2/#biblio-rfc3279) section 2.2.3.+  sig <- case ASN1.decodeASN1' ASN1.DER sig of+    Left err -> Left $ "Failed to decode ECDSA DER value: " <> Text.pack (show err)+    -- Ecdsa-Sig-Value in https://datatracker.ietf.org/doc/html/rfc3279#section-2.2.3+    Right [ASN1.Start ASN1.Sequence, ASN1.IntVal r, ASN1.IntVal s, ASN1.End ASN1.Sequence] ->+      pure $ ECDSA.Signature r s+    Right asns -> Left $ "Unexpected ECDSA ASN.1 structure: " <> Text.pack (show asns)++  if ECDSA.verify hash key sig msg+    then Right ()+    else Left "ECDSA Signature invalid"+verify (A.CoseSignAlgRSA (toCryptHashRSA -> SomeHashAlgorithmASN1 hash)) PublicKeyRSA {..} msg sig = do+  let key =+        RSA.PublicKey+          { -- https://www.rfc-editor.org/rfc/rfc8017#section-8.2.2+            -- > k is the length in octets of the RSA modulus n+            --+            -- > Length checking: If the length of the signature S is not k+            -- > octets, output "invalid signature" and stop.+            -- This is done by the RSA.verify call+            public_size = BS.length (i2osp rsaN),+            public_n = rsaN,+            public_e = rsaE+          }+  if RSA.verify (Just hash) key msg sig+    then Right ()+    else Left "RSA Signature invalid"+verify sigAlg pubKey _ _ =+  Left $ "Unsupported combination of signature algorithm " <> Text.pack (show sigAlg) <> " and public key " <> Text.pack (show pubKey)++-- | Some cryptonite 'Hash.HashAlgorithm' type, used as a return value of 'toCryptHashECDSA'+data SomeHashAlgorithm = forall a. Hash.HashAlgorithm a => SomeHashAlgorithm a++-- | Returns the cryptonite 'SomeHashAlgorithm' corresponding to this hash algorithm+toCryptHashECDSA :: A.CoseHashAlgECDSA -> SomeHashAlgorithm+toCryptHashECDSA A.CoseHashAlgECDSASHA256 = SomeHashAlgorithm Hash.SHA256+toCryptHashECDSA A.CoseHashAlgECDSASHA384 = SomeHashAlgorithm Hash.SHA384+toCryptHashECDSA A.CoseHashAlgECDSASHA512 = SomeHashAlgorithm Hash.SHA512++-- | Some cryptonite 'RSA.HashAlgorithmASN1' type, used as a return value of 'toCryptHashRSA'+data SomeHashAlgorithmASN1 = forall a. RSA.HashAlgorithmASN1 a => SomeHashAlgorithmASN1 a++-- | Returns the cryptonite 'SomeHashAlgorithmASN1' corresponding to this hash algorithm+toCryptHashRSA :: A.CoseHashAlgRSA -> SomeHashAlgorithmASN1+toCryptHashRSA A.CoseHashAlgRSASHA1 = SomeHashAlgorithmASN1 Hash.SHA1+toCryptHashRSA A.CoseHashAlgRSASHA256 = SomeHashAlgorithmASN1 Hash.SHA256+toCryptHashRSA A.CoseHashAlgRSASHA384 = SomeHashAlgorithmASN1 Hash.SHA384+toCryptHashRSA A.CoseHashAlgRSASHA512 = SomeHashAlgorithmASN1 Hash.SHA512++-- | Converts a 'Cose.CoseCurveECDSA' to an 'ECC.CurveName'. The inverse+-- function is 'fromCryptCurveECDSA'+toCryptCurveECDSA :: Cose.CoseCurveECDSA -> ECC.CurveName+toCryptCurveECDSA Cose.CoseCurveP256 = ECC.SEC_p256r1+toCryptCurveECDSA Cose.CoseCurveP384 = ECC.SEC_p384r1+toCryptCurveECDSA Cose.CoseCurveP521 = ECC.SEC_p521r1++-- | Tries to converts a 'ECC.CurveName' to an 'Cose.CoseCurveECDSA'. The inverse+-- function is 'toCryptCurveECDSA'+fromCryptCurveECDSA :: ECC.CurveName -> Either Text Cose.CoseCurveECDSA+fromCryptCurveECDSA ECC.SEC_p256r1 = Right Cose.CoseCurveP256+fromCryptCurveECDSA ECC.SEC_p384r1 = Right Cose.CoseCurveP384+fromCryptCurveECDSA ECC.SEC_p521r1 = Right Cose.CoseCurveP521+fromCryptCurveECDSA curve = Left $ "Curve " <> Text.pack (show curve) <> " is not a supported COSE ECDSA public key curve"
+ src/Crypto/WebAuthn/Cose/Key.hs view
@@ -0,0 +1,297 @@+{-# LANGUAGE RecordWildCards #-}++-- | Stability: experimental+-- This module contains a partial implementation of the+-- [COSE_Key](https://datatracker.ietf.org/doc/html/rfc8152#section-7) format,+-- limited to what is needed for Webauthn, and in a structured way.+module Crypto.WebAuthn.Cose.Key+  ( -- * COSE public Key+    CosePublicKey (..),+    keySignAlg,++    -- * COSE Elliptic Curves+    CoseCurveEdDSA (..),+    CoseCurveECDSA (..),+  )+where++import Codec.CBOR.Decoding (Decoder, TokenType (TypeBool, TypeBytes), decodeBytesCanonical, decodeMapLenCanonical, peekTokenType)+import Codec.CBOR.Encoding (Encoding, encodeBytes, encodeMapLen)+import Codec.Serialise (Serialise (decode, encode))+import Control.Monad (unless)+import Crypto.Number.Serialize (i2osp, os2ip)+import qualified Crypto.WebAuthn.Cose.Algorithm as A+import qualified Crypto.WebAuthn.Cose.Internal.Registry as R+import Crypto.WebAuthn.Internal.ToJSONOrphans ()+import Data.Aeson (ToJSON)+import qualified Data.ByteString as BS+import GHC.Generics (Generic)++-- | [(spec)](https://www.w3.org/TR/webauthn-2/#credentialpublickey)+-- A structured representation of a [COSE_Key](https://datatracker.ietf.org/doc/html/rfc8152#section-7)+-- limited to what is know to be necessary for Webauthn public keys for the+-- [credentialPublicKey](https://www.w3.org/TR/webauthn-2/#credentialpublickey) field.+-- Constructors represent signature algorithms.+data CosePublicKey+  = -- | [(spec)](https://datatracker.ietf.org/doc/html/draft-ietf-cose-rfc8152bis-algs-12#section-2.2)+    -- EdDSA Signature Algorithm+    --+    -- [RFC8032](https://datatracker.ietf.org/doc/html/rfc8032) describes the+    -- elliptic curve signature scheme Edwards-curve+    -- Digital Signature Algorithm (EdDSA). In that document, the signature+    -- algorithm is instantiated using parameters for edwards25519 and+    -- edwards448 curves. The document additionally describes two variants+    -- of the EdDSA algorithm: Pure EdDSA, where no hash function is applied+    -- to the content before signing, and HashEdDSA, where a hash function+    -- is applied to the content before signing and the result of that hash+    -- function is signed. For EdDSA, the content to be signed (either the+    -- message or the pre-hash value) is processed twice inside of the+    -- signature algorithm. For use with COSE, only the pure EdDSA version+    -- is used.+    --+    -- Security considerations are [here](https://datatracker.ietf.org/doc/html/draft-ietf-cose-rfc8152bis-algs-12#section-2.2.1)+    CosePublicKeyEdDSA+      { -- | [(spec)](https://datatracker.ietf.org/doc/html/draft-ietf-cose-rfc8152bis-algs-12#section-7.2)+        -- The elliptic curve to use+        eddsaCurve :: CoseCurveEdDSA,+        -- | [(spec)](https://datatracker.ietf.org/doc/html/draft-ietf-cose-rfc8152bis-algs-12#section-7.2)+        -- This contains the public key bytes+        eddsaX :: BS.ByteString+      }+  | -- | [(spec)](https://datatracker.ietf.org/doc/html/draft-ietf-cose-rfc8152bis-algs-12#section-2.1)+    -- ECDSA Signature Algorithm+    --+    -- This document defines ECDSA to work only with the curves P-256,+    -- P-384, and P-521. Future documents may define it to work with other+    -- curves and points in the future.+    --+    -- In order to promote interoperability, it is suggested that SHA-256 be+    -- used only with curve P-256, SHA-384 be used only with curve P-384,+    -- and SHA-512 be used with curve P-521. This is aligned with the recommendation in+    -- [Section 4 of RFC5480](https://datatracker.ietf.org/doc/html/rfc5480#section-4).+    --+    -- Security considerations are [here](https://datatracker.ietf.org/doc/html/draft-ietf-cose-rfc8152bis-algs-12#section-2.1.1)+    CosePublicKeyECDSA+      { -- | The hash function to use+        ecdsaHash :: A.CoseHashAlgECDSA,+        -- | [(spec)](https://datatracker.ietf.org/doc/html/draft-ietf-cose-rfc8152bis-algs-12#section-7.1.1)+        -- The elliptic curve to use+        ecdsaCurve :: CoseCurveECDSA,+        -- | [(spec)](https://datatracker.ietf.org/doc/html/draft-ietf-cose-rfc8152bis-algs-12#section-7.1.1)+        -- This contains the x-coordinate for the EC point. The integer is+        -- converted to a byte string as defined in [SEC1]. Leading zero+        -- octets MUST be preserved.+        ecdsaX :: BS.ByteString,+        -- | [(spec)](https://datatracker.ietf.org/doc/html/draft-ietf-cose-rfc8152bis-algs-12#section-7.1.1)+        -- This contains the value of the+        -- y-coordinate for the EC point. When encoding the value y, the+        -- integer is converted to an byte string (as defined in+        -- [SEC1](https://datatracker.ietf.org/doc/html/draft-ietf-cose-rfc8152bis-algs-12#ref-SEC1))+        -- and encoded as a CBOR bstr. Leading zero octets MUST be+        -- preserved.+        ecdsaY :: BS.ByteString+      }+  | -- | [(spec)](https://www.rfc-editor.org/rfc/rfc8812.html#section-2)+    -- [RSASSA-PKCS1-v1_5](https://www.rfc-editor.org/rfc/rfc8017#section-8.2) Signature Algorithm+    --+    -- A key of size 2048 bits or larger MUST be used with these algorithms.+    -- Security considerations are [here](https://www.rfc-editor.org/rfc/rfc8812.html#section-5)+    CosePublicKeyRSA+      { -- | The hash function to use+        rsaHash :: A.CoseHashAlgRSA,+        -- | [(spec)](https://www.rfc-editor.org/rfc/rfc8230.html#section-4)+        -- The RSA modulus n is a product of u distinct odd primes+        -- r_i, i = 1, 2, ..., u, where u >= 2+        rsaN :: Integer,+        -- | [(spec)](https://www.rfc-editor.org/rfc/rfc8230.html#section-4)+        -- The RSA public exponent e is an integer between 3 and n - 1 satisfying+        -- GCD(e,\\lambda(n)) = 1, where \\lambda(n) = LCM(r_1 - 1, ..., r_u - 1)+        rsaE :: Integer+      }+  deriving (Eq, Show, Generic, ToJSON)++-- | CBOR encoding as a [COSE_Key](https://tools.ietf.org/html/rfc8152#section-7)+-- using the [CTAP2 canonical CBOR encoding form](https://fidoalliance.org/specs/fido-v2.0-ps-20190130/fido-client-to-authenticator-protocol-v2.0-ps-20190130.html#ctap2-canonical-cbor-encoding-form)+instance Serialise CosePublicKey where+  encode key = case key of+    CosePublicKeyEdDSA {..} ->+      common R.CoseKeyTypeOKP+        <> encode R.CoseKeyTypeParameterOKPCrv+        <> encode (fromCurveEdDSA eddsaCurve)+        <> encode R.CoseKeyTypeParameterOKPX+        <> encodeBytes eddsaX+    CosePublicKeyECDSA {..} ->+      common R.CoseKeyTypeEC2+        <> encode R.CoseKeyTypeParameterEC2Crv+        <> encode (fromCurveECDSA ecdsaCurve)+        -- https://datatracker.ietf.org/doc/html/draft-ietf-cose-rfc8152bis-algs-12#section-7.1.1+        -- > Leading zero octets MUST be preserved.+        <> encode R.CoseKeyTypeParameterEC2X+        <> encodeBytes ecdsaX+        <> encode R.CoseKeyTypeParameterEC2Y+        <> encodeBytes ecdsaY+    CosePublicKeyRSA {..} ->+      common R.CoseKeyTypeRSA+        -- https://www.rfc-editor.org/rfc/rfc8230.html#section-4+        -- > The octet sequence MUST utilize the minimum+        -- number of octets needed to represent the value.+        <> encode R.CoseKeyTypeParameterRSAN+        <> encodeBytes (i2osp rsaN)+        <> encode R.CoseKeyTypeParameterRSAE+        <> encodeBytes (i2osp rsaE)+    where+      alg = keySignAlg key+      common :: R.CoseKeyType -> Encoding+      common kty =+        encodeMapLen (R.parameterCount kty)+          <> encode R.CoseKeyCommonParameterKty+          <> encode kty+          <> encode R.CoseKeyCommonParameterAlg+          <> encode alg++  -- NOTE: CBOR itself doesn't give an ordering of map keys, but the CTAP2 canonical CBOR encoding form does:+  -- > The keys in every map must be sorted lowest value to highest. The sorting rules are:+  -- >+  -- > * If the major types are different, the one with the lower value in numerical order sorts earlier.+  -- > * If two keys have different lengths, the shorter one sorts earlier;+  -- > * If two keys have the same length, the one with the lower value in (byte-wise) lexical order sorts earlier.+  --+  -- This has the effect that numeric keys are sorted like 1, 2, 3, ..., -1, -2, -3, ...+  -- Which aligns very nicely with the fact that common parameters use positive+  -- values and can therefore be decoded first, while key type specific+  -- parameters use negative values+  decode = do+    n <- fromIntegral <$> decodeMapLenCanonical+    -- https://datatracker.ietf.org/doc/html/draft-ietf-cose-rfc8152bis-struct-15#section-7.1+    -- This parameter MUST be present in a key object.+    decodeExpected R.CoseKeyCommonParameterKty+    kty <- decode+    -- https://www.w3.org/TR/webauthn-2/#credentialpublickey+    -- The COSE_Key-encoded credential public key MUST contain the "alg"+    -- parameter and MUST NOT contain any other OPTIONAL parameters.+    decodeExpected R.CoseKeyCommonParameterAlg+    alg <- decode++    decodeKey n kty alg+    where+      decodeKey :: Word -> R.CoseKeyType -> A.CoseSignAlg -> Decoder s CosePublicKey+      decodeKey n kty alg = case alg of+        A.CoseSignAlgEdDSA -> decodeEdDSAKey+        A.CoseSignAlgECDSA hash -> decodeECDSAKey hash+        A.CoseSignAlgRSA hash -> decodeRSAKey hash+        where+          -- [(spec)](https://datatracker.ietf.org/doc/html/draft-ietf-cose-rfc8152bis-struct-15#section-7.1)+          -- Implementations MUST verify that the key type is appropriate for+          -- the algorithm being processed.+          checkKty :: R.CoseKeyType -> Decoder s ()+          checkKty expectedKty = do+            unless (expectedKty == kty) $+              fail $+                "Expected COSE key type "+                  <> show expectedKty+                  <> " for COSE algorithm "+                  <> show alg+                  <> " but got COSE key type "+                  <> show kty+                  <> " instead"+            unless (R.parameterCount kty == n) $+              fail $+                "Expected CBOR map to contain "+                  <> show (R.parameterCount kty)+                  <> " parameters for COSE key type "+                  <> show kty+                  <> " but got "+                  <> show n+                  <> " parameters instead"++          decodeEdDSAKey :: Decoder s CosePublicKey+          decodeEdDSAKey = do+            -- https://datatracker.ietf.org/doc/html/draft-ietf-cose-rfc8152bis-algs-12#section-2.2+            -- > The 'kty' field MUST be present, and it MUST be 'OKP' (Octet Key Pair).+            checkKty R.CoseKeyTypeOKP+            -- https://datatracker.ietf.org/doc/html/draft-ietf-cose-rfc8152bis-algs-12#section-7.2+            decodeExpected R.CoseKeyTypeParameterOKPCrv+            eddsaCurve <- toCurveEdDSA <$> decode+            decodeExpected R.CoseKeyTypeParameterOKPX+            eddsaX <- decodeBytesCanonical+            pure $ CosePublicKeyEdDSA {..}++          decodeECDSAKey :: A.CoseHashAlgECDSA -> Decoder s CosePublicKey+          decodeECDSAKey ecdsaHash = do+            -- https://datatracker.ietf.org/doc/html/draft-ietf-cose-rfc8152bis-algs-12#section-2.1+            -- > The 'kty' field MUST be present, and it MUST be 'EC2'.+            checkKty R.CoseKeyTypeEC2+            -- https://datatracker.ietf.org/doc/html/draft-ietf-cose-rfc8152bis-algs-12#section-7.1.1+            decodeExpected R.CoseKeyTypeParameterEC2Crv+            ecdsaCurve <- toCurveECDSA <$> decode+            decodeExpected R.CoseKeyTypeParameterEC2X+            ecdsaX <- decodeBytesCanonical+            decodeExpected R.CoseKeyTypeParameterEC2Y+            ecdsaY <-+              peekTokenType >>= \case+                TypeBytes -> decodeBytesCanonical+                -- TODO: Implement this+                TypeBool -> fail "Compressed EC2 y coordinate not yet supported"+                typ -> fail $ "Unexpected type in EC2 y parameter: " <> show typ+            pure $ CosePublicKeyECDSA {..}++          decodeRSAKey :: A.CoseHashAlgRSA -> Decoder s CosePublicKey+          decodeRSAKey rsaHash = do+            -- https://www.rfc-editor.org/rfc/rfc8812.html#section-2+            -- > Implementations need to check that the key type is 'RSA' when creating or verifying a signature.+            checkKty R.CoseKeyTypeRSA+            -- https://www.rfc-editor.org/rfc/rfc8230.html#section-4+            decodeExpected R.CoseKeyTypeParameterRSAN+            rsaN <- os2ip <$> decodeBytesCanonical+            decodeExpected R.CoseKeyTypeParameterRSAE+            rsaE <- os2ip <$> decodeBytesCanonical+            pure $ CosePublicKeyRSA {..}++-- | Decode a value and ensure it's the same as the value that was given+decodeExpected :: (Show a, Eq a, Serialise a) => a -> Decoder s ()+decodeExpected expected = do+  actual <- decode+  unless (expected == actual) $+    fail $ "Expected " <> show expected <> " but got " <> show actual++-- | The COSE signing algorithm corresponding to a COSE public key+keySignAlg :: CosePublicKey -> A.CoseSignAlg+keySignAlg CosePublicKeyEdDSA {} = A.CoseSignAlgEdDSA+keySignAlg CosePublicKeyECDSA {..} = A.CoseSignAlgECDSA ecdsaHash+keySignAlg CosePublicKeyRSA {..} = A.CoseSignAlgRSA rsaHash++-- | COSE elliptic curves that can be used with EdDSA+data CoseCurveEdDSA+  = -- | [(spec)](https://datatracker.ietf.org/doc/html/draft-ietf-cose-rfc8152bis-algs-12#section-7.1)+    -- Ed25519 for use w/ EdDSA only+    CoseCurveEd25519+  deriving (Eq, Show, Enum, Bounded, Generic, ToJSON)++fromCurveEdDSA :: CoseCurveEdDSA -> R.CoseEllipticCurveOKP+fromCurveEdDSA CoseCurveEd25519 = R.CoseEllipticCurveEd25519++toCurveEdDSA :: R.CoseEllipticCurveOKP -> CoseCurveEdDSA+toCurveEdDSA R.CoseEllipticCurveEd25519 = CoseCurveEd25519++-- | COSE elliptic curves that can be used with ECDSA+data CoseCurveECDSA+  = -- | [(spec)](https://datatracker.ietf.org/doc/html/draft-ietf-cose-rfc8152bis-algs-12#section-7.1)+    -- NIST P-256 also known as secp256r1+    CoseCurveP256+  | -- | [(spec)](https://datatracker.ietf.org/doc/html/draft-ietf-cose-rfc8152bis-algs-12#section-7.1)+    -- NIST P-384 also known as secp384r1+    CoseCurveP384+  | -- | [(spec)](https://datatracker.ietf.org/doc/html/draft-ietf-cose-rfc8152bis-algs-12#section-7.1)+    -- NIST P-521 also known as secp521r1+    CoseCurveP521+  deriving (Eq, Show, Enum, Bounded, Generic, ToJSON)++fromCurveECDSA :: CoseCurveECDSA -> R.CoseEllipticCurveEC2+fromCurveECDSA CoseCurveP256 = R.CoseEllipticCurveEC2P256+fromCurveECDSA CoseCurveP384 = R.CoseEllipticCurveEC2P384+fromCurveECDSA CoseCurveP521 = R.CoseEllipticCurveEC2P521++toCurveECDSA :: R.CoseEllipticCurveEC2 -> CoseCurveECDSA+toCurveECDSA R.CoseEllipticCurveEC2P256 = CoseCurveP256+toCurveECDSA R.CoseEllipticCurveEC2P384 = CoseCurveP384+toCurveECDSA R.CoseEllipticCurveEC2P521 = CoseCurveP521
+ src/Crypto/WebAuthn/Internal/DateOrphans.hs view
@@ -0,0 +1,47 @@+{-# OPTIONS_GHC -Wno-orphans #-}++-- | Stability: internal+--+-- This module contains orphan instances connecting different date libraries together:+--+-- * [time](https://hackage.haskell.org/package/time), a commonly used library+--   containing the 'UTCTime' type, which is a bit slow and inconvenient to use+-- * [monad-time](https://hackage.haskell.org/package/monad-time) which defines+--   the 'MonadTime' class which uses 'UTCTime'. monad-time is used by the+--   [jose](https://hackage.haskell.org/package/jose) library to get the time+-- * [hourglass](https://hackage.haskell.org/package/hourglass), an alternative+--   to the time library which is nicer to use. It is used by the+--   [x509-validation](https://hackage.haskell.org/package/x509-validation) library+-- * [Data.Fixed](https://hackage.haskell.org/package/base/docs/Data-Fixed.html)+--   in @base@, which is used as the underlying representation of 'Data.Time.NominalDiffTime'+--   in the @time@ library.+--+-- This module contains a 'Timeable' and 'Time' implementation for 'UTCTime',+-- and a 'MonadTime' implementation for any 'ReaderT' of a 'Timeable'+module Crypto.WebAuthn.Internal.DateOrphans () where++import Control.Monad.Reader (ReaderT, asks)+import Control.Monad.Time (MonadTime, currentTime)+import Data.Fixed (Fixed (MkFixed), HasResolution, Nano)+import Data.Hourglass (Elapsed (Elapsed), ElapsedP (ElapsedP), NanoSeconds (NanoSeconds), Seconds (Seconds), Time, Timeable, timeConvert, timeFromElapsedP, timeGetElapsedP)+import Data.Time (UTCTime, nominalDiffTimeToSeconds, secondsToNominalDiffTime)+import Data.Time.Clock.POSIX (posixSecondsToUTCTime, utcTimeToPOSIXSeconds)++instance Timeable UTCTime where+  timeGetElapsedP utcTime =+    timeGetElapsedP $ nominalDiffTimeToSeconds $ utcTimeToPOSIXSeconds utcTime++instance Time UTCTime where+  timeFromElapsedP = posixSecondsToUTCTime . secondsToNominalDiffTime . realToFrac++instance HasResolution a => Timeable (Fixed a) where+  timeGetElapsedP value = ElapsedP seconds nanos+    where+      ns :: Nano+      ns = realToFrac value+      (s, MkFixed n) = properFraction ns+      seconds = Elapsed $ Seconds s+      nanos = NanoSeconds $ fromInteger n++instance (Timeable t, Monad m) => MonadTime (ReaderT t m) where+  currentTime = asks timeConvert
+ src/Crypto/WebAuthn/Internal/ToJSONOrphans.hs view
@@ -0,0 +1,91 @@+{-# LANGUAGE RecordWildCards #-}+{-# OPTIONS_GHC -Wno-orphans #-}++-- | Stability: internal+-- This module contain some useful orphan 'ToJSON' instances for pretty-printing values from third-party libraries+module Crypto.WebAuthn.Internal.ToJSONOrphans () where++import Crypto.Hash (Digest)+import qualified Crypto.PubKey.ECC.Types as ECC+import Data.ASN1.Types (ASN1Object)+import qualified Data.ASN1.Types as ASN1+import Data.Aeson (ToJSON, Value (String), object, toJSON, (.=))+import Data.Aeson.Types (Pair)+import Data.ByteArray (convert)+import qualified Data.ByteString as BS+import qualified Data.ByteString.Base16 as Base16+import qualified Data.Hourglass as HG+import Data.List (intercalate)+import Data.Maybe (fromMaybe, mapMaybe)+import Data.String (fromString)+import qualified Data.Text as Text+import qualified Data.Text.Encoding as Text+import qualified Data.X509 as X509+import qualified Data.X509.Validation as X509++instance ToJSON BS.ByteString where+  toJSON = String . Text.decodeUtf8 . Base16.encode++instance ToJSON (Digest h) where+  toJSON = String . Text.decodeUtf8 . Base16.encode . convert++instance (Eq a, Show a, ASN1Object a, ToJSON a) => ToJSON (X509.SignedExact a) where+  toJSON = toJSON . X509.signedObject . X509.getSigned++instance ToJSON X509.Certificate where+  toJSON X509.Certificate {..} =+    object+      [ "certIssuerDN" .= certIssuerDN,+        "certValidity"+          .= object+            [ "notBefore" .= fst certValidity,+              "notAfter" .= snd certValidity+            ],+        "certSubjectDN" .= certSubjectDN,+        "certExtensions" .= certExtensions+      ]++instance ToJSON X509.FailedReason where+  toJSON = String . Text.pack . show++instance ToJSON X509.Extensions where+  toJSON (X509.Extensions raws) = toJSON $ fromMaybe [] raws++instance ToJSON X509.ExtensionRaw where+  toJSON X509.ExtensionRaw {..} =+    object+      [ "extRawOID" .= oidToJSON extRawOID,+        "extRawContent" .= extRawContent+      ]++instance ToJSON ECC.CurveName where+  toJSON = String . Text.pack . show++oidToJSON :: ASN1.OID -> Value+oidToJSON oid = String $ Text.pack $ intercalate "." $ map show oid++instance ToJSON HG.DateTime where+  toJSON = String . Text.pack . HG.timePrint HG.ISO8601_DateAndTime++instance ToJSON HG.Date where+  toJSON = String . Text.pack . HG.timePrint HG.ISO8601_Date++instance ToJSON X509.DistinguishedName where+  toJSON dn = object $ mapMaybe getPair dnElements+    where+      getPair :: X509.DnElement -> Maybe Pair+      getPair el = do+        asnStr <- X509.getDnElement el dn+        str <- ASN1.asn1CharacterToString asnStr+        let key = fromString $ show el+            value = String $ Text.pack str+        pure (key, value)++      dnElements :: [X509.DnElement]+      dnElements =+        [ X509.DnCommonName,+          X509.DnCountry,+          X509.DnOrganization,+          X509.DnOrganizationUnit,+          X509.DnEmailAddress+        ]
+ src/Crypto/WebAuthn/Internal/Utils.hs view
@@ -0,0 +1,106 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE KindSignatures #-}++-- | Stability: internal+--+-- Internal utilities+module Crypto.WebAuthn.Internal.Utils+  ( JSONEncoding,+    EnumJSONEncoding,+    Aeson.CustomJSON (..),+    Lowercase,+    failure,+    certificateSubjectKeyIdentifier,+    IdFidoGenCeAAGUID (..),+  )+where++import Control.Monad (void)+import Crypto.Hash (hash)+import Crypto.WebAuthn.Model.Identifier (AAGUID (AAGUID), SubjectKeyIdentifier (SubjectKeyIdentifier))+import qualified Data.ASN1.BitArray as ASN1+import Data.ASN1.Parse (ParseASN1, getNext, runParseASN1)+import qualified Data.ASN1.Parse as ASN1+import Data.ASN1.Prim (ASN1 (OctetString))+import qualified Data.ASN1.Types as ASN1+import Data.Bifunctor (first)+import qualified Data.ByteString as BS+import qualified Data.ByteString.Lazy as LBS+import Data.Char (toLower)+import Data.List.NonEmpty (NonEmpty)+import qualified Data.UUID as UUID+import Data.Validation (Validation (Failure))+import Data.X509 (Extension)+import qualified Data.X509 as X509+import qualified Deriving.Aeson as Aeson+import GHC.TypeLits (Symbol)++-- | Custom JSONEncoding for use in the library. We add a "lit" prefix to every+-- field that would otherwise be a Haskell keyword.+type JSONEncoding = Aeson.CustomJSON '[Aeson.OmitNothingFields, Aeson.FieldLabelModifier (Aeson.StripPrefix "lit")]++-- | Type for 'Aeson.StringModifier' that makes all characters lowercase+data Lowercase++-- | Deriving.Aeson instance turning a string into lowercase.+instance Aeson.StringModifier Lowercase where+  getStringModifier = map toLower++-- | Custom JSON Encoding for enumerations, strips the given prefix and maps+-- all constructors to lowercase.+type EnumJSONEncoding (prefix :: Symbol) = Aeson.CustomJSON '[Aeson.ConstructorTagModifier '[Aeson.StripPrefix prefix, Lowercase]]++-- | A convenience function for creating a 'Validation' failure of a single+-- 'NonEmpty' value+failure :: e -> Validation (NonEmpty e) a+failure = Failure . pure++-- | [(spec)](https://datatracker.ietf.org/doc/html/rfc5280#section-4.2.1.2)+-- Computes the 'SubjectKeyIdentifier' from a 'X509.Certificate' according to+-- method 1 in the above specification.+-- Note that this function only fails if the 'ASN1.ASN1Object' instance of+-- 'X509.PubKey' has a bug+certificateSubjectKeyIdentifier :: X509.Certificate -> SubjectKeyIdentifier+certificateSubjectKeyIdentifier cert = SubjectKeyIdentifier . hash $ publicKeyBytes+  where+    -- The x509 library doesn't expose the public key bytes directly+    -- so we instead render the ASN.1 from the public key,+    -- then decode only the public key bytes+    asns = ASN1.toASN1 (X509.certPubKey cert) []+    err = error $ "Failed to decode the public key from the ASN.1 object generated: " <> show asns+    publicKeyBytes = either err id $ ASN1.runParseASN1 parsePublicKeyBytes asns++    -- SubjectPublicKeyInfo  ::=  SEQUENCE  {+    --      algorithm            AlgorithmIdentifier,+    --      subjectPublicKey     BIT STRING  }+    parsePublicKeyBytes :: ASN1.ParseASN1 BS.ByteString+    parsePublicKeyBytes = ASN1.onNextContainer ASN1.Sequence $ do+      -- AlgorithmIdentifier  ::=  SEQUENCE  { ... }+      -- We're not interested in this+      void $ ASN1.getNextContainer ASN1.Sequence+      ASN1.BitString bitArray <- ASN1.getNext+      if ASN1.bitArrayLength bitArray `mod` 8 == 0+        then pure $ ASN1.bitArrayGetData bitArray+        else -- This should never happen, because the x509 libraries 'ASN1.ASN1Object'+        -- instance for 'X509.PubKey' always inserts 8-bit aligned bit strings+          ASN1.throwParseError "subjectPublicKey is not 8-bit aligned!"++-- | The `id-fido-gen-ce-aaguid` contains the AAGUID of the authenticator.+newtype IdFidoGenCeAAGUID = IdFidoGenCeAAGUID AAGUID+  deriving (Eq, Show)++-- | [(spec)](https://www.w3.org/TR/webauthn-2/#sctn-packed-attestation-cert-requirements)+instance Extension IdFidoGenCeAAGUID where+  extOID = const [1, 3, 6, 1, 4, 1, 45724, 1, 1, 4]+  extHasNestedASN1 = const True+  extEncode = error "Unimplemented: This library does not implement encoding the ID_FIDO_GEN_CE_AAGUID extension"+  extDecode asn1 =+    first ("Could not decode ASN1 id-fido-gen-ce-aaguid extension: " ++) $+      runParseASN1 decodeFidoAAGUID asn1+    where+      decodeFidoAAGUID :: ParseASN1 IdFidoGenCeAAGUID+      decodeFidoAAGUID = do+        OctetString bytes <- getNext+        case UUID.fromByteString $ LBS.fromStrict bytes of+          Just aaguid -> pure $ IdFidoGenCeAAGUID $ AAGUID aaguid+          Nothing -> fail "Could not extract aaguid"
+ src/Crypto/WebAuthn/Metadata.hs view
@@ -0,0 +1,34 @@+-- | Stability: experimental+-- A function for decoding a [FIDO Alliance Metadata Service](https://fidoalliance.org/metadata/)+-- BLOB in order to be able to enforce a set of requirements on the authenticator+-- used, e.g. to only allow authenticators that have been+-- [FIDO certified](https://fidoalliance.org/certification/functional-certification/).+module Crypto.WebAuthn.Metadata+  ( metadataBlobToRegistry,+    Service.MetadataServiceRegistry,+  )+where++import qualified Crypto.WebAuthn.Metadata.Service.Processing as Service+import qualified Crypto.WebAuthn.Metadata.Service.Types as Service+import qualified Data.ByteString as BS+import qualified Data.Hourglass as HG+import Data.Text (Text)+import qualified Data.Text as Text++-- | Verifies, decodes and extracts a 'Service.MetadataServiceRegistry' from a+-- [FIDO Alliance Metadata Service](https://fidoalliance.org/metadata/) BLOB.+-- The result can be passed to 'Crypto.WebAuthn.Operation.Registration.verifyRegistrationResponse'.+metadataBlobToRegistry ::+  -- | A Metadata BLOB fetched from <https://mds.fidoalliance.org>+  BS.ByteString ->+  -- | The time at which it was fetched+  HG.DateTime ->+  -- | Either an error on a registry of metadata entries+  Either Text Service.MetadataServiceRegistry+metadataBlobToRegistry bytes now = do+  json <- case Service.jwtToJson bytes Service.fidoAllianceRootCertificate now of+    Left err -> Left $ Text.pack $ show err+    Right res -> pure res+  payload <- Service.jsonToPayload json+  pure $ Service.createMetadataRegistry $ Service.mpEntries payload
+ src/Crypto/WebAuthn/Metadata/FidoRegistry.hs view
@@ -0,0 +1,123 @@+{-# LANGUAGE DataKinds #-}++-- | Stability: experimental+-- [Fido Registry of Predefined Values](https://fidoalliance.org/specs/common-specs/fido-registry-v2.1-ps-20191217.html#authenticator-attestation-types)+-- FIDO Alliance Proposed Standard 17 December 2019+module Crypto.WebAuthn.Metadata.FidoRegistry+  ( UserVerificationMethod (..),+    KeyProtectionType (..),+    MatcherProtectionType (..),+    AuthenticatorAttachmentHint (..),+    TransactionConfirmationDisplayType (..),+    AuthenticationAlgorithm (..),+    PublicKeyRepresentationFormat (..),+    AuthenticatorAttestationType (..),+  )+where++import Crypto.WebAuthn.Internal.Utils (EnumJSONEncoding)+import qualified Data.Aeson as Aeson+import Deriving.Aeson (CustomJSON (CustomJSON))+import GHC.Generics (Generic)++-- | [(spec)](https://fidoalliance.org/specs/common-specs/fido-registry-v2.1-ps-20191217.html#user-verification-methods)+data UserVerificationMethod+  = USER_VERIFY_PRESENCE_INTERNAL+  | USER_VERIFY_FINGERPRINT_INTERNAL+  | USER_VERIFY_PASSCODE_INTERNAL+  | USER_VERIFY_VOICEPRINT_INTERNAL+  | USER_VERIFY_FACEPRINT_INTERNAL+  | USER_VERIFY_LOCATION_INTERNAL+  | USER_VERIFY_EYEPRINT_INTERNAL+  | USER_VERIFY_PATTERN_INTERNAL+  | USER_VERIFY_HANDPRINT_INTERNAL+  | USER_VERIFY_PASSCODE_EXTERNAL+  | USER_VERIFY_PATTERN_EXTERNAL+  | USER_VERIFY_NONE+  | USER_VERIFY_ALL+  deriving (Show, Eq, Generic)+  deriving (Aeson.FromJSON, Aeson.ToJSON) via EnumJSONEncoding "USER_VERIFY_" UserVerificationMethod++-- | [(spec)](https://fidoalliance.org/specs/common-specs/fido-registry-v2.1-ps-20191217.html#key-protection-types)+data KeyProtectionType+  = KEY_PROTECTION_SOFTWARE+  | KEY_PROTECTION_HARDWARE+  | KEY_PROTECTION_TEE+  | KEY_PROTECTION_SECURE_ELEMENT+  | KEY_PROTECTION_REMOTE_HANDLE+  deriving (Show, Eq, Generic)+  deriving (Aeson.FromJSON, Aeson.ToJSON) via EnumJSONEncoding "KEY_PROTECTION_" KeyProtectionType++-- | [(spec)](https://fidoalliance.org/specs/common-specs/fido-registry-v2.1-ps-20191217.html#matcher-protection-types)+data MatcherProtectionType+  = MATCHER_PROTECTION_SOFTWARE+  | MATCHER_PROTECTION_TEE+  | MATCHER_PROTECTION_ON_CHIP+  deriving (Show, Eq, Generic)+  deriving (Aeson.FromJSON, Aeson.ToJSON) via EnumJSONEncoding "MATCHER_PROTECTION_" MatcherProtectionType++-- | [(spec)](https://fidoalliance.org/specs/common-specs/fido-registry-v2.1-ps-20191217.html#authenticator-attachment-hints)+data AuthenticatorAttachmentHint+  = ATTACHMENT_HINT_INTERNAL+  | ATTACHMENT_HINT_EXTERNAL+  | ATTACHMENT_HINT_WIRED+  | ATTACHMENT_HINT_WIRELESS+  | ATTACHMENT_HINT_NFC+  | ATTACHMENT_HINT_BLUETOOTH+  | ATTACHMENT_HINT_NETWORK+  | ATTACHMENT_HINT_READY+  | ATTACHMENT_HINT_WIFI_DIRECT+  deriving (Show, Eq, Generic)+  deriving (Aeson.FromJSON, Aeson.ToJSON) via EnumJSONEncoding "ATTACHMENT_HINT_" AuthenticatorAttachmentHint++-- | [(spec)](https://fidoalliance.org/specs/common-specs/fido-registry-v2.1-ps-20191217.html#transaction-confirmation-display-types)+data TransactionConfirmationDisplayType+  = TRANSACTION_CONFIRMATION_DISPLAY_ANY+  | TRANSACTION_CONFIRMATION_DISPLAY_PRIVILEGED_SOFTWARE+  | TRANSACTION_CONFIRMATION_DISPLAY_TEE+  | TRANSACTION_CONFIRMATION_DISPLAY_HARDWARE+  | TRANSACTION_CONFIRMATION_DISPLAY_REMOTE+  deriving (Show, Eq, Generic)+  deriving (Aeson.FromJSON, Aeson.ToJSON) via EnumJSONEncoding "TRANSACTION_CONFIRMATION_DISPLAY_" TransactionConfirmationDisplayType++-- | [(spec)](https://fidoalliance.org/specs/common-specs/fido-registry-v2.1-ps-20191217.html#authentication-algorithms)+data AuthenticationAlgorithm+  = ALG_SIGN_SECP256R1_ECDSA_SHA256_RAW+  | ALG_SIGN_SECP256R1_ECDSA_SHA256_DER+  | ALG_SIGN_RSASSA_PSS_SHA256_RAW+  | ALG_SIGN_RSASSA_PSS_SHA256_DER+  | ALG_SIGN_SECP256K1_ECDSA_SHA256_RAW+  | ALG_SIGN_SECP256K1_ECDSA_SHA256_DER+  | ALG_SIGN_SM2_SM3_RAW+  | ALG_SIGN_RSA_EMSA_PKCS1_SHA256_RAW+  | ALG_SIGN_RSA_EMSA_PKCS1_SHA256_DER+  | ALG_SIGN_RSASSA_PSS_SHA384_RAW+  | ALG_SIGN_RSASSA_PSS_SHA512_RAW+  | ALG_SIGN_RSASSA_PKCSV15_SHA256_RAW+  | ALG_SIGN_RSASSA_PKCSV15_SHA384_RAW+  | ALG_SIGN_RSASSA_PKCSV15_SHA512_RAW+  | ALG_SIGN_RSASSA_PKCSV15_SHA1_RAW+  | ALG_SIGN_SECP384R1_ECDSA_SHA384_RAW+  | ALG_SIGN_SECP512R1_ECDSA_SHA512_RAW+  | ALG_SIGN_ED25519_EDDSA_SHA512_RAW+  deriving (Show, Eq, Generic)+  deriving (Aeson.FromJSON, Aeson.ToJSON) via EnumJSONEncoding "ALG_SIGN_" AuthenticationAlgorithm++-- | [(spec)](https://fidoalliance.org/specs/common-specs/fido-registry-v2.1-ps-20191217.html#public-key-representation-formats)+data PublicKeyRepresentationFormat+  = ALG_KEY_ECC_X962_RAW+  | ALG_KEY_ECC_X962_DER+  | ALG_KEY_RSA_2048_RAW+  | ALG_KEY_RSA_2048_DER+  | ALG_KEY_COSE+  deriving (Show, Eq, Generic)+  deriving (Aeson.FromJSON, Aeson.ToJSON) via EnumJSONEncoding "ALG_KEY_" PublicKeyRepresentationFormat++-- | [(spec)](https://fidoalliance.org/specs/common-specs/fido-registry-v2.1-ps-20191217.html#authenticator-attestation-types)+data AuthenticatorAttestationType+  = ATTESTATION_BASIC_FULL+  | ATTESTATION_BASIC_SURROGATE+  | ATTESTATION_ECDAA+  | ATTESTATION_ATTCA+  deriving (Show, Eq, Generic)+  deriving (Aeson.FromJSON, Aeson.ToJSON) via EnumJSONEncoding "ATTESTATION_" AuthenticatorAttestationType
+ src/Crypto/WebAuthn/Metadata/Service/Decode.hs view
@@ -0,0 +1,92 @@+{-# LANGUAGE RecordWildCards #-}++-- | Stability: experimental+-- This module contains functions to further decode+-- [FIDO Metadata Service](https://fidoalliance.org/specs/mds/fido-metadata-service-v3.0-ps-20210518.html)+-- IDL types defined in 'Crypto.WebAuthn.Metadata.Service.WebIDL' into the Haskell-specific types defined in 'Crypto.WebAuthn.Metadata.Service.Types'+module Crypto.WebAuthn.Metadata.Service.Decode+  ( decodeMetadataPayload,+    decodeMetadataEntry,+  )+where++import qualified Crypto.WebAuthn.Metadata.Service.Types as ServiceTypes+import qualified Crypto.WebAuthn.Metadata.Service.WebIDL as ServiceIDL+import Crypto.WebAuthn.Metadata.Statement.Decode (decodeAAGUID, decodeCertificate, decodeMetadataStatement, decodeSubjectKeyIdentifier)+import qualified Crypto.WebAuthn.WebIDL as IDL+import Data.Bifunctor (first)+import Data.Hourglass (Date, DateTime (dtDate), ISO8601_Date (ISO8601_Date), timeParse)+import Data.List.NonEmpty (NonEmpty)+import qualified Data.List.NonEmpty as NE+import Data.Maybe (mapMaybe)+import Data.Text (Text)+import qualified Data.Text as Text++-- | Decodes a 'ServiceTypes.MetadataPayload' from a 'ServiceIDL.MetadataBLOBPayload',+-- discarding any 'ServiceIDL.MetadataBLOBPayloadEntry' that are not relevant to webauthn.+-- This includes entries of the protocol family 'StatementIDL.ProtocolFamilyUAF'+-- and entries whose 'StatementIDL.attestationTypes' doesn't include either+-- 'Registry.ATTESTATION_BASIC_FULL' or 'Registry.ATTESTATION_ATTCA'+decodeMetadataPayload :: ServiceIDL.MetadataBLOBPayload -> Either Text ServiceTypes.MetadataPayload+decodeMetadataPayload ServiceIDL.MetadataBLOBPayload {..} = do+  let mpLegalHeader = legalHeader+      mpNo = no+  mpNextUpdate <- decodeDate nextUpdate+  decodedEntries <- sequence $ mapMaybe decodeMetadataEntry entries+  let mpEntries = foldMap NE.toList decodedEntries+  pure ServiceTypes.MetadataPayload {..}++liftEitherMaybe :: Either (Maybe a) b -> Maybe (Either a b)+liftEitherMaybe (Left Nothing) = Nothing+liftEitherMaybe (Left (Just a)) = Just $ Left a+liftEitherMaybe (Right b) = Just $ Right b++-- | [(spec)](https://fidoalliance.org/specs/mds/fido-metadata-service-v3.0-ps-20210518.html#metadata-blob-payload-entry-dictionary)+-- | Decodes a 'ServiceIDL.MetadataBLOBPayloadEntry' into one or more+-- 'ServiceTypes.SomeMetadataEntry'. If the entry is not relevant for webauthn+-- (i.e. UAF authenticators or FIDO2 authenticators that only support basic+-- surrogate attestation), then this function returns 'Nothing'. If an error+-- occured during decoding, 'Left' is returned.+decodeMetadataEntry :: ServiceIDL.MetadataBLOBPayloadEntry -> Maybe (Either Text (NonEmpty ServiceTypes.SomeMetadataEntry))+decodeMetadataEntry ServiceIDL.MetadataBLOBPayloadEntry {..} = liftEitherMaybe $+  case (aaid, aaguid, attestationCertificateKeyIdentifiers) of+    (Just _aaid, Nothing, Nothing) ->+      -- This is an UAF entry, we can skip it since it's not relevant for webauthn+      Left Nothing+    (Nothing, Just aaguid, Nothing) -> do+      -- This is a FIDO 2 entry+      identifier <- first Just $ decodeAAGUID aaguid+      meMetadataStatement <- traverse decodeMetadataStatement metadataStatement+      meStatusReports <- first Just $ traverse decodeStatusReport statusReports+      meTimeOfLastStatusChange <- first Just $ decodeDate timeOfLastStatusChange+      Right $ pure $ ServiceTypes.SomeMetadataEntry identifier ServiceTypes.MetadataEntry {..}+    (Nothing, Nothing, Just attestationCertificateKeyIdentifiers) -> do+      -- This is a FIDO U2F entry+      identifiers <- first Just $ traverse decodeSubjectKeyIdentifier attestationCertificateKeyIdentifiers+      meMetadataStatement <- traverse decodeMetadataStatement metadataStatement+      meStatusReports <- first Just $ traverse decodeStatusReport statusReports+      meTimeOfLastStatusChange <- first Just $ decodeDate timeOfLastStatusChange+      let entry = ServiceTypes.MetadataEntry {..}+      Right $ fmap (`ServiceTypes.SomeMetadataEntry` entry) identifiers+    (Nothing, Nothing, Nothing) ->+      Left $ Just "None of aaid, aaguid or attestationCertificateKeyIdentifiers are set for this entry"+    _ ->+      Left $ Just "Multiple of aaid, aaguid and/or attestationCertificateKeyIdentifiers are set for this entry"++decodeStatusReport :: ServiceIDL.StatusReport -> Either Text ServiceTypes.StatusReport+decodeStatusReport ServiceIDL.StatusReport {..} = do+  let srStatus = status+  srEffectiveDate <- traverse decodeDate effectiveDate+  let srAuthenticatorVersion = authenticatorVersion+  srCertificate <- traverse decodeCertificate certificate+  let srUrl = url+      srCertificationDescriptor = certificationDescriptor+      srCertificateNumber = certificateNumber+      srCertificationPolicyVersion = certificationPolicyVersion+      srCertificationRequirementsVersion = certificationRequirementsVersion+  pure ServiceTypes.StatusReport {..}++decodeDate :: IDL.DOMString -> Either Text Date+decodeDate text = case timeParse ISO8601_Date (Text.unpack text) of+  Nothing -> Left $ "Could not parse ISO 8601 date: " <> text+  Just dt -> Right $ dtDate dt
+ src/Crypto/WebAuthn/Metadata/Service/Processing.hs view
@@ -0,0 +1,243 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GADTs #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE ScopedTypeVariables #-}+{-# LANGUAGE TemplateHaskell #-}++-- | Stability: experimental+-- This module exposes functions for processing and querying+-- [FIDO Metadata Service](https://fidoalliance.org/specs/mds/fido-metadata-service-v3.0-ps-20210518.html)+-- blobs and entries.+module Crypto.WebAuthn.Metadata.Service.Processing+  ( RootCertificate (..),+    ProcessingError (..),+    createMetadataRegistry,+    queryMetadata,+    jwtToJson,+    jsonToPayload,+    fidoAllianceRootCertificate,+  )+where++import Control.Lens ((^.), (^?), _Just)+import Control.Lens.Combinators (makeClassyPrisms)+import Control.Monad.Except (MonadError, runExcept, throwError)+import Control.Monad.Reader (MonadReader, ask, runReaderT)+import Crypto.JOSE (AsError (_Error), fromX509Certificate)+import Crypto.JOSE.JWK.Store (VerificationKeyStore (getVerificationKeys))+import Crypto.JOSE.Types (URI)+import Crypto.JWT+  ( AsJWTError (_JWTError),+    Error,+    HasX5c (x5c),+    HasX5u (x5u),+    JWSHeader,+    JWTError,+    decodeCompact,+    defaultJWTValidationSettings,+    param,+    unregisteredClaims,+    verifyClaims,+  )+import Crypto.WebAuthn.Internal.DateOrphans ()+import Crypto.WebAuthn.Metadata.Service.Decode (decodeMetadataPayload)+import qualified Crypto.WebAuthn.Metadata.Service.Types as Service+import qualified Crypto.WebAuthn.Model as M+import Crypto.WebAuthn.Model.Identifier+  ( AAGUID,+    AuthenticatorIdentifier+      ( AuthenticatorIdentifierFido2,+        AuthenticatorIdentifierFidoU2F,+        idAaguid,+        idSubjectKeyIdentifier+      ),+    SubjectKeyIdentifier,+  )+import Data.Aeson (Value (Object))+import qualified Data.Aeson as Aeson+import qualified Data.ByteString as BS+import qualified Data.ByteString.Lazy as LBS+import Data.FileEmbed (embedFile)+import Data.HashMap.Strict (HashMap)+import qualified Data.HashMap.Strict as HashMap+import Data.Hourglass (DateTime)+import qualified Data.List.NonEmpty as NE+import Data.Maybe (mapMaybe)+import Data.Singletons (SingI, sing)+import Data.Text (Text)+import qualified Data.Text as Text+import qualified Data.X509 as X509+import qualified Data.X509.CertificateStore as X509+import qualified Data.X509.Validation as X509++-- | A root certificate along with the host it should be verified against+data RootCertificate = RootCertificate+  { -- | The root certificate itself+    rootCertificateStore :: X509.CertificateStore,+    -- | The hostname it is for+    rootCertificateHostName :: X509.HostName+  }++-- | Errors related to the processing of the metadata+data ProcessingError+  = -- | An error wrapping the errors encountered by the X509 Validation+    ProcessingValidationErrors (NE.NonEmpty X509.FailedReason)+  | -- | There was no x5c header present in the metadata JWT+    ProcessingMissingX5CHeader+  | -- | An error wrapping the general Errors from the JOSE library+    ProcessingJWSError Error+  | -- | An error wrapping the JWT specific Errors from the JOSE library+    ProcessingJWTError JWTError+  | -- | There was a x5u header present in the metadata JWT but this is unimplemented+    -- TODO: Implement step 4 of the+    -- [(spec)](https://fidoalliance.org/specs/mds/fido-metadata-service-v3.0-ps-20210518.html#metadata-blob-object-processing-rules)+    ProcessingX5UPresent URI+  deriving (Show, Eq)++-- | Create Prisms for the error type, used in the AsError and AsJWTError+-- instances below+makeClassyPrisms ''ProcessingError++-- | Instantiate JOSE's AsError typeclass as a simple cast to our own error+-- type. This allows using our own error type in JOSE operations.+instance AsError ProcessingError where+  _Error = _ProcessingJWSError++-- | Instantiate JOSE's AsJWTError typeclass as a simple cast to our own error+-- type. This allows using our own error type in JWT operations.+instance AsJWTError ProcessingError where+  _JWTError = _ProcessingJWTError++-- | The root certificate used for the blob downloaded from <https://mds.fidoalliance.org/>,+-- which can be found in [here](https://valid.r3.roots.globalsign.com/),+-- see also <https://fidoalliance.org/metadata/>+fidoAllianceRootCertificate :: RootCertificate+fidoAllianceRootCertificate =+  RootCertificate+    { rootCertificateStore = X509.makeCertificateStore [rootCert],+      rootCertificateHostName = "mds.fidoalliance.org"+    }+  where+    bytes :: BS.ByteString+    bytes = $(embedFile "root-certs/metadata/root.crt")+    rootCert :: X509.SignedCertificate+    rootCert = case X509.decodeSignedCertificate bytes of+      Left err -> error err+      Right cert -> cert++instance (MonadError ProcessingError m, MonadReader DateTime m) => VerificationKeyStore m (JWSHeader ()) p RootCertificate where+  getVerificationKeys header _ (RootCertificate rootStore hostName) = do+    -- TODO: Implement step 4 of the spec, which says to try to get the chain+    -- from x5u first before trying x5c. See:+    -- <https://fidoalliance.org/specs/mds/fido-metadata-service-v3.0-ps-20210518.html#metadata-blob-object-processing-rules>+    -- and <https://github.com/tweag/webauthn/issues/23>+    --+    -- In order to prevent issues due to the lack of an implementation for x5u,+    -- we do check if it is empty before continuing. If not empty, we result in+    -- an error instead.+    case header ^? x5u . _Just . param of+      Nothing -> pure ()+      Just uri -> throwError $ ProcessingX5UPresent uri++    chain <- case header ^? x5c . _Just . param of+      Nothing ->+        throwError ProcessingMissingX5CHeader+      Just chain -> return chain++    now <- ask++    -- TODO: Check CRLs, see <https://github.com/tweag/haskell-fido2/issues/23>+    let validationErrors =+          X509.validatePure+            now+            X509.defaultHooks+            X509.defaultChecks+            rootStore+            (hostName, "")+            (X509.CertificateChain (NE.toList chain))++    case NE.nonEmpty validationErrors of+      Nothing -> do+        -- Create a JWK from the leaf certificate, which is used to sign the payload+        jwk <- fromX509Certificate (NE.head chain)+        return [jwk]+      Just errors ->+        throwError $ ProcessingValidationErrors errors++-- | Extracts a FIDO Metadata payload JSON value from a JWT bytestring according to https://fidoalliance.org/specs/mds/fido-metadata-service-v3.0-ps-20210518.html+jwtToJson ::+  -- | The bytes of the JWT blob+  BS.ByteString ->+  -- | The root certificate the blob is signed with+  RootCertificate ->+  -- | The current time for which to validate the JWT blob+  DateTime ->+  Either ProcessingError (HashMap Text Value)+jwtToJson blob rootCert now = runExcept $ do+  jwt <- decodeCompact $ LBS.fromStrict blob+  claims <- runReaderT (verifyClaims (defaultJWTValidationSettings (const True)) rootCert jwt) now+  return $ claims ^. unregisteredClaims++-- | Decodes a FIDO Metadata payload JSON value to a 'Service.MetadataPayload',+-- returning an error when the JSON is invalid, and ignoring any entries not+-- relevant for webauthn. For the purposes of implementing the+-- relying party the `Crypto.WebAuthn.Metadata.Service.Types.mpNextUpdate`+-- and `Crypto.WebAuthn.Metadata.Service.Types.mpEntries` fields are most+-- important.+jsonToPayload :: HashMap Text Value -> Either Text Service.MetadataPayload+jsonToPayload value = case Aeson.fromJSON $ Object value of+  Aeson.Error err -> Left $ Text.pack err+  Aeson.Success payload -> case decodeMetadataPayload payload of+    Left err -> Left err+    Right result -> pure result++-- | Creates a 'Service.MetadataServiceRegistry' from a list of+-- 'Service.SomeMetadataEntry', which can either be obtained from a+-- 'Service.MetadataPayload's 'Service.mpEntries' field, or be constructed+-- directly+--+-- The resulting structure can be queried efficiently for+-- 'Service.MetadataEntry' using 'queryMetadata'+createMetadataRegistry :: [Service.SomeMetadataEntry] -> Service.MetadataServiceRegistry+createMetadataRegistry entries = Service.MetadataServiceRegistry {..}+  where+    fido2Entries = HashMap.fromList $ mapMaybe getFido2Pairs entries+    fidoU2FEntries = HashMap.fromList $ mapMaybe getFidoU2FPairs entries++    getFido2Pairs (Service.SomeMetadataEntry ident entry) = getFido2Pairs' ident entry+    getFidoU2FPairs (Service.SomeMetadataEntry ident entry) = getFidoU2FPairs' ident entry++    getFido2Pairs' ::+      forall p.+      SingI p =>+      AuthenticatorIdentifier p ->+      Service.MetadataEntry p ->+      Maybe (AAGUID, Service.MetadataEntry 'M.Fido2)+    getFido2Pairs' ident entry = case sing @p of+      M.SFido2 ->+        Just (idAaguid ident, entry)+      _ -> Nothing++    getFidoU2FPairs' ::+      forall p.+      SingI p =>+      AuthenticatorIdentifier p ->+      Service.MetadataEntry p ->+      Maybe (SubjectKeyIdentifier, Service.MetadataEntry 'M.FidoU2F)+    getFidoU2FPairs' ident entry = case sing @p of+      M.SFidoU2F ->+        Just (idSubjectKeyIdentifier ident, entry)+      _ -> Nothing++-- | Query a 'Service.MetadataEntry' for an 'M.AuthenticatorIdentifier'+queryMetadata ::+  Service.MetadataServiceRegistry ->+  AuthenticatorIdentifier p ->+  Maybe (Service.MetadataEntry p)+queryMetadata registry (AuthenticatorIdentifierFido2 aaguid) =+  HashMap.lookup aaguid (Service.fido2Entries registry)+queryMetadata registry (AuthenticatorIdentifierFidoU2F subjectKeyIdentifier) =+  HashMap.lookup subjectKeyIdentifier (Service.fidoU2FEntries registry)
+ src/Crypto/WebAuthn/Metadata/Service/Types.hs view
@@ -0,0 +1,115 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE GADTs #-}+{-# LANGUAGE KindSignatures #-}++-- | Stability: experimental+-- This module contains additional Haskell-specific type definitions for the+-- [FIDO Metadata Service](https://fidoalliance.org/specs/mds/fido-metadata-service-v3.0-ps-20210518.html)+-- specification+module Crypto.WebAuthn.Metadata.Service.Types+  ( MetadataServiceRegistry (..),+    MetadataPayload (..),+    MetadataEntry (..),+    SomeMetadataEntry (..),+    StatusReport (..),+  )+where++import qualified Crypto.WebAuthn.Metadata.Service.WebIDL as ServiceIDL+import Crypto.WebAuthn.Metadata.Statement.Types (MetadataStatement)+import qualified Crypto.WebAuthn.Model as M+import Crypto.WebAuthn.Model.Identifier (AAGUID, AuthenticatorIdentifier, SubjectKeyIdentifier)+import Data.Aeson (ToJSON)+import Data.HashMap.Strict (HashMap)+import Data.Hourglass (Date)+import Data.List.NonEmpty (NonEmpty)+import Data.Singletons (SingI)+import Data.Text (Text)+import Data.Word (Word32)+import qualified Data.X509 as X509+import GHC.Generics (Generic)++-- | A registry of 'MetadataEntry's, allowing fast lookup using 'M.AAGUID's or+-- 'SubjectKeyIdentifier's. This is used by 'Crypto.WebAuthn.Operation.Registration.verifyRegistrationResponse'+-- as a way to look up root certificates of authenticators and return meta information.+-- Using 'Crypto.WebAuthn.Metadata.Service.Processing.createMetadataRegistry'+-- it's also possible to create additional custom entries, which can be merged+-- with '<>'. Meanwhile 'mempty' can be used if no metadata is needed.+data MetadataServiceRegistry = MetadataServiceRegistry+  { fido2Entries :: HashMap AAGUID (MetadataEntry 'M.Fido2),+    fidoU2FEntries :: HashMap SubjectKeyIdentifier (MetadataEntry 'M.FidoU2F)+  }++instance Semigroup MetadataServiceRegistry where+  MetadataServiceRegistry l2 lu2f <> MetadataServiceRegistry r2 ru2f =+    MetadataServiceRegistry (l2 <> r2) (lu2f <> ru2f)++instance Monoid MetadataServiceRegistry where+  mempty = MetadataServiceRegistry mempty mempty++-- | [(spec)](https://fidoalliance.org/specs/mds/fido-metadata-service-v3.0-ps-20210518.html#metadata-blob-payload-dictionary)+-- Same as 'StatementIDL.MetadataBLOBPayload', but fully decoded. However all+-- 'StatementIDL.entries' not relevant for webauthn are discarded+data MetadataPayload = MetadataPayload+  { -- | [(spec)](https://fidoalliance.org/specs/mds/fido-metadata-service-v3.0-ps-20210518.html#dom-metadatablobpayload-legalheader)+    -- The legalHeader, which MUST be in each BLOB, is an indication of the+    -- acceptance of the relevant legal agreement for using the MDS.+    mpLegalHeader :: Maybe Text,+    -- | [(spec)](https://fidoalliance.org/specs/mds/fido-metadata-service-v3.0-ps-20210518.html#dom-metadatablobpayload-no)+    -- The serial number of this UAF Metadata BLOB Payload. Serial numbers MUST+    -- be consecutive and strictly monotonic, i.e. the successor BLOB will have+    -- a no value exactly incremented by one.+    mpNo :: Int,+    -- | [(spec)](https://fidoalliance.org/specs/mds/fido-metadata-service-v3.0-ps-20210518.html#dom-metadatablobpayload-nextupdate)+    -- Date when the next update will be provided at latest.+    mpNextUpdate :: Date,+    -- | [(spec)](https://fidoalliance.org/specs/mds/fido-metadata-service-v3.0-ps-20210518.html#dom-metadatablobpayload-entries)+    -- List of zero or more entries. This can be passed to+    -- 'Crypto.WebAuthn.Metadata.Service.Processing.createMetadataRegistry'+    mpEntries :: [SomeMetadataEntry]+  }++-- | [(spec)](https://fidoalliance.org/specs/mds/fido-metadata-service-v3.0-ps-20210518.html#metadata-blob-payload-entry-dictionary)+-- Same as 'StatementIDL.MetadataBLOBPayloadEntry', but fully decoded. This type+-- is parametrized over the 'StatementIDL.ProtocolFamily' this metadata entry is for+data MetadataEntry (p :: M.ProtocolKind) = MetadataEntry+  { -- [(spec)](https://fidoalliance.org/specs/mds/fido-metadata-service-v3.0-ps-20210518.html#dom-metadatablobpayloadentry-metadatastatement)+    meMetadataStatement :: Maybe (MetadataStatement p),+    -- TODO: Implement this, currently not used in the blob however+    -- meBiometricStatusReports :: Maybe (NonEmpty BiometricStatusReport),++    -- | [(spec)](https://fidoalliance.org/specs/mds/fido-metadata-service-v3.0-ps-20210518.html#dom-metadatablobpayloadentry-statusreports)+    meStatusReports :: NonEmpty StatusReport,+    -- | [(spec)](https://fidoalliance.org/specs/mds/fido-metadata-service-v3.0-ps-20210518.html#dom-metadatablobpayloadentry-timeoflaststatuschange)+    meTimeOfLastStatusChange :: Date+    -- rogueListURL, rogueListHash. TODO, but not currently used in the+    -- BLOB and difficult to implement since it involves JWT+  }+  deriving (Eq, Show, Generic, ToJSON)++-- | Same as 'MetadataEntry', but with its type parameter erased+data SomeMetadataEntry = forall p. SingI p => SomeMetadataEntry (AuthenticatorIdentifier p) (MetadataEntry p)++-- | [(spec)](https://fidoalliance.org/specs/mds/fido-metadata-service-v3.0-ps-20210518.html#statusreport-dictionary)+-- Same as 'StatementIDL.StatusReport', but fully decoded.+data StatusReport = StatusReport+  { -- | [(spec)](https://fidoalliance.org/specs/mds/fido-metadata-service-v3.0-ps-20210518.html#dom-statusreport-status)+    srStatus :: ServiceIDL.AuthenticatorStatus,+    -- | [(spec)](https://fidoalliance.org/specs/mds/fido-metadata-service-v3.0-ps-20210518.html#dom-statusreport-effectivedate)+    srEffectiveDate :: Maybe Date,+    -- | [(spec)](https://fidoalliance.org/specs/mds/fido-metadata-service-v3.0-ps-20210518.html#dom-statusreport-authenticatorversion)+    srAuthenticatorVersion :: Maybe Word32,+    -- | [(spec)](https://fidoalliance.org/specs/mds/fido-metadata-service-v3.0-ps-20210518.html#dom-statusreport-certificate)+    srCertificate :: Maybe X509.SignedCertificate,+    -- | [(spec)](https://fidoalliance.org/specs/mds/fido-metadata-service-v3.0-ps-20210518.html#dom-statusreport-url)+    srUrl :: Maybe Text,+    -- | [(spec)](https://fidoalliance.org/specs/mds/fido-metadata-service-v3.0-ps-20210518.html#dom-statusreport-certificationdescriptor)+    srCertificationDescriptor :: Maybe Text,+    -- | [(spec)](https://fidoalliance.org/specs/mds/fido-metadata-service-v3.0-ps-20210518.html#dom-statusreport-certificatenumber)+    srCertificateNumber :: Maybe Text,+    -- | [(spec)](https://fidoalliance.org/specs/mds/fido-metadata-service-v3.0-ps-20210518.html#dom-statusreport-certificationpolicyversion)+    srCertificationPolicyVersion :: Maybe Text,+    -- | [(spec)](https://fidoalliance.org/specs/mds/fido-metadata-service-v3.0-ps-20210518.html#dom-statusreport-certificationrequirementsversion)+    srCertificationRequirementsVersion :: Maybe Text+  }+  deriving (Eq, Show, Generic, ToJSON)
+ src/Crypto/WebAuthn/Metadata/Service/WebIDL.hs view
@@ -0,0 +1,127 @@+{-# LANGUAGE DuplicateRecordFields #-}++-- | Stability: experimental+-- Type definitions directly corresponding to the+-- [FIDO Metadata Service](https://fidoalliance.org/specs/mds/fido-metadata-service-v3.0-ps-20210518.html)+-- specification.+module Crypto.WebAuthn.Metadata.Service.WebIDL+  ( MetadataBLOBPayloadEntry (..),+    BiometricStatusReport (..),+    StatusReport (..),+    AuthenticatorStatus (..),+    MetadataBLOBPayload (..),+  )+where++-- Note from https://fidoalliance.org/specs/mds/fido-metadata-service-v3.0-ps-20210518.html#notation :+-- Unless otherwise specified, if a WebIDL dictionary member is DOMString, it MUST NOT be empty.+-- Unless otherwise specified, if a WebIDL dictionary member is a List, it MUST NOT be an empty list.++import Crypto.WebAuthn.Internal.Utils (CustomJSON (CustomJSON), JSONEncoding)+import Crypto.WebAuthn.Metadata.Statement.WebIDL (AAGUID, MetadataStatement)+import qualified Crypto.WebAuthn.Metadata.UAF as UAF+import qualified Crypto.WebAuthn.WebIDL as IDL+import qualified Data.Aeson as Aeson+import Data.List.NonEmpty (NonEmpty)+import GHC.Generics (Generic)++-- | [(spec)](https://fidoalliance.org/specs/mds/fido-metadata-service-v3.0-ps-20210518.html#metadata-blob-payload-entry-dictionary)+data MetadataBLOBPayloadEntry = MetadataBLOBPayloadEntry+  { -- | [(spec)](https://fidoalliance.org/specs/mds/fido-metadata-service-v3.0-ps-20210518.html#dom-metadatablobpayloadentry-aaid)+    aaid :: Maybe UAF.AAID,+    -- | [(spec)](https://fidoalliance.org/specs/mds/fido-metadata-service-v3.0-ps-20210518.html#dom-metadatablobpayloadentry-aaguid)+    aaguid :: Maybe AAGUID,+    -- | [(spec)](https://fidoalliance.org/specs/mds/fido-metadata-service-v3.0-ps-20210518.html#dom-metadatablobpayloadentry-attestationcertificatekeyidentifiers)+    attestationCertificateKeyIdentifiers :: Maybe (NonEmpty IDL.DOMString),+    -- | [(spec)](https://fidoalliance.org/specs/mds/fido-metadata-service-v3.0-ps-20210518.html#dom-metadatablobpayloadentry-metadatastatement)+    metadataStatement :: Maybe MetadataStatement,+    -- | [(spec)](https://fidoalliance.org/specs/mds/fido-metadata-service-v3.0-ps-20210518.html#dom-metadatablobpayloadentry-biometricstatusreports)+    biometricStatusReports :: Maybe (NonEmpty BiometricStatusReport),+    -- | [(spec)](https://fidoalliance.org/specs/mds/fido-metadata-service-v3.0-ps-20210518.html#dom-metadatablobpayloadentry-statusreports)+    statusReports :: NonEmpty StatusReport,+    -- | [(spec)](https://fidoalliance.org/specs/mds/fido-metadata-service-v3.0-ps-20210518.html#dom-metadatablobpayloadentry-timeoflaststatuschange)+    timeOfLastStatusChange :: IDL.DOMString+    -- Unused in the current blob, also annoying to implement+    -- entryRogueListURL :: IDL.DOMString,+    -- entryRogueListHash :: IDL.DOMString+  }+  deriving (Show, Eq, Generic)+  deriving (Aeson.FromJSON, Aeson.ToJSON) via JSONEncoding MetadataBLOBPayloadEntry++-- | [(spec)](https://fidoalliance.org/specs/mds/fido-metadata-service-v3.0-ps-20210518.html#biometricstatusreport-dictionary)+data BiometricStatusReport = BiometricStatusReport+  { -- | [(spec)](https://fidoalliance.org/specs/mds/fido-metadata-service-v3.0-ps-20210518.html#dom-biometricstatusreport-certlevel)+    certLevel :: IDL.UnsignedShort,+    -- | [(spec)](https://fidoalliance.org/specs/mds/fido-metadata-service-v3.0-ps-20210518.html#dom-biometricstatusreport-modality)+    modality :: IDL.DOMString,+    -- | [(spec)](https://fidoalliance.org/specs/mds/fido-metadata-service-v3.0-ps-20210518.html#dom-biometricstatusreport-effectivedate)+    effectiveDate :: Maybe IDL.DOMString,+    -- | [(spec)](https://fidoalliance.org/specs/mds/fido-metadata-service-v3.0-ps-20210518.html#dom-biometricstatusreport-certificationdescriptor)+    certificationDescriptor :: Maybe IDL.DOMString,+    -- | [(spec)](https://fidoalliance.org/specs/mds/fido-metadata-service-v3.0-ps-20210518.html#dom-biometricstatusreport-certificatenumber)+    certificateNumber :: Maybe IDL.DOMString,+    -- | [(spec)](https://fidoalliance.org/specs/mds/fido-metadata-service-v3.0-ps-20210518.html#dom-biometricstatusreport-certificationpolicyversion)+    certificationPolicyVersion :: Maybe IDL.DOMString,+    -- | [(spec)](https://fidoalliance.org/specs/mds/fido-metadata-service-v3.0-ps-20210518.html#dom-biometricstatusreport-certificationrequirementsversion)+    certificationRequirementsVersion :: Maybe IDL.DOMString+  }+  deriving (Show, Eq, Generic)+  deriving (Aeson.FromJSON, Aeson.ToJSON) via JSONEncoding BiometricStatusReport++-- | [(spec)](https://fidoalliance.org/specs/mds/fido-metadata-service-v3.0-ps-20210518.html#statusreport-dictionary)+data StatusReport = StatusReport+  { -- | [(spec)](https://fidoalliance.org/specs/mds/fido-metadata-service-v3.0-ps-20210518.html#dom-statusreport-status)+    status :: AuthenticatorStatus,+    -- | [(spec)](https://fidoalliance.org/specs/mds/fido-metadata-service-v3.0-ps-20210518.html#dom-statusreport-effectivedate)+    effectiveDate :: Maybe IDL.DOMString,+    -- | [(spec)](https://fidoalliance.org/specs/mds/fido-metadata-service-v3.0-ps-20210518.html#dom-statusreport-authenticatorversion)+    authenticatorVersion :: Maybe IDL.UnsignedLong,+    -- | [(spec)](https://fidoalliance.org/specs/mds/fido-metadata-service-v3.0-ps-20210518.html#dom-statusreport-certificate)+    certificate :: Maybe IDL.DOMString,+    -- | [(spec)](https://fidoalliance.org/specs/mds/fido-metadata-service-v3.0-ps-20210518.html#dom-statusreport-url)+    url :: Maybe IDL.DOMString,+    -- | [(spec)](https://fidoalliance.org/specs/mds/fido-metadata-service-v3.0-ps-20210518.html#dom-statusreport-certificationdescriptor)+    certificationDescriptor :: Maybe IDL.DOMString,+    -- | [(spec)](https://fidoalliance.org/specs/mds/fido-metadata-service-v3.0-ps-20210518.html#dom-statusreport-certificatenumber)+    certificateNumber :: Maybe IDL.DOMString,+    -- | [(spec)](https://fidoalliance.org/specs/mds/fido-metadata-service-v3.0-ps-20210518.html#dom-statusreport-certificationpolicyversion)+    certificationPolicyVersion :: Maybe IDL.DOMString,+    -- | [(spec)](https://fidoalliance.org/specs/mds/fido-metadata-service-v3.0-ps-20210518.html#dom-statusreport-certificationrequirementsversion)+    certificationRequirementsVersion :: Maybe IDL.DOMString+  }+  deriving (Show, Eq, Generic)+  deriving (Aeson.FromJSON, Aeson.ToJSON) via JSONEncoding StatusReport++-- | [(spec)](https://fidoalliance.org/specs/mds/fido-metadata-service-v3.0-ps-20210518.html#authenticatorstatus-enum)+data AuthenticatorStatus+  = NOT_FIDO_CERTIFIED+  | FIDO_CERTIFIED+  | USER_VERIFICATION_BYPASS+  | ATTESTATION_KEY_COMPROMISE+  | USER_KEY_REMOTE_COMPROMISE+  | USER_KEY_PHYSICAL_COMPROMISE+  | UPDATE_AVAILABLE+  | REVOKED+  | SELF_ASSERTION_SUBMITTED+  | FIDO_CERTIFIED_L1+  | FIDO_CERTIFIED_L1plus+  | FIDO_CERTIFIED_L2+  | FIDO_CERTIFIED_L2plus+  | FIDO_CERTIFIED_L3+  | FIDO_CERTIFIED_L3plus+  deriving (Show, Eq, Generic)+  deriving (Aeson.FromJSON, Aeson.ToJSON) via JSONEncoding AuthenticatorStatus++-- | [(spec)](https://fidoalliance.org/specs/mds/fido-metadata-service-v3.0-ps-20210518.html#metadata-blob-payload-dictionary)+data MetadataBLOBPayload = MetadataBLOBPayload+  { -- | [(spec)](https://fidoalliance.org/specs/mds/fido-metadata-service-v3.0-ps-20210518.html#dom-metadatablobpayload-legalheader)+    legalHeader :: Maybe IDL.DOMString,+    -- | [(spec)](https://fidoalliance.org/specs/mds/fido-metadata-service-v3.0-ps-20210518.html#dom-metadatablobpayload-no)+    no :: Int,+    -- | [(spec)](https://fidoalliance.org/specs/mds/fido-metadata-service-v3.0-ps-20210518.html#dom-metadatablobpayload-nextupdate)+    nextUpdate :: IDL.DOMString,+    -- | [(spec)](https://fidoalliance.org/specs/mds/fido-metadata-service-v3.0-ps-20210518.html#dom-metadatablobpayload-entries)+    entries :: [MetadataBLOBPayloadEntry]+  }+  deriving (Show, Eq, Generic)+  deriving (Aeson.FromJSON, Aeson.ToJSON) via JSONEncoding MetadataBLOBPayload
+ src/Crypto/WebAuthn/Metadata/Statement/Decode.hs view
@@ -0,0 +1,145 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE GADTs #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE ScopedTypeVariables #-}++-- | Stability: experimental+-- This module contains functions to further decode+-- [FIDO Metadata Statement](https://fidoalliance.org/specs/mds/fido-metadata-statement-v3.0-ps-20210518.html)+-- IDL types defined in 'Crypto.WebAuthn.Metadata.Statement.IDL' into the Haskell-specific types defined in 'Crypto.WebAuthn.Metadata.Statement.Types'+module Crypto.WebAuthn.Metadata.Statement.Decode+  ( decodeMetadataStatement,+    decodeAAGUID,+    decodeSubjectKeyIdentifier,+    decodeCertificate,+  )+where++import Control.Monad (unless)+import Crypto.Hash (SHA1, digestFromByteString)+import qualified Crypto.WebAuthn.Metadata.FidoRegistry as Registry+import Crypto.WebAuthn.Metadata.Statement.Types (WebauthnAttestationType (WebauthnAttestationAttCA, WebauthnAttestationBasic))+import qualified Crypto.WebAuthn.Metadata.Statement.Types as StatementTypes+import qualified Crypto.WebAuthn.Metadata.Statement.WebIDL as StatementIDL+import qualified Crypto.WebAuthn.Metadata.UAF as UAF+import qualified Crypto.WebAuthn.Model as M+import Crypto.WebAuthn.Model.Identifier (AAGUID (AAGUID), AuthenticatorIdentifier (AuthenticatorIdentifierFido2, AuthenticatorIdentifierFidoU2F), SubjectKeyIdentifier (SubjectKeyIdentifier))+import qualified Crypto.WebAuthn.WebIDL as IDL+import Data.Bifunctor (first)+import qualified Data.ByteString as BS+import qualified Data.ByteString.Base16 as Base16+import qualified Data.ByteString.Base64 as Base64+import Data.List.NonEmpty (NonEmpty)+import qualified Data.List.NonEmpty as NE+import Data.Maybe (mapMaybe)+import Data.Singletons (SingI, sing)+import Data.Text (Text)+import qualified Data.Text as Text+import Data.Text.Encoding (encodeUtf8)+import qualified Data.UUID as UUID+import qualified Data.X509 as X509++-- | Decodes an 'M.AAGUID' from an [aaguid](https://fidoalliance.org/specs/mds/fido-metadata-statement-v3.0-ps-20210518.html#dom-metadatastatement-aaguid) field of a metadata statement or an [aaguid](https://fidoalliance.org/specs/mds/fido-metadata-service-v3.0-ps-20210518.html#dom-metadatablobpayloadentry-aaguid) field of a metadata service payload entry field+decodeAAGUID :: StatementIDL.AAGUID -> Either Text (AuthenticatorIdentifier 'M.Fido2)+decodeAAGUID (StatementIDL.AAGUID aaguidText) = case UUID.fromText aaguidText of+  Nothing -> Left $ "Could not decode metadata aaguid: " <> aaguidText+  Just aaguid -> Right $ AuthenticatorIdentifierFido2 $ AAGUID aaguid++-- | Decodes a 'M.SubjectKeyIdentifier' from an [attestationCertificateKeyIdentifiers](https://fidoalliance.org/specs/mds/fido-metadata-statement-v3.0-ps-20210518.html#dom-metadatastatement-attestationcertificatekeyidentifiers) field of a metadata statement or an [attestationCertificateKeyIdentifiers](https://fidoalliance.org/specs/mds/fido-metadata-service-v3.0-ps-20210518.html#dom-metadatablobpayloadentry-attestationcertificatekeyidentifiers) field of a metadata service payload entry+decodeSubjectKeyIdentifier :: IDL.DOMString -> Either Text (AuthenticatorIdentifier 'M.FidoU2F)+decodeSubjectKeyIdentifier subjectKeyIdentifierText = case Base16.decode (encodeUtf8 subjectKeyIdentifierText) of+  Left err -> Left $ "A attestationCertificateKeyIdentifier failed to parse because it's not a valid base-16 encoding: " <> subjectKeyIdentifierText <> ", error: " <> Text.pack err+  Right bytes -> case digestFromByteString @SHA1 bytes of+    Nothing -> Left $ "A attestationCertificateKeyIdentifier failed to parse because it has the wrong length for a SHA1 hash: " <> subjectKeyIdentifierText+    Just hash -> Right $ AuthenticatorIdentifierFidoU2F $ SubjectKeyIdentifier hash++-- | Decodes a 'X509.SignedCertificate' from an [attestationRootCertificates](https://fidoalliance.org/specs/mds/fido-metadata-statement-v3.0-ps-20210518.html#dom-metadatastatement-attestationrootcertificates) field of a metadata statement or the [certificate](https://fidoalliance.org/specs/mds/fido-metadata-service-v3.0-ps-20210518.html#dom-statusreport-certificate) field of a metadata service status report+decodeCertificate :: IDL.DOMString -> Either Text X509.SignedCertificate+decodeCertificate text =+  -- TODO: Remove Text.strip, it's only needed because of a spec violation, see+  -- <https://github.com/tweag/haskell-fido2/issues/68>+  -- TODO: Don't use decodeLenient, it's only needed because of a spec+  -- violation, see TODO above+  let bytes = Base64.decodeLenient (encodeUtf8 $ Text.strip text)+   in case X509.decodeSignedCertificate bytes of+        Left err -> Left $ "A certificate failed to parse because it's not a valid encoding: " <> text <> ", error: " <> Text.pack err+        Right certificate -> Right certificate++-- | Fully decodes a [MetadataStatement](https://fidoalliance.org/specs/mds/fido-metadata-statement-v3.0-ps-20210518.html#metadata-keys).+-- The @p@ type parameter is the 'StatementIDL.ProtocolFamily' that this metadata statement is for.+decodeMetadataStatement ::+  forall p.+  SingI p =>+  -- | The raw metadata statement, directly parsed from JSON+  StatementIDL.MetadataStatement ->+  -- | Either an early exit with 'Left', where @Left Nothing@ signals that+  -- this entry can be skipped because it's not relevant for Webauthn, and+  -- @Left . Just@ signals that an error happened during decoding+  -- Otherwise a successful result with 'Right'+  Either (Maybe Text) (StatementTypes.MetadataStatement p)+decodeMetadataStatement StatementIDL.MetadataStatement {..} = do+  let msLegalHeader = legalHeader+      msDescription = description+      msAlternativeDescriptions = alternativeDescriptions+      msAuthenticatorVersion = authenticatorVersion+  unless (schema == 3) $ Left $ Just $ "Schema version is not 3 but " <> Text.pack (show schema)+  msUpv <- case sing @p of+    M.SFidoU2F -> first Just $ traverse decodeUpvFidoU2F upv+    M.SFido2 -> first Just $ traverse decodeUpvFido2 upv+  let msAuthenticationAlgorithms = authenticationAlgorithms+      msPublicKeyAlgAndEncodings = publicKeyAlgAndEncodings+  msAttestationTypes <- decodeAttestationTypes attestationTypes+  let msUserVerificationDetails = userVerificationDetails+      msKeyProtection = keyProtection+      msIsKeyRestricted = isKeyRestricted+      msIsFreshUserVerificationRequired = isFreshUserVerificationRequired+      msMatcherProtection = matcherProtection+      msCryptoStrength = cryptoStrength+      msAttachmentHint = attachmentHint+      msTcDisplay = tcDisplay+      msTcDisplayContentType = tcDisplayContentType+      msTcDisplayPNGCharacteristics = tcDisplayPNGCharacteristics+  msAttestationRootCertificates <- case NE.nonEmpty attestationRootCertificates of+    -- > When supporting surrogate basic attestation only, no attestation trust anchor is required/used. So this array MUST be empty in that case.+    -- This will never be the case, because if only surrogate basic attestation is used, then decodeAttestationTypes above will have returned (Left Nothing) already+    Nothing -> Left $ Just "attestationRootCertificates should not be empty"+    Just certs -> first Just $ traverse decodeCertificate certs+  msIcon <- first Just $ traverse decodeIcon icon+  let msSupportedExtensions = supportedExtensions+      msAuthenticatorGetInfo = authenticatorGetInfo+  pure $ StatementTypes.MetadataStatement {..}+  where+    decodeUpvFidoU2F :: UAF.Version -> Either Text (StatementTypes.ProtocolVersion 'M.FidoU2F)+    decodeUpvFidoU2F UAF.Version {UAF.major = 1, UAF.minor = 0} = Right StatementTypes.U2F1_0+    decodeUpvFidoU2F UAF.Version {UAF.major = 1, UAF.minor = 1} = Right StatementTypes.U2F1_1+    decodeUpvFidoU2F UAF.Version {UAF.major = 1, UAF.minor = 2} = Right StatementTypes.U2F1_2+    decodeUpvFidoU2F version = Left $ "Unknown FIDO U2F UPV version: " <> Text.pack (show version)++    decodeUpvFido2 :: UAF.Version -> Either Text (StatementTypes.ProtocolVersion 'M.Fido2)+    decodeUpvFido2 UAF.Version {UAF.major = 1, UAF.minor = 0} = Right StatementTypes.CTAP2_0+    decodeUpvFido2 UAF.Version {UAF.major = 1, UAF.minor = 1} = Right StatementTypes.CTAP2_1+    decodeUpvFido2 version = Left $ "Unknown FIDO2 UPV version: " <> Text.pack (show version)++    -- Turns a non-empty list of 'Registry.AuthenticatorAttestationType' into a non-empty list of 'WebauthnAttestationType'.+    -- If the authenticator doesn't support any webauthn attestation types,+    -- `Left Nothing` is returned, indicating that this authenticator should be ignored+    decodeAttestationTypes ::+      NonEmpty Registry.AuthenticatorAttestationType ->+      Either (Maybe Text) (NonEmpty WebauthnAttestationType)+    decodeAttestationTypes types = case NE.nonEmpty $ mapMaybe transform $ NE.toList types of+      Nothing -> Left Nothing+      Just result -> Right result+      where+        transform :: Registry.AuthenticatorAttestationType -> Maybe WebauthnAttestationType+        transform Registry.ATTESTATION_BASIC_FULL = Just WebauthnAttestationBasic+        transform Registry.ATTESTATION_ATTCA = Just WebauthnAttestationAttCA+        transform _ = Nothing++    -- Decodes the PNG bytes of an [icon](https://fidoalliance.org/specs/mds/fido-metadata-statement-v3.0-ps-20210518.html#dom-metadatastatement-icon) field of a metadata statement+    decodeIcon :: IDL.DOMString -> Either Text BS.ByteString+    decodeIcon dataUrl = case Text.stripPrefix "data:image/png;base64," dataUrl of+      Nothing -> Left $ "Icon decoding failed because there is no \"data:image/png;base64,\" prefix: " <> dataUrl+      Just suffix ->+        -- TODO: Use non-lenient decoding, it's only needed because of a spec violation,+        -- see <https://github.com/tweag/haskell-fido2/issues/68>+        Right $ Base64.decodeLenient (encodeUtf8 suffix)
+ src/Crypto/WebAuthn/Metadata/Statement/Types.hs view
@@ -0,0 +1,113 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE GADTs #-}+{-# LANGUAGE KindSignatures #-}+{-# LANGUAGE StandaloneDeriving #-}++-- | Stability: experimental+-- This module contains additional Haskell-specific type definitions for the+-- [FIDO Metadata Statement](https://fidoalliance.org/specs/mds/fido-metadata-statement-v3.0-ps-20210518.html)+-- specification+module Crypto.WebAuthn.Metadata.Statement.Types+  ( MetadataStatement (..),+    ProtocolVersion (..),+    WebauthnAttestationType (..),+  )+where++import qualified Crypto.WebAuthn.Metadata.FidoRegistry as Registry+import qualified Crypto.WebAuthn.Metadata.Statement.WebIDL as StatementIDL+import qualified Crypto.WebAuthn.Model as M+import Data.Aeson (ToJSON, toJSON)+import qualified Data.ByteString as BS+import Data.List.NonEmpty (NonEmpty)+import Data.Text (Text)+import Data.Word (Word32)+import qualified Data.X509 as X509+import GHC.Generics (Generic)+import GHC.Word (Word16)++-- | [(spec)](https://fidoalliance.org/specs/mds/fido-metadata-statement-v3.0-ps-20210518.html#metadata-keys)+data MetadataStatement (p :: M.ProtocolKind) = MetadataStatement+  { -- | [(spec)](https://fidoalliance.org/specs/mds/fido-metadata-statement-v3.0-ps-20210518.html#dom-metadatastatement-legalheader)+    msLegalHeader :: Text,+    -- msAaid, msAaguid, attestationCertificateKeyIdentifiers: These fields are the key of the hashmaps in MetadataServiceRegistry++    -- | [(spec)](https://fidoalliance.org/specs/mds/fido-metadata-statement-v3.0-ps-20210518.html#dom-metadatastatement-description)+    msDescription :: Text,+    -- | [(spec)](https://fidoalliance.org/specs/mds/fido-metadata-statement-v3.0-ps-20210518.html#dom-metadatastatement-alternativedescriptions)+    msAlternativeDescriptions :: Maybe StatementIDL.AlternativeDescriptions,+    -- | [(spec)](https://fidoalliance.org/specs/mds/fido-metadata-statement-v3.0-ps-20210518.html#dom-metadatastatement-authenticatorversion)+    msAuthenticatorVersion :: Word32,+    -- protocolFamily, encoded as the type-level p+    -- msSchema, this is always schema version 3++    -- | [(spec)](https://fidoalliance.org/specs/mds/fido-metadata-statement-v3.0-ps-20210518.html#dom-metadatastatement-upv)+    msUpv :: NonEmpty (ProtocolVersion p),+    -- | [(spec)](https://fidoalliance.org/specs/mds/fido-metadata-statement-v3.0-ps-20210518.html#dom-metadatastatement-authenticationalgorithms)+    msAuthenticationAlgorithms :: NonEmpty Registry.AuthenticationAlgorithm,+    -- | [(spec)](https://fidoalliance.org/specs/mds/fido-metadata-statement-v3.0-ps-20210518.html#dom-metadatastatement-publickeyalgandencodings)+    msPublicKeyAlgAndEncodings :: NonEmpty Registry.PublicKeyRepresentationFormat,+    -- | [(spec)](https://fidoalliance.org/specs/mds/fido-metadata-statement-v3.0-ps-20210518.html#dom-metadatastatement-attestationtypes)+    msAttestationTypes :: NonEmpty WebauthnAttestationType,+    -- | [(spec)](https://fidoalliance.org/specs/mds/fido-metadata-statement-v3.0-ps-20210518.html#dom-metadatastatement-userverificationdetails)+    msUserVerificationDetails :: NonEmpty StatementIDL.VerificationMethodANDCombinations,+    -- | [(spec)](https://fidoalliance.org/specs/mds/fido-metadata-statement-v3.0-ps-20210518.html#dom-metadatastatement-keyprotection)+    msKeyProtection :: NonEmpty Registry.KeyProtectionType,+    -- | [(spec)](https://fidoalliance.org/specs/mds/fido-metadata-statement-v3.0-ps-20210518.html#dom-metadatastatement-iskeyrestricted)+    msIsKeyRestricted :: Maybe Bool,+    -- | [(spec)](https://fidoalliance.org/specs/mds/fido-metadata-statement-v3.0-ps-20210518.html#dom-metadatastatement-isfreshuserverificationrequired)+    msIsFreshUserVerificationRequired :: Maybe Bool,+    -- | [(spec)](https://fidoalliance.org/specs/mds/fido-metadata-statement-v3.0-ps-20210518.html#dom-metadatastatement-matcherprotection)+    msMatcherProtection :: NonEmpty Registry.MatcherProtectionType,+    -- | [(spec)](https://fidoalliance.org/specs/mds/fido-metadata-statement-v3.0-ps-20210518.html#dom-metadatastatement-cryptostrength)+    msCryptoStrength :: Maybe Word16,+    -- | [(spec)](https://fidoalliance.org/specs/mds/fido-metadata-statement-v3.0-ps-20210518.html#dom-metadatastatement-attachmenthint)+    msAttachmentHint :: NonEmpty Registry.AuthenticatorAttachmentHint,+    -- | [(spec)](https://fidoalliance.org/specs/mds/fido-metadata-statement-v3.0-ps-20210518.html#dom-metadatastatement-tcdisplay)+    msTcDisplay :: [Registry.TransactionConfirmationDisplayType],+    -- | [(spec)](https://fidoalliance.org/specs/mds/fido-metadata-statement-v3.0-ps-20210518.html#dom-metadatastatement-tcdisplaycontenttype)+    msTcDisplayContentType :: Maybe Text,+    -- | [(spec)](https://fidoalliance.org/specs/mds/fido-metadata-statement-v3.0-ps-20210518.html#dom-metadatastatement-tcdisplaypngcharacteristics)+    msTcDisplayPNGCharacteristics :: Maybe (NonEmpty StatementIDL.DisplayPNGCharacteristicsDescriptor),+    -- | [(spec)](https://fidoalliance.org/specs/mds/fido-metadata-statement-v3.0-ps-20210518.html#dom-metadatastatement-attestationrootcertificates)+    msAttestationRootCertificates :: NonEmpty X509.SignedCertificate,+    -- msEcdaaTrustAnchors, not needed for the subset we implement, FIDO 2 and FIDO U2F++    -- | [(spec)](https://fidoalliance.org/specs/mds/fido-metadata-statement-v3.0-ps-20210518.html#dom-metadatastatement-icon)+    msIcon :: Maybe BS.ByteString,+    -- | [(spec)](https://fidoalliance.org/specs/mds/fido-metadata-statement-v3.0-ps-20210518.html#dom-metadatastatement-supportedextensions)+    msSupportedExtensions :: Maybe (NonEmpty StatementIDL.ExtensionDescriptor),+    -- | [(spec)](https://fidoalliance.org/specs/mds/fido-metadata-statement-v3.0-ps-20210518.html#dom-metadatastatement-authenticatorgetinfo)+    msAuthenticatorGetInfo :: Maybe StatementIDL.AuthenticatorGetInfo+  }+  deriving (Eq, Show, Generic, ToJSON)++-- | FIDO protocol versions, parametrized by the protocol family+data ProtocolVersion (p :: M.ProtocolKind) where+  -- | FIDO U2F 1.0+  U2F1_0 :: ProtocolVersion 'M.FidoU2F+  -- | FIDO U2F 1.1+  U2F1_1 :: ProtocolVersion 'M.FidoU2F+  -- | FIDO U2F 1.2+  U2F1_2 :: ProtocolVersion 'M.FidoU2F+  -- | FIDO 2, CTAP 2.0+  CTAP2_0 :: ProtocolVersion 'M.Fido2+  -- | FIDO 2, CTAP 2.1+  CTAP2_1 :: ProtocolVersion 'M.Fido2++deriving instance Eq (ProtocolVersion p)++deriving instance Show (ProtocolVersion p)++instance ToJSON (ProtocolVersion p) where+  toJSON U2F1_0 = "U2F 1.0"+  toJSON U2F1_1 = "U2F 1.1"+  toJSON U2F1_2 = "U2F 1.2"+  toJSON CTAP2_0 = "CTAP 2.0"+  toJSON CTAP2_1 = "CTAP 2.1"++-- | Values of 'Registry.AuthenticatorAttestationType' but limited to the ones possible with Webauthn, see https://www.w3.org/TR/webauthn-2/#sctn-attestation-types+data WebauthnAttestationType+  = WebauthnAttestationBasic+  | WebauthnAttestationAttCA+  deriving (Eq, Show, Generic, ToJSON)
+ src/Crypto/WebAuthn/Metadata/Statement/WebIDL.hs view
@@ -0,0 +1,264 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DuplicateRecordFields #-}++-- | Stability: experimental+-- Type definitions directly corresponding to the+-- [FIDO Metadata Service](https://fidoalliance.org/specs/mds/fido-metadata-statement-v3.0-ps-20210518.html)+-- specification.+module Crypto.WebAuthn.Metadata.Statement.WebIDL+  ( -- * Types+    AAGUID (..),+    CodeAccuracyDescriptor (..),+    BiometricAccuracyDescriptor (..),+    PatternAccuracyDescriptor (..),+    VerificationMethodDescriptor (..),+    VerificationMethodANDCombinations (..),+    RgbPaletteEntry (..),+    DisplayPNGCharacteristicsDescriptor (..),+    EcdaaTrustAnchor (..),+    ExtensionDescriptor (..),+    AlternativeDescriptions (..),+    AuthenticatorGetInfo (..),+    ProtocolFamily (..),++    -- * Metadata Statement+    MetadataStatement (..),+  )+where++import Crypto.WebAuthn.Internal.Utils (CustomJSON (CustomJSON), EnumJSONEncoding, JSONEncoding)+import qualified Crypto.WebAuthn.Metadata.FidoRegistry as Registry+import qualified Crypto.WebAuthn.Metadata.UAF as UAF+import qualified Crypto.WebAuthn.WebIDL as IDL+import qualified Data.Aeson as Aeson+import Data.List.NonEmpty (NonEmpty)+import Data.Map (Map)+import Data.Text (Text)+import GHC.Generics (Generic)++-- | [(spec)](https://fidoalliance.org/specs/mds/fido-metadata-statement-v3.0-ps-20210518.html#authenticator-attestation-guid-aaguid-typedef)+newtype AAGUID = AAGUID IDL.DOMString+  deriving (Show, Eq)+  deriving newtype (Aeson.FromJSON, Aeson.ToJSON)++-- | [(spec)](https://fidoalliance.org/specs/mds/fido-metadata-statement-v3.0-ps-20210518.html#codeaccuracydescriptor-dictionary)+data CodeAccuracyDescriptor = CodeAccuracyDescriptor+  { -- | [(spec)](https://fidoalliance.org/specs/mds/fido-metadata-statement-v3.0-ps-20210518.html#dom-codeaccuracydescriptor-base)+    base :: IDL.UnsignedShort,+    -- | [(spec)](https://fidoalliance.org/specs/mds/fido-metadata-statement-v3.0-ps-20210518.html#dom-codeaccuracydescriptor-minlength)+    minLength :: IDL.UnsignedShort,+    -- | [(spec)](https://fidoalliance.org/specs/mds/fido-metadata-statement-v3.0-ps-20210518.html#dom-codeaccuracydescriptor-maxretries)+    maxRetries :: Maybe IDL.UnsignedShort,+    -- | [(spec)](https://fidoalliance.org/specs/mds/fido-metadata-statement-v3.0-ps-20210518.html#dom-codeaccuracydescriptor-blockslowdown)+    blockSlowdown :: Maybe IDL.UnsignedShort+  }+  deriving (Show, Eq, Generic)+  deriving (Aeson.FromJSON, Aeson.ToJSON) via JSONEncoding CodeAccuracyDescriptor++-- | [(spec)](https://fidoalliance.org/specs/mds/fido-metadata-statement-v3.0-ps-20210518.html#biometricaccuracydescriptor-dictionary)+data BiometricAccuracyDescriptor = BiometricAccuracyDescriptor+  { -- | [(spec)](https://fidoalliance.org/specs/mds/fido-metadata-statement-v3.0-ps-20210518.html#dom-biometricaccuracydescriptor-selfattestedfrr)+    selfAttestedFRR :: Maybe IDL.Double,+    -- | [(spec)](https://fidoalliance.org/specs/mds/fido-metadata-statement-v3.0-ps-20210518.html#dom-biometricaccuracydescriptor-selfattestedfar)+    selfAttestedFAR :: Maybe IDL.Double,+    -- | [(spec)](https://fidoalliance.org/specs/mds/fido-metadata-statement-v3.0-ps-20210518.html#dom-biometricaccuracydescriptor-maxtemplates)+    maxTemplates :: Maybe IDL.UnsignedShort,+    -- | [(spec)](https://fidoalliance.org/specs/mds/fido-metadata-statement-v3.0-ps-20210518.html#dom-biometricaccuracydescriptor-maxretries)+    maxRetries :: Maybe IDL.UnsignedShort,+    -- | [(spec)](https://fidoalliance.org/specs/mds/fido-metadata-statement-v3.0-ps-20210518.html#dom-biometricaccuracydescriptor-blockslowdown)+    blockSlowdown :: Maybe IDL.UnsignedShort+  }+  deriving (Show, Eq, Generic)+  deriving (Aeson.FromJSON, Aeson.ToJSON) via JSONEncoding BiometricAccuracyDescriptor++-- | [(spec)](https://fidoalliance.org/specs/mds/fido-metadata-statement-v3.0-ps-20210518.html#patternaccuracydescriptor-dictionary)+data PatternAccuracyDescriptor = PatternAccuracyDescriptor+  { -- | [(spec)](https://fidoalliance.org/specs/mds/fido-metadata-statement-v3.0-ps-20210518.html#dom-patternaccuracydescriptor-mincomplexity)+    -- FIXME: The spec declares this as an unsigned long, but the blob they+    -- provide has a value in it (34359738368) that doesn't fit into an+    -- unsigned long. See <https://github.com/tweag/webauthn/issues/68>.+    minComplexity :: IDL.UnsignedLongLong,+    -- | [(spec)](https://fidoalliance.org/specs/mds/fido-metadata-statement-v3.0-ps-20210518.html#dom-patternaccuracydescriptor-maxretries)+    maxRetries :: Maybe IDL.UnsignedShort,+    -- | [(spec)](https://fidoalliance.org/specs/mds/fido-metadata-statement-v3.0-ps-20210518.html#dom-patternaccuracydescriptor-blockslowdown)+    blockSlowdown :: Maybe IDL.UnsignedShort+  }+  deriving (Show, Eq, Generic)+  deriving (Aeson.FromJSON, Aeson.ToJSON) via JSONEncoding PatternAccuracyDescriptor++-- | [(spec)](https://fidoalliance.org/specs/mds/fido-metadata-statement-v3.0-ps-20210518.html#verificationmethoddescriptor-dictionary)+data VerificationMethodDescriptor = VerificationMethodDescriptor+  { -- | [(spec)](https://fidoalliance.org/specs/mds/fido-metadata-statement-v3.0-ps-20210518.html#dom-verificationmethoddescriptor-userverificationmethod)+    userVerificationMethod :: Registry.UserVerificationMethod,+    -- | [(spec)](https://fidoalliance.org/specs/mds/fido-metadata-statement-v3.0-ps-20210518.html#dom-verificationmethoddescriptor-cadesc)+    caDesc :: Maybe CodeAccuracyDescriptor,+    -- | [(spec)](https://fidoalliance.org/specs/mds/fido-metadata-statement-v3.0-ps-20210518.html#dom-verificationmethoddescriptor-badesc)+    baDesc :: Maybe BiometricAccuracyDescriptor,+    -- | [(spec)](https://fidoalliance.org/specs/mds/fido-metadata-statement-v3.0-ps-20210518.html#dom-verificationmethoddescriptor-padesc)+    paDesc :: Maybe PatternAccuracyDescriptor+  }+  deriving (Show, Eq, Generic)+  deriving (Aeson.FromJSON, Aeson.ToJSON) via JSONEncoding VerificationMethodDescriptor++-- | [(spec)](https://fidoalliance.org/specs/mds/fido-metadata-statement-v3.0-ps-20210518.html#verificationmethodandcombinations-typedef)+newtype VerificationMethodANDCombinations = VerificationMethodANDCombinations (NonEmpty VerificationMethodDescriptor)+  deriving (Show, Eq)+  deriving newtype (Aeson.FromJSON, Aeson.ToJSON)++-- | [(spec)](https://fidoalliance.org/specs/mds/fido-metadata-statement-v3.0-ps-20210518.html#rgbpaletteentry-dictionary)+data RgbPaletteEntry = RgbPaletteEntry+  { -- | [(spec)](https://fidoalliance.org/specs/mds/fido-metadata-statement-v3.0-ps-20210518.html#dom-rgbpaletteentry-r)+    r :: IDL.UnsignedShort,+    -- | [(spec)](https://fidoalliance.org/specs/mds/fido-metadata-statement-v3.0-ps-20210518.html#dom-rgbpaletteentry-g)+    g :: IDL.UnsignedShort,+    -- | [(spec)](https://fidoalliance.org/specs/mds/fido-metadata-statement-v3.0-ps-20210518.html#dom-rgbpaletteentry-b)+    b :: IDL.UnsignedShort+  }+  deriving (Show, Eq, Generic)+  deriving (Aeson.FromJSON, Aeson.ToJSON) via JSONEncoding RgbPaletteEntry++-- | [(spec)](https://fidoalliance.org/specs/mds/fido-metadata-statement-v3.0-ps-20210518.html#displaypngcharacteristicsdescriptor-dictionary)+data DisplayPNGCharacteristicsDescriptor = DisplayPNGCharacteristicsDescriptor+  { -- | [(spec)](https://fidoalliance.org/specs/mds/fido-metadata-statement-v3.0-ps-20210518.html#dom-displaypngcharacteristicsdescriptor-width)+    width :: IDL.UnsignedLong,+    -- | [(spec)](https://fidoalliance.org/specs/mds/fido-metadata-statement-v3.0-ps-20210518.html#dom-displaypngcharacteristicsdescriptor-height)+    height :: IDL.UnsignedLong,+    -- | [(spec)](https://fidoalliance.org/specs/mds/fido-metadata-statement-v3.0-ps-20210518.html#dom-displaypngcharacteristicsdescriptor-bitdepth)+    bitDepth :: IDL.Octet,+    -- | [(spec)](https://fidoalliance.org/specs/mds/fido-metadata-statement-v3.0-ps-20210518.html#dom-displaypngcharacteristicsdescriptor-colortype)+    colorType :: IDL.Octet,+    -- | [(spec)](https://fidoalliance.org/specs/mds/fido-metadata-statement-v3.0-ps-20210518.html#dom-displaypngcharacteristicsdescriptor-compression)+    compression :: IDL.Octet,+    -- | [(spec)](https://fidoalliance.org/specs/mds/fido-metadata-statement-v3.0-ps-20210518.html#dom-displaypngcharacteristicsdescriptor-filter)+    filter :: IDL.Octet,+    -- | [(spec)](https://fidoalliance.org/specs/mds/fido-metadata-statement-v3.0-ps-20210518.html#dom-displaypngcharacteristicsdescriptor-interlace)+    interlace :: IDL.Octet,+    -- | [(spec)](https://fidoalliance.org/specs/mds/fido-metadata-statement-v3.0-ps-20210518.html#dom-displaypngcharacteristicsdescriptor-plte)+    plte :: Maybe (NonEmpty RgbPaletteEntry)+  }+  deriving (Show, Eq, Generic)+  deriving (Aeson.FromJSON, Aeson.ToJSON) via JSONEncoding DisplayPNGCharacteristicsDescriptor++-- | [(spec)](https://fidoalliance.org/specs/mds/fido-metadata-statement-v3.0-ps-20210518.html#ecdaatrustanchor-dictionary)+data EcdaaTrustAnchor = EcdaaTrustAnchor+  { -- | [(spec)](https://fidoalliance.org/specs/mds/fido-metadata-statement-v3.0-ps-20210518.html#dom-ecdaatrustanchor-x)+    litX :: IDL.DOMString,+    -- | [(spec)](https://fidoalliance.org/specs/mds/fido-metadata-statement-v3.0-ps-20210518.html#dom-ecdaatrustanchor-y)+    litY :: IDL.DOMString,+    -- | [(spec)](https://fidoalliance.org/specs/mds/fido-metadata-statement-v3.0-ps-20210518.html#dom-ecdaatrustanchor-c)+    c :: IDL.DOMString,+    -- | [(spec)](https://fidoalliance.org/specs/mds/fido-metadata-statement-v3.0-ps-20210518.html#dom-ecdaatrustanchor-sx)+    sx :: IDL.DOMString,+    -- | [(spec)](https://fidoalliance.org/specs/mds/fido-metadata-statement-v3.0-ps-20210518.html#dom-ecdaatrustanchor-sy)+    sy :: IDL.DOMString,+    -- | [(spec)](https://fidoalliance.org/specs/mds/fido-metadata-statement-v3.0-ps-20210518.html#dom-ecdaatrustanchor-g1curve)+    litG1Curve :: IDL.DOMString+  }+  deriving (Show, Eq, Generic)+  deriving (Aeson.FromJSON, Aeson.ToJSON) via JSONEncoding EcdaaTrustAnchor++-- | [(spec)](https://fidoalliance.org/specs/mds/fido-metadata-statement-v3.0-ps-20210518.html#extensiondescriptor-dictionary)+data ExtensionDescriptor = ExtensionDescriptor+  { -- | [(spec)](https://fidoalliance.org/specs/mds/fido-metadata-statement-v3.0-ps-20210518.html#dom-extensiondescriptor-id)+    id :: IDL.DOMString,+    -- | [(spec)](https://fidoalliance.org/specs/mds/fido-metadata-statement-v3.0-ps-20210518.html#dom-extensiondescriptor-tag)+    tag :: Maybe IDL.UnsignedShort,+    -- | [(spec)](https://fidoalliance.org/specs/mds/fido-metadata-statement-v3.0-ps-20210518.html#dom-extensiondescriptor-data)+    litdata :: Maybe IDL.DOMString,+    -- | [(spec)](https://fidoalliance.org/specs/mds/fido-metadata-statement-v3.0-ps-20210518.html#dom-extensiondescriptor-fail_if_unknown)+    fail_if_unknown :: IDL.Boolean+  }+  deriving (Show, Eq, Generic)+  deriving (Aeson.FromJSON, Aeson.ToJSON) via JSONEncoding ExtensionDescriptor++-- | [(spec)](https://fidoalliance.org/specs/mds/fido-metadata-statement-v3.0-ps-20210518.html#alternativedescriptions-dictionary)+-- TODO: Replace Text with+-- <https://hackage.haskell.org/package/aeson-2.0.2.0/docs/Data-Aeson-Key.html#t:Key>+-- when updating aeson. Updating aeson is currently blocked by+-- <https://github.com/fumieval/deriving-aeson/issues/16>.+newtype AlternativeDescriptions = AlternativeDescriptions (Map Text IDL.DOMString)+  deriving (Show, Eq)+  deriving newtype (Aeson.FromJSON, Aeson.ToJSON)++-- | [(spec)](https://fidoalliance.org/specs/mds/fido-metadata-statement-v3.0-ps-20210518.html#authenticatorgetinfo-dictionary)+newtype AuthenticatorGetInfo+  = -- TODO: Replace Text with+    -- <https://hackage.haskell.org/package/aeson-2.0.2.0/docs/Data-Aeson-Key.html#t:Key>+    -- when updating aeson. Updating aeson is currently blocked by+    -- <https://github.com/fumieval/deriving-aeson/issues/16>.+    -- FIXME: The spec wrongfully declares the values to be DOMString's when+    -- they really aren't in the provided blob. See:+    -- <https://github.com/tweag/webauthn/issues/68>+    AuthenticatorGetInfo (Map Text Aeson.Value)+  deriving (Show, Eq)+  deriving newtype (Aeson.FromJSON, Aeson.ToJSON)++-- | [(spec)](https://fidoalliance.org/specs/mds/fido-metadata-statement-v3.0-ps-20210518.html#metadata-keys)+data MetadataStatement = MetadataStatement+  { -- | [(spec)](https://fidoalliance.org/specs/mds/fido-metadata-statement-v3.0-ps-20210518.html#dom-metadatastatement-legalheader)+    legalHeader :: IDL.DOMString,+    -- | [(spec)](https://fidoalliance.org/specs/mds/fido-metadata-statement-v3.0-ps-20210518.html#dom-metadatastatement-aaid)+    aaid :: Maybe UAF.AAID,+    -- | [(spec)](https://fidoalliance.org/specs/mds/fido-metadata-statement-v3.0-ps-20210518.html#dom-metadatastatement-aaguid)+    aaguid :: Maybe AAGUID,+    -- | [(spec)](https://fidoalliance.org/specs/mds/fido-metadata-statement-v3.0-ps-20210518.html#dom-metadatastatement-attestationcertificatekeyidentifiers)+    attestationCertificateKeyIdentifiers :: Maybe (NonEmpty UAF.KeyIdentifier),+    -- | [(spec)](https://fidoalliance.org/specs/mds/fido-metadata-statement-v3.0-ps-20210518.html#dom-metadatastatement-description)+    description :: IDL.DOMString,+    -- | [(spec)](https://fidoalliance.org/specs/mds/fido-metadata-statement-v3.0-ps-20210518.html#dom-metadatastatement-alternativedescriptions)+    alternativeDescriptions :: Maybe AlternativeDescriptions,+    -- | [(spec)](https://fidoalliance.org/specs/mds/fido-metadata-statement-v3.0-ps-20210518.html#dom-metadatastatement-authenticatorversion)+    authenticatorVersion :: IDL.UnsignedLong,+    -- | [(spec)](https://fidoalliance.org/specs/mds/fido-metadata-statement-v3.0-ps-20210518.html#dom-metadatastatement-protocolfamily)+    protocolFamily :: ProtocolFamily,+    -- | [(spec)](https://fidoalliance.org/specs/mds/fido-metadata-statement-v3.0-ps-20210518.html#dom-metadatastatement-schema)+    schema :: IDL.UnsignedShort,+    -- | [(spec)](https://fidoalliance.org/specs/mds/fido-metadata-statement-v3.0-ps-20210518.html#dom-metadatastatement-upv)+    upv :: NonEmpty UAF.Version,+    -- | [(spec)](https://fidoalliance.org/specs/mds/fido-metadata-statement-v3.0-ps-20210518.html#dom-metadatastatement-authenticationalgorithms)+    authenticationAlgorithms :: NonEmpty Registry.AuthenticationAlgorithm,+    -- | [(spec)](https://fidoalliance.org/specs/mds/fido-metadata-statement-v3.0-ps-20210518.html#dom-metadatastatement-publickeyalgandencodings)+    publicKeyAlgAndEncodings :: NonEmpty Registry.PublicKeyRepresentationFormat,+    -- | [(spec)](https://fidoalliance.org/specs/mds/fido-metadata-statement-v3.0-ps-20210518.html#dom-metadatastatement-attestationtypes)+    attestationTypes :: NonEmpty Registry.AuthenticatorAttestationType,+    -- | [(spec)](https://fidoalliance.org/specs/mds/fido-metadata-statement-v3.0-ps-20210518.html#dom-metadatastatement-userverificationdetails)+    userVerificationDetails :: NonEmpty VerificationMethodANDCombinations,+    -- | [(spec)](https://fidoalliance.org/specs/mds/fido-metadata-statement-v3.0-ps-20210518.html#dom-metadatastatement-keyprotection)+    keyProtection :: NonEmpty Registry.KeyProtectionType,+    -- | [(spec)](https://fidoalliance.org/specs/mds/fido-metadata-statement-v3.0-ps-20210518.html#dom-metadatastatement-iskeyrestricted)+    isKeyRestricted :: Maybe IDL.Boolean,+    -- | [(spec)](https://fidoalliance.org/specs/mds/fido-metadata-statement-v3.0-ps-20210518.html#dom-metadatastatement-isfreshuserverificationrequired)+    isFreshUserVerificationRequired :: Maybe IDL.Boolean,+    -- | [(spec)](https://fidoalliance.org/specs/mds/fido-metadata-statement-v3.0-ps-20210518.html#dom-metadatastatement-matcherprotection)+    matcherProtection :: NonEmpty Registry.MatcherProtectionType,+    -- | [(spec)](https://fidoalliance.org/specs/mds/fido-metadata-statement-v3.0-ps-20210518.html#dom-metadatastatement-cryptostrength)+    cryptoStrength :: Maybe IDL.UnsignedShort,+    -- | [(spec)](https://fidoalliance.org/specs/mds/fido-metadata-statement-v3.0-ps-20210518.html#dom-metadatastatement-attachmenthint)+    attachmentHint :: NonEmpty Registry.AuthenticatorAttachmentHint,+    -- | [(spec)](https://fidoalliance.org/specs/mds/fido-metadata-statement-v3.0-ps-20210518.html#dom-metadatastatement-tcdisplay)+    tcDisplay :: [Registry.TransactionConfirmationDisplayType],+    -- | [(spec)](https://fidoalliance.org/specs/mds/fido-metadata-statement-v3.0-ps-20210518.html#dom-metadatastatement-tcdisplaycontenttype)+    tcDisplayContentType :: Maybe IDL.DOMString,+    -- | [(spec)](https://fidoalliance.org/specs/mds/fido-metadata-statement-v3.0-ps-20210518.html#dom-metadatastatement-tcdisplaypngcharacteristics)+    tcDisplayPNGCharacteristics :: Maybe (NonEmpty DisplayPNGCharacteristicsDescriptor),+    -- | [(spec)](https://fidoalliance.org/specs/mds/fido-metadata-statement-v3.0-ps-20210518.html#dom-metadatastatement-attestationrootcertificates)+    attestationRootCertificates :: [IDL.DOMString],+    -- | [(spec)](https://fidoalliance.org/specs/mds/fido-metadata-statement-v3.0-ps-20210518.html#dom-metadatastatement-ecdaatrustanchors)+    ecdaaTrustAnchors :: Maybe (NonEmpty EcdaaTrustAnchor),+    -- | [(spec)](https://fidoalliance.org/specs/mds/fido-metadata-statement-v3.0-ps-20210518.html#dom-metadatastatement-icon)+    icon :: Maybe IDL.DOMString,+    -- | [(spec)](https://fidoalliance.org/specs/mds/fido-metadata-statement-v3.0-ps-20210518.html#dom-metadatastatement-supportedextensions)+    supportedExtensions :: Maybe (NonEmpty ExtensionDescriptor),+    -- | [(spec)](https://fidoalliance.org/specs/mds/fido-metadata-statement-v3.0-ps-20210518.html#dom-metadatastatement-authenticatorgetinfo)+    authenticatorGetInfo :: Maybe AuthenticatorGetInfo+  }+  deriving (Show, Eq, Generic)+  deriving (Aeson.FromJSON, Aeson.ToJSON) via JSONEncoding MetadataStatement++-- | Possible FIDO protocol families for 'protocolFamily'+data ProtocolFamily+  = ProtocolFamilyUAF+  | ProtocolFamilyU2F+  | ProtocolFamilyFIDO2+  deriving (Show, Eq, Generic)+  deriving (Aeson.FromJSON, Aeson.ToJSON) via EnumJSONEncoding "ProtocolFamily" ProtocolFamily
+ src/Crypto/WebAuthn/Metadata/UAF.hs view
@@ -0,0 +1,38 @@+-- | Stability: experimental+-- Types related to the FIDO UAF Protocol as defined in the relevant+-- [(spec)](https://fidoalliance.org/specs/fido-uaf-v1.2-ps-20201020/fido-uaf-protocol-v1.2-ps-20201020.html)+module Crypto.WebAuthn.Metadata.UAF+  ( AAID (..),+    KeyIdentifier (..),+    Version (..),+  )+where++import Crypto.WebAuthn.Internal.Utils (JSONEncoding)+import qualified Crypto.WebAuthn.WebIDL as IDL+import qualified Data.Aeson as Aeson+import Data.Text (Text)+import qualified Deriving.Aeson as Aeson+import GHC.Generics (Generic)++-- | [(spec)](https://fidoalliance.org/specs/fido-uaf-v1.2-ps-20201020/fido-uaf-protocol-v1.2-ps-20201020.html#authenticator-attestation-id-aaid-typedef)+newtype AAID = AAID Text+  deriving (Show, Eq)+  deriving newtype (Aeson.FromJSON, Aeson.ToJSON)++-- | Hex string, this value MUST be calculated according to method 1 for+-- computing the keyIdentifier as defined in+-- [RFC5280 section 4.2.1.2](https://datatracker.ietf.org/doc/html/rfc5280#section-4.2.1.2).+newtype KeyIdentifier = KeyIdentifier Text+  deriving (Show, Eq)+  deriving newtype (Aeson.FromJSON, Aeson.ToJSON)++-- | [(spec)](https://fidoalliance.org/specs/fido-uaf-v1.2-ps-20201020/fido-uaf-protocol-v1.2-ps-20201020.html#version-interface)+data Version = Version+  { -- | [(spec)](https://fidoalliance.org/specs/fido-uaf-v1.2-ps-20201020/fido-uaf-protocol-v1.2-ps-20201020.html#widl-Version-major)+    major :: IDL.UnsignedShort,+    -- | [(spec)](https://fidoalliance.org/specs/fido-uaf-v1.2-ps-20201020/fido-uaf-protocol-v1.2-ps-20201020.html#widl-Version-minor)+    minor :: IDL.UnsignedShort+  }+  deriving (Show, Eq, Generic)+  deriving (Aeson.FromJSON, Aeson.ToJSON) via JSONEncoding Version
+ src/Crypto/WebAuthn/Model.hs view
@@ -0,0 +1,37 @@+{-# OPTIONS_GHC -Wno-missing-import-lists #-}++-- | Stability: experimental+-- A set of types representing credential options ('CredentialOptions')+-- and their resulting credentials responses ('Credential').+--+-- Also includes a set of functions for indirectly encoding credential+-- options to JSON ('encodeCredentialOptionsRegistration',+-- 'encodeCredentialOptionsAuthentication') and indirectly decoding+-- credential responses from JSON ('decodeCredentialRegistration',+-- 'decodeCredentialAuthentication'), using the same encoding as+-- [webauthn-json](https://github.com/github/webauthn-json) which can be+-- used on the JavaScript side.+--+-- The types in this module form one way the library represents the WebAuthn+-- types, another are the internal WebIDL modules, which is a lower-level, more+-- one-to-one mapping. As a user of the library, you will most likely use the+-- representation in this module over the one in the WebIDL modules.+--+-- This module is reexported by the "Crypto.WebAuthn" module, which is the+-- preferred way of using it.+module Crypto.WebAuthn.Model+  ( module Crypto.WebAuthn.Model.Identifier,+    module Crypto.WebAuthn.Model.Kinds,+    module Crypto.WebAuthn.Model.Types,+    module Crypto.WebAuthn.Model.WebIDL,+    module Crypto.WebAuthn.Cose.Algorithm,+    module Crypto.WebAuthn.Cose.Key,+  )+where++import Crypto.WebAuthn.Cose.Algorithm+import Crypto.WebAuthn.Cose.Key+import Crypto.WebAuthn.Model.Identifier+import Crypto.WebAuthn.Model.Kinds+import Crypto.WebAuthn.Model.Types+import Crypto.WebAuthn.Model.WebIDL
+ src/Crypto/WebAuthn/Model/Identifier.hs view
@@ -0,0 +1,77 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE GADTs #-}+{-# LANGUAGE KindSignatures #-}+{-# LANGUAGE StandaloneDeriving #-}++-- | Stability: experimental+-- This module concerns identification of authenticatiors, notably 'AAGUID',+-- 'SubjectKeyIdentifier' and a generic identifier type 'AuthenticatorIdentifier'+module Crypto.WebAuthn.Model.Identifier+  ( AuthenticatorIdentifier (..),+    AAGUID (..),+    SubjectKeyIdentifier (..),+  )+where++import Crypto.Hash (Digest, SHA1)+import Crypto.WebAuthn.Internal.ToJSONOrphans ()+import qualified Crypto.WebAuthn.Model.Kinds as M+import Data.Aeson (KeyValue ((.=)), ToJSON (toJSON), Value (String), object)+import Data.ByteArray (convert)+import qualified Data.ByteString as BS+import Data.Hashable (Hashable (hashWithSalt), hashUsing)+import Data.UUID (UUID)++-- | [(spec)](https://www.w3.org/TR/webauthn-2/#aaguid)+newtype AAGUID = AAGUID {unAAGUID :: UUID}+  deriving (Eq, Show)+  deriving newtype (Hashable, ToJSON)++-- | A way to identify an authenticator+data AuthenticatorIdentifier (p :: M.ProtocolKind) where+  -- | [(spec)](https://fidoalliance.org/specs/mds/fido-metadata-statement-v3.0-ps-20210518.html#dom-metadatastatement-aaguid)+  -- A known FIDO2 [authenticator](https://www.w3.org/TR/webauthn-2/#authenticator),+  -- identified by a 'AAGUID'. Note that the 'AAGUID' may be zero, meaning that+  -- we were able to verify that the [public key credential](https://www.w3.org/TR/webauthn-2/#public-key-credential).+  -- was generated by a trusted [authenticator](https://www.w3.org/TR/webauthn-2/#authenticator),+  -- but we don't know which model it is.+  AuthenticatorIdentifierFido2 ::+    {idAaguid :: AAGUID} ->+    AuthenticatorIdentifier 'M.Fido2+  -- | [(spec)](https://fidoalliance.org/specs/mds/fido-metadata-statement-v3.0-ps-20210518.html#dom-metadatastatement-attestationcertificatekeyidentifiers)+  -- A known FIDO U2F [authenticator](https://www.w3.org/TR/webauthn-2/#authenticator),+  -- identified by a 'SubjectKeyIdentifier'. Clients that don't implement CTAP2+  -- (which is used to communicate with FIDO2 authenticators) will use U2F to+  -- communicate with the authenticator instead, which doesn't have support for 'AAGUID's.+  AuthenticatorIdentifierFidoU2F ::+    {idSubjectKeyIdentifier :: SubjectKeyIdentifier} ->+    AuthenticatorIdentifier 'M.FidoU2F++deriving instance Show (AuthenticatorIdentifier p)++deriving instance Eq (AuthenticatorIdentifier p)++instance ToJSON (AuthenticatorIdentifier p) where+  toJSON (AuthenticatorIdentifierFido2 aaguid) =+    object+      [ "tag" .= String "AuthenticatorIdentifierFido2",+        "idAaguid" .= aaguid+      ]+  toJSON (AuthenticatorIdentifierFidoU2F subjectKeyIdentifier) =+    object+      [ "tag" .= String "AuthenticatorIdentifierFidoU2F",+        "idSubjectKeyIdentifier" .= subjectKeyIdentifier+      ]++-- | [(spec)](https://datatracker.ietf.org/doc/html/rfc5280#section-4.2.1.2)+-- This type represents method 1 of computing the identifier, as used in the+-- [attestationCertificateKeyIdentifiers](https://fidoalliance.org/specs/mds/fido-metadata-service-v3.0-ps-20210518.html#dom-metadatablobpayloadentry-attestationcertificatekeyidentifiers)+-- field of the [Metadata Service](https://fidoalliance.org/metadata/)+newtype SubjectKeyIdentifier = SubjectKeyIdentifier {unSubjectKeyIdentifier :: Digest SHA1}+  deriving (Eq, Show)++instance ToJSON SubjectKeyIdentifier where+  toJSON = toJSON @BS.ByteString . convert . unSubjectKeyIdentifier++instance Hashable SubjectKeyIdentifier where+  hashWithSalt = hashUsing @BS.ByteString (convert . unSubjectKeyIdentifier)
+ src/Crypto/WebAuthn/Model/Kinds.hs view
@@ -0,0 +1,141 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE GADTs #-}+{-# LANGUAGE StandaloneDeriving #-}+{-# LANGUAGE TypeFamilies #-}++-- | Stability: experimental+-- This module contains some useful kinds used throughout this library to+-- ensure better type safety. Also included are some singleton types for these+-- kinds via the [singletons](https://hackage.haskell.org/package/singletons)+-- library+module Crypto.WebAuthn.Model.Kinds+  ( CeremonyKind (..),+    SCeremonyKind (..),+    ProtocolKind (..),+    SProtocolKind (..),+    AttestationKind (..),+  )+where++import Data.Aeson (ToJSON, toJSON)+import Data.Kind (Type)+import Data.Singletons (Sing, SingI (sing))++-- | [(spec)](https://www.w3.org/TR/webauthn-2/#ceremony)+-- A Haskell kind for a Webauthn [ceremony](https://www.w3.org/TR/webauthn-2/#ceremony).+-- This is used throughout this library for extra type safety and API clarity.+data CeremonyKind+  = -- | [(spec)](https://www.w3.org/TR/webauthn-2/#registration)+    -- The [ceremony](https://www.w3.org/TR/webauthn-2/#ceremony) where a user,+    -- a [Relying Party](https://www.w3.org/TR/webauthn-2/#relying-party), and+    -- the user’s [client](https://www.w3.org/TR/webauthn-2/#client) (containing+    -- at least one [authenticator](https://www.w3.org/TR/webauthn-2/#authenticator))+    -- work in concert to create a+    -- [public key credential](https://www.w3.org/TR/webauthn-2/#public-key-credential)+    -- and associate it with the user’s [Relying Party](https://www.w3.org/TR/webauthn-2/#relying-party)+    -- account. Note that this includes employing a+    -- [test of user presence](https://www.w3.org/TR/webauthn-2/#test-of-user-presence)+    -- or [user verification](https://www.w3.org/TR/webauthn-2/#user-verification).+    -- After a successful [registration ceremony](https://www.w3.org/TR/webauthn-2/#registration-ceremony),+    -- the user can be authenticated by an+    -- [authentication ceremony](https://www.w3.org/TR/webauthn-2/#authentication-ceremony).+    -- The WebAuthn [registration ceremony](https://www.w3.org/TR/webauthn-2/#registration-ceremony) is defined in+    -- [§ 7.1 Registering a New Credential](https://www.w3.org/TR/webauthn-2/#sctn-registering-a-new-credential),+    -- and is initiated by the [Relying Party](https://www.w3.org/TR/webauthn-2/#relying-party) calling+    -- [@navigator.credentials.create()@](https://w3c.github.io/webappsec-credential-management/#dom-credentialscontainer-create)+    -- with a [@publicKey@](https://www.w3.org/TR/webauthn-2/#dom-credentialcreationoptions-publickey) argument.+    -- See [§ 5 Web Authentication API](https://www.w3.org/TR/webauthn-2/#sctn-api) for an introductory+    -- overview and [§ 1.3.1 Registration](https://www.w3.org/TR/webauthn-2/#sctn-sample-registration)+    -- for implementation examples.+    Registration+  | -- | [(spec)](https://www.w3.org/TR/webauthn-2/#authentication)+    -- The [ceremony](https://www.w3.org/TR/webauthn-2/#ceremony) where a user,+    -- and the user’s [client](https://www.w3.org/TR/webauthn-2/#client) (containing+    -- at least one [authenticator](https://www.w3.org/TR/webauthn-2/#authenticator)) work in concert+    -- to cryptographically prove to a [Relying Party](https://www.w3.org/TR/webauthn-2/#relying-party)+    -- that the user controls the+    -- [credential private key](https://www.w3.org/TR/webauthn-2/#credential-private-key)+    -- of a previously-registered [public key credential](https://www.w3.org/TR/webauthn-2/#public-key-credential)+    -- (see [Registration](https://www.w3.org/TR/webauthn-2/#registration)).+    -- Note that this includes a [test of user presence](https://www.w3.org/TR/webauthn-2/#test-of-user-presence)+    -- or [user verification](https://www.w3.org/TR/webauthn-2/#user-verification).+    --+    -- The WebAuthn [authentication ceremony](https://www.w3.org/TR/webauthn-2/#authentication-ceremony)+    -- is defined in [§ 7.2 Verifying an Authentication Assertion](https://www.w3.org/TR/webauthn-2/#sctn-verifying-assertion),+    -- and is initiated by the [Relying Party](https://www.w3.org/TR/webauthn-2/#relying-party) calling+    -- [@navigator.credentials.get()@](https://w3c.github.io/webappsec-credential-management/#dom-credentialscontainer-get)+    -- with a [@publicKey@](https://www.w3.org/TR/webauthn-2/#dom-credentialrequestoptions-publickey)+    -- argument. See [§ 5 Web Authentication API](https://www.w3.org/TR/webauthn-2/#sctn-api)+    -- for an introductory overview and+    -- [§ 1.3.3 Authentication](https://www.w3.org/TR/webauthn-2/#sctn-sample-authentication) for implementation examples.+    Authentication++-- | The singleton type for 'CeremonyKind'+data SCeremonyKind :: CeremonyKind -> Type where+  SRegistration :: SCeremonyKind 'Registration+  SAuthentication :: SCeremonyKind 'Authentication++deriving instance Show (SCeremonyKind c)++deriving instance Eq (SCeremonyKind c)++instance ToJSON (SCeremonyKind c) where+  toJSON SRegistration = "Registration"+  toJSON SAuthentication = "Authentication"++type instance Sing = SCeremonyKind++instance SingI 'Registration where+  sing = SRegistration++instance SingI 'Authentication where+  sing = SAuthentication++-- | Authenticator protocols supported by webauthn attestations+data ProtocolKind+  = -- | FIDO U2F Protocol, supported via the+    -- [fido-u2f](https://www.w3.org/TR/webauthn-2/#sctn-fido-u2f-attestation)+    -- attestation format+    FidoU2F+  | -- | FIDO 2 Protocol+    Fido2++-- | The singleton type for 'ProtocolKind'+data SProtocolKind :: ProtocolKind -> Type where+  SFidoU2F :: SProtocolKind 'FidoU2F+  SFido2 :: SProtocolKind 'Fido2++deriving instance Show (SProtocolKind p)++deriving instance Eq (SProtocolKind p)++instance ToJSON (SProtocolKind p) where+  toJSON SFidoU2F = "FidoU2F"+  toJSON SFido2 = "Fido2"++type instance Sing = SProtocolKind++instance SingI 'FidoU2F where+  sing = SFidoU2F++instance SingI 'Fido2 where+  sing = SFido2++-- | A Haskell kind for the [attestation type](https://www.w3.org/TR/webauthn-2/#attestation-type),+-- indicating whether we have verifiable information about the+-- [authenticator](https://www.w3.org/TR/webauthn-2/#authenticator) that created+-- the [public key credential](https://www.w3.org/TR/webauthn-2/#public-key-credential).+data AttestationKind+  = -- | An unverifiable [attestation type](https://www.w3.org/TR/webauthn-2/#attestation-type).+    -- This includes [None](https://www.w3.org/TR/webauthn-2/#none)+    -- and [Self](https://www.w3.org/TR/webauthn-2/#self-attestation) attestation.+    -- This kind indicates that we do not have any information about the+    -- [authenticator](https://www.w3.org/TR/webauthn-2/#authenticator) model used.+    Unverifiable+  | -- | A verifiable [attestation type](https://www.w3.org/TR/webauthn-2/#attestation-type).+    -- This includes [Basic](https://www.w3.org/TR/webauthn-2/#basic-attestation),+    -- [AttCA](https://www.w3.org/TR/webauthn-2/#attca) and+    -- [AnonCA](https://www.w3.org/TR/webauthn-2/#anonca) attestation.+    -- This kind indicates that we have verifiable information about the+    -- [authenticator](https://www.w3.org/TR/webauthn-2/#authenticator) model used.+    Verifiable ProtocolKind
+ src/Crypto/WebAuthn/Model/Types.hs view
@@ -0,0 +1,1350 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE GADTs #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE ScopedTypeVariables #-}+{-# LANGUAGE StandaloneDeriving #-}+{-# LANGUAGE TypeFamilies #-}++-- | Stability: experimental+-- This module contains the same top-level definitions as 'Crypto.WebAuthn.Client.JavaScript',+-- but with the types containing a more Haskell-friendly structure.+--+-- Note: The 'ToJSON' instances of these types are for pretty-printing purposes+-- only.+--+-- #extensions#+-- TODO:+-- [(spec)](https://www.w3.org/TR/webauthn-2/#sctn-extensions) This library+-- does not currently implement extensions. In order to fully comply with level+-- 2 of the webauthn spec extensions are required. At least, we wish the+-- library to offer a typeclass implementable by relying parties to allow+-- extensions in a scheme similar to the attestation statement formats.+-- Ideally, we would implement all 8 extensions tracked by+-- [IANA](https://www.iana.org/assignments/webauthn/webauthn.xhtml#webauthn-extension-ids).+module Crypto.WebAuthn.Model.Types+  ( -- * Enumerations+    CredentialType (..),+    AuthenticatorTransport (..),+    AuthenticatorAttachment (..),+    ResidentKeyRequirement (..),+    UserVerificationRequirement (..),+    AttestationConveyancePreference (..),+    AttestationChain (..),+    AttestationKind (..),+    AttestationType (..),+    VerifiableAttestationType (..),++    -- * Newtypes+    RpId (..),+    RelyingPartyName (..),+    UserHandle (..),+    generateUserHandle,+    UserAccountDisplayName (..),+    UserAccountName (..),+    CredentialId (..),+    generateCredentialId,+    Challenge (..),+    generateChallenge,+    Timeout (..),+    AssertionSignature (..),+    RpIdHash (..),+    ClientDataHash (..),+    Origin (..),+    SignatureCounter (..),+    PublicKeyBytes (..),++    -- * Extensions (unimplemented, see module documentation)+    AuthenticationExtensionsClientInputs (..),+    AuthenticationExtensionsClientOutputs (..),+    AuthenticatorExtensionOutputs (..),++    -- * Dictionaries+    CredentialRpEntity (..),+    CredentialUserEntity (..),+    CredentialParameters (..),+    CredentialDescriptor (..),+    AuthenticatorSelectionCriteria (..),+    AuthenticatorDataFlags (..),+    CollectedClientData (..),+    AttestedCredentialData (..),+    AuthenticatorData (..),+    AttestationObject (..),+    AuthenticatorResponse (..),++    -- * Attestation Statement Formats+    SomeAttestationType (..),+    AttestationStatementFormat (..),+    SomeAttestationStatementFormat (..),+    SupportedAttestationStatementFormats,+    singletonAttestationStatementFormat,+    lookupAttestationStatementFormat,++    -- * Raw fields+    RawField (..),++    -- * Top-level types+    CredentialOptions (..),+    Credential (..),+    stripRawCredential,+  )+where++import qualified Codec.CBOR.Term as CBOR+import Control.Exception (Exception)+import Crypto.Hash (Digest)+import Crypto.Hash.Algorithms (SHA256)+import Crypto.Random (MonadRandom, getRandomBytes)+import qualified Crypto.WebAuthn.Cose.Algorithm as Cose+import qualified Crypto.WebAuthn.Cose.Key as Cose+import Crypto.WebAuthn.Internal.ToJSONOrphans ()+import Crypto.WebAuthn.Model.Identifier (AAGUID)+import Crypto.WebAuthn.Model.Kinds+  ( AttestationKind (Unverifiable, Verifiable),+    CeremonyKind (Authentication, Registration),+    ProtocolKind (Fido2, FidoU2F),+    SCeremonyKind (SAuthentication, SRegistration),+  )+import Data.Aeson (ToJSON, Value (Null, String), object, (.=))+import Data.Aeson.Types (toJSON)+import qualified Data.ByteString as BS+import Data.HashMap.Strict (HashMap, (!?))+import qualified Data.HashMap.Strict as HashMap+import qualified Data.Hourglass as HG+import Data.Kind (Type)+import Data.List.NonEmpty (NonEmpty)+import Data.Singletons (SingI, sing)+import Data.String (IsString)+import Data.Text (Text)+import Data.Validation (Validation)+import Data.Word (Word32)+import qualified Data.X509 as X509+import qualified Data.X509.CertificateStore as X509+import GHC.Generics (Generic)+import Type.Reflection (Typeable, eqTypeRep, typeOf, type (:~~:) (HRefl))++-- | A model field parametrized by whether it's empty ('False') or contains raw bytes ('True')+data RawField (raw :: Bool) where+  NoRaw :: RawField 'False+  WithRaw :: {unRaw :: BS.ByteString} -> RawField 'True++deriving instance Eq (RawField raw)++deriving instance Show (RawField raw)++instance ToJSON (RawField raw) where+  toJSON NoRaw = "<none>"+  toJSON (WithRaw bytes) = toJSON bytes++-- | [(spec)](https://www.w3.org/TR/webauthn-2/#enumdef-publickeycredentialtype)+-- This enumeration defines the valid credential types. It is an extension point;+-- values can be added to it in the future, as more credential types are defined.+-- The values of this enumeration are used for versioning the Authentication Assertion+-- and attestation structures according to the type of the authenticator.+data CredentialType = CredentialTypePublicKey+  deriving (Eq, Show, Bounded, Enum, Ord, Generic)++instance ToJSON CredentialType where+  toJSON CredentialTypePublicKey = "CredentialTypePublicKey"++-- | [(spec)](https://www.w3.org/TR/webauthn-2/#enum-transport)+-- [Authenticators](https://www.w3.org/TR/webauthn-2/#authenticator) may implement+-- various [transports](https://www.w3.org/TR/webauthn-2/#enum-transport) for communicating+-- with [clients](https://www.w3.org/TR/webauthn-2/#client). This enumeration defines+-- hints as to how clients might communicate with a particular authenticator in order+-- to obtain an assertion for a specific credential. Note that these hints represent+-- the [WebAuthn Relying Party](https://www.w3.org/TR/webauthn-2/#webauthn-relying-party)'s+-- best belief as to how an authenticator may be reached. A [Relying Party](https://www.w3.org/TR/webauthn-2/#relying-party)+-- will typically learn of the supported transports for a [public key credential](https://www.w3.org/TR/webauthn-2/#public-key-credential)+-- via [getTransports()](https://www.w3.org/TR/webauthn-2/#dom-authenticatorattestationresponse-gettransports).+data AuthenticatorTransport+  = -- | [(spec)](https://www.w3.org/TR/webauthn-2/#dom-authenticatortransport-usb)+    -- Indicates the respective [authenticator](https://www.w3.org/TR/webauthn-2/#authenticator)+    -- can be contacted over removable USB.+    AuthenticatorTransportUSB+  | -- | [(spec)](https://www.w3.org/TR/webauthn-2/#dom-authenticatortransport-nfc)+    -- Indicates the respective [authenticator](https://www.w3.org/TR/webauthn-2/#authenticator)+    -- can be contacted over Near Field Communication (NFC).+    AuthenticatorTransportNFC+  | -- | [(spec)](https://www.w3.org/TR/webauthn-2/#dom-authenticatortransport-ble)+    -- Indicates the respective [authenticator](https://www.w3.org/TR/webauthn-2/#authenticator)+    -- can be contacted over Bluetooth Smart (Bluetooth Low Energy / BLE).+    AuthenticatorTransportBLE+  | -- | [(spec)](https://www.w3.org/TR/webauthn-2/#dom-authenticatortransport-internal)+    -- Indicates the respective [authenticator](https://www.w3.org/TR/webauthn-2/#authenticator)+    -- is contacted using a [client device](https://www.w3.org/TR/webauthn-2/#client-device)-specific+    -- transport, i.e., it is a [platform authenticator](https://www.w3.org/TR/webauthn-2/#platform-authenticators).+    -- These authenticators are not removable from the [client device](https://www.w3.org/TR/webauthn-2/#client-device).+    AuthenticatorTransportInternal+  deriving (Eq, Show, Bounded, Enum, Ord, Generic, ToJSON)++-- | [(spec)](https://www.w3.org/TR/webauthn-2/#enumdef-authenticatorattachment)+-- This enumeration’s values describe [authenticators](https://www.w3.org/TR/webauthn-2/#authenticator)'+-- [attachment modalities](https://www.w3.org/TR/webauthn-2/#authenticator-attachment-modality).+-- [Relying Parties](https://www.w3.org/TR/webauthn-2/#relying-party) use this to+-- express a preferred [authenticator attachment modality](https://www.w3.org/TR/webauthn-2/#authenticator-attachment-modality)+-- when calling [@navigator.credentials.create()@](https://w3c.github.io/webappsec-credential-management/#dom-credentialscontainer-create)+-- to [create a credential](https://www.w3.org/TR/webauthn-2/#sctn-createCredential).+data AuthenticatorAttachment+  = -- | [(spec)](https://www.w3.org/TR/webauthn-2/#dom-authenticatorattachment-platform)+    -- This value indicates [platform attachment](https://www.w3.org/TR/webauthn-2/#platform-attachment).+    AuthenticatorAttachmentPlatform+  | -- | [(spec)](https://www.w3.org/TR/webauthn-2/#dom-authenticatorattachment-cross-platform)+    -- This value indicates [cross-platform attachment](https://www.w3.org/TR/webauthn-2/#cross-platform-attachment).+    AuthenticatorAttachmentCrossPlatform+  deriving (Eq, Show, Bounded, Enum, Ord, Generic, ToJSON)++-- | [(spec)](https://www.w3.org/TR/webauthn-2/#enumdef-residentkeyrequirement)+-- This enumeration’s values describe the [Relying Party](https://www.w3.org/TR/webauthn-2/#relying-party)'s+-- requirements for [client-side discoverable credentials](https://www.w3.org/TR/webauthn-2/#client-side-discoverable-credential)+-- (formerly known as [resident credentials](https://www.w3.org/TR/webauthn-2/#resident-credential)+-- or [resident keys](https://www.w3.org/TR/webauthn-2/#resident-key)):+data ResidentKeyRequirement+  = -- | [(spec)](https://www.w3.org/TR/webauthn-2/#dom-residentkeyrequirement-discouraged)+    -- This value indicates the [Relying Party](https://www.w3.org/TR/webauthn-2/#relying-party)+    -- prefers creating a [server-side credential](https://www.w3.org/TR/webauthn-2/#server-side-credential),+    -- but will accept a [client-side discoverable credential](https://www.w3.org/TR/webauthn-2/#client-side-discoverable-credential).+    ResidentKeyRequirementDiscouraged+  | -- | [(spec)](https://www.w3.org/TR/webauthn-2/#dom-residentkeyrequirement-preferred)+    -- This value indicates the [Relying Party](https://www.w3.org/TR/webauthn-2/#relying-party)+    -- strongly prefers [creating a client-side discoverable credential](https://www.w3.org/TR/webauthn-2/#client-side-discoverable-credential),+    -- but will accept a [server-side credential](https://www.w3.org/TR/webauthn-2/#server-side-credential).+    -- For example, user agents SHOULD guide the user through setting up [user verification](https://www.w3.org/TR/webauthn-2/#user-verification)+    -- if needed to create a [client-side discoverable credential](https://www.w3.org/TR/webauthn-2/#client-side-discoverable-credential)+    -- in this case. This takes precedence over the setting of 'coaUserVerification'.+    ResidentKeyRequirementPreferred+  | -- | [(spec)](https://www.w3.org/TR/webauthn-2/#dom-residentkeyrequirement-required)+    -- This value indicates the [Relying Party](https://www.w3.org/TR/webauthn-2/#relying-party)+    -- requires a [client-side discoverable credential](https://www.w3.org/TR/webauthn-2/#client-side-discoverable-credential),+    -- and is prepared to receive an error if a+    -- [client-side discoverable credential](https://www.w3.org/TR/webauthn-2/#client-side-discoverable-credential) cannot be created.+    ResidentKeyRequirementRequired+  deriving (Eq, Show, Bounded, Enum, Ord, Generic, ToJSON)++-- | [(spec)](https://www.w3.org/TR/webauthn-2/#enum-userVerificationRequirement)+-- A [WebAuthn Relying Party](https://www.w3.org/TR/webauthn-2/#webauthn-relying-party) may+-- require [user verification](https://www.w3.org/TR/webauthn-2/#user-verification) for some+-- of its operations but not for others, and may use this type to express its needs.+data UserVerificationRequirement+  = -- | [(spec)](https://www.w3.org/TR/webauthn-2/#dom-userverificationrequirement-required)+    -- This value indicates that the [Relying Party](https://www.w3.org/TR/webauthn-2/#relying-party)+    -- requires [user verification](https://www.w3.org/TR/webauthn-2/#user-verification) for the+    -- operation and will fail the operation if the response does not have the+    -- [UV](https://www.w3.org/TR/webauthn-2/#uv) [flag](https://www.w3.org/TR/webauthn-2/#flags) set.+    UserVerificationRequirementRequired+  | -- | [(spec)](https://www.w3.org/TR/webauthn-2/#dom-userverificationrequirement-preferred)+    -- This value indicates that the [Relying Party](https://www.w3.org/TR/webauthn-2/#relying-party)+    -- prefers [user verification](https://www.w3.org/TR/webauthn-2/#user-verification) for the+    -- operation if possible, but will not fail the operation if the response does not have the+    -- [UV](https://www.w3.org/TR/webauthn-2/#uv) [flag](https://www.w3.org/TR/webauthn-2/#flags) set.+    UserVerificationRequirementPreferred+  | -- | [(spec)](https://www.w3.org/TR/webauthn-2/#dom-userverificationrequirement-discouraged)+    -- This value indicates that the [Relying Party](https://www.w3.org/TR/webauthn-2/#relying-party)+    -- does not want [user verification](https://www.w3.org/TR/webauthn-2/#user-verification) employed+    -- during the operation (e.g., in the interest of minimizing disruption to the user interaction flow).+    UserVerificationRequirementDiscouraged+  deriving (Eq, Show, Bounded, Enum, Ord, Generic, ToJSON)++-- | [(spec)](https://www.w3.org/TR/webauthn-2/#enum-attestation-convey)+-- [WebAuthn Relying Parties](https://www.w3.org/TR/webauthn-2/#webauthn-relying-party) may use+-- [AttestationConveyancePreference](https://www.w3.org/TR/webauthn-2/#enumdef-attestationconveyancepreference)+-- to specify their preference regarding+-- [attestation conveyance](https://www.w3.org/TR/webauthn-2/#attestation-conveyance) during credential generation.+data AttestationConveyancePreference+  = -- | [(spec)](https://www.w3.org/TR/webauthn-2/#dom-attestationconveyancepreference-none)+    -- This value indicates that the [Relying Party](https://www.w3.org/TR/webauthn-2/#relying-party)+    -- is not interested in [authenticator](https://www.w3.org/TR/webauthn-2/#authenticator)+    -- [attestation](https://www.w3.org/TR/webauthn-2/#attestation). For example, in order to+    -- potentially avoid having to obtain [user consent](https://www.w3.org/TR/webauthn-2/#user-consent)+    -- to relay identifying information to the [Relying Party](https://www.w3.org/TR/webauthn-2/#relying-party),+    -- or to save a roundtrip to an [Attestation CA](https://www.w3.org/TR/webauthn-2/#attestation-ca)+    -- or [Anonymization CA](https://www.w3.org/TR/webauthn-2/#anonymization-ca). This is the default value.+    AttestationConveyancePreferenceNone+  | -- | [(spec)](https://www.w3.org/TR/webauthn-2/#dom-attestationconveyancepreference-indirect)+    -- This value indicates that the [Relying Party](https://www.w3.org/TR/webauthn-2/#relying-party)+    -- prefers an [attestation](https://www.w3.org/TR/webauthn-2/#attestation) conveyance yielding+    -- verifiable [attestation statements](https://www.w3.org/TR/webauthn-2/#attestation-statement),+    -- but allows the client to decide how to obtain such+    -- [attestation statements](https://www.w3.org/TR/webauthn-2/#attestation-statement).+    -- The client MAY replace the authenticator-generated [attestation statements](https://www.w3.org/TR/webauthn-2/#attestation-statement)+    -- with [attestation statements](https://www.w3.org/TR/webauthn-2/#attestation-statement)+    -- generated by an [Anonymization CA](https://www.w3.org/TR/webauthn-2/#anonymization-ca),+    -- in order to protect the user’s privacy, or to assist [Relying Parties](https://www.w3.org/TR/webauthn-2/#relying-party)+    -- with attestation verification in a heterogeneous ecosystem.+    --+    -- Note: There is no guarantee that the [Relying Party](https://www.w3.org/TR/webauthn-2/#relying-party)+    -- will obtain a verifiable [attestation statement](https://www.w3.org/TR/webauthn-2/#attestation-statement)+    -- in this case. For example, in the case that the authenticator employs+    -- [self attestation](https://www.w3.org/TR/webauthn-2/#self-attestation).+    AttestationConveyancePreferenceIndirect+  | -- | [(spec)](https://www.w3.org/TR/webauthn-2/#dom-attestationconveyancepreference-direct)+    -- This value indicates that the [Relying Party](https://www.w3.org/TR/webauthn-2/#relying-party)+    -- wants to receive the [attestation statement](https://www.w3.org/TR/webauthn-2/#attestation-statement)+    -- as generated by the [authenticator](https://www.w3.org/TR/webauthn-2/#authenticator).+    AttestationConveyancePreferenceDirect+  | -- | [(spec)](https://www.w3.org/TR/webauthn-2/#dom-attestationconveyancepreference-enterprise)+    -- This value indicates that the [Relying Party](https://www.w3.org/TR/webauthn-2/#relying-party)+    -- wants to receive an [attestation statement](https://www.w3.org/TR/webauthn-2/#attestation-statement)+    -- that may include uniquely identifying information. This is intended for controlled deployments+    -- within an enterprise where the organization wishes to tie registrations to specific authenticators.+    -- User agents MUST NOT provide such an attestation unless the user agent or authenticator configuration+    -- permits it for the requested 'RpId'.+    --+    -- If permitted, the user agent SHOULD signal to the authenticator+    -- (at [invocation time](https://www.w3.org/TR/webauthn-2/#CreateCred-InvokeAuthnrMakeCred))+    -- that enterprise attestation is requested, and convey the resulting [AAGUID](https://www.w3.org/TR/webauthn-2/#aaguid)+    -- and [attestation statement](https://www.w3.org/TR/webauthn-2/#attestation-statement), unaltered,+    -- to the [Relying Party](https://www.w3.org/TR/webauthn-2/#relying-party).+    AttestationConveyancePreferenceEnterprise+  deriving (Eq, Show, Bounded, Enum, Ord, Generic, ToJSON)++-- | An X.509 certificate chain that can be used to verify an attestation+-- statement+data AttestationChain (p :: ProtocolKind) where+  -- | For Fido 2, we can have a chain consisting of multiple certificates.+  Fido2Chain :: NonEmpty X509.SignedCertificate -> AttestationChain 'Fido2+  -- | For Fido U2F, we can only have a single certificate, which is then also+  -- used to generate the 'Crypto.WebAuthn.Identifier.SubjectKeyIdentifier' from+  FidoU2FCert :: X509.SignedCertificate -> AttestationChain 'FidoU2F++deriving instance Eq (AttestationChain p)++deriving instance Show (AttestationChain p)++instance ToJSON (AttestationChain p) where+  toJSON (Fido2Chain chain) = toJSON chain+  toJSON (FidoU2FCert cert) = toJSON [cert]++-- | An [attestation type](https://www.w3.org/TR/webauthn-2/#attestation-type)+-- that is verifiable, indicating that we can have trusted information about+-- the [authenticator](https://www.w3.org/TR/webauthn-2/#authenticator) that+-- created the [public key credential](https://www.w3.org/TR/webauthn-2/#public-key-credential)+data VerifiableAttestationType+  = -- | [Attestation statements](https://www.w3.org/TR/webauthn-2/#attestation-statement)+    -- conveying [attestations](https://www.w3.org/TR/webauthn-2/#attestation) of+    -- [type](https://www.w3.org/TR/webauthn-2/#attestation-type)+    -- [AttCA](https://www.w3.org/TR/webauthn-2/#attca) or+    -- [AnonCA](https://www.w3.org/TR/webauthn-2/#anonca) use the same data+    -- structure as those of [type](https://www.w3.org/TR/webauthn-2/#attestation-type)+    -- [Basic](https://www.w3.org/TR/webauthn-2/#basic), so the three attestation+    -- types are, in general, distinguishable only with externally provided knowledge regarding the contents+    -- of the [attestation certificates](https://www.w3.org/TR/webauthn-2/#attestation-certificate)+    -- conveyed in the [attestation statement](https://www.w3.org/TR/webauthn-2/#attestation-statement).+    VerifiableAttestationTypeUncertain+  | -- | [(spec)](https://www.w3.org/TR/webauthn-2/#basic-attestation)+    -- In the case of basic attestation [UAFProtocol](https://www.w3.org/TR/webauthn-2/#biblio-uafprotocol),+    -- the authenticator’s [attestation key pair](https://www.w3.org/TR/webauthn-2/#attestation-key-pair)+    -- is specific to an authenticator "model", i.e., a "batch" of authenticators.+    -- Thus, authenticators of the same, or similar, model often share the same+    -- [attestation key pair](https://www.w3.org/TR/webauthn-2/#attestation-key-pair).+    -- See [§ 14.4.1 Attestation Privacy](https://www.w3.org/TR/webauthn-2/#sctn-attestation-privacy)+    -- for further information.+    VerifiableAttestationTypeBasic+  | -- | [(spec)](https://www.w3.org/TR/webauthn-2/#attca)+    -- In this case, an [authenticator](https://www.w3.org/TR/webauthn-2/#authenticator)+    -- is based on a Trusted Platform Module (TPM) and holds an authenticator-specific+    -- "endorsement key" (EK). This key is used to securely communicate with a+    -- trusted third party, the [Attestation CA](https://www.w3.org/TR/webauthn-2/#attestation-ca)+    -- [TCG-CMCProfile-AIKCertEnroll](https://www.w3.org/TR/webauthn-2/#biblio-tcg-cmcprofile-aikcertenroll)+    -- (formerly known as a "Privacy CA"). The [authenticator](https://www.w3.org/TR/webauthn-2/#authenticator)+    -- can generate multiple attestation identity key pairs (AIK) and requests an+    -- [Attestation CA](https://www.w3.org/TR/webauthn-2/#attestation-ca) to+    -- issue an AIK certificate for each. Using this approach, such an+    -- [authenticator](https://www.w3.org/TR/webauthn-2/#authenticator) can+    -- limit the exposure of the EK (which is a global correlation handle) to+    -- Attestation CA(s). AIKs can be requested for each+    -- [authenticator](https://www.w3.org/TR/webauthn-2/#authenticator)\-generated+    -- [public key credential](https://www.w3.org/TR/webauthn-2/#public-key-credential)+    -- individually, and conveyed to [Relying Parties](https://www.w3.org/TR/webauthn-2/#relying-party)+    -- as [attestation certificates](https://www.w3.org/TR/webauthn-2/#attestation-certificate).+    VerifiableAttestationTypeAttCA+  | -- | [(spec)](https://www.w3.org/TR/webauthn-2/#anonca)+    -- In this case, the [authenticator](https://www.w3.org/TR/webauthn-2/#authenticator)+    -- uses an [Anonymization CA](https://www.w3.org/TR/webauthn-2/#anonymization-ca)+    -- which dynamically generates per-[credential](https://w3c.github.io/webappsec-credential-management/#concept-credential)+    -- [attestation certificates](https://www.w3.org/TR/webauthn-2/#attestation-certificate)+    -- such that the [attestation statements](https://www.w3.org/TR/webauthn-2/#attestation-statement)+    -- presented to [Relying Parties](https://www.w3.org/TR/webauthn-2/#relying-party)+    -- do not provide uniquely identifiable information, e.g., that might be used for tracking purposes.+    VerifiableAttestationTypeAnonCA+  deriving (Eq, Show, Bounded, Enum, Ord, Generic, ToJSON)++-- | [(spec)](https://www.w3.org/TR/webauthn-2/#sctn-attestation-types)+-- WebAuthn supports several [attestation types](https://www.w3.org/TR/webauthn-2/#attestation-type),+-- defining the semantics of [attestation statements](https://www.w3.org/TR/webauthn-2/#attestation-statement)+-- and their underlying trust models:+data AttestationType (k :: AttestationKind) where+  -- | [(spec)](https://www.w3.org/TR/webauthn-2/#none)+  -- In this case, no attestation information is available. See also+  -- [§ 8.7 None Attestation Statement Format](https://www.w3.org/TR/webauthn-2/#sctn-none-attestation).+  AttestationTypeNone :: AttestationType 'Unverifiable+  -- | [(spec)](https://www.w3.org/TR/webauthn-2/#self-attestation)+  -- In the case of [self attestation](https://www.w3.org/TR/webauthn-2/#self-attestation),+  -- also known as surrogate basic attestation [UAFProtocol](https://www.w3.org/TR/webauthn-2/#biblio-uafprotocol),+  -- the Authenticator does not have any specific [attestation key pair](https://www.w3.org/TR/webauthn-2/#attestation-key-pair).+  -- Instead it uses the [credential private key](https://www.w3.org/TR/webauthn-2/#credential-private-key)+  -- to create the [attestation signature](https://www.w3.org/TR/webauthn-2/#attestation-signature).+  -- Authenticators without meaningful protection measures for an+  -- [attestation private key](https://www.w3.org/TR/webauthn-2/#attestation-private-key)+  -- typically use this attestation type.+  AttestationTypeSelf :: AttestationType 'Unverifiable+  -- | Grouping of attestations that are verifiable by a certificate chain+  AttestationTypeVerifiable ::+    { -- | The type of verifiable attestation+      atvType :: VerifiableAttestationType,+      -- | The certificate chain of this attestation type, can be used to+      -- validate the authenticator model+      atvChain :: AttestationChain p+    } ->+    AttestationType ('Verifiable p)++deriving instance Eq (AttestationType k)++deriving instance Show (AttestationType k)++instance ToJSON (AttestationType k) where+  toJSON AttestationTypeNone =+    object+      [ "tag" .= String "AttestationTypeNone"+      ]+  toJSON AttestationTypeSelf =+    object+      [ "tag" .= String "AttestationTypeSelf"+      ]+  toJSON AttestationTypeVerifiable {..} =+    object+      [ "tag" .= String "AttestationTypeVerifiable",+        "atvType" .= atvType,+        "atvChain" .= atvChain+      ]++-- | [(spec)](https://www.w3.org/TR/webauthn-2/#rp-id)+-- A [valid domain string](https://url.spec.whatwg.org/#valid-domain-string)+-- identifying the [WebAuthn Relying Party](https://www.w3.org/TR/webauthn-2/#webauthn-relying-party)+-- on whose behalf a given [registration](https://www.w3.org/TR/webauthn-2/#registration)+-- or [authentication ceremony](https://www.w3.org/TR/webauthn-2/#authentication) is being performed.+-- A [public key credential](https://www.w3.org/TR/webauthn-2/#public-key-credential)+-- can only be used for [authentication](https://www.w3.org/TR/webauthn-2/#authentication)+-- with the same entity (as identified by 'RpId') it was registered with.+--+-- By default, the 'RpId' for a WebAuthn operation is set to the caller’s+-- [origin](https://html.spec.whatwg.org/multipage/webappapis.html#concept-settings-object-origin)'s+-- [effective domain](https://html.spec.whatwg.org/multipage/origin.html#concept-origin-effective-domain).+-- This default MAY be overridden by the caller, as long as the caller-specified 'RpId' value+-- [is a registrable domain suffix of or is equal to](https://html.spec.whatwg.org/multipage/origin.html#is-a-registrable-domain-suffix-of-or-is-equal-to)+-- the caller’s [origin](https://html.spec.whatwg.org/multipage/webappapis.html#concept-settings-object-origin)'s+-- [effective domain](https://html.spec.whatwg.org/multipage/origin.html#concept-origin-effective-domain).+--+-- TODO: 'RpId' is used for both <https://www.w3.org/TR/webauthn-2/#dom-publickeycredentialrpentity-id>+-- and <https://www.w3.org/TR/webauthn-2/#dom-publickeycredentialrequestoptions-rpid>, but the former+-- uses DOMString, while the latter uses USVString. Is this a bug in the spec or is there an actual difference?+newtype RpId = RpId {unRpId :: Text}+  deriving (Eq, Show, Ord)+  deriving newtype (IsString, ToJSON)++-- | [(spec)](https://www.w3.org/TR/webauthn-2/#dom-publickeycredentialentity-name)+-- A [human-palatable](https://www.w3.org/TR/webauthn-2/#human-palatability)+-- identifier for the [Relying Party](https://www.w3.org/TR/webauthn-2/#relying-party),+-- intended only for display. For example, "ACME Corporation", "Wonderful Widgets, Inc." or "ОАО Примертех".+--+-- - [Relying Parties](https://www.w3.org/TR/webauthn-2/#relying-party) SHOULD perform+-- enforcement, as prescribed in Section 2.3 of [RFC8266](https://www.w3.org/TR/webauthn-2/#biblio-rfc8266)+-- for the Nickname Profile of the PRECIS FreeformClass [RFC8264](https://www.w3.org/TR/webauthn-2/#biblio-rfc8264),+-- when setting 'RelyingPartyName's value, or displaying the value to the user.+-- - This string MAY contain language and direction metadata. [Relying Parties](https://www.w3.org/TR/webauthn-2/#relying-party)+-- SHOULD consider providing this information. See [§ 6.4.2 Language and Direction Encoding](https://www.w3.org/TR/webauthn-2/#sctn-strings-langdir)+-- about how this metadata is encoded.+newtype RelyingPartyName = RelyingPartyName {unRelyingPartyName :: Text}+  deriving (Eq, Show)+  deriving newtype (IsString, ToJSON)++-- | [(spec)](https://www.w3.org/TR/webauthn-2/#user-handle)+-- The user handle is specified by a [Relying Party](https://www.w3.org/TR/webauthn-2/#relying-party),+-- as the value of 'id', and used to [map](https://www.w3.org/TR/webauthn-2/#authenticator-credentials-map)+-- a specific [public key credential](https://www.w3.org/TR/webauthn-2/#public-key-credential)+-- to a specific user account with the [Relying Party](https://www.w3.org/TR/webauthn-2/#relying-party).+-- Authenticators in turn [map](https://www.w3.org/TR/webauthn-2/#authenticator-credentials-map)+-- [RP IDs](https://www.w3.org/TR/webauthn-2/#rp-id) and user handle pairs to [public key credential sources](https://www.w3.org/TR/webauthn-2/#public-key-credential-source).+-- A user handle is an opaque [byte sequence](https://infra.spec.whatwg.org/#byte-sequence)+-- with a maximum size of 64 bytes, and is not meant to be displayed to the user.+newtype UserHandle = UserHandle {unUserHandle :: BS.ByteString}+  deriving (Eq, Show, Ord)+  deriving newtype (ToJSON)++-- | [(spec)](https://www.w3.org/TR/webauthn-2/#user-handle)+-- A user handle is an opaque [byte sequence](https://infra.spec.whatwg.org/#byte-sequence)+-- with a maximum size of 64 bytes, and is not meant to be displayed to the user.+generateUserHandle :: MonadRandom m => m UserHandle+generateUserHandle = UserHandle <$> getRandomBytes 16++-- | [(spec)](https://www.w3.org/TR/webauthn-2/#dom-publickeycredentialuserentity-displayname)+-- A [human-palatable](https://www.w3.org/TR/webauthn-2/#human-palatability) name for the user account,+-- intended only for display. For example, "Alex Müller" or "田中倫". The Relying Party SHOULD+-- let the user choose this, and SHOULD NOT restrict the choice more than necessary.+--+-- - [Relying Parties](https://www.w3.org/TR/webauthn-2/#relying-party) SHOULD perform+-- enforcement, as prescribed in Section 2.3 of [RFC8266](https://www.w3.org/TR/webauthn-2/#biblio-rfc8266)+-- for the Nickname Profile of the PRECIS FreeformClass [RFC8264](https://www.w3.org/TR/webauthn-2/#biblio-rfc8264),+-- when setting 'cueDisplayName's value, or displaying the value to the user.+-- - This string MAY contain language and direction metadata. [Relying Parties](https://www.w3.org/TR/webauthn-2/#relying-party)+-- SHOULD consider providing this information. See [§ 6.4.2 Language and Direction Encoding](https://www.w3.org/TR/webauthn-2/#sctn-strings-langdir)+-- about how this metadata is encoded.+newtype UserAccountDisplayName = UserAccountDisplayName {unUserAccountDisplayName :: Text}+  deriving (Eq, Show)+  deriving newtype (IsString, ToJSON)++-- | [(spec)](https://www.w3.org/TR/webauthn-2/#dom-publickeycredentialentity-name)+-- A [human-palatable](https://www.w3.org/TR/webauthn-2/#human-palatability) identifier for a user account.+-- It is intended only for display, i.e., aiding the user in determining the difference between user accounts with+-- similar 'cueDisplayName's. For example, "alexm", "alex.mueller@example.com" or "+14255551234".+--+-- - The [Relying Party](https://www.w3.org/TR/webauthn-2/#relying-party) MAY let the user choose this value.+--   The [Relying Party](https://www.w3.org/TR/webauthn-2/#relying-party) SHOULD perform enforcement,+--   as prescribed in Section 3.4.3 of [RFC8265](https://www.w3.org/TR/webauthn-2/#biblio-rfc8265)+--   for the UsernameCasePreserved Profile of the PRECIS IdentifierClass+--   [RFC8264](https://www.w3.org/TR/webauthn-2/#biblio-rfc8264), when setting 'UserAccountName's value,+--   or displaying the value to the user.+-- - This string MAY contain language and direction metadata.+--   [Relying Parties](https://www.w3.org/TR/webauthn-2/#relying-party) SHOULD consider providing this information.+--   See [§ 6.4.2 Language and Direction Encoding](https://www.w3.org/TR/webauthn-2/#sctn-strings-langdir)+--   about how this metadata is encoded.+newtype UserAccountName = UserAccountName {unUserAccountName :: Text}+  deriving (Eq, Show)+  deriving newtype (IsString, ToJSON)++-- | [(spec)](https://www.w3.org/TR/webauthn-2/#credential-id)+-- A probabilistically-unique [byte sequence](https://infra.spec.whatwg.org/#byte-sequence)+-- identifying a [public key credential](https://www.w3.org/TR/webauthn-2/#public-key-credential-source)+-- source and its [authentication assertions](https://www.w3.org/TR/webauthn-2/#authentication-assertion).+newtype CredentialId = CredentialId {unCredentialId :: BS.ByteString}+  deriving (Eq, Show, Ord)+  deriving newtype (ToJSON)++-- | [(spec)](https://www.w3.org/TR/webauthn-2/#credential-id)+-- Generates a random 'CredentialId' using 16 random bytes.+-- This is only useful for authenticators, not for relying parties.+-- This function is only included for completeness and testing purposes.+generateCredentialId :: MonadRandom m => m CredentialId+generateCredentialId = CredentialId <$> getRandomBytes 16++-- | [(spec)](https://www.w3.org/TR/webauthn-2/#sctn-cryptographic-challenges)+-- This member contains a challenge intended to be used for generating the newly+-- created credential’s attestation object. See the [§ 13.4.3 Cryptographic Challenges](https://www.w3.org/TR/webauthn-2/#sctn-cryptographic-challenges)+-- security consideration.+newtype Challenge = Challenge {unChallenge :: BS.ByteString}+  deriving (Eq, Show, Ord)+  deriving newtype (ToJSON)++-- | [(spec)](https://www.w3.org/TR/webauthn-2/#sctn-cryptographic-challenges)+-- In order to prevent replay attacks, the challenges MUST contain enough entropy+-- to make guessing them infeasible. Challenges SHOULD therefore be at least 16 bytes long.+generateChallenge :: MonadRandom m => m Challenge+generateChallenge = Challenge <$> getRandomBytes 16++-- | [(spec)](https://www.w3.org/TR/webauthn-2/#dom-publickeycredentialcreationoptions-timeout)+-- This member specifies a time, in milliseconds, that the caller is willing to wait for the call to complete.+-- This is treated as a hint, and MAY be overridden by the [client](https://www.w3.org/TR/webauthn-2/#client).+newtype Timeout = Timeout {unTimeout :: Word32}+  deriving (Eq, Show)+  deriving newtype (ToJSON)++-- | [(spec)](https://www.w3.org/TR/webauthn-2/#assertion-signature)+-- An assertion signature is produced when the+-- [authenticatorGetAssertion](https://www.w3.org/TR/webauthn-2/#authenticatorgetassertion)+-- method is invoked. It represents an assertion by the [authenticator](https://www.w3.org/TR/webauthn-2/#authenticator)+-- that the user has [consented](https://www.w3.org/TR/webauthn-2/#user-consent)+-- to a specific transaction, such as logging in, or completing a purchase. Thus,+-- an [assertion signature](https://www.w3.org/TR/webauthn-2/#assertion-signature)+-- asserts that the [authenticator](https://www.w3.org/TR/webauthn-2/#authenticator)+-- possessing a particular [credential private key](https://www.w3.org/TR/webauthn-2/#credential-private-key)+-- has established, to the best of its ability, that the user requesting this transaction+-- is the same user who [consented](https://www.w3.org/TR/webauthn-2/#user-consent)+-- to creating that particular [public key credential](https://www.w3.org/TR/webauthn-2/#public-key-credential).+-- It also asserts additional information, termed [client data](https://www.w3.org/TR/webauthn-2/#client-data),+-- that may be useful to the caller, such as the means by which+-- [user consent](https://www.w3.org/TR/webauthn-2/#user-consent) was provided,+-- and the prompt shown to the user by the [authenticator](https://www.w3.org/TR/webauthn-2/#authenticator).+-- The [assertion signature](https://www.w3.org/TR/webauthn-2/#assertion-signature)+-- format is illustrated in [Figure 4, below](https://www.w3.org/TR/webauthn-2/#fig-signature).+newtype AssertionSignature = AssertionSignature {unAssertionSignature :: BS.ByteString}+  deriving (Eq, Show)+  deriving newtype (ToJSON)++-- | [(spec)](https://www.w3.org/TR/webauthn-2/#rpidhash)+-- SHA-256 hash of the [RP ID](https://www.w3.org/TR/webauthn-2/#rp-id) the+-- [credential](https://www.w3.org/TR/webauthn-2/#public-key-credential) is+-- [scoped](https://www.w3.org/TR/webauthn-2/#scope) to.+newtype RpIdHash = RpIdHash {unRpIdHash :: Digest SHA256}+  deriving (Eq, Show)+  deriving newtype (ToJSON)++-- | [(spec)](https://www.w3.org/TR/webauthn-2/#collectedclientdata-hash-of-the-serialized-client-data)+-- This is the hash (computed using SHA-256) of the [JSON-compatible serialization of client data](https://www.w3.org/TR/webauthn-2/#collectedclientdata-json-compatible-serialization-of-client-data),+-- as constructed by the client.+newtype ClientDataHash = ClientDataHash {unClientDataHash :: Digest SHA256}+  deriving (Eq, Show)+  deriving newtype (ToJSON)++-- | [(spec)](https://html.spec.whatwg.org/multipage/origin.html#concept-origin)+newtype Origin = Origin {unOrigin :: Text}+  deriving (Eq, Show)+  deriving newtype (IsString, ToJSON)++-- | [(spec)](https://www.w3.org/TR/webauthn-2/#signcount)+-- [Signature counter](https://www.w3.org/TR/webauthn-2/#signature-counter)+newtype SignatureCounter = SignatureCounter {unSignatureCounter :: Word32}+  deriving (Eq, Show)+  deriving newtype (Num, Ord, ToJSON)++-- | The encoding of a 'Cose.CosePublicKey'+newtype PublicKeyBytes = PublicKeyBytes {unPublicKeyBytes :: BS.ByteString}+  deriving (Eq, Show)+  deriving newtype (ToJSON)++-- | [(spec)](https://www.w3.org/TR/webauthn-2/#iface-authentication-extensions-client-inputs)+-- This is a dictionary containing the [client extension input](https://www.w3.org/TR/webauthn-2/#client-extension-input)+-- values for zero or more [WebAuthn Extensions](https://www.w3.org/TR/webauthn-2/#webauthn-extensions).+-- TODO: Extensions are not implemented by this library, see "Crypto.WebAuthn.Model#extensions".+data AuthenticationExtensionsClientInputs = AuthenticationExtensionsClientInputs+  {+  }+  deriving (Eq, Show)++instance ToJSON AuthenticationExtensionsClientInputs where+  toJSON _ = object []++-- | [(spec)](https://www.w3.org/TR/webauthn-2/#iface-authentication-extensions-client-outputs)+-- This is a dictionary containing the [client extension output](https://www.w3.org/TR/webauthn-2/#client-extension-output)+-- values for zero or more [WebAuthn Extensions](https://www.w3.org/TR/webauthn-2/#webauthn-extensions).+-- TODO: Extensions are not implemented by this library, see "Crypto.WebAuthn.Model#extensions".+data AuthenticationExtensionsClientOutputs = AuthenticationExtensionsClientOutputs+  {+  }+  deriving (Eq, Show)++instance ToJSON AuthenticationExtensionsClientOutputs where+  toJSON _ = object []++-- | [(spec)](https://www.w3.org/TR/webauthn-2/#authenticator-extension-output)+data AuthenticatorExtensionOutputs = AuthenticatorExtensionOutputs+  {+  }+  deriving (Eq, Show)++instance ToJSON AuthenticatorExtensionOutputs where+  toJSON _ = object []++-- | [(spec)](https://www.w3.org/TR/webauthn-2/#dictionary-rp-credential-params)+-- The 'CredentialRpEntity' dictionary is used to supply additional+-- [Relying Party](https://www.w3.org/TR/webauthn-2/#webauthn-relying-party) attributes when creating a new credential.+data CredentialRpEntity = CredentialRpEntity+  { -- | [(spec)](https://www.w3.org/TR/webauthn-2/#dom-publickeycredentialrpentity-id)+    -- A unique identifier for the [Relying Party](https://www.w3.org/TR/webauthn-2/#relying-party)+    -- entity, which sets the 'RpId'.+    creId :: Maybe RpId,+    -- | [(spec)](https://www.w3.org/TR/webauthn-2/#dom-publickeycredentialentity-name)+    -- A [human-palatable](https://www.w3.org/TR/webauthn-2/#human-palatability)+    -- identifier for the [Relying Party](https://www.w3.org/TR/webauthn-2/#relying-party),+    -- intended only for display. For example, "ACME Corporation", "Wonderful Widgets, Inc." or "ОАО Примертех".+    creName :: RelyingPartyName+  }+  deriving (Eq, Show, Generic, ToJSON)++-- | [(spec)](https://www.w3.org/TR/webauthn-2/#dictionary-user-credential-params)+-- The 'CredentialUserEntity' dictionary is used to supply additional+-- user account attributes when creating a new credential.+data CredentialUserEntity = CredentialUserEntity+  { -- | [(spec)](https://www.w3.org/TR/webauthn-2/#dom-publickeycredentialuserentity-id)+    -- The 'UserHandle' of the user account entity.+    -- To ensure secure operation, authentication and authorization decisions MUST+    -- be made on the basis of this 'cueId' member, not the 'cueDisplayName' nor 'cueName' members.+    -- See Section 6.1 of [RFC8266](https://www.w3.org/TR/webauthn-2/#biblio-rfc8266).+    -- The 'UserHandle' MUST NOT contain personally identifying information about the user, such as a username+    -- or e-mail address; see [§ 14.6.1 User Handle Contents](https://www.w3.org/TR/webauthn-2/#sctn-user-handle-privacy)+    -- for details. The user handle MUST NOT be empty, though it MAY be null.+    -- NOTE: We don't allow encoding it as null here, because it isn't an+    -- allowed value in the client, see <https://www.w3.org/TR/webauthn-2/#sctn-createCredential>+    -- This was confirmed and a fix was merged: <https://github.com/w3c/webauthn/pull/1600>+    cueId :: UserHandle,+    -- | [(spec)](https://www.w3.org/TR/webauthn-2/#dom-publickeycredentialuserentity-displayname)+    -- A [human-palatable](https://www.w3.org/TR/webauthn-2/#human-palatability) name for the user account,+    -- intended only for display. For example, "Alex Müller" or "田中倫".+    cueDisplayName :: UserAccountDisplayName,+    -- | [(spec)](https://www.w3.org/TR/webauthn-2/#dom-publickeycredentialentity-name)+    -- A [human-palatable](https://www.w3.org/TR/webauthn-2/#human-palatability) identifier for a user account.+    -- It is intended only for display, i.e., aiding the user in determining the difference between user+    -- accounts with similar 'cueDisplayName's. For example, "alexm", "alex.mueller@example.com" or "+14255551234".+    cueName :: UserAccountName+  }+  deriving (Eq, Show, Generic, ToJSON)++-- | [(spec)](https://www.w3.org/TR/webauthn-2/#dictionary-credential-params)+-- This dictionary is used to supply additional parameters when creating a new credential.+data CredentialParameters = CredentialParameters+  { -- | [(spec)](https://www.w3.org/TR/webauthn-2/#dom-publickeycredentialparameters-type)+    -- This member specifies the type of credential to be created.+    cpTyp :: CredentialType,+    -- | [(spec)](https://www.w3.org/TR/webauthn-2/#dom-publickeycredentialparameters-alg)+    -- This member specifies the cryptographic signature algorithm with which the newly+    -- generated credential will be used, and thus also the type of asymmetric+    -- key pair to be generated, e.g., RSA or Elliptic Curve.+    cpAlg :: Cose.CoseSignAlg+  }+  deriving (Eq, Show, Generic, ToJSON)++-- | [(spec)](https://www.w3.org/TR/webauthn-2/#dictdef-publickeycredentialdescriptor)+-- This dictionary contains the attributes that are specified by a caller when referring to a+-- [public key credential](https://www.w3.org/TR/webauthn-2/#public-key-credential) as an input parameter to the+-- [create()](https://w3c.github.io/webappsec-credential-management/#dom-credentialscontainer-create) or+-- [get()](https://w3c.github.io/webappsec-credential-management/#dom-credentialscontainer-get) methods.+-- It mirrors the fields of the 'Credential' object returned by the latter methods.+data CredentialDescriptor = CredentialDescriptor+  { -- | [(spec)](https://www.w3.org/TR/webauthn-2/#dom-publickeycredentialdescriptor-type)+    -- This member contains the type of the [public key credential](https://www.w3.org/TR/webauthn-2/#public-key-credential) the caller is referring to.+    cdTyp :: CredentialType,+    -- | [(spec)](https://www.w3.org/TR/webauthn-2/#dom-publickeycredentialdescriptor-id)+    -- This member contains the [credential ID](https://www.w3.org/TR/webauthn-2/#credential-id) of the+    -- [public key credential](https://www.w3.org/TR/webauthn-2/#public-key-credential) the caller is referring to.+    cdId :: CredentialId,+    -- | [(spec)](https://www.w3.org/TR/webauthn-2/#dom-publickeycredentialdescriptor-transports)+    -- This OPTIONAL member contains a hint as to how the [client](https://www.w3.org/TR/webauthn-2/#client)+    -- might communicate with the [managing authenticator](https://www.w3.org/TR/webauthn-2/#public-key-credential-source-managing-authenticator)+    -- of the [public key credential](https://www.w3.org/TR/webauthn-2/#public-key-credential) the caller is referring to.+    -- The values SHOULD be members of 'AuthenticatorTransport' but [client platforms](https://www.w3.org/TR/webauthn-2/#client-platform) MUST ignore unknown values.+    cdTransports :: Maybe [AuthenticatorTransport]+  }+  deriving (Eq, Show, Generic, ToJSON)++-- | [(spec)](https://www.w3.org/TR/webauthn-2/#dictdef-authenticatorselectioncriteria)+-- [WebAuthn Relying Parties](https://www.w3.org/TR/webauthn-2/#webauthn-relying-party)+-- may use the 'AuthenticatorSelectionCriteria' dictionary to specify their+-- requirements regarding authenticator attributes.+data AuthenticatorSelectionCriteria = AuthenticatorSelectionCriteria+  { -- | [(spec)](https://www.w3.org/TR/webauthn-2/#dom-authenticatorselectioncriteria-authenticatorattachment)+    -- If this member is present, eligible authenticators are filtered to+    -- only authenticators attached with the specified [§ 5.4.5 Authenticator+    -- Attachment Enumeration (enum AuthenticatorAttachment)](https://www.w3.org/TR/webauthn-2/#enum-attachment).+    ascAuthenticatorAttachment :: Maybe AuthenticatorAttachment,+    -- | [(spec)](https://www.w3.org/TR/webauthn-2/#dom-authenticatorselectioncriteria-residentkey)+    -- Specifies the extent to which the [Relying Party](https://www.w3.org/TR/webauthn-2/#relying-party)+    -- desires to create a [client-side discoverable credential](https://www.w3.org/TR/webauthn-2/#client-side-discoverable-credential).+    -- For historical reasons the naming retains the deprecated “resident” terminology.+    ascResidentKey :: ResidentKeyRequirement,+    -- | [(spec)](https://www.w3.org/TR/webauthn-2/#dom-authenticatorselectioncriteria-userverification)+    -- This member describes the [Relying Party](https://www.w3.org/TR/webauthn-2/#relying-party)'s+    -- requirements regarding [user verification](https://www.w3.org/TR/webauthn-2/#user-verification)+    -- for the [create()](https://w3c.github.io/webappsec-credential-management/#dom-credentialscontainer-create)+    -- operation. Eligible authenticators are filtered to only those capable of satisfying this requirement.+    -- The value SHOULD be a member of 'UserVerificationRequirement' but+    -- [client platforms](https://www.w3.org/TR/webauthn-2/#client-platform) MUST ignore unknown values,+    -- treating an unknown value as if the [member does not exist](https://infra.spec.whatwg.org/#map-exists).+    ascUserVerification :: UserVerificationRequirement+  }+  deriving (Eq, Show, Generic, ToJSON)++-- | [(spec)](https://www.w3.org/TR/webauthn-2/#flags)+data AuthenticatorDataFlags = AuthenticatorDataFlags+  { -- | [(spec)](https://www.w3.org/TR/webauthn-2/#concept-user-present)+    -- Upon successful completion of a [user presence test](https://www.w3.org/TR/webauthn-2/#test-of-user-presence),+    -- the user is said to be "[present](https://www.w3.org/TR/webauthn-2/#concept-user-present)".+    adfUserPresent :: Bool,+    -- | [(spec)](https://www.w3.org/TR/webauthn-2/#concept-user-verified)+    -- Upon successful completion of a [user verification](https://www.w3.org/TR/webauthn-2/#user-verification) process,+    -- the user is said to be "[verified](https://www.w3.org/TR/webauthn-2/#concept-user-verified)".+    adfUserVerified :: Bool+  }+  deriving (Eq, Show, Generic, ToJSON)++-- | A type encompassing the credential options, both for+-- [creation](https://www.w3.org/TR/webauthn-2/#dictionary-makecredentialoptions)+-- and+-- [requesting](https://www.w3.org/TR/webauthn-2/#dictionary-assertion-options).+-- The CeremonyKind araument specifies which.+data CredentialOptions (c :: CeremonyKind) where+  -- | [(spec)](https://www.w3.org/TR/webauthn-2/#dictionary-makecredentialoptions)+  CredentialOptionsRegistration ::+    { -- | [(spec)](https://www.w3.org/TR/webauthn-2/#dom-publickeycredentialcreationoptions-rp)+      -- This member contains data about the [Relying Party](https://www.w3.org/TR/webauthn-2/#relying-party)+      -- responsible for the request.+      corRp :: CredentialRpEntity,+      -- | [(spec)](https://www.w3.org/TR/webauthn-2/#dom-publickeycredentialcreationoptions-user)+      -- This member contains data about the user account for which the+      -- [Relying Party](https://www.w3.org/TR/webauthn-2/#relying-party) is requesting attestation.+      corUser :: CredentialUserEntity,+      -- | [(spec)](https://www.w3.org/TR/webauthn-2/#dom-publickeycredentialcreationoptions-challenge)+      -- This member contains a challenge intended to be used for generating the newly created+      -- credential’s attestation object. See the [§ 13.4.3 Cryptographic Challenges](https://www.w3.org/TR/webauthn-2/#sctn-cryptographic-challenges)+      -- security consideration.+      corChallenge :: Challenge,+      -- | [(spec)](https://www.w3.org/TR/webauthn-2/#dom-publickeycredentialcreationoptions-pubkeycredparams)+      -- This member contains information about the desired properties of the credential to be created.+      -- The sequence is ordered from most preferred to least preferred.+      -- The [client](https://www.w3.org/TR/webauthn-2/#client) makes a best-effort+      -- to create the most preferred credential that it can.+      corPubKeyCredParams :: [CredentialParameters],+      -- | [(spec)](https://www.w3.org/TR/webauthn-2/#dom-publickeycredentialcreationoptions-timeout)+      -- This member specifies a time, in milliseconds, that the caller is willing to wait for the call to complete.+      -- This is treated as a hint, and MAY be overridden by the [client](https://www.w3.org/TR/webauthn-2/#client).+      corTimeout :: Maybe Timeout,+      -- | [(spec)](https://www.w3.org/TR/webauthn-2/#dom-publickeycredentialcreationoptions-excludecredentials)+      -- This member is intended for use by [Relying Parties](https://www.w3.org/TR/webauthn-2/#relying-party)+      -- that wish to limit the creation of multiple credentials for the same account on a single authenticator.+      -- The [client](https://www.w3.org/TR/webauthn-2/#client) is requested to return an error if the new credential+      -- would be created on an authenticator that also contains one of the credentials enumerated in this parameter.+      corExcludeCredentials :: [CredentialDescriptor],+      -- | [(spec)](https://www.w3.org/TR/webauthn-2/#dom-publickeycredentialcreationoptions-authenticatorselection)+      -- This member is intended for use by [Relying Parties](https://www.w3.org/TR/webauthn-2/#relying-party)+      -- that wish to select the appropriate authenticators to participate in the+      -- [create()](https://w3c.github.io/webappsec-credential-management/#dom-credentialscontainer-create) operation.+      corAuthenticatorSelection :: Maybe AuthenticatorSelectionCriteria,+      -- | [(spec)](https://www.w3.org/TR/webauthn-2/#dom-publickeycredentialcreationoptions-attestation)+      -- This member is intended for use by [Relying Parties](https://www.w3.org/TR/webauthn-2/#relying-party)+      -- that wish to express their preference for [attestation conveyance](https://www.w3.org/TR/webauthn-2/#attestation-conveyance).+      corAttestation :: AttestationConveyancePreference,+      -- | [(spec)](https://www.w3.org/TR/webauthn-2/#dom-publickeycredentialcreationoptions-extensions)+      -- This member contains additional parameters requesting additional processing by the client and authenticator.+      -- For example, the caller may request that only authenticators with certain capabilities be used to create the credential,+      -- or that particular information be returned in the [attestation object](https://www.w3.org/TR/webauthn-2/#attestation-object).+      -- Some extensions are defined in [§ 9 WebAuthn Extensions](https://www.w3.org/TR/webauthn-2/#sctn-extensions);+      -- consult the IANA "WebAuthn Extension Identifiers" registry [IANA-WebAuthn-Registries](https://www.w3.org/TR/webauthn-2/#biblio-iana-webauthn-registries)+      -- established by [RFC8809](https://www.w3.org/TR/webauthn-2/#biblio-rfc8809) for an up-to-date+      -- list of registered [WebAuthn Extensions](https://www.w3.org/TR/webauthn-2/#webauthn-extensions).+      -- TODO: Extensions are not implemented by this library, see "Crypto.WebAuthn.Model#extensions".+      corExtensions :: Maybe AuthenticationExtensionsClientInputs+    } ->+    CredentialOptions 'Registration+  -- | [(spec)](https://www.w3.org/TR/webauthn-2/#dictionary-assertion-options)+  -- The 'CredentialOptionsAuthentication' dictionary supplies `[get()](https://w3c.github.io/webappsec-credential-management/#dom-credentialscontainer-get)`+  -- with the data it needs to generate an assertion.+  CredentialOptionsAuthentication ::+    { -- | [(spec)](https://www.w3.org/TR/webauthn-2/#dom-publickeycredentialrequestoptions-challenge)+      -- This member represents a challenge that the selected [authenticator](https://www.w3.org/TR/webauthn-2/#authenticator) signs,+      -- along with other data, when producing an [authentication assertion](https://www.w3.org/TR/webauthn-2/#authentication-assertion).+      -- See the [§ 13.4.3 Cryptographic Challenges](https://www.w3.org/TR/webauthn-2/#sctn-cryptographic-challenges) security consideration.+      coaChallenge :: Challenge,+      -- | [(spec)](https://www.w3.org/TR/webauthn-2/#dom-publickeycredentialrequestoptions-timeout)+      -- This OPTIONAL member specifies a time, in milliseconds, that the caller is willing to wait for the call to complete.+      -- The value is treated as a hint, and MAY be overridden by the [client](https://www.w3.org/TR/webauthn-2/#client).+      coaTimeout :: Maybe Timeout,+      -- | [(spec)](https://www.w3.org/TR/webauthn-2/#dom-publickeycredentialrequestoptions-rpid)+      -- This OPTIONAL member specifies the [relying party identifier](https://www.w3.org/TR/webauthn-2/#relying-party-identifier) claimed by the caller.+      -- If omitted, its value will be the `[CredentialsContainer](https://w3c.github.io/webappsec-credential-management/#credentialscontainer)`+      -- object’s [relevant settings object](https://html.spec.whatwg.org/multipage/webappapis.html#relevant-settings-object)'s+      -- [origin](https://html.spec.whatwg.org/multipage/webappapis.html#concept-settings-object-origin)'s+      -- [effective domain](https://html.spec.whatwg.org/multipage/origin.html#concept-origin-effective-domain).+      coaRpId :: Maybe RpId,+      -- | [(spec)](https://www.w3.org/TR/webauthn-2/#dom-publickeycredentialrequestoptions-allowcredentials)+      -- This OPTIONAL member contains a list of 'CredentialDescriptor'+      -- objects representing [public key credentials](https://www.w3.org/TR/webauthn-2/#public-key-credential) acceptable to the caller,+      -- in descending order of the caller’s preference (the first item in the list is the most preferred credential, and so on down the list).+      coaAllowCredentials :: [CredentialDescriptor],+      -- | [(spec)](https://www.w3.org/TR/webauthn-2/#dom-publickeycredentialrequestoptions-userverification)+      -- This OPTIONAL member describes the [Relying Party](https://www.w3.org/TR/webauthn-2/#relying-party)'s requirements regarding+      -- [user verification](https://www.w3.org/TR/webauthn-2/#user-verification) for the+      -- `[get()](https://w3c.github.io/webappsec-credential-management/#dom-credentialscontainer-get)` operation.+      coaUserVerification :: UserVerificationRequirement,+      -- | [(spec)](https://www.w3.org/TR/webauthn-2/#dom-publickeycredentialrequestoptions-extensions)+      -- This OPTIONAL member contains additional parameters requesting additional processing by the client and authenticator.+      -- For example, if transaction confirmation is sought from the user, then the prompt string might be included as an extension.+      coaExtensions :: Maybe AuthenticationExtensionsClientInputs+    } ->+    CredentialOptions 'Authentication++deriving instance Eq (CredentialOptions c)++deriving instance Show (CredentialOptions c)++instance ToJSON (CredentialOptions c) where+  toJSON CredentialOptionsRegistration {..} =+    object+      [ "tag" .= String "CredentialOptionsRegistration",+        "corRp" .= corRp,+        "corUser" .= corUser,+        "corChallenge" .= corChallenge,+        "corPubKeyCredParams" .= corPubKeyCredParams,+        "corTimeout" .= corTimeout,+        "corExcludeCredentials" .= corExcludeCredentials,+        "corAuthenticatorSelection" .= corAuthenticatorSelection,+        "corAttestation" .= corAttestation,+        "corExtensions" .= corExtensions+      ]+  toJSON CredentialOptionsAuthentication {..} =+    object+      [ "tag" .= String "CredentialOptionsAuthentication",+        "coaChallenge" .= coaChallenge,+        "coaTimeout" .= coaTimeout,+        "coaRpId" .= coaRpId,+        "coaAllowCredentials" .= coaAllowCredentials,+        "coaUserVerification" .= coaUserVerification,+        "coaExtensions" .= coaExtensions+      ]++-- | [(spec)](https://www.w3.org/TR/webauthn-2/#dictionary-client-data)+-- The client data represents the contextual bindings of both the+-- [WebAuthn Relying Party](https://www.w3.org/TR/webauthn-2/#webauthn-relying-party)+-- and the [client](https://www.w3.org/TR/webauthn-2/#client).+data CollectedClientData (c :: CeremonyKind) raw = CollectedClientData+  { -- | [(spec)](https://www.w3.org/TR/webauthn-2/#dom-collectedclientdata-challenge)+    -- This member contains the challenge provided by the [Relying Party](https://www.w3.org/TR/webauthn-2/#relying-party).+    -- See the [§ 13.4.3 Cryptographic Challenges](https://www.w3.org/TR/webauthn-2/#sctn-cryptographic-challenges) security consideration.+    ccdChallenge :: Challenge,+    -- | [(spec)](https://www.w3.org/TR/webauthn-2/#dom-collectedclientdata-origin)+    -- This member contains the fully qualified [origin](https://html.spec.whatwg.org/multipage/origin.html#concept-origin)+    -- of the requester, as provided to the authenticator by the client, in the syntax+    -- defined by [RFC6454](https://www.w3.org/TR/webauthn-2/#biblio-rfc6454).+    ccdOrigin :: Origin,+    -- | [(spec)](https://www.w3.org/TR/webauthn-2/#dom-collectedclientdata-crossorigin)+    -- This member contains the inverse of the @sameOriginWithAncestors@ araument value+    -- that was passed into the [internal method](https://tc39.github.io/ecma262/#sec-object-internal-methods-and-internal-slots).+    ccdCrossOrigin :: Bool,+    -- | Raw data of the client data, for verification purposes+    ccdRawData :: RawField raw+    -- TODO: This library does not implement token binding, this is in+    -- anticipation of version 3 of the webauthn spec that likely removes this+    -- field in its entirety. Discussion can be found in+    -- [the relevant PR](https://github.com/w3c/webauthn/pull/1630).+    -- Chromium and Firefox both don't propagate this field.+    -- Once v3 of the webauthn has been released, and this library is updated+    -- to the new spec, this field and related references can be removed.+    -- tokenBinding :: Maybe TokenBinding,+  }+  deriving (Eq, Show)++instance SingI c => ToJSON (CollectedClientData c raw) where+  toJSON CollectedClientData {..} =+    object+      [ "webauthnKind" .= sing @c,+        "ccdChallenge" .= ccdChallenge,+        "ccdOrigin" .= ccdOrigin,+        "ccdCrossOrigin" .= ccdCrossOrigin,+        "ccdRawData" .= ccdRawData+      ]++-- | [(spec)](https://www.w3.org/TR/webauthn-2/#sctn-attested-credential-data)+-- Attested credential data is a variable-length byte array added to the+-- [authenticator data](https://www.w3.org/TR/webauthn-2/#authenticator-data)+-- when generating an [attestation object](https://www.w3.org/TR/webauthn-2/#attestation-object)+-- for a given credential.+data AttestedCredentialData (c :: CeremonyKind) raw where+  AttestedCredentialData ::+    { -- | [(spec)](https://www.w3.org/TR/webauthn-2/#aaguid)+      acdAaguid :: AAGUID,+      -- | [(spec)](https://www.w3.org/TR/webauthn-2/#credentialid)+      acdCredentialId :: CredentialId,+      -- | [(spec)](https://www.w3.org/TR/webauthn-2/#credentialpublickey)+      acdCredentialPublicKey :: Cose.CosePublicKey,+      -- | [(spec)](https://www.w3.org/TR/webauthn-2/#credentialpublickey)+      acdCredentialPublicKeyBytes :: RawField raw+    } ->+    AttestedCredentialData 'Registration raw+  NoAttestedCredentialData ::+    AttestedCredentialData 'Authentication raw++deriving instance Eq (AttestedCredentialData c raw)++deriving instance Show (AttestedCredentialData c raw)++instance ToJSON (AttestedCredentialData c raw) where+  toJSON AttestedCredentialData {..} =+    object+      [ "acdAaguid" .= acdAaguid,+        "acdCredentialId" .= acdCredentialId,+        "acdCredentialPublicKey" .= acdCredentialPublicKey,+        "acdCredentialPublicKeyBytes" .= acdCredentialPublicKeyBytes+      ]+  toJSON NoAttestedCredentialData {} = Null++-- | [(spec)](https://www.w3.org/TR/webauthn-2/#sctn-authenticator-data)+-- The authenticator data structure encodes contextual bindings made by the+-- [authenticator](https://www.w3.org/TR/webauthn-2/#authenticator). These+-- bindings are controlled by the authenticator itself, and derive their trust+-- from the [WebAuthn Relying Party](https://www.w3.org/TR/webauthn-2/#webauthn-relying-party)'s+-- assessment of the security properties of the authenticator. In one extreme case,+-- the authenticator may be embedded in the client, and its bindings may be no+-- more trustworthy than the [client data](https://www.w3.org/TR/webauthn-2/#client-data).+-- At the other extreme, the authenticator may be a discrete entity with high-security+-- hardware and software, connected to the client over a secure channel. In both cases,+-- the [Relying Party](https://www.w3.org/TR/webauthn-2/#relying-party) receives+-- the [authenticator data](https://www.w3.org/TR/webauthn-2/#authenticator-data)+-- in the same format, and uses its knowledge of the authenticator to make trust decisions.+data AuthenticatorData (c :: CeremonyKind) raw = AuthenticatorData+  { -- | [(spec)](https://www.w3.org/TR/webauthn-2/#rpidhash)+    -- SHA-256 hash of the [RP ID](https://www.w3.org/TR/webauthn-2/#rp-id) the+    -- [credential](https://www.w3.org/TR/webauthn-2/#public-key-credential) is+    -- [scoped](https://www.w3.org/TR/webauthn-2/#scope) to.+    adRpIdHash :: RpIdHash,+    -- | [(spec)](https://www.w3.org/TR/webauthn-2/#flags)+    adFlags :: AuthenticatorDataFlags,+    -- | [(spec)](https://www.w3.org/TR/webauthn-2/#signcount)+    -- [Signature counter](https://www.w3.org/TR/webauthn-2/#signature-counter)+    adSignCount :: SignatureCounter,+    -- | [(spec)](https://www.w3.org/TR/webauthn-2/#attestedcredentialdata)+    -- [attested credential data](https://www.w3.org/TR/webauthn-2/#attested-credential-data) (if present)+    adAttestedCredentialData :: AttestedCredentialData c raw,+    -- | [(spec)](https://www.w3.org/TR/webauthn-2/#authdataextensions)+    -- Extension-defined [authenticator data](https://www.w3.org/TR/webauthn-2/#authenticator-data)+    adExtensions :: Maybe AuthenticatorExtensionOutputs,+    -- | Raw encoded data for verification purposes+    adRawData :: RawField raw+  }+  deriving (Eq, Show, Generic, ToJSON)++-- | The result from verifying an attestation statement.+-- Either the result is verifiable, in which case @k ~ 'Verifiable'@, the+-- 'AttestationType' contains a verifiable certificate chain.+-- Or the result is not verifiable, in which case @k ~ 'Unverifiable'@, the+-- 'AttestationType' is None or Self.+data SomeAttestationType = forall k. SomeAttestationType (AttestationType k)++-- | [(spec)](https://www.w3.org/TR/webauthn-2/#sctn-attestation-formats)+-- This class is used to specify an [attestation statement format](https://www.w3.org/TR/webauthn-2/#attestation-statement-format)'s+-- [identifier](https://www.w3.org/TR/webauthn-2/#sctn-attstn-fmt-ids)+-- and [attestation statement structure](https://www.w3.org/TR/webauthn-2/#attestation-statement)+class+  ( Eq (AttStmt a),+    Show (AttStmt a),+    ToJSON (AttStmt a),+    Typeable a,+    Show a,+    Exception (AttStmtVerificationError a)+  ) =>+  AttestationStatementFormat a+  where+  -- | The type of a fully-decoded and structurally valid attestation statement+  type AttStmt a :: Type++  -- | [(spec)](https://www.w3.org/TR/webauthn-2/#sctn-attstn-fmt-ids)+  -- Attestation statement formats are identified by a string, called an attestation+  -- statement format identifier, chosen by the author of the+  -- [attestation statement format](https://www.w3.org/TR/webauthn-2/#attestation-statement-format).+  --+  -- Attestation statement format identifiers SHOULD be registered in the IANA "WebAuthn Attestation Statement Format Identifiers" registry+  -- [IANA-WebAuthn-Registries](https://www.w3.org/TR/webauthn-2/#biblio-iana-webauthn-registries)+  -- established by [RFC8809](https://www.w3.org/TR/webauthn-2/#biblio-rfc8809).+  -- All registered attestation statement format identifiers are unique amongst+  -- themselves as a matter of course.+  --+  -- Unregistered attestation statement format identifiers SHOULD use lowercase+  -- reverse domain-name naming, using a domain name registered by the developer,+  -- in order to assure uniqueness of the identifier. All attestation statement+  -- format identifiers MUST be a maximum of 32 octets in length and MUST+  -- consist only of printable USASCII characters, excluding backslash and+  -- doublequote, i.e., VCHAR as defined in [RFC5234](https://www.w3.org/TR/webauthn-2/#biblio-rfc5234)+  -- but without %x22 and %x5c.+  --+  -- Note: This means attestation statement format identifiers based on domain+  -- names MUST incorporate only LDH Labels [RFC5890](https://www.w3.org/TR/webauthn-2/#biblio-rfc5890).+  --+  -- Attestation statement formats that may exist in multiple versions SHOULD+  -- include a version in their identifier. In effect, different versions are+  -- thus treated as different formats, e.g., @packed2@ as a new version of the+  -- [§ 8.2 Packed Attestation Statement Format](https://www.w3.org/TR/webauthn-2/#sctn-packed-attestation).+  asfIdentifier :: a -> Text++  -- | The type of verification errors that can occur when verifying this+  -- attestation statement using 'asfVerify'+  type AttStmtVerificationError a :: Type++  -- | [(spec)](https://www.w3.org/TR/webauthn-2/#verification-procedure)+  -- The procedure to verify an [attestation statement](https://www.w3.org/TR/webauthn-2/#attestation-statement)+  asfVerify ::+    a ->+    HG.DateTime ->+    AttStmt a ->+    AuthenticatorData 'Registration 'True ->+    ClientDataHash ->+    Validation (NonEmpty (AttStmtVerificationError a)) SomeAttestationType++  -- | The trusted root certificates specifically for this attestation+  -- statement format. For attestation statement chain validation, these+  -- certificates are used, in addition to the ones from the metadata registry+  --+  -- [(spec)](https://www.w3.org/TR/webauthn-2/#sctn-registering-a-new-credential) step 20:+  -- If validation is successful, obtain a list of acceptable trust anchors+  -- (i.e. attestation root certificates) for that attestation type and+  -- attestation statement format fmt, from a trusted source or from policy.+  --+  -- While for the attestation statement formats we implement, none of them use+  -- the 'VerifiableAttestationType', it is implied that it could be used by+  -- the above sentence from the spec.+  asfTrustAnchors ::+    a ->+    VerifiableAttestationType ->+    X509.CertificateStore++  -- | A decoder for the attestation statement [syntax](https://www.w3.org/TR/webauthn-2/#sctn-attestation-formats).+  -- The @attStmt@ CBOR map is given as an input. See+  -- [Generating an Attestation Object](https://www.w3.org/TR/webauthn-2/#sctn-generating-an-attestation-object)+  asfDecode ::+    a ->+    HashMap Text CBOR.Term ->+    Either Text (AttStmt a)++  -- | An encoder for the attestation statement [syntax](https://www.w3.org/TR/webauthn-2/#sctn-attestation-formats).+  -- The @attStmt@ CBOR map is expected as the result. See+  -- [Generating an Attestation Object](https://www.w3.org/TR/webauthn-2/#sctn-generating-an-attestation-object)+  asfEncode ::+    a ->+    AttStmt a ->+    CBOR.Term++-- | An arbitrary [attestation statement format](https://www.w3.org/TR/webauthn-2/#sctn-attestation-formats).+-- In contrast to 'AttestationStatementFormat', this type can be put into a list.+-- This is used for 'singletonAttestationStatementFormat'+data SomeAttestationStatementFormat+  = forall a.+    AttestationStatementFormat a =>+    SomeAttestationStatementFormat a++-- | A type representing the set of supported attestation statement formats.+-- The constructor is intentionally not exported, use+-- 'singletonAttestationStatementFormat' instead to construct it and+-- 'lookupAttestationStatementFormat' to look up formats. '<>' can be used to+-- combine multiple formats. 'mempty' can be used for not supporting any formats.+newtype SupportedAttestationStatementFormats+  = -- HashMap invariant: asfIdentifier (hm ! k) == k+    SupportedAttestationStatementFormats (HashMap Text SomeAttestationStatementFormat)+  deriving newtype (Semigroup, Monoid)++-- | Creates a `SupportedAttestationStatementFormats`-Map containing a single+-- supported format.+singletonAttestationStatementFormat :: SomeAttestationStatementFormat -> SupportedAttestationStatementFormats+singletonAttestationStatementFormat someFormat@(SomeAttestationStatementFormat format) =+  SupportedAttestationStatementFormats $ HashMap.singleton (asfIdentifier format) someFormat++-- | Attempt to find the desired attestation statement format in a map of+-- supported formats. Can then be used to perform attestation.+lookupAttestationStatementFormat :: Text -> SupportedAttestationStatementFormats -> Maybe SomeAttestationStatementFormat+lookupAttestationStatementFormat id (SupportedAttestationStatementFormats sasf) = sasf !? id++-- | [(spec)](https://www.w3.org/TR/webauthn-2/#attestation-object)+data AttestationObject raw = forall a.+  AttestationStatementFormat a =>+  AttestationObject+  { -- | [(spec)](https://www.w3.org/TR/webauthn-2/#authenticator-data)+    -- The authenticator data structure encodes contextual bindings made by the+    -- [authenticator](https://www.w3.org/TR/webauthn-2/#authenticator).+    -- These bindings are controlled by the authenticator itself, and derive+    -- their trust from the [WebAuthn Relying Party](https://www.w3.org/TR/webauthn-2/#webauthn-relying-party)'s+    -- assessment of the security properties of the authenticator. In one+    -- extreme case, the authenticator may be embedded in the client, and its+    -- bindings may be no more trustworthy than the [client data](https://www.w3.org/TR/webauthn-2/#client-data).+    -- At the other extreme, the authenticator may be a discrete entity with high-security hardware+    -- and software, connected to the client over a secure channel. In both cases,+    -- the [Relying Party](https://www.w3.org/TR/webauthn-2/#relying-party) receives+    -- the [authenticator data](https://www.w3.org/TR/webauthn-2/#authenticator-data)+    -- in the same format, and uses its knowledge of the authenticator to make trust decisions.+    aoAuthData :: AuthenticatorData 'Registration raw,+    -- | [(spec)](https://www.w3.org/TR/webauthn-2/#attestation-statement-format)+    aoFmt :: a,+    -- | [(spec)](https://www.w3.org/TR/webauthn-2/#attestation-statement)+    aoAttStmt :: AttStmt a+  }++instance Eq (AttestationObject raw) where+  AttestationObject {aoAuthData = lAuthData, aoFmt = lFmt, aoAttStmt = lAttStmt}+    == AttestationObject {aoAuthData = rAuthData, aoFmt = rFmt, aoAttStmt = rAttStmt} =+      lAuthData == rAuthData+        -- We need to use some simple reflection in order to be able to compare the attestation statements+        && case eqTypeRep (typeOf lFmt) (typeOf rFmt) of+          Just HRefl -> lAttStmt == rAttStmt+          Nothing -> False++deriving instance Show (AttestationObject raw)++instance ToJSON (AttestationObject raw) where+  toJSON AttestationObject {..} =+    object+      [ "aoAuthData" .= aoAuthData,+        "aoFmt" .= asfIdentifier aoFmt,+        "aoAttStmt" .= aoAttStmt+      ]++-- | [(spec)](https://www.w3.org/TR/webauthn-2/#authenticatorresponse)+-- [Authenticators](https://www.w3.org/TR/webauthn-2/#authenticator) respond to+-- [Relying Party](https://www.w3.org/TR/webauthn-2/#relying-party) requests by+-- returning an object derived from the `[AuthenticatorResponse](https://www.w3.org/TR/webauthn-2/#authenticatorresponse)` interface+data AuthenticatorResponse (c :: CeremonyKind) raw where+  -- | [(spec)](https://www.w3.org/TR/webauthn-2/#iface-authenticatorattestationresponse)+  -- The [AuthenticatorAttestationResponse](https://www.w3.org/TR/webauthn-2/#authenticatorattestationresponse)+  -- interface represents the [authenticator](https://www.w3.org/TR/webauthn-2/#authenticator)'s response+  -- to a client’s request for the creation of a new+  -- [public key credential](https://www.w3.org/TR/webauthn-2/#public-key-credential).+  -- It contains information about the new credential that can be used to identify+  -- it for later use, and metadata that can be used by the+  -- [WebAuthn Relying Party](https://www.w3.org/TR/webauthn-2/#webauthn-relying-party)+  -- to assess the characteristics of the credential during registration.+  AuthenticatorResponseRegistration ::+    { -- | [(spec)](https://www.w3.org/TR/webauthn-2/#dom-authenticatorresponse-clientdatajson)+      -- This attribute, inherited from `[AuthenticatorResponse](https://www.w3.org/TR/webauthn-2/#authenticatorresponse)`,+      -- contains the [JSON-compatible serialization of client data](https://www.w3.org/TR/webauthn-2/#collectedclientdata-json-compatible-serialization-of-client-data)+      -- (see [§ 6.5 Attestation](https://www.w3.org/TR/webauthn-2/#sctn-attestation))+      -- passed to the authenticator by the client in order to generate this credential.+      -- The exact JSON serialization MUST be preserved, as the+      -- [hash of the serialized client data](https://www.w3.org/TR/webauthn-2/#collectedclientdata-hash-of-the-serialized-client-data) has been computed over it.+      arrClientData :: CollectedClientData 'Registration raw,+      -- | [(spec)](https://www.w3.org/TR/webauthn-2/#dom-authenticatorattestationresponse-attestationobject)+      -- This attribute contains an [attestation object](https://www.w3.org/TR/webauthn-2/#attestation-object),+      -- which is opaque to, and cryptographically protected against tampering by, the client.+      -- The [attestation object](https://www.w3.org/TR/webauthn-2/#attestation-object) contains both+      -- [authenticator data](https://www.w3.org/TR/webauthn-2/#authenticator-data) and an+      -- [attestation statement](https://www.w3.org/TR/webauthn-2/#attestation-statement).+      -- The former contains the AAGUID, a unique [credential ID](https://www.w3.org/TR/webauthn-2/#credential-id),+      -- and the [credential public key](https://www.w3.org/TR/webauthn-2/#credential-public-key).+      -- The contents of the [attestation statement](https://www.w3.org/TR/webauthn-2/#attestation-statement)+      -- are determined by the [attestation statement format](https://www.w3.org/TR/webauthn-2/#attestation-statement-format)+      -- used by the [authenticator](https://www.w3.org/TR/webauthn-2/#authenticator).+      -- It also contains any additional information that the [Relying Party](https://www.w3.org/TR/webauthn-2/#relying-party)'s+      -- server requires to validate the [attestation statement](https://www.w3.org/TR/webauthn-2/#attestation-statement),+      -- as well as to decode and validate the [authenticator data](https://www.w3.org/TR/webauthn-2/#authenticator-data)+      -- along with the [JSON-compatible serialization of client data](https://www.w3.org/TR/webauthn-2/#collectedclientdata-json-compatible-serialization-of-client-data).+      -- For more details, see [§ 6.5 Attestation](https://www.w3.org/TR/webauthn-2/#sctn-attestation),+      -- [§ 6.5.4 Generating an Attestation Object](https://www.w3.org/TR/webauthn-2/#sctn-generating-an-attestation-object),+      -- and [Figure 6](https://www.w3.org/TR/webauthn-2/#fig-attStructs).+      arrAttestationObject :: AttestationObject raw+      -- TODO: This property is currently not propagated by webauthn-json. See:+      -- <https://github.com/github/webauthn-json/pull/44>+      -- [(spec)](https://www.w3.org/TR/webauthn-2/#dom-authenticatorattestationresponse-gettransports)+      -- This [internal slot](https://tc39.github.io/ecma262/#sec-object-internal-methods-and-internal-slots)+      -- contains a sequence of zero or more unique `[DOMString](https://heycam.github.io/webidl/#idl-DOMString)`s+      -- in lexicoaraphical order. These values are the transports that the+      -- [authenticator](https://www.w3.org/TR/webauthn-2/#authenticator) is believed to support,+      -- or an empty sequence if the information is unavailable.+      -- arrTransports :: Set AuthenticatorTransport+    } ->+    AuthenticatorResponse 'Registration raw+  -- | [(spec)](https://www.w3.org/TR/webauthn-2/#authenticatorassertionresponse)+  -- The [AuthenticatorAssertionResponse](https://www.w3.org/TR/webauthn-2/#authenticatorassertionresponse) interface represents an+  -- [authenticator](https://www.w3.org/TR/webauthn-2/#authenticator)'s response+  -- to a client’s request for generation of a new+  -- [authentication assertion](https://www.w3.org/TR/webauthn-2/#authentication-assertion)+  -- given the [WebAuthn Relying Party](https://www.w3.org/TR/webauthn-2/#webauthn-relying-party)'s+  -- challenge and OPTIONAL list of credentials it is aware of. This response+  -- contains a cryptographic signature proving possession of the+  -- [credential private key](https://www.w3.org/TR/webauthn-2/#credential-private-key),+  -- and optionally evidence of [user consent](https://www.w3.org/TR/webauthn-2/#user-consent)+  -- to a specific transaction.+  AuthenticatorResponseAuthentication ::+    { -- | [(spec)](https://www.w3.org/TR/webauthn-2/#dom-authenticatorresponse-clientdatajson)+      -- This attribute, inherited from `[AuthenticatorResponse](https://www.w3.org/TR/webauthn-2/#authenticatorresponse)`,+      -- contains the [JSON-compatible serialization of client data](https://www.w3.org/TR/webauthn-2/#collectedclientdata-json-compatible-serialization-of-client-data)+      -- (see [§ 6.5 Attestation](https://www.w3.org/TR/webauthn-2/#sctn-attestation))+      -- passed to the authenticator by the client in order to generate this credential.+      -- The exact JSON serialization MUST be preserved, as the+      -- [hash of the serialized client data](https://www.w3.org/TR/webauthn-2/#collectedclientdata-hash-of-the-serialized-client-data) has been computed over it.+      araClientData :: CollectedClientData 'Authentication raw,+      -- | [(spec)](https://www.w3.org/TR/webauthn-2/#dom-authenticatorassertionresponse-authenticatordata)+      -- This attribute contains the [authenticator data](https://www.w3.org/TR/webauthn-2/#authenticator-data)+      -- returned by the authenticator. See [§ 6.1 Authenticator Data](https://www.w3.org/TR/webauthn-2/#sctn-authenticator-data).+      araAuthenticatorData :: AuthenticatorData 'Authentication raw,+      -- | [(spec)](https://www.w3.org/TR/webauthn-2/#dom-authenticatorassertionresponse-signature)+      -- This attribute contains the raw signature returned from the authenticator.+      -- See [§ 6.3.3 The authenticatorGetAssertion Operation](https://www.w3.org/TR/webauthn-2/#sctn-op-get-assertion).+      araSignature :: AssertionSignature,+      -- | [(spec)](https://www.w3.org/TR/webauthn-2/#dom-authenticatorassertionresponse-userhandle)+      -- This attribute contains the [user handle](https://www.w3.org/TR/webauthn-2/#user-handle)+      -- returned from the authenticator, or null if the authenticator did not return a+      -- [user handle](https://www.w3.org/TR/webauthn-2/#user-handle). See+      -- [§ 6.3.3 The authenticatorGetAssertion Operation](https://www.w3.org/TR/webauthn-2/#sctn-op-get-assertion).+      araUserHandle :: Maybe UserHandle+    } ->+    AuthenticatorResponse 'Authentication raw++deriving instance Eq (AuthenticatorResponse c raw)++deriving instance Show (AuthenticatorResponse c raw)++instance ToJSON (AuthenticatorResponse c raw) where+  toJSON AuthenticatorResponseRegistration {..} =+    object+      [ "arrClientData" .= arrClientData,+        "arrAttestationObject" .= arrAttestationObject+      ]+  toJSON AuthenticatorResponseAuthentication {..} =+    object+      [ "araClientData" .= araClientData,+        "araAuthenticatorData" .= araAuthenticatorData,+        "araSignature" .= araSignature,+        "araUserHandle" .= araUserHandle+      ]++-- | [(spec)](https://www.w3.org/TR/webauthn-2/#iface-pkcredential)+-- The 'Credential' interface contains the attributes that are returned to the caller when a new credential is created, or a new assertion is requested.+data Credential (c :: CeremonyKind) raw = Credential+  { -- | [(spec)](https://www.w3.org/TR/webauthn-2/#dom-publickeycredential-identifier-slot)+    -- Contains the [credential ID](https://www.w3.org/TR/webauthn-2/#credential-id),+    -- chosen by the authenticator. The [credential ID](https://www.w3.org/TR/webauthn-2/#credential-id)+    -- is used to look up credentials for use, and is therefore expected to be globally+    -- unique with high probability across all credentials of the same type, across all authenticators.+    cIdentifier :: CredentialId,+    -- | [(spec)](https://www.w3.org/TR/webauthn-2/#dom-publickeycredential-response)+    -- This attribute contains the [authenticator](https://www.w3.org/TR/webauthn-2/#authenticator)'s+    -- response to the client’s request to either create a [public key credential](https://www.w3.org/TR/webauthn-2/#public-key-credential),+    -- or generate an [authentication assertion](https://www.w3.org/TR/webauthn-2/#authentication-assertion).+    -- If the `[PublicKeyCredential](https://www.w3.org/TR/webauthn-2/#publickeycredential)`+    -- is created in response to `[create()](https://w3c.github.io/webappsec-credential-management/#dom-credentialscontainer-create)`,+    -- this attribute’s value will be an `[AuthenticatorAttestationResponse](https://www.w3.org/TR/webauthn-2/#authenticatorattestationresponse)`,+    -- otherwise, the `[PublicKeyCredential](https://www.w3.org/TR/webauthn-2/#publickeycredential)`+    -- was created in response to `[get()](https://w3c.github.io/webappsec-credential-management/#dom-credentialscontainer-get)`,+    -- and this attribute’s value will be an `[AuthenticatorAssertionResponse](https://www.w3.org/TR/webauthn-2/#authenticatorassertionresponse)`.+    cResponse :: AuthenticatorResponse c raw,+    -- | [(spec)](https://www.w3.org/TR/webauthn-2/#dom-publickeycredential-getclientextensionresults)+    -- This operation returns the value of `[[[clientExtensionsResults]]](https://www.w3.org/TR/webauthn-2/#dom-publickeycredential-clientextensionsresults-slot)`,+    -- which is a [map](https://infra.spec.whatwg.org/#ordered-map) containing+    -- [extension identifier](https://www.w3.org/TR/webauthn-2/#extension-identifier) →+    -- [client extension output](https://www.w3.org/TR/webauthn-2/#client-extension-output) entries produced+    -- by the extension’s [client extension processing](https://www.w3.org/TR/webauthn-2/#client-extension-processing).+    cClientExtensionResults :: AuthenticationExtensionsClientOutputs+  }+  deriving (Eq, Show, Generic, ToJSON)++-- | Removes all raw fields from a 'Credential', useful for+-- e.g. pretty-printing only the desired fields. This is the counterpart to+-- 'Crypto.WebAuthn.Model.Binary.Encoding.encodeRawCredential'+stripRawCredential :: forall c raw. SingI c => Credential c raw -> Credential c 'False+stripRawCredential Credential {..} =+  Credential+    { cResponse = case sing @c of+        SRegistration -> stripRawAuthenticatorResponseRegistration cResponse+        SAuthentication -> stripRawAuthenticatorResponseAuthentication cResponse,+      ..+    }+  where+    stripRawAuthenticatorResponseAuthentication :: AuthenticatorResponse 'Authentication raw -> AuthenticatorResponse 'Authentication 'False+    stripRawAuthenticatorResponseAuthentication AuthenticatorResponseAuthentication {..} =+      AuthenticatorResponseAuthentication+        { araClientData = stripRawCollectedClientData araClientData,+          araAuthenticatorData = stripRawAuthenticatorData araAuthenticatorData,+          ..+        }++    stripRawAuthenticatorResponseRegistration :: AuthenticatorResponse 'Registration raw -> AuthenticatorResponse 'Registration 'False+    stripRawAuthenticatorResponseRegistration AuthenticatorResponseRegistration {..} =+      AuthenticatorResponseRegistration+        { arrClientData = stripRawCollectedClientData arrClientData,+          arrAttestationObject = stripRawAttestationObject arrAttestationObject,+          ..+        }++    stripRawAttestationObject :: AttestationObject raw -> AttestationObject 'False+    stripRawAttestationObject AttestationObject {..} =+      AttestationObject+        { aoAuthData = stripRawAuthenticatorData aoAuthData,+          ..+        }++    stripRawAuthenticatorData :: forall c raw. SingI c => AuthenticatorData c raw -> AuthenticatorData c 'False+    stripRawAuthenticatorData AuthenticatorData {..} =+      AuthenticatorData+        { adRawData = NoRaw,+          adAttestedCredentialData = stripRawAttestedCredentialData adAttestedCredentialData,+          ..+        }++    stripRawAttestedCredentialData :: forall c raw. SingI c => AttestedCredentialData c raw -> AttestedCredentialData c 'False+    stripRawAttestedCredentialData = case sing @c of+      SRegistration -> \AttestedCredentialData {..} -> AttestedCredentialData {acdCredentialPublicKeyBytes = NoRaw, ..}+      SAuthentication -> \NoAttestedCredentialData -> NoAttestedCredentialData++    stripRawCollectedClientData :: forall c raw. SingI c => CollectedClientData c raw -> CollectedClientData c 'False+    stripRawCollectedClientData CollectedClientData {..} = CollectedClientData {ccdRawData = NoRaw, ..}
+ src/Crypto/WebAuthn/Model/WebIDL.hs view
@@ -0,0 +1,112 @@+{-# LANGUAGE DataKinds #-}++-- | Stability: experimental+-- This module contains functions and types for encoding 'T.CredentialOptions'+-- and decoding 'T.Credential's, based on intermediate types that implement the 'ToJSON' and 'FromJSON' types respectively, matching the serialization used by [webauthn-json](https://github.com/github/webauthn-json).+module Crypto.WebAuthn.Model.WebIDL+  ( -- * Registration+    encodeCredentialOptionsRegistration,+    IDLCredentialOptionsRegistration,+    IDLCredentialRegistration,+    decodeCredentialRegistration,++    -- * Authentication+    encodeCredentialOptionsAuthentication,+    IDLCredentialOptionsAuthentication,+    IDLCredentialAuthentication,+    decodeCredentialAuthentication,+  )+where++import qualified Crypto.WebAuthn.Model.Kinds as K+import qualified Crypto.WebAuthn.Model.Types as T+import Crypto.WebAuthn.Model.WebIDL.Internal.Decoding (Decode (decode), DecodeCreated (decodeCreated))+import Crypto.WebAuthn.Model.WebIDL.Internal.Encoding (Encode (encode))+import qualified Crypto.WebAuthn.Model.WebIDL.Types as IDL+import Data.Aeson (FromJSON, ToJSON)+import Data.Text (Text)++-- | Encodes a @'T.CredentialOptions' 'K.Registration'@, which is needed for the+-- [registration ceremony](https://www.w3.org/TR/webauthn-2/#registration). The+-- resulting type from this function can be encoded using 'Data.Aeson.toJSON',+-- sent as a response, received by the Relying Party script, passed directly as the [@publicKey@](https://www.w3.org/TR/webauthn-2/#dom-credentialcreationoptions-publickey)+-- field in the argument to [webauthn-json](https://github.com/github/webauthn-json)'s [@create()@](https://github.com/github/webauthn-json#api) (or equivalent) function. The result of that function can then be decoded using 'decodeCredentialRegistration'.+encodeCredentialOptionsRegistration ::+  T.CredentialOptions 'K.Registration ->+  IDLCredentialOptionsRegistration+encodeCredentialOptionsRegistration = IDLCredentialOptionsRegistration <$> encode++-- | The intermediate type returned by 'encodeCredentialOptionsRegistration',+-- equivalent to the [@PublicKeyCredentialCreationOptions@](https://www.w3.org/TR/webauthn-2/#dictdef-publickeycredentialcreationoptions) dictionary+newtype IDLCredentialOptionsRegistration = IDLCredentialOptionsRegistration+  { _unIDLCredentialOptionsRegistration :: IDL.PublicKeyCredentialCreationOptions+  }+  deriving newtype (Show, Eq, ToJSON)++-- | The intermediate type as an input to 'decodeCredentialRegistration',+-- equivalent to the [PublicKeyCredential](https://www.w3.org/TR/webauthn-2/#iface-pkcredential)+-- interface with the response being an+-- [AuthenticatorAttestationResponse](https://www.w3.org/TR/webauthn-2/#authenticatorattestationresponse).+newtype IDLCredentialRegistration = IDLCredentialRegistration+  { unIDLCredentialRegistration :: IDL.PublicKeyCredential IDL.AuthenticatorAttestationResponse+  }+  deriving newtype (Show, Eq, FromJSON, ToJSON)++-- | Decodes the intermediate 'IDLCredentialRegistration' type which can be+-- parsed with 'Data.Aeson.fromJSON' from the result of+-- [webauthn-json](https://github.com/github/webauthn-json)'s+-- [@create()@](https://github.com/github/webauthn-json#api) (or equivalent)+-- function, to a @'T.Credential' 'K.Registration'@. This is the continuation+-- of 'encodeCredentialOptionsRegistration'.+decodeCredentialRegistration ::+  -- | The [attestation statement formats](https://www.w3.org/TR/webauthn-2/#sctn-attestation-formats)+  -- that should be supported. The value of 'Crypto.WebAuthn.allSupportedFormats'+  -- can be passed here, but additional or custom formats may also be used if needed+  T.SupportedAttestationStatementFormats ->+  IDLCredentialRegistration ->+  Either Text (T.Credential 'K.Registration 'True)+decodeCredentialRegistration supportedFormats = decodeCreated supportedFormats . unIDLCredentialRegistration++-- | Encodes a @'T.CredentialOptions' 'K.Authentication'@, which is needed for the+-- [authentication ceremony](https://www.w3.org/TR/webauthn-2/#authentication). The+-- resulting type from this function can be encoded using 'Data.Aeson.toJSON',+-- sent as a response, received by the Relying Party script, parsed as JSON,+-- and passed directly as the [@publicKey@](https://www.w3.org/TR/webauthn-2/#dom-credentialrequestoptions-publickey)+-- field in the argument to the [@navigator.credentials.get()@](https://w3c.github.io/webappsec-credential-management/#dom-credentialscontainer-get)+-- function.+encodeCredentialOptionsAuthentication ::+  T.CredentialOptions 'K.Authentication ->+  IDLCredentialOptionsAuthentication+encodeCredentialOptionsAuthentication = IDLCredentialOptionsAuthentication <$> encode++-- | The intermediate type returned by 'encodeCredentialOptionsAuthentication',+-- equivalent to the [@PublicKeyCredentialRequestOptions@](https://www.w3.org/TR/webauthn-2/#dictdef-publickeycredentialrequestoptions) dictionary+newtype IDLCredentialOptionsAuthentication = IDLCredentialOptionsAuthentication+  { _unIDLCredentialOptionsAuthentication :: IDL.PublicKeyCredentialRequestOptions+  }+  deriving newtype (Show, Eq, ToJSON)++-- | The intermediate type as an input to 'decodeCredentialAuthentication',+-- equivalent to the [PublicKeyCredential](https://www.w3.org/TR/webauthn-2/#iface-pkcredential)+-- interface with the response being an+-- [AuthenticatorAssertionResponse](https://www.w3.org/TR/webauthn-2/#authenticatorassertionresponse).+newtype IDLCredentialAuthentication = IDLCredentialAuthentication+  { unIDLCredentialAuthentication :: IDL.PublicKeyCredential IDL.AuthenticatorAssertionResponse+  }+  deriving newtype (Show, Eq, FromJSON, ToJSON)++-- | Decodes a 'IDL.RequestedPublicKeyCredential' result, corresponding to the+-- [@PublicKeyCredential@ interface](https://www.w3.org/TR/webauthn-2/#iface-pkcredential)+-- as returned by the [get()](https://w3c.github.io/webappsec-credential-management/#dom-credentialscontainer-get)+-- method while [Verifying an Authentication Assertion](https://www.w3.org/TR/webauthn-2/#sctn-verifying-assertion)+--+-- | Decodes the intermediate 'IDLCredentialAuthentication' type which can be+-- parsed with 'Data.Aeson.fromJSON' from the result of+-- [webauthn-json](https://github.com/github/webauthn-json)'s+-- [@get()@](https://github.com/github/webauthn-json#api) (or equivalent)+-- function, to a @'T.Credential' 'K.Authentication' True@. This is the continuation+-- of 'encodeCredentialOptionsAuthentication'+decodeCredentialAuthentication ::+  IDLCredentialAuthentication ->+  Either Text (T.Credential 'K.Authentication 'True)+decodeCredentialAuthentication = decode . unIDLCredentialAuthentication
+ src/Crypto/WebAuthn/Model/WebIDL/Internal/Binary/Decoding.hs view
@@ -0,0 +1,257 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE GADTs #-}+{-# LANGUAGE RankNTypes #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE ScopedTypeVariables #-}++-- | Stability: internal+-- Certain parts of the specification require that data is decoded from a+-- binary form. This module holds such functions.+module Crypto.WebAuthn.Model.WebIDL.Internal.Binary.Decoding+  ( -- * Decoding from bytes+    decodeAuthenticatorData,+    decodeAttestationObject,+    decodeCollectedClientData,+  )+where++import qualified Codec.CBOR.Decoding as CBOR+import qualified Codec.CBOR.Read as CBOR+import qualified Codec.CBOR.Term as CBOR+import Codec.Serialise (decode)+import Control.Monad (forM, unless)+import Control.Monad.Except (MonadError (throwError))+import Control.Monad.State (MonadState (get, put), StateT (runStateT))+import qualified Crypto.Hash as Hash+import Crypto.WebAuthn.Internal.Utils (CustomJSON (CustomJSON), JSONEncoding)+import Crypto.WebAuthn.Model.Identifier (AAGUID (AAGUID))+import qualified Crypto.WebAuthn.Model.Kinds as K+import qualified Crypto.WebAuthn.Model.Types as M+import qualified Crypto.WebAuthn.WebIDL as IDL+import qualified Data.Aeson as Aeson+import Data.Bifunctor (first)+import qualified Data.Binary.Get as Binary+import qualified Data.Bits as Bits+import qualified Data.ByteString as BS+import qualified Data.ByteString.Base64 as Base64+import qualified Data.ByteString.Base64.URL as Base64Url+import qualified Data.ByteString.Lazy as LBS+import qualified Data.HashMap.Strict as HashMap+import Data.Maybe (fromJust, fromMaybe)+import Data.Singletons (SingI, sing)+import Data.Text (Text)+import qualified Data.Text as Text+import qualified Data.Text.Encoding as Text+import qualified Data.UUID as UUID+import GHC.Generics (Generic)++-- | Webauthn contains a mixture of binary formats. For one it's CBOR and+-- for another it's a custom format. For CBOR we wish to use the+-- [cborg](https://hackage.haskell.org/package/cborg) library+-- and for the custom binary format the [binary](https://hackage.haskell.org/package/binary)+-- library. However these two libraries don't interact nicely with each other.+-- Because of this we are specifying the decoders as a 'PartialBinaryDecoder DecodingError',+-- which is just a function that can partially consume a 'LBS.ByteString'.+-- Using this we can somewhat easily flip between the two libraries while+-- decoding without too much nastiness.+type PartialBinaryDecoder a = StateT LBS.ByteString (Either Text) a++-- | Runs a 'PartialBinaryDecoder' using a strict bytestring. Afterwards it+-- makes sure that no bytes are left, otherwise returns an error+runPartialBinaryDecoder :: BS.ByteString -> PartialBinaryDecoder a -> Either Text a+runPartialBinaryDecoder bytes decoder = case runStateT decoder . LBS.fromStrict $ bytes of+  Left err -> Left err+  Right (result, rest)+    | LBS.null rest -> return result+    | otherwise -> Left $ "Not all binary input used, rest in base64 format is: " <> Text.decodeUtf8 (Base64.encode $ LBS.toStrict rest)++-- | A 'PartialBinaryDecoder DecodingError' for a binary encoding specified using 'Binary.Get'+runBinary :: Binary.Get a -> PartialBinaryDecoder a+runBinary decoder = do+  bytes <- get+  case Binary.runGetOrFail decoder bytes of+    Left (_rest, _offset, err) ->+      throwError $ "Binary decoding error: " <> Text.pack err+    Right (rest, _offset, result) -> do+      put rest+      pure result++-- | A 'PartialBinaryDecoder DecodingError' for a CBOR encoding specified using the given Decoder+runCBOR :: (forall s. CBOR.Decoder s a) -> PartialBinaryDecoder (LBS.ByteString, a)+runCBOR decoder = do+  bytes <- get+  case CBOR.deserialiseFromBytesWithSize decoder bytes of+    Left err ->+      throwError $ "CBOR decoding error: " <> Text.pack (show err)+    Right (rest, consumed, a) -> do+      put rest+      pure (LBS.take (fromIntegral consumed) bytes, a)++-- | Decodes a 'M.AuthenticatorData' from a 'BS.ByteString'.+-- This is needed to parse a webauthn clients+-- [authenticatorData](https://www.w3.org/TR/webauthn-2/#dom-authenticatorassertionresponse-authenticatordata)+-- field in the [AuthenticatorAssertionResponse](https://www.w3.org/TR/webauthn-2/#iface-authenticatorassertionresponse)+-- structure+decodeAuthenticatorData ::+  forall c.+  SingI c =>+  BS.ByteString ->+  Either Text (M.AuthenticatorData c 'True)+decodeAuthenticatorData strictBytes = runPartialBinaryDecoder strictBytes $ do+  -- https://www.w3.org/TR/webauthn-2/#authenticator-data+  let adRawData = M.WithRaw strictBytes++  -- https://www.w3.org/TR/webauthn-2/#rpidhash+  adRpIdHash <-+    M.RpIdHash . fromJust . Hash.digestFromByteString+      <$> runBinary (Binary.getByteString 32)++  -- https://www.w3.org/TR/webauthn-2/#flags+  bitFlags <- runBinary Binary.getWord8+  let adFlags =+        M.AuthenticatorDataFlags+          { M.adfUserPresent = Bits.testBit bitFlags 0,+            M.adfUserVerified = Bits.testBit bitFlags 2+          }++  -- https://www.w3.org/TR/webauthn-2/#signcount+  adSignCount <- M.SignatureCounter <$> runBinary Binary.getWord32be++  -- https://www.w3.org/TR/webauthn-2/#attestedcredentialdata+  adAttestedCredentialData <- case (sing @c, Bits.testBit bitFlags 6) of+    -- For [attestation signatures](https://www.w3.org/TR/webauthn-2/#attestation-signature),+    -- the authenticator MUST set the AT [flag](https://www.w3.org/TR/webauthn-2/#flags)+    -- and include the `[attestedCredentialData](https://www.w3.org/TR/webauthn-2/#attestedcredentialdata)`.+    (K.SRegistration, True) -> decodeAttestedCredentialData+    (K.SRegistration, False) -> throwError "Expected attested credential data, but there is none"+    -- For [assertion signatures](https://www.w3.org/TR/webauthn-2/#assertion-signature),+    -- the AT [flag](https://www.w3.org/TR/webauthn-2/#flags) MUST NOT be set and the+    -- `[attestedCredentialData](https://www.w3.org/TR/webauthn-2/#attestedcredentialdata)` MUST NOT be included.+    (K.SAuthentication, False) -> pure M.NoAttestedCredentialData+    (K.SAuthentication, True) -> throwError "Expected no attested credential data, but there is"++  -- https://www.w3.org/TR/webauthn-2/#authdataextensions+  adExtensions <-+    if Bits.testBit bitFlags 7+      then Just <$> decodeExtensions+      else pure Nothing++  pure M.AuthenticatorData {..}+  where+    decodeAttestedCredentialData :: PartialBinaryDecoder (M.AttestedCredentialData 'K.Registration 'True)+    decodeAttestedCredentialData = do+      -- https://www.w3.org/TR/webauthn-2/#aaguid+      acdAaguid <-+        -- Note: fromJust is safe because UUID.fromByteString only returns+        -- nothing if there's not exactly 16 bytes+        AAGUID . fromJust . UUID.fromByteString+          <$> runBinary (Binary.getLazyByteString 16)++      -- https://www.w3.org/TR/webauthn-2/#credentialidlength+      credentialLength <-+        runBinary Binary.getWord16be++      -- https://www.w3.org/TR/webauthn-2/#credentialid+      acdCredentialId <-+        M.CredentialId+          <$> runBinary (Binary.getByteString (fromIntegral credentialLength))++      -- https://www.w3.org/TR/webauthn-2/#credentialpublickey+      (usedBytes, acdCredentialPublicKey) <- runCBOR decode+      let acdCredentialPublicKeyBytes = M.WithRaw $ LBS.toStrict usedBytes++      pure M.AttestedCredentialData {..}++    decodeExtensions :: PartialBinaryDecoder M.AuthenticatorExtensionOutputs+    decodeExtensions = do+      -- TODO: Extensions are not implemented by this library, see the TODO in the+      -- module documentation of `Crypto.WebAuthn.Model` for more information.+      (_, _extensions :: CBOR.Term) <- runCBOR CBOR.decodeTerm+      pure M.AuthenticatorExtensionOutputs {}++-- | Decodes a 'M.AttestationObject' from a 'BS.ByteString'.+-- This is needed to parse a webauthn clients+-- [attestationObject](https://www.w3.org/TR/webauthn-2/#dom-authenticatorattestationresponse-attestationobject)+-- field in the [AuthenticatorAttestationResponse](https://www.w3.org/TR/webauthn-2/#iface-authenticatorattestationresponse)+-- structure This function takes a 'M.SupportedAttestationStatementFormats'+-- argument to indicate which attestation statement formats are supported.+-- structure+decodeAttestationObject :: M.SupportedAttestationStatementFormats -> BS.ByteString -> Either Text (M.AttestationObject 'True)+decodeAttestationObject supportedFormats bytes = do+  (_consumed, result) <- runPartialBinaryDecoder bytes (runCBOR CBOR.decodeTerm)+  pairs <- case result of+    CBOR.TMap pairs -> return pairs+    _ -> Left $ "The attestation object should be a CBOR map, but it's not: " <> Text.pack (show result)++  -- https://www.w3.org/TR/webauthn-2/#sctn-generating-an-attestation-object+  case (CBOR.TString "authData" `lookup` pairs, CBOR.TString "fmt" `lookup` pairs, CBOR.TString "attStmt" `lookup` pairs) of+    (Just (CBOR.TBytes authDataBytes), Just (CBOR.TString fmt), Just (CBOR.TMap attStmtPairs)) -> do+      aoAuthData <- decodeAuthenticatorData authDataBytes++      case M.lookupAttestationStatementFormat fmt supportedFormats of+        Nothing -> Left $ "Unknown attestation statement format: " <> fmt+        Just (M.SomeAttestationStatementFormat aoFmt) -> do+          attStmtMap <-+            HashMap.fromList+              <$> forM+                attStmtPairs+                ( \case+                    (CBOR.TString text, term) -> pure (text, term)+                    (nonString, _) -> Left $ "Unexpected non-string attestation statement key: " <> Text.pack (show nonString)+                )+          aoAttStmt <- M.asfDecode aoFmt attStmtMap+          pure M.AttestationObject {..}+    _ -> Left $ "The attestation object doesn't have the expected structure of (authData: bytes, fmt: string, attStmt: map): " <> Text.pack (show result)++--- | [(spec)](https://www.w3.org/TR/webauthn-2/#dictionary-client-data)+--- Intermediate type used to extract the JSON structure stored in the+--- CBOR-encoded [clientDataJSON](https://www.w3.org/TR/webauthn-2/#dom-authenticatorresponse-clientdatajson).+data ClientDataJSON = ClientDataJSON+  { littype :: IDL.DOMString,+    challenge :: IDL.DOMString,+    origin :: IDL.DOMString,+    crossOrigin :: Maybe IDL.Boolean+    -- TODO: We do not implement TokenBinding, see the documentation of+    -- `CollectedClientData` for more information.+    -- tokenBinding :: Maybe TokenBinding+  }+  deriving (Generic)+  -- Note: Encoding should NOT be derived via aeson. See the Encoding module instead+  deriving (Aeson.FromJSON) via JSONEncoding ClientDataJSON++-- | Decodes a 'M.CollectedClientData' from a 'BS.ByteString'. This is needed+-- to parse the [clientDataJSON](https://www.w3.org/TR/webauthn-2/#dom-authenticatorresponse-clientdatajson)+-- field in the [AuthenticatorResponse](https://www.w3.org/TR/webauthn-2/#iface-authenticatorresponse)+-- structure, which is used for both attestation and assertion+decodeCollectedClientData :: forall c. SingI c => BS.ByteString -> Either Text (M.CollectedClientData c 'True)+decodeCollectedClientData bytes = do+  -- https://www.w3.org/TR/webauthn-2/#collectedclientdata-json-compatible-serialization-of-client-data+  ClientDataJSON {..} <-+    first (("Collected client data JSON decoding error: " <>) . Text.pack) $+      Aeson.eitherDecodeStrict bytes+  -- [(spec)](https://www.w3.org/TR/webauthn-2/#dom-collectedclientdata-challenge)+  -- This member contains the base64url encoding of the challenge provided by the+  -- [Relying Party](https://www.w3.org/TR/webauthn-2/#relying-party). See the+  -- [§ 13.4.3 Cryptographic Challenges](https://www.w3.org/TR/webauthn-2/#sctn-cryptographic-challenges)+  -- security consideration.+  challenge <-+    first ((("Failed to base64url-decode challenge " <> challenge <> ": ") <>) . Text.pack) $+      Base64Url.decode (Text.encodeUtf8 challenge)+  -- [(spec)](https://www.w3.org/TR/webauthn-2/#dom-collectedclientdata-type)+  -- This member contains the string "webauthn.create" when creating new credentials,+  -- and "webauthn.get" when getting an assertion from an existing credential.+  -- The purpose of this member is to prevent certain types of signature confusion+  -- attacks (where an attacker substitutes one legitimate signature for another).+  let expectedType = case sing @c of+        K.SRegistration -> "webauthn.create"+        K.SAuthentication -> "webauthn.get"+  unless (littype == expectedType) $+    Left $+      "Expected collected client data to have webauthn type " <> expectedType <> " but it is " <> littype+  pure+    M.CollectedClientData+      { ccdChallenge = M.Challenge challenge,+        ccdOrigin = M.Origin origin,+        ccdCrossOrigin = fromMaybe False crossOrigin,+        ccdRawData = M.WithRaw bytes+      }
+ src/Crypto/WebAuthn/Model/WebIDL/Internal/Binary/Encoding.hs view
@@ -0,0 +1,199 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE GADTs #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE ScopedTypeVariables #-}++-- | Stability: internal+-- Certain parts of the specification require that data is encoded to a+-- binary form. This module holds such functions.+module Crypto.WebAuthn.Model.WebIDL.Internal.Binary.Encoding+  ( -- * Encoding raw fields+    encodeRawCredential,+    encodeRawAuthenticatorData,+    encodeRawCollectedClientData,++    -- * Encoding structures to bytes+    encodeAttestationObject,+    encodeCollectedClientData,+  )+where++import qualified Codec.CBOR.Term as CBOR+import qualified Codec.CBOR.Write as CBOR+import Codec.Serialise (Serialise (encode))+import Crypto.WebAuthn.Model.Identifier (AAGUID (unAAGUID))+import qualified Crypto.WebAuthn.Model.Kinds as K+import qualified Crypto.WebAuthn.Model.Types as M+import qualified Data.Aeson as Aeson+import qualified Data.Binary.Put as Binary+import Data.Bits ((.|.))+import qualified Data.Bits as Bits+import Data.ByteArray (convert)+import qualified Data.ByteString as BS+import qualified Data.ByteString.Base64.URL as Base64Url+import Data.ByteString.Builder (Builder, stringUtf8, toLazyByteString)+import qualified Data.ByteString.Lazy as LBS+import Data.Singletons (SingI, sing)+import Data.Text (Text)+import Data.Text.Encoding (decodeUtf8)+import qualified Data.UUID as UUID+import Data.Word (Word16, Word8)++-- | Encodes all raw fields of a 'M.Credential'. This function is+-- mainly useful for testing that the encoding/decoding functions are correct.+-- The counterpart to this function is 'Crypto.WebAuthn.Model.Binary.Decoding.stripRawCredential'+encodeRawCredential :: forall c raw. SingI c => M.Credential c raw -> M.Credential c 'True+encodeRawCredential M.Credential {..} =+  M.Credential+    { cResponse = case sing @c of+        K.SRegistration -> encodeRawAuthenticatorResponseRegistration cResponse+        K.SAuthentication -> encodeRawAuthenticatorResponseAuthentication cResponse,+      ..+    }+  where+    encodeRawAuthenticatorResponseAuthentication :: M.AuthenticatorResponse 'K.Authentication raw -> M.AuthenticatorResponse 'K.Authentication 'True+    encodeRawAuthenticatorResponseAuthentication M.AuthenticatorResponseAuthentication {..} =+      M.AuthenticatorResponseAuthentication+        { araClientData = encodeRawCollectedClientData araClientData,+          araAuthenticatorData = encodeRawAuthenticatorData araAuthenticatorData,+          ..+        }++    encodeRawAuthenticatorResponseRegistration :: M.AuthenticatorResponse 'K.Registration raw -> M.AuthenticatorResponse 'K.Registration 'True+    encodeRawAuthenticatorResponseRegistration M.AuthenticatorResponseRegistration {..} =+      M.AuthenticatorResponseRegistration+        { arrClientData = encodeRawCollectedClientData arrClientData,+          arrAttestationObject = encodeRawAttestationObject arrAttestationObject,+          ..+        }++    encodeRawAttestationObject :: M.AttestationObject raw -> M.AttestationObject 'True+    encodeRawAttestationObject M.AttestationObject {..} =+      M.AttestationObject+        { aoAuthData = encodeRawAuthenticatorData aoAuthData,+          ..+        }++-- | Encodes all raw fields of a 'M.AuthenticatorData'. This function is needed+-- for an authenticator implementation+encodeRawAuthenticatorData :: forall c raw. SingI c => M.AuthenticatorData c raw -> M.AuthenticatorData c 'True+encodeRawAuthenticatorData M.AuthenticatorData {..} =+  M.AuthenticatorData+    { adRawData = M.WithRaw bytes,+      adAttestedCredentialData = rawAttestedCredentialData,+      ..+    }+  where+    rawAttestedCredentialData = encodeRawAttestedCredentialData adAttestedCredentialData++    bytes :: BS.ByteString+    bytes = LBS.toStrict $ toLazyByteString builder++    -- https://www.w3.org/TR/webauthn-2/#flags+    flags :: Word8+    flags =+      userPresentFlag+        .|. userVerifiedFlag+        .|. attestedCredentialDataPresentFlag+        .|. extensionsPresentFlag+      where+        userPresentFlag = if M.adfUserPresent adFlags then Bits.bit 0 else 0+        userVerifiedFlag = if M.adfUserVerified adFlags then Bits.bit 2 else 0+        attestedCredentialDataPresentFlag = case sing @c of+          K.SRegistration -> Bits.bit 6+          K.SAuthentication -> 0+        extensionsPresentFlag = case adExtensions of+          Just _ -> Bits.bit 7+          Nothing -> 0++    -- https://www.w3.org/TR/webauthn-2/#sctn-authenticator-data+    builder :: Builder+    builder =+      Binary.execPut (Binary.putByteString $ convert $ M.unRpIdHash adRpIdHash)+        <> Binary.execPut (Binary.putWord8 flags)+        <> Binary.execPut (Binary.putWord32be $ M.unSignatureCounter adSignCount)+        <> ( case sing @c of+               K.SRegistration -> encodeAttestedCredentialData rawAttestedCredentialData+               K.SAuthentication -> mempty+           )+        <> maybe mempty encodeExtensions adExtensions++    encodeExtensions :: M.AuthenticatorExtensionOutputs -> Builder+    encodeExtensions M.AuthenticatorExtensionOutputs {} = CBOR.toBuilder $ CBOR.encodeTerm (CBOR.TMap [])++    -- https://www.w3.org/TR/webauthn-2/#sctn-attested-credential-data+    encodeAttestedCredentialData :: M.AttestedCredentialData 'K.Registration 'True -> Builder+    encodeAttestedCredentialData M.AttestedCredentialData {..} =+      Binary.execPut (Binary.putLazyByteString $ UUID.toByteString $ unAAGUID acdAaguid)+        <> Binary.execPut (Binary.putWord16be credentialLength)+        <> Binary.execPut (Binary.putByteString $ M.unCredentialId acdCredentialId)+        <> Binary.execPut (Binary.putByteString $ M.unRaw acdCredentialPublicKeyBytes)+      where+        credentialLength :: Word16+        credentialLength = fromIntegral $ BS.length $ M.unCredentialId acdCredentialId++    encodeRawAttestedCredentialData :: forall c raw. SingI c => M.AttestedCredentialData c raw -> M.AttestedCredentialData c 'True+    encodeRawAttestedCredentialData = case sing @c of+      K.SRegistration -> \M.AttestedCredentialData {..} ->+        M.AttestedCredentialData+          { acdCredentialPublicKeyBytes =+              M.WithRaw $ LBS.toStrict $ CBOR.toLazyByteString $ encode acdCredentialPublicKey,+            ..+          }+      K.SAuthentication -> \M.NoAttestedCredentialData -> M.NoAttestedCredentialData++-- | Encodes all raw fields of a 'M.CollectedClientData'. This function is+-- needed for a client implementation+encodeRawCollectedClientData :: forall c raw. SingI c => M.CollectedClientData c raw -> M.CollectedClientData c 'True+encodeRawCollectedClientData M.CollectedClientData {..} = M.CollectedClientData {..}+  where+    ccdRawData = M.WithRaw $ LBS.toStrict $ toLazyByteString builder++    -- https://www.w3.org/TR/webauthn-2/#clientdatajson-serialization+    builder :: Builder+    builder =+      stringUtf8 "{\"type\":"+        <> jsonBuilder typeValue+        <> stringUtf8 ",\"challenge\":"+        <> jsonBuilder challengeValue+        <> stringUtf8 ",\"origin\":"+        <> jsonBuilder originValue+        <> stringUtf8 ",\"crossOrigin\":"+        <> jsonBuilder crossOriginValue+        <> stringUtf8 "}"++    typeValue :: Text+    typeValue = case sing @c of+      K.SRegistration -> "webauthn.create"+      K.SAuthentication -> "webauthn.get"++    challengeValue :: Text+    challengeValue = decodeUtf8 (Base64Url.encode (M.unChallenge ccdChallenge))++    originValue :: Text+    originValue = M.unOrigin ccdOrigin++    crossOriginValue :: Bool+    crossOriginValue = ccdCrossOrigin++    jsonBuilder :: Aeson.ToJSON a => a -> Builder+    jsonBuilder = Aeson.fromEncoding . Aeson.toEncoding++-- | Encodes an 'M.AttestationObject' as a 'BS.ByteString'. This is needed by+-- the client side to generate a valid JSON response+encodeAttestationObject :: M.AttestationObject 'True -> BS.ByteString+encodeAttestationObject M.AttestationObject {..} = CBOR.toStrictByteString $ CBOR.encodeTerm term+  where+    -- https://www.w3.org/TR/webauthn-2/#sctn-generating-an-attestation-object+    term :: CBOR.Term+    term =+      CBOR.TMap+        [ (CBOR.TString "authData", CBOR.TBytes $ M.unRaw $ M.adRawData aoAuthData),+          (CBOR.TString "fmt", CBOR.TString $ M.asfIdentifier aoFmt),+          (CBOR.TString "attStmt", M.asfEncode aoFmt aoAttStmt)+        ]++-- | Encodes an 'M.CollectedClientData' as a 'BS.ByteString'. This is needed by+-- the client side to generate a valid JSON response+encodeCollectedClientData :: forall c. SingI c => M.CollectedClientData c 'True -> BS.ByteString+encodeCollectedClientData M.CollectedClientData {..} = M.unRaw ccdRawData
+ src/Crypto/WebAuthn/Model/WebIDL/Internal/Convert.hs view
@@ -0,0 +1,129 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE TypeFamilies #-}++-- | Stability: internal+-- This module maps every Model type to a WebIDL type. As the name of the+-- module and typclass suggest, this is used to perform the conversion between+-- the WebIDL and Model representations.+module Crypto.WebAuthn.Model.WebIDL.Internal.Convert+  ( Convert (..),+  )+where++import qualified Crypto.WebAuthn.Cose.Algorithm as Cose+import qualified Crypto.WebAuthn.Model.Kinds as K+import qualified Crypto.WebAuthn.Model.Types as M+import qualified Crypto.WebAuthn.Model.WebIDL.Types as IDL+import qualified Crypto.WebAuthn.WebIDL as IDL+import qualified Data.Aeson as Aeson+import Data.Kind (Type)+import Data.Map (Map)+import Data.Text (Text)++-- | @'Convert' hs@ indicates that the Haskell-specific type @hs@ has a more+-- general JavaScript-specific type associated with it, which can be accessed with 'IDL'.+class Convert hs where+  type IDL hs :: Type++instance Convert hs => Convert (Maybe hs) where+  type IDL (Maybe hs) = Maybe (IDL hs)++instance Convert M.RpId where+  type IDL M.RpId = IDL.DOMString++instance Convert M.RelyingPartyName where+  type IDL M.RelyingPartyName = IDL.DOMString++instance Convert M.CredentialRpEntity where+  type IDL M.CredentialRpEntity = IDL.PublicKeyCredentialRpEntity++instance Convert M.UserHandle where+  type IDL M.UserHandle = IDL.BufferSource++instance Convert M.UserAccountDisplayName where+  type IDL M.UserAccountDisplayName = IDL.DOMString++instance Convert M.UserAccountName where+  type IDL M.UserAccountName = IDL.DOMString++instance Convert M.CredentialUserEntity where+  type IDL M.CredentialUserEntity = IDL.PublicKeyCredentialUserEntity++instance Convert M.Challenge where+  type IDL M.Challenge = IDL.BufferSource++instance Convert M.CredentialType where+  type IDL M.CredentialType = IDL.DOMString++instance Convert Cose.CoseSignAlg where+  type IDL Cose.CoseSignAlg = IDL.COSEAlgorithmIdentifier++instance Convert [M.CredentialParameters] where+  type IDL [M.CredentialParameters] = [IDL.PublicKeyCredentialParameters]++instance Convert M.Timeout where+  type IDL M.Timeout = IDL.UnsignedLong++instance Convert M.CredentialId where+  type IDL M.CredentialId = IDL.BufferSource++instance Convert [M.AuthenticatorTransport] where+  type IDL [M.AuthenticatorTransport] = [IDL.DOMString]++instance Convert M.CredentialDescriptor where+  type IDL M.CredentialDescriptor = IDL.PublicKeyCredentialDescriptor++instance Convert [M.CredentialDescriptor] where+  type IDL [M.CredentialDescriptor] = Maybe [IDL.PublicKeyCredentialDescriptor]++instance Convert M.AuthenticatorAttachment where+  type IDL M.AuthenticatorAttachment = IDL.DOMString++instance Convert M.ResidentKeyRequirement where+  type IDL M.ResidentKeyRequirement = Maybe IDL.DOMString++instance Convert M.UserVerificationRequirement where+  type IDL M.UserVerificationRequirement = Maybe IDL.DOMString++instance Convert M.AuthenticatorSelectionCriteria where+  type IDL M.AuthenticatorSelectionCriteria = IDL.AuthenticatorSelectionCriteria++instance Convert M.AttestationConveyancePreference where+  type IDL M.AttestationConveyancePreference = Maybe IDL.DOMString++instance Convert M.AuthenticationExtensionsClientInputs where+  type IDL M.AuthenticationExtensionsClientInputs = Map Text Aeson.Value++instance Convert (M.CredentialOptions 'K.Registration) where+  type IDL (M.CredentialOptions 'K.Registration) = IDL.PublicKeyCredentialCreationOptions++instance Convert (M.CredentialOptions 'K.Authentication) where+  type IDL (M.CredentialOptions 'K.Authentication) = IDL.PublicKeyCredentialRequestOptions++instance Convert (M.Credential 'K.Registration raw) where+  type IDL (M.Credential 'K.Registration raw) = IDL.PublicKeyCredential IDL.AuthenticatorAttestationResponse++instance Convert (M.AuthenticatorResponse 'K.Registration raw) where+  type IDL (M.AuthenticatorResponse 'K.Registration raw) = IDL.AuthenticatorAttestationResponse++instance Convert (M.Credential 'K.Authentication raw) where+  type IDL (M.Credential 'K.Authentication raw) = IDL.PublicKeyCredential IDL.AuthenticatorAssertionResponse++instance Convert (M.AuthenticatorResponse 'K.Authentication raw) where+  type IDL (M.AuthenticatorResponse 'K.Authentication raw) = IDL.AuthenticatorAssertionResponse++instance Convert M.AuthenticationExtensionsClientOutputs where+  type IDL M.AuthenticationExtensionsClientOutputs = Map Text Aeson.Value++instance Convert (M.CollectedClientData c 'True) where+  type IDL (M.CollectedClientData c 'True) = IDL.ArrayBuffer++instance Convert (M.AttestationObject 'True) where+  type IDL (M.AttestationObject 'True) = IDL.ArrayBuffer++instance Convert M.AssertionSignature where+  type IDL M.AssertionSignature = IDL.ArrayBuffer++instance Convert (M.AuthenticatorData 'K.Authentication raw) where+  type IDL (M.AuthenticatorData 'K.Authentication raw) = IDL.ArrayBuffer
+ src/Crypto/WebAuthn/Model/WebIDL/Internal/Decoding.hs view
@@ -0,0 +1,242 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DefaultSignatures #-}+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE RecordWildCards #-}++-- | Stability: internal+-- This module handles the decoding of structures returned by the+-- [create()](https://w3c.github.io/webappsec-credential-management/#dom-credentialscontainer-create)+-- and [get()](https://w3c.github.io/webappsec-credential-management/#dom-credentialscontainer-get)+-- methods while [Registering a New Credential](https://www.w3.org/TR/webauthn-2/#sctn-registering-a-new-credential)+-- and [Verifying an Authentication Assertion](https://www.w3.org/TR/webauthn-2/#sctn-verifying-assertion) respectively.+module Crypto.WebAuthn.Model.WebIDL.Internal.Decoding+  ( Decode (..),+    DecodeCreated (..),+  )+where++import qualified Crypto.WebAuthn.Cose.Algorithm as Cose+import qualified Crypto.WebAuthn.Model.Kinds as K+import qualified Crypto.WebAuthn.Model.Types as M+import qualified Crypto.WebAuthn.Model.WebIDL.Internal.Binary.Decoding as B+import Crypto.WebAuthn.Model.WebIDL.Internal.Convert (Convert (IDL))+import qualified Crypto.WebAuthn.Model.WebIDL.Types as IDL+import qualified Crypto.WebAuthn.WebIDL as IDL+import Data.Coerce (Coercible, coerce)+import Data.Maybe (catMaybes, mapMaybe)+import Data.Singletons (SingI)+import Data.Text (Text)++-- | @'Decode' a@ indicates that the Haskell-specific type @a@ can be+-- decoded from the more generic JavaScript type @'IDL' a@ with the 'decode' function.+class Convert a => Decode a where+  decode :: IDL a -> Either Text a+  default decode :: Coercible (IDL a) a => IDL a -> Either Text a+  decode = pure . coerce++-- | Like 'Decode', but with a 'decodeCreated' function that also takes a+-- 'M.SupportedAttestationStatementFormats' in order to allow decoding to depend+-- on the supported attestation formats.+class Convert a => DecodeCreated a where+  decodeCreated :: M.SupportedAttestationStatementFormats -> IDL a -> Either Text a++instance Decode a => Decode (Maybe a) where+  decode Nothing = pure Nothing+  decode (Just a) = Just <$> decode a++instance Decode M.CredentialId++instance Decode M.AssertionSignature++instance Decode M.UserHandle++instance Decode M.AuthenticationExtensionsClientOutputs where+  -- TODO: Extensions are not implemented by this library, see the TODO in the+  -- module documentation of `Crypto.WebAuthn.Model` for more information.+  decode _ = pure M.AuthenticationExtensionsClientOutputs {}++instance SingI c => Decode (M.CollectedClientData c 'True) where+  decode (IDL.URLEncodedBase64 bytes) = B.decodeCollectedClientData bytes++instance Decode (M.AuthenticatorData 'K.Authentication 'True) where+  decode (IDL.URLEncodedBase64 bytes) = B.decodeAuthenticatorData bytes++instance Decode (M.AuthenticatorResponse 'K.Authentication 'True) where+  decode IDL.AuthenticatorAssertionResponse {..} = do+    araClientData <- decode clientDataJSON+    araAuthenticatorData <- decode authenticatorData+    araSignature <- decode signature+    araUserHandle <- decode userHandle+    pure $ M.AuthenticatorResponseAuthentication {..}++instance Decode (M.Credential 'K.Authentication 'True) where+  decode IDL.PublicKeyCredential {..} = do+    cIdentifier <- decode rawId+    cResponse <- decode response+    cClientExtensionResults <- decode clientExtensionResults+    pure $ M.Credential {..}++instance Decode M.RpId++instance Decode M.RelyingPartyName++instance Decode M.CredentialRpEntity where+  decode IDL.PublicKeyCredentialRpEntity {..} = do+    creId <- decode id+    creName <- decode name+    pure $ M.CredentialRpEntity {..}++instance Decode M.UserAccountDisplayName++instance Decode M.UserAccountName++instance Decode M.CredentialUserEntity where+  decode IDL.PublicKeyCredentialUserEntity {..} = do+    cueId <- decode id+    cueDisplayName <- decode displayName+    cueName <- decode name+    pure $ M.CredentialUserEntity {..}++instance Decode M.Challenge++instance Decode Cose.CoseSignAlg where+  -- The specification does not inspect the algorithm until+  -- assertion/attestation. We implement the check here to go to a Haskell+  -- type. Erring on the side of caution by failing to parse if an unsupported+  -- alg was encountered.+  decode = Cose.toCoseSignAlg++instance Decode M.Timeout++-- | [(spec)](https://www.w3.org/TR/webauthn-2/#enum-transport)+instance Decode [M.AuthenticatorTransport] where+  decode = pure . mapMaybe decodeTransport+    where+      decodeTransport "usb" = Just M.AuthenticatorTransportUSB+      decodeTransport "nfc" = Just M.AuthenticatorTransportNFC+      decodeTransport "ble" = Just M.AuthenticatorTransportBLE+      decodeTransport "internal" = Just M.AuthenticatorTransportInternal+      decodeTransport _ = Nothing++-- | [(spec)](https://www.w3.org/TR/webauthn-2/#dictionary-credential-descriptor)+-- [The type] member contains the type of the public key credential the caller+-- is referring to. The value SHOULD be a member of+-- PublicKeyCredentialType but client platforms MUST ignore any+-- PublicKeyCredentialDescriptor with an unknown type.+instance Decode [M.CredentialDescriptor] where+  decode Nothing = pure []+  decode (Just xs) = catMaybes <$> traverse decodeDescriptor xs+    where+      decodeDescriptor :: IDL.PublicKeyCredentialDescriptor -> Either Text (Maybe M.CredentialDescriptor)+      decodeDescriptor IDL.PublicKeyCredentialDescriptor {littype = "public-key", ..} = do+        let cdTyp = M.CredentialTypePublicKey+        cdId <- decode id+        cdTransports <- decode transports+        pure . Just $ M.CredentialDescriptor {..}+      decodeDescriptor _ = pure Nothing++-- | [(spec)](https://www.w3.org/TR/webauthn-2/#enum-userVerificationRequirement)+-- The value SHOULD be a member of UserVerificationRequirement but client+-- platforms MUST ignore unknown values, treating an unknown value as if the+-- member does not exist. The default is "preferred".+instance Decode M.UserVerificationRequirement where+  decode (Just "discouraged") = Right M.UserVerificationRequirementDiscouraged+  decode (Just "preferred") = Right M.UserVerificationRequirementPreferred+  decode (Just "required") = Right M.UserVerificationRequirementRequired+  decode _ = Right M.UserVerificationRequirementPreferred++-- | [(spec)](https://www.w3.org/TR/webauthn-2/#dictionary-authenticatorSelection)+instance Decode M.AuthenticatorSelectionCriteria where+  decode IDL.AuthenticatorSelectionCriteria {..} = do+    let ascAuthenticatorAttachment = decodeAttachment =<< authenticatorAttachment+        ascResidentKey = decodeResidentKey residentKey+    ascUserVerification <- decode userVerification+    pure $ M.AuthenticatorSelectionCriteria {..}+    where+      -- Any unknown values must be ignored, treating them as if the member does not exist+      decodeAttachment "platform" = Just M.AuthenticatorAttachmentPlatform+      decodeAttachment "cross-platform" = Just M.AuthenticatorAttachmentCrossPlatform+      decodeAttachment _ = Nothing++      -- [(spec)](https://www.w3.org/TR/webauthn-2/#dom-authenticatorselectioncriteria-residentkey)+      -- The value SHOULD be a member of ResidentKeyRequirement but client platforms+      -- MUST ignore unknown values, treating an unknown value as if the member does not+      -- exist. If no value is given then the effective value is required if+      -- requireResidentKey is true or discouraged if it is false or absent.+      decodeResidentKey :: Maybe IDL.DOMString -> M.ResidentKeyRequirement+      decodeResidentKey (Just "discouraged") = M.ResidentKeyRequirementDiscouraged+      decodeResidentKey (Just "preferred") = M.ResidentKeyRequirementPreferred+      decodeResidentKey (Just "required") = M.ResidentKeyRequirementRequired+      decodeResidentKey _ = case requireResidentKey of+        Just True -> M.ResidentKeyRequirementRequired+        _ -> M.ResidentKeyRequirementDiscouraged++-- | [(spec)](https://www.w3.org/TR/webauthn-2/#enumdef-attestationconveyancepreference)+-- Its values SHOULD be members of AttestationConveyancePreference. Client+-- platforms MUST ignore unknown values, treating an unknown value as if the+-- member does not exist. Its default value is "none".+instance Decode M.AttestationConveyancePreference where+  decode (Just "none") = Right M.AttestationConveyancePreferenceNone+  decode (Just "indirect") = Right M.AttestationConveyancePreferenceIndirect+  decode (Just "direct") = Right M.AttestationConveyancePreferenceDirect+  decode (Just "enterprise") = Right M.AttestationConveyancePreferenceEnterprise+  decode _ = Right M.AttestationConveyancePreferenceNone++-- [(spec)](https://www.w3.org/TR/webauthn-2/#dictdef-publickeycredentialparameters)+-- [The type] member specifies the type of credential to be created. The value SHOULD+-- be a member of PublicKeyCredentialType but client platforms MUST ignore+-- unknown values, ignoring any PublicKeyCredentialParameters with an unknown+-- type.+instance Decode [M.CredentialParameters] where+  decode xs = catMaybes <$> traverse decodeParam xs+    where+      decodeParam :: IDL.PublicKeyCredentialParameters -> Either Text (Maybe M.CredentialParameters)+      decodeParam IDL.PublicKeyCredentialParameters {littype = "public-key", ..} = do+        let cpTyp = M.CredentialTypePublicKey+        cpAlg <- decode alg+        pure . Just $ M.CredentialParameters {..}+      decodeParam _ = pure Nothing++-- | [(spec)](https://www.w3.org/TR/webauthn-2/#dictionary-makecredentialoptions)+instance Decode (M.CredentialOptions 'K.Registration) where+  decode IDL.PublicKeyCredentialCreationOptions {..} = do+    corRp <- decode rp+    corUser <- decode user+    corChallenge <- decode challenge+    corPubKeyCredParams <- decode pubKeyCredParams+    corTimeout <- decode timeout+    corExcludeCredentials <- decode excludeCredentials+    corAuthenticatorSelection <- decode authenticatorSelection+    corAttestation <- decode attestation+    let corExtensions = M.AuthenticationExtensionsClientInputs {} <$ extensions+    pure $ M.CredentialOptionsRegistration {..}++-- | [(spec)](https://www.w3.org/TR/webauthn-2/#dictionary-assertion-options)+instance Decode (M.CredentialOptions 'K.Authentication) where+  decode IDL.PublicKeyCredentialRequestOptions {..} = do+    coaChallenge <- decode challenge+    coaTimeout <- decode timeout+    coaRpId <- decode rpId+    coaAllowCredentials <- decode allowCredentials+    coaUserVerification <- decode userVerification+    let coaExtensions = M.AuthenticationExtensionsClientInputs {} <$ extensions+    pure $ M.CredentialOptionsAuthentication {..}++-- | [(spec)](https://www.w3.org/TR/webauthn-2/#sctn-generating-an-attestation-object)+instance DecodeCreated (M.AttestationObject 'True) where+  decodeCreated supportedFormats (IDL.URLEncodedBase64 bytes) =+    B.decodeAttestationObject supportedFormats bytes++instance DecodeCreated (M.AuthenticatorResponse 'K.Registration 'True) where+  decodeCreated supportedFormats IDL.AuthenticatorAttestationResponse {..} = do+    arrClientData <- decode clientDataJSON+    arrAttestationObject <- decodeCreated supportedFormats attestationObject+    pure $ M.AuthenticatorResponseRegistration {..}++instance DecodeCreated (M.Credential 'K.Registration 'True) where+  decodeCreated supportedFormats IDL.PublicKeyCredential {..} = do+    cIdentifier <- decode rawId+    cResponse <- decodeCreated supportedFormats response+    cClientExtensionResults <- decode clientExtensionResults+    pure $ M.Credential {..}
+ src/Crypto/WebAuthn/Model/WebIDL/Internal/Encoding.hs view
@@ -0,0 +1,220 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DefaultSignatures #-}+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++-- | Stability: internal+-- This module handles the encoding of structures passed to the+-- [create()](https://w3c.github.io/webappsec-credential-management/#dom-credentialscontainer-create)+-- and [get()](https://w3c.github.io/webappsec-credential-management/#dom-credentialscontainer-get)+-- methods while [Registering a New Credential](https://www.w3.org/TR/webauthn-2/#sctn-registering-a-new-credential)+-- and [Verifying an Authentication Assertion](https://www.w3.org/TR/webauthn-2/#sctn-verifying-assertion) respectively.+module Crypto.WebAuthn.Model.WebIDL.Internal.Encoding+  ( Encode (..),+  )+where++import qualified Crypto.WebAuthn.Cose.Algorithm as Cose+import qualified Crypto.WebAuthn.Model.Kinds as K+import qualified Crypto.WebAuthn.Model.Types as M+import qualified Crypto.WebAuthn.Model.WebIDL.Internal.Binary.Encoding as B+import Crypto.WebAuthn.Model.WebIDL.Internal.Convert (Convert (IDL))+import qualified Crypto.WebAuthn.Model.WebIDL.Types as IDL+import qualified Crypto.WebAuthn.WebIDL as IDL+import Data.Coerce (Coercible, coerce)+import qualified Data.Map as Map+import Data.Singletons (SingI)++-- | @'Encode' hs@ indicates that the Haskell-specific type @hs@ can be+-- encoded to the more generic JavaScript type @'IDL' hs@ with the 'encode' function.+class Convert a => Encode a where+  encode :: a -> IDL a+  default encode :: Coercible a (IDL a) => a -> IDL a+  encode = coerce++instance Encode hs => Encode (Maybe hs) where+  encode Nothing = Nothing+  encode (Just hs) = Just $ encode hs++instance Encode M.RpId++instance Encode M.RelyingPartyName++instance Encode M.UserHandle++instance Encode M.UserAccountDisplayName++instance Encode M.UserAccountName++instance Encode M.Challenge++instance Encode M.Timeout++instance Encode M.CredentialId++instance Encode M.AuthenticationExtensionsClientInputs where+  -- TODO: Extensions are not implemented by this library, see the TODO in the+  -- module documentation of `Crypto.WebAuthn.Model` for more information.+  encode M.AuthenticationExtensionsClientInputs {} = Map.empty++-- | <https://www.iana.org/assignments/cose/cose.xhtml#algorithms>+instance Encode Cose.CoseSignAlg where+  encode = Cose.fromCoseSignAlg++-- | <https://www.w3.org/TR/webauthn-2/#enum-credentialType>+instance Encode M.CredentialType where+  encode M.CredentialTypePublicKey = "public-key"++-- | <https://www.w3.org/TR/webauthn-2/#enumdef-authenticatortransport>+instance Encode [M.AuthenticatorTransport] where+  encode = map encodeTransport+    where+      encodeTransport M.AuthenticatorTransportUSB = "usb"+      encodeTransport M.AuthenticatorTransportNFC = "nfc"+      encodeTransport M.AuthenticatorTransportBLE = "ble"+      encodeTransport M.AuthenticatorTransportInternal = "internal"++-- | <https://www.w3.org/TR/webauthn-2/#enumdef-authenticatorattachment>+instance Encode M.AuthenticatorAttachment where+  encode M.AuthenticatorAttachmentPlatform = "platform"+  encode M.AuthenticatorAttachmentCrossPlatform = "cross-platform"++-- | <https://www.w3.org/TR/webauthn-2/#enum-residentKeyRequirement>+instance Encode M.ResidentKeyRequirement where+  encode M.ResidentKeyRequirementDiscouraged = Just "discouraged"+  encode M.ResidentKeyRequirementPreferred = Just "preferred"+  encode M.ResidentKeyRequirementRequired = Just "required"++-- | <https://www.w3.org/TR/webauthn-2/#enum-userVerificationRequirement>+instance Encode M.UserVerificationRequirement where+  encode M.UserVerificationRequirementRequired = Just "required"+  encode M.UserVerificationRequirementPreferred = Just "preferred"+  encode M.UserVerificationRequirementDiscouraged = Just "discouraged"++-- | <https://www.w3.org/TR/webauthn-2/#enum-attestation-convey>+instance Encode M.AttestationConveyancePreference where+  encode M.AttestationConveyancePreferenceNone = Just "none"+  encode M.AttestationConveyancePreferenceIndirect = Just "indirect"+  encode M.AttestationConveyancePreferenceDirect = Just "direct"+  encode M.AttestationConveyancePreferenceEnterprise = Just "enterprise"++instance Encode M.CredentialRpEntity where+  encode M.CredentialRpEntity {..} =+    IDL.PublicKeyCredentialRpEntity+      { id = encode creId,+        name = encode creName+      }++instance Encode M.CredentialUserEntity where+  encode M.CredentialUserEntity {..} =+    IDL.PublicKeyCredentialUserEntity+      { id = encode cueId,+        displayName = encode cueDisplayName,+        name = encode cueName+      }++instance Encode [M.CredentialParameters] where+  encode = map encodeParameters+    where+      encodeParameters M.CredentialParameters {..} =+        IDL.PublicKeyCredentialParameters+          { littype = encode cpTyp,+            alg = encode cpAlg+          }++instance Encode M.CredentialDescriptor where+  encode M.CredentialDescriptor {..} =+    IDL.PublicKeyCredentialDescriptor+      { littype = encode cdTyp,+        id = encode cdId,+        transports = encode cdTransports+      }++instance Encode M.AuthenticatorSelectionCriteria where+  encode M.AuthenticatorSelectionCriteria {..} =+    IDL.AuthenticatorSelectionCriteria+      { authenticatorAttachment = encode ascAuthenticatorAttachment,+        residentKey = encode ascResidentKey,+        -- [(spec)](https://www.w3.org/TR/webauthn-2/#dom-authenticatorselectioncriteria-requireresidentkey)+        -- Relying Parties SHOULD set it to true if, and only if, residentKey is set to required.+        requireResidentKey = Just (ascResidentKey == M.ResidentKeyRequirementRequired),+        userVerification = encode ascUserVerification+      }++instance Encode [M.CredentialDescriptor] where+  encode = Just . map encode++instance Encode (M.CredentialOptions 'K.Registration) where+  encode M.CredentialOptionsRegistration {..} =+    IDL.PublicKeyCredentialCreationOptions+      { rp = encode corRp,+        user = encode corUser,+        challenge = encode corChallenge,+        pubKeyCredParams = encode corPubKeyCredParams,+        timeout = encode corTimeout,+        excludeCredentials = encode corExcludeCredentials,+        authenticatorSelection = encode corAuthenticatorSelection,+        attestation = encode corAttestation,+        extensions = encode corExtensions+      }++instance Encode (M.CredentialOptions 'K.Authentication) where+  encode M.CredentialOptionsAuthentication {..} =+    IDL.PublicKeyCredentialRequestOptions+      { challenge = encode coaChallenge,+        timeout = encode coaTimeout,+        rpId = encode coaRpId,+        allowCredentials = encode coaAllowCredentials,+        userVerification = encode coaUserVerification,+        extensions = encode coaExtensions+      }++-- | [(spec)](https://www.w3.org/TR/webauthn-2/#iface-pkcredential)+-- Encodes the PublicKeyCredential for attestation, this instance is mostly used in the tests where we emulate the+-- of the client.+instance Encode (M.Credential 'K.Registration 'True) where+  encode M.Credential {..} =+    IDL.PublicKeyCredential+      { rawId = encode cIdentifier,+        response = encode cResponse,+        -- TODO: Extensions are not implemented by this library, see the TODO in the+        -- module documentation of `Crypto.WebAuthn.Model` for more information.+        clientExtensionResults = Map.empty+      }++-- | [(spec)](https://www.w3.org/TR/webauthn-2/#dom-authenticatorresponse-clientdatajson)+instance SingI c => Encode (M.CollectedClientData c 'True) where+  encode ccd = IDL.URLEncodedBase64 $ B.encodeCollectedClientData ccd++instance Encode (M.AuthenticatorResponse 'K.Authentication 'True) where+  encode M.AuthenticatorResponseAuthentication {..} =+    IDL.AuthenticatorAssertionResponse+      { clientDataJSON = encode araClientData,+        authenticatorData = IDL.URLEncodedBase64 $ M.unRaw $ M.adRawData araAuthenticatorData,+        signature = IDL.URLEncodedBase64 $ M.unAssertionSignature araSignature,+        userHandle = IDL.URLEncodedBase64 . M.unUserHandle <$> araUserHandle+      }++instance Encode (M.Credential 'K.Authentication 'True) where+  encode M.Credential {..} =+    IDL.PublicKeyCredential+      { rawId = encode cIdentifier,+        response = encode cResponse,+        -- TODO: Extensions are not implemented by this library, see the TODO in the+        -- module documentation of `Crypto.WebAuthn.Model` for more information.+        clientExtensionResults = Map.empty+      }++-- | [(spec)](https://www.w3.org/TR/webauthn-2/#iface-authenticatorresponse)+instance Encode (M.AuthenticatorResponse 'K.Registration 'True) where+  encode M.AuthenticatorResponseRegistration {..} =+    IDL.AuthenticatorAttestationResponse+      { clientDataJSON = encode arrClientData,+        attestationObject = encode arrAttestationObject+      }++-- | [(spec)](https://www.w3.org/TR/webauthn-2/#dom-authenticatorattestationresponse-attestationobject)+instance Encode (M.AttestationObject 'True) where+  encode ao = IDL.URLEncodedBase64 $ B.encodeAttestationObject ao
+ src/Crypto/WebAuthn/Model/WebIDL/Types.hs view
@@ -0,0 +1,200 @@+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE StandaloneDeriving #-}++-- | Stability: experimental+-- This module models direct representations of JavaScript objects interacting with the+-- [create()](https://w3c.github.io/webappsec-credential-management/#dom-credentialscontainer-create)+-- and [get()](https://w3c.github.io/webappsec-credential-management/#dom-credentialscontainer-get) methods, as used by [Webauthn2](https://www.w3.org/TR/webauthn-2).+-- Note that these types don't encode the semantics of their values. E.g. if the JavaScript object has a @DOMString@+-- field, but only values @"foo"@ and @"bar"@ are possible, the type is still encoded as a generic 'IDL.DOMString'.+-- This allows us to match the specification very closely, deferring decoding of these values to another module.+-- This module also implements 'Aeson.FromJSON' and 'Aeson.ToJSON' instances of its types, which are compatible with+-- [webauthn-json](https://github.com/github/webauthn-json)'s JSON schema.+--+-- The defined types are+--+-- - 'PublicKeyCredentialCreationOptions' and all its subtypes. Passed as the+--   [publicKey](https://www.w3.org/TR/webauthn-2/#dom-credentialcreationoptions-publickey) field to the+--   [create()](https://w3c.github.io/webappsec-credential-management/#dom-credentialscontainer-create) method+--   in step 2 of [§ 7.1 Registering a New Credential](https://www.w3.org/TR/webauthn-2/#sctn-registering-a-new-credential)+-- - 'PublicKeyCredentialRequestOptions' and all its subtypes. Passed as the+--   [publicKey](https://www.w3.org/TR/webauthn-2/#dom-credentialrequestoptions-publickey) field to the+--   [get()](https://w3c.github.io/webappsec-credential-management/#dom-credentialscontainer-get) method+--   in step 2 of [§ 7.2 Verifying an Authentication Assertion](https://www.w3.org/TR/webauthn-2/#sctn-verifying-assertion)+-- - @'PublicKeyCredential' response@ and all its subtypes. Responses of the+--   [create()](https://w3c.github.io/webappsec-credential-management/#dom-credentialscontainer-create) (in which case @response ~ 'AuthenticatorAttestationResponse'@) and+--   [get()](https://w3c.github.io/webappsec-credential-management/#dom-credentialscontainer-get) (in which case @response ~ 'AuthenticatorAssertionResponse'@ methods.+module Crypto.WebAuthn.Model.WebIDL.Types+  ( -- * Top-level types+    PublicKeyCredentialCreationOptions (..),+    PublicKeyCredentialRequestOptions (..),+    PublicKeyCredential (..),++    -- * Nested types+    AuthenticatorAttestationResponse (..),+    AuthenticatorAssertionResponse (..),+    PublicKeyCredentialRpEntity (..),+    PublicKeyCredentialUserEntity (..),+    PublicKeyCredentialParameters (..),+    COSEAlgorithmIdentifier,+    PublicKeyCredentialDescriptor (..),+    AuthenticatorSelectionCriteria (..),+  )+where++import Crypto.WebAuthn.Internal.Utils (CustomJSON (CustomJSON), JSONEncoding)+import qualified Crypto.WebAuthn.WebIDL as IDL+import qualified Data.Aeson as Aeson+import Data.Map (Map)+import Data.Text (Text)+import GHC.Generics (Generic)++-- | [(spec)](https://www.w3.org/TR/webauthn-2/#dictionary-makecredentialoptions)+data PublicKeyCredentialCreationOptions = PublicKeyCredentialCreationOptions+  { -- | [(spec)](https://www.w3.org/TR/webauthn-2/#dom-publickeycredentialcreationoptions-rp)+    rp :: PublicKeyCredentialRpEntity,+    -- | [(spec)](https://www.w3.org/TR/webauthn-2/#dom-publickeycredentialcreationoptions-user)+    user :: PublicKeyCredentialUserEntity,+    -- | [(spec)](https://www.w3.org/TR/webauthn-2/#dom-publickeycredentialcreationoptions-challenge)+    challenge :: IDL.BufferSource,+    -- | [(spec)](https://www.w3.org/TR/webauthn-2/#dom-publickeycredentialcreationoptions-pubkeycredparams)+    pubKeyCredParams :: [PublicKeyCredentialParameters],+    -- | [(spec)](https://www.w3.org/TR/webauthn-2/#dom-publickeycredentialcreationoptions-timeout)+    timeout :: Maybe IDL.UnsignedLong,+    -- | [(spec)](https://www.w3.org/TR/webauthn-2/#dom-publickeycredentialcreationoptions-excludecredentials)+    excludeCredentials :: Maybe [PublicKeyCredentialDescriptor],+    -- | [(spec)](https://www.w3.org/TR/webauthn-2/#dom-publickeycredentialcreationoptions-authenticatorselection)+    authenticatorSelection :: Maybe AuthenticatorSelectionCriteria,+    -- | [(spec)](https://www.w3.org/TR/webauthn-2/#dom-publickeycredentialcreationoptions-attestation)+    attestation :: Maybe IDL.DOMString,+    -- | [(spec)](https://www.w3.org/TR/webauthn-2/#dom-publickeycredentialcreationoptions-extensions)+    extensions :: Maybe (Map Text Aeson.Value)+  }+  deriving (Eq, Show, Generic)+  deriving (Aeson.FromJSON, Aeson.ToJSON) via JSONEncoding PublicKeyCredentialCreationOptions++-- | [(spec)](https://www.w3.org/TR/webauthn-2/#dictionary-rp-credential-params)+data PublicKeyCredentialRpEntity = PublicKeyCredentialRpEntity+  { -- | [(spec)](https://www.w3.org/TR/webauthn-2/#dom-publickeycredentialrpentity-id)+    id :: Maybe IDL.DOMString,+    -- | [(spec)](https://www.w3.org/TR/webauthn-2/#dom-publickeycredentialentity-name)+    name :: IDL.DOMString+  }+  deriving (Eq, Show, Generic)+  deriving (Aeson.FromJSON, Aeson.ToJSON) via JSONEncoding PublicKeyCredentialRpEntity++-- | [(spec)](https://www.w3.org/TR/webauthn-2/#dictionary-user-credential-params)+data PublicKeyCredentialUserEntity = PublicKeyCredentialUserEntity+  { -- | [(spec)](https://www.w3.org/TR/webauthn-2/#dom-publickeycredentialuserentity-id)+    id :: IDL.BufferSource,+    -- | [(spec)](https://www.w3.org/TR/webauthn-2/#dom-publickeycredentialuserentity-displayname)+    displayName :: IDL.DOMString,+    -- | [(spec)](https://www.w3.org/TR/webauthn-2/#dom-publickeycredentialentity-name)+    name :: IDL.DOMString+  }+  deriving (Eq, Show, Generic)+  deriving (Aeson.FromJSON, Aeson.ToJSON) via JSONEncoding PublicKeyCredentialUserEntity++-- | [(spec)](https://www.w3.org/TR/webauthn-2/#dictionary-credential-params)+data PublicKeyCredentialParameters = PublicKeyCredentialParameters+  { -- | [(spec)](https://www.w3.org/TR/webauthn-2/#dom-publickeycredentialparameters-type)+    littype :: IDL.DOMString,+    -- | [(spec)](https://www.w3.org/TR/webauthn-2/#dom-publickeycredentialparameters-alg)+    alg :: COSEAlgorithmIdentifier+  }+  deriving (Eq, Show, Generic)+  deriving (Aeson.FromJSON, Aeson.ToJSON) via JSONEncoding PublicKeyCredentialParameters++-- | [(spec)](https://www.w3.org/TR/webauthn-2/#sctn-alg-identifier)+type COSEAlgorithmIdentifier = IDL.Long++-- | [(spec)](https://www.w3.org/TR/webauthn-2/#dictdef-publickeycredentialdescriptor)+data PublicKeyCredentialDescriptor = PublicKeyCredentialDescriptor+  { -- | [(spec)](https://www.w3.org/TR/webauthn-2/#dom-publickeycredentialdescriptor-type)+    littype :: IDL.DOMString,+    -- | [(spec)](https://www.w3.org/TR/webauthn-2/#dom-publickeycredentialdescriptor-id)+    id :: IDL.BufferSource,+    -- | [(spec)](https://www.w3.org/TR/webauthn-2/#dom-publickeycredentialdescriptor-transports)+    transports :: Maybe [IDL.DOMString]+  }+  deriving (Eq, Show, Generic)+  deriving (Aeson.FromJSON, Aeson.ToJSON) via JSONEncoding PublicKeyCredentialDescriptor++-- | [(spec)](https://www.w3.org/TR/webauthn-2/#dictdef-authenticatorselectioncriteria)+data AuthenticatorSelectionCriteria = AuthenticatorSelectionCriteria+  { -- | [(spec)](https://www.w3.org/TR/webauthn-2/#dom-authenticatorselectioncriteria-authenticatorattachment)+    authenticatorAttachment :: Maybe IDL.DOMString,+    -- | [(spec)](https://www.w3.org/TR/webauthn-2/#dom-authenticatorselectioncriteria-residentkey)+    residentKey :: Maybe IDL.DOMString,+    -- | [(spec)](https://www.w3.org/TR/webauthn-2/#dom-authenticatorselectioncriteria-requireresidentkey)+    requireResidentKey :: Maybe IDL.Boolean,+    -- | [(spec)](https://www.w3.org/TR/webauthn-2/#dom-authenticatorselectioncriteria-userverification)+    userVerification :: Maybe IDL.DOMString+  }+  deriving (Eq, Show, Generic)+  deriving (Aeson.FromJSON, Aeson.ToJSON) via JSONEncoding AuthenticatorSelectionCriteria++-- | [(spec)](https://www.w3.org/TR/webauthn-2/#dictionary-assertion-options)+data PublicKeyCredentialRequestOptions = PublicKeyCredentialRequestOptions+  { -- | [(spec)](https://www.w3.org/TR/webauthn-2/#dom-publickeycredentialrequestoptions-challenge)+    challenge :: IDL.BufferSource,+    -- | [(spec)](https://www.w3.org/TR/webauthn-2/#dom-publickeycredentialrequestoptions-timeout)+    timeout :: Maybe IDL.UnsignedLong,+    -- | [(spec)](https://www.w3.org/TR/webauthn-2/#dom-publickeycredentialrequestoptions-rpid)+    rpId :: Maybe IDL.USVString,+    -- | [(spec)](https://www.w3.org/TR/webauthn-2/#dom-publickeycredentialrequestoptions-allowcredentials)+    allowCredentials :: Maybe [PublicKeyCredentialDescriptor],+    -- | [(spec)](https://www.w3.org/TR/webauthn-2/#dom-publickeycredentialrequestoptions-userverification)+    userVerification :: Maybe IDL.DOMString,+    -- | [(spec)](https://www.w3.org/TR/webauthn-2/#dom-publickeycredentialrequestoptions-extensions)+    extensions :: Maybe (Map Text Aeson.Value)+  }+  deriving (Eq, Show, Generic)+  deriving (Aeson.FromJSON, Aeson.ToJSON) via JSONEncoding PublicKeyCredentialRequestOptions++-- | [(spec)](https://www.w3.org/TR/webauthn-2/#iface-pkcredential)+data PublicKeyCredential response = PublicKeyCredential+  { -- | [(spec)](https://www.w3.org/TR/webauthn-2/#dom-publickeycredential-identifier-slot)+    rawId :: IDL.ArrayBuffer,+    -- | [(spec)](https://www.w3.org/TR/webauthn-2/#dom-publickeycredential-response)+    response :: response,+    -- | [(spec)](https://www.w3.org/TR/webauthn-2/#dom-publickeycredential-getclientextensionresults)+    clientExtensionResults :: Map Text Aeson.Value+  }+  deriving (Eq, Show, Generic)++deriving via+  JSONEncoding (PublicKeyCredential response)+  instance+    Aeson.FromJSON response =>+    Aeson.FromJSON (PublicKeyCredential response)++deriving via+  JSONEncoding (PublicKeyCredential response)+  instance+    Aeson.ToJSON response =>+    Aeson.ToJSON (PublicKeyCredential response)++-- | [(spec)](https://www.w3.org/TR/webauthn-2/#iface-authenticatorattestationresponse)+data AuthenticatorAttestationResponse = AuthenticatorAttestationResponse+  { -- | [(spec)](https://www.w3.org/TR/webauthn-2/#dom-authenticatorresponse-clientdatajson)+    clientDataJSON :: IDL.ArrayBuffer,+    -- | [(spec)](https://www.w3.org/TR/webauthn-2/#dom-authenticatorattestationresponse-attestationobject)+    attestationObject :: IDL.ArrayBuffer+  }+  deriving (Eq, Show, Generic)+  deriving (Aeson.FromJSON, Aeson.ToJSON) via JSONEncoding AuthenticatorAttestationResponse++-- | [(spec)](https://www.w3.org/TR/webauthn-2/#iface-authenticatorassertionresponse)+data AuthenticatorAssertionResponse = AuthenticatorAssertionResponse+  { -- | [(spec)](https://www.w3.org/TR/webauthn-2/#dom-authenticatorresponse-clientdatajson)+    clientDataJSON :: IDL.ArrayBuffer,+    -- | [(spec)](https://www.w3.org/TR/webauthn-2/#dom-authenticatorassertionresponse-authenticatordata)+    authenticatorData :: IDL.ArrayBuffer,+    -- | [(spec)](https://www.w3.org/TR/webauthn-2/#dom-authenticatorassertionresponse-signature)+    signature :: IDL.ArrayBuffer,+    -- | [(spec)](https://www.w3.org/TR/webauthn-2/#dom-authenticatorassertionresponse-userhandle)+    userHandle :: Maybe IDL.ArrayBuffer+  }+  deriving (Eq, Show, Generic)+  deriving (Aeson.FromJSON, Aeson.ToJSON) via JSONEncoding AuthenticatorAssertionResponse
+ src/Crypto/WebAuthn/Operation.hs view
@@ -0,0 +1,17 @@+{-# OPTIONS_GHC -Wno-missing-import-lists #-}++-- | Stability: experimental+-- Functions for verifying resulting credential responses.+--+-- This module is reexported by the "Crypto.WebAuthn" module, which is the+-- preferred way of using it.+module Crypto.WebAuthn.Operation+  ( module Crypto.WebAuthn.Operation.Registration,+    module Crypto.WebAuthn.Operation.CredentialEntry,+    module Crypto.WebAuthn.Operation.Authentication,+  )+where++import Crypto.WebAuthn.Operation.Authentication+import Crypto.WebAuthn.Operation.CredentialEntry+import Crypto.WebAuthn.Operation.Registration
+ src/Crypto/WebAuthn/Operation/Authentication.hs view
@@ -0,0 +1,342 @@+{-# LANGUAGE ApplicativeDo #-}+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE GADTs #-}++-- | Stability: experimental+-- This module implements assertion of the received authenticator response.+-- See the WebAuthn+-- [specification](https://www.w3.org/TR/webauthn-2/#sctn-verifying-assertion)+-- for the algorithm implemented in this module.+-- Assertion is typically represented as a "login" or "authentication" action+-- in the front-end.+-- [Section 7 of the specification](https://www.w3.org/TR/webauthn-2/#sctn-rp-operations)+-- describes when the relying party must perform assertion. Another relevant+-- section is+-- [Section 1.3.3](https://www.w3.org/TR/webauthn-2/#sctn-sample-authentication)+-- which is a high level overview of the authentication procedure.+module Crypto.WebAuthn.Operation.Authentication+  ( verifyAuthenticationResponse,+    AuthenticationError (..),+    AuthenticationResult (..),+    SignatureCounterResult (..),+  )+where++import qualified Codec.CBOR.Read as CBOR+import Codec.Serialise (decode)+import Control.Exception (Exception)+import Control.Monad (unless)+import qualified Crypto.Hash as Hash+import qualified Crypto.WebAuthn.Cose.Internal.Verify as Cose+import qualified Crypto.WebAuthn.Cose.Key as Cose+import Crypto.WebAuthn.Internal.Utils (failure)+import qualified Crypto.WebAuthn.Model as M+import Crypto.WebAuthn.Operation.CredentialEntry (CredentialEntry (cePublicKeyBytes, ceSignCounter, ceUserHandle))+import Data.ByteArray (convert)+import qualified Data.ByteString as BS+import qualified Data.ByteString.Lazy as LBS+import Data.List.NonEmpty (NonEmpty)+import Data.Text (Text)+import Data.Validation (Validation)++-- | Errors that may occur during [assertion](https://www.w3.org/TR/webauthn-2/#sctn-verifying-assertion)+data AuthenticationError+  = -- | The provided Credential was not one explicitly allowed by the server+    -- (first: allowed credentials, second: received credential)+    AuthenticationDisallowedCredential [M.CredentialDescriptor] (M.Credential 'M.Authentication 'True)+  | -- | The received credential does not match the currently identified user+    -- (first: identified, second: received)+    AuthenticationIdentifiedUserHandleMismatch M.UserHandle M.UserHandle+  | -- | The stored credential does not match the user specified in the+    -- response+    -- (first: stored, second: received)+    AuthenticationCredentialUserHandleMismatch M.UserHandle M.UserHandle+  | -- | No user was identified and the response did not specify a user+    AuthenticationCannotVerifyUserHandle+  | -- | The received challenge does not match the originally created+    -- challenge+    -- (first: expected, second: received)+    AuthenticationChallengeMismatch M.Challenge M.Challenge+  | -- | The origin derived by the client does match the assumed origin+    -- (first: expected, second: received)+    AuthenticationOriginMismatch M.Origin M.Origin+  | -- | The rpIdHash in the authData is not a valid hash over the RpId+    -- expected by the Relying party+    -- (first: expected, second: received)+    AuthenticationRpIdHashMismatch M.RpIdHash M.RpIdHash+  | -- | The UserPresent bit was not set in the authData+    AuthenticationUserNotPresent+  | -- | The UserVerified bit was not set in the authData while user+    -- verification was required+    AuthenticationUserNotVerified+  | -- | The public key provided in the 'CredentialEntry' could not be decoded+    AuthenticationSignatureDecodingError CBOR.DeserialiseFailure+  | -- | the public key does verify the signature over the authData+    AuthenticationInvalidSignature Cose.PublicKey BS.ByteString M.AssertionSignature Text+  deriving (Show, Exception)++-- | [Section 6.1.1 of the specification](https://www.w3.org/TR/webauthn-2/#sctn-sign-counter)+-- describes the use of the signature counter, and describes what the relying+-- part must do with them. In particular:+--+-- The [signature counter](https://www.w3.org/TR/webauthn-2/#signature-counter)+-- 's purpose is to aid+-- [Relying Parties](https://www.w3.org/TR/webauthn-2/#relying-party) in+-- detecting cloned authenticators. Clone detection is more important for+-- authenticators with limited protection measures.+--+-- A [Relying Party](https://www.w3.org/TR/webauthn-2/#relying-party) stores+-- the [signature counter](https://www.w3.org/TR/webauthn-2/#signature-counter)+-- of the most recent+-- [authenticatorGetAssertion](https://www.w3.org/TR/webauthn-2/#authenticatorgetassertion)+-- operation. (Or the counter from the+-- [authenticatorMakeCredential](https://www.w3.org/TR/webauthn-2/#authenticatormakecredential)+-- operation if no+-- [authenticatorGetAssertion](https://www.w3.org/TR/webauthn-2/#authenticatorgetassertion)+-- has ever been performed on a credential.) In subsequent+-- [authenticatorGetAssertion](https://www.w3.org/TR/webauthn-2/#authenticatorgetassertion)+-- operations, the+-- [Relying Party](https://www.w3.org/TR/webauthn-2/#relying-party) compares+-- the stored+-- [signature counter](https://www.w3.org/TR/webauthn-2/#signature-counter)+-- value with the new+-- `[signCount](https://www.w3.org/TR/webauthn-2/#signcount)` value returned in+-- the assertion’s+-- [authenticator data](https://www.w3.org/TR/webauthn-2/#authenticator-data).+-- If either is non-zero, and the new+-- `[signCount](https://www.w3.org/TR/webauthn-2/#signcount)` value is less+-- than or equal to the stored value, a cloned authenticator may exist, or the+-- authenticator may be malfunctioning.+data SignatureCounterResult+  = -- | There is no signature counter being used, the database entry doesn't+    -- need to be updated, but we also have no guarantees about the+    -- authenticator not being cloned+    SignatureCounterZero+  | -- | The signature counter needs to be updated in the database+    SignatureCounterUpdated M.SignatureCounter+  | -- | The signature counter decreased, the authenticator was potentially+    -- cloned and the relying party may want to e.g. lock this credential+    SignatureCounterPotentiallyCloned+  deriving (Eq, Show)++-- | A successful result of 'verifyAuthenticationResponse', it should be inspected by the Relying Party to enforce its policy regarding logins.+newtype AuthenticationResult = AuthenticationResult+  { -- | How the signature counter of the credential changed compared to the+    -- existing database entry+    arSignatureCounterResult :: SignatureCounterResult+  }+  deriving (Eq, Show)++-- | [(spec)](https://www.w3.org/TR/webauthn-2/#sctn-verifying-assertion)+-- Verifies a 'M.Credential' response for an [authentication ceremony](https://www.w3.org/TR/webauthn-2/#authentication).+-- The 'arSignatureCounterResult' field of the result should be inspected to+-- enforce Relying Party policy regarding potentially cloned authenticators.+verifyAuthenticationResponse ::+  -- | The origin of the server+  M.Origin ->+  -- | The hash of the relying party id+  M.RpIdHash ->+  -- | The user handle, in case the user is identified already+  -- TODO: Mention that this would be empty for username-less authentication+  Maybe M.UserHandle ->+  -- | The database entry for the credential, as created in the initial+  -- attestation and optionally updated in subsequent assertions+  CredentialEntry ->+  -- | The options that were passed to the get() method+  M.CredentialOptions 'M.Authentication ->+  -- | The credential returned from get()+  M.Credential 'M.Authentication 'True ->+  -- | Either a non-empty list of validation errors in case of the assertion+  -- being invalid+  -- Or in case of success a signature counter result, which should be dealt+  -- with+  Validation (NonEmpty AuthenticationError) AuthenticationResult+verifyAuthenticationResponse origin rpIdHash midentifiedUser entry options credential = do+  -- 1. Let options be a new PublicKeyCredentialRequestOptions structure+  -- configured to the Relying Party's needs for the ceremony.+  -- NOTE: Implemented by caller+  -- If options.allowCredentials is present, the transports member of each+  -- item SHOULD be set to the value returned by+  -- credential.response.getTransports() when the corresponding credential was+  -- registered.+  -- TODO: The transports property is currently not propagated by webauthn-json.+  -- see: <https://github.com/github/webauthn-json/pull/44>++  -- 2. Call navigator.credentials.get() and pass options as the publicKey+  -- option. Let credential be the result of the successfully resolved promise.+  -- If the promise is rejected, abort the ceremony with a user-visible error,+  -- or otherwise guide the user experience as might be determinable from the+  -- context available in the rejected promise. For information on different+  -- error contexts and the circumstances leading to them, see § 6.3.3 The+  -- authenticatorGetAssertion Operation.+  -- NOTE: Implemented by caller++  -- 3. Let response be credential.response. If response is not an instance of+  -- AuthenticatorAssertionResponse, abort the ceremony with a user-visible+  -- error.+  -- NOTE: Already done as part of decoding+  let response = M.cResponse credential++  -- 4. Let clientExtensionResults be the result of calling credential.getClientExtensionResults().+  -- TODO: Extensions are not implemented by this library, see the TODO in the+  -- module documentation of `Crypto.WebAuthn.Model` for more information.++  -- 5. If options.allowCredentials is not empty, verify that credential.id+  -- identifies one of the public key credentials listed in+  -- options.allowCredentials.+  let allowCredentials = M.coaAllowCredentials options+  unless (null allowCredentials || M.cIdentifier credential `elem` map M.cdId allowCredentials) . failure $ AuthenticationDisallowedCredential allowCredentials credential++  -- 6. Identify the user being authenticated and verify that this user is the+  -- owner of the public key credential source credentialSource identified by+  -- credential.id:+  --+  -- -> If the user was identified before the authentication ceremony was+  -- initiated, e.g., via a username or cookie, verify that the identified+  -- user is the owner of credentialSource. If response.userHandle is present,+  -- let userHandle be its value. Verify that userHandle also maps to the same+  -- user.+  --+  -- -> If the user was not identified before the authentication ceremony was+  -- initiated, verify that response.userHandle is present, and that the user+  -- identified by this value is the owner of credentialSource.+  let owner = ceUserHandle entry+  case (midentifiedUser, M.araUserHandle response) of+    (Just identifiedUser, Just userHandle)+      | identifiedUser /= owner ->+        failure $ AuthenticationIdentifiedUserHandleMismatch identifiedUser owner+      | userHandle /= owner ->+        failure $ AuthenticationCredentialUserHandleMismatch userHandle owner+      | otherwise -> pure ()+    (Just identifiedUser, Nothing)+      | identifiedUser /= owner ->+        failure $ AuthenticationIdentifiedUserHandleMismatch identifiedUser owner+      | otherwise -> pure ()+    (Nothing, Just userHandle)+      | userHandle /= owner ->+        failure $ AuthenticationCredentialUserHandleMismatch userHandle owner+      | otherwise -> pure ()+    (Nothing, Nothing) ->+      failure AuthenticationCannotVerifyUserHandle++  -- 7. Using credential.id (or credential.rawId, if base64url encoding is+  -- inappropriate for your use case), look up the corresponding credential+  -- public key and let credentialPublicKey be that credential public key.+  -- NOTE: Done by the caller, passed with entry++  -- 8. Let cData, authData and sig denote the value of response’s+  -- clientDataJSON, authenticatorData, and signature respectively.+  let M.AuthenticatorResponseAuthentication+        { M.araClientData = c,+          M.araAuthenticatorData = authData@M.AuthenticatorData {M.adRawData = M.WithRaw rawData},+          M.araSignature = sig+        } = response++  -- 9. Let JSONtext be the result of running UTF-8 decode on the value of+  -- cData.+  -- NOTE: Done as part of decoding++  -- 10. Let C, the client data claimed as used for the signature, be the+  -- result of running an implementation-specific JSON parser on JSONtext.+  -- NOTE: Done as part of decoding++  -- 11. Verify that the value of C.type is the string webauthn.get.+  -- NOTE: Done as part of decoding++  -- 12. Verify that the value of C.challenge equals the base64url encoding of options.challenge.+  unless (M.ccdChallenge c == M.coaChallenge options) $+    failure $ AuthenticationChallengeMismatch (M.coaChallenge options) (M.ccdChallenge c)++  -- 13. Verify that the value of C.origin matches the Relying Party's origin.+  unless (M.ccdOrigin c == origin) $+    failure $ AuthenticationOriginMismatch origin (M.ccdOrigin c)++  -- 14. Verify that the value of C.tokenBinding.status matches the state of+  -- Token Binding for the TLS connection over which the attestation was+  -- obtained. If Token Binding was used on that TLS connection, also verify+  -- that C.tokenBinding.id matches the base64url encoding of the Token+  -- Binding ID for the connection.+  -- TODO: We do not implement TokenBinding, see the documentation of+  -- `CollectedClientData` for more information.++  -- 15. Verify that the rpIdHash in authData is the SHA-256 hash of the RP ID+  -- expected by the Relying Party.+  -- Note: If using the appid extension, this step needs some special logic.+  -- See § 10.1 FIDO AppID Extension (appid) for details.+  unless (M.adRpIdHash authData == rpIdHash) $+    failure $ AuthenticationRpIdHashMismatch rpIdHash (M.adRpIdHash authData)++  -- 16. Verify that the User Present bit of the flags in authData is set.+  unless (M.adfUserPresent (M.adFlags authData)) $+    failure AuthenticationUserNotPresent++  -- 17. If user verification is required for this assertion, verify that the+  -- User Verified bit of the flags in authData is set.+  -- NOTE: The spec is interpreted to mean that the userVerification option+  -- being set to "required" is what is meant by whether user verification is+  -- required+  case ( M.coaUserVerification options,+         M.adfUserVerified (M.adFlags authData)+       ) of+    (M.UserVerificationRequirementRequired, True) -> pure ()+    (M.UserVerificationRequirementRequired, False) -> failure AuthenticationUserNotVerified+    (M.UserVerificationRequirementPreferred, True) -> pure ()+    (M.UserVerificationRequirementPreferred, False) -> pure ()+    (M.UserVerificationRequirementDiscouraged, True) -> pure ()+    (M.UserVerificationRequirementDiscouraged, False) -> pure ()++  -- 18. Verify that the values of the client extension outputs in+  -- clientExtensionResults and the authenticator extension outputs in the+  -- extensions in authData are as expected, considering the client extension+  -- input values that were given in options.extensions and any specific policy+  -- of the Relying Party regarding unsolicited extensions, i.e., those that+  -- were not specified as part of options.extensions. In the general case,+  -- the meaning of "are as expected" is specific to the Relying Party and+  -- which extensions are in use.+  -- TODO: Extensions are not implemented by this library, see the TODO in the+  -- module documentation of `Crypto.WebAuthn.Model` for more information.++  -- 19. Let hash be the result of computing a hash over the cData using SHA-256.+  -- NOTE: Done on raw data from decoding so that we don't need to encode again+  -- here and so that we use the exact some serialization+  let hash = M.ClientDataHash $ Hash.hash $ M.unRaw $ M.ccdRawData c++  -- 20. Using credentialPublicKey, verify that sig is a valid signature over+  -- the binary concatenation of authData and hash.+  let pubKeyBytes = LBS.fromStrict $ M.unPublicKeyBytes $ cePublicKeyBytes entry+      message = rawData <> convert (M.unClientDataHash hash)+  case CBOR.deserialiseFromBytes decode pubKeyBytes of+    Left err -> failure $ AuthenticationSignatureDecodingError err+    Right (_, coseKey) -> do+      let signAlg = Cose.keySignAlg coseKey+          publicKey = Cose.fromCose coseKey+      case Cose.verify signAlg publicKey message (M.unAssertionSignature sig) of+        Right () -> pure ()+        Left err -> failure $ AuthenticationInvalidSignature publicKey message sig err++  -- 21. Let storedSignCount be the stored signature counter value associated+  -- with credential.id. If authData.signCount is nonzero or storedSignCount+  -- is nonzero, then run the following sub-step:+  -- - If authData.signCount is+  --   -> greater than storedSignCount:+  --      Update storedSignCount to be the value of authData.signCount.+  --   -> less than or equal to storedSignCount:+  --      This is a signal that the authenticator may be cloned, i.e. at least+  --      two copies of the credential private key may exist and are being+  --      used in parallel. Relying Parties should incorporate this information+  --      into their risk scoring. Whether the Relying Party updates+  --      storedSignCount in this case, or not, or fails the authentication+  --      ceremony or not, is Relying Party-specific.+  signCountResult <- case (M.adSignCount authData, ceSignCounter entry) of+    (0, 0) -> pure SignatureCounterZero+    (returned, stored)+      | returned > stored -> pure $ SignatureCounterUpdated returned+      | otherwise -> pure SignatureCounterPotentiallyCloned++  -- 22. If all the above steps are successful, continue with the+  -- authentication ceremony as appropriate. Otherwise, fail the+  -- authentication ceremony.+  pure $+    AuthenticationResult+      { arSignatureCounterResult = signCountResult+      }
+ src/Crypto/WebAuthn/Operation/CredentialEntry.hs view
@@ -0,0 +1,21 @@+-- | Stability: experimental+-- This module represents all the information the Relying Party must store in+-- the database for every credential.+module Crypto.WebAuthn.Operation.CredentialEntry+  ( CredentialEntry (..),+  )+where++import qualified Crypto.WebAuthn.Model.Types as M+import Data.Aeson (ToJSON)+import GHC.Generics (Generic)++-- | This type represents the database row a Relying Party server needs to+-- store for each credential that's registered to a user+data CredentialEntry = CredentialEntry+  { ceCredentialId :: M.CredentialId,+    ceUserHandle :: M.UserHandle,+    cePublicKeyBytes :: M.PublicKeyBytes,+    ceSignCounter :: M.SignatureCounter+  }+  deriving (Eq, Show, Generic, ToJSON)
+ src/Crypto/WebAuthn/Operation/Registration.hs view
@@ -0,0 +1,521 @@+{-# LANGUAGE ApplicativeDo #-}+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE GADTs #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE ScopedTypeVariables #-}+{-# LANGUAGE StandaloneDeriving #-}++-- | Stability: experimental+-- This module implements attestation of the received authenticator response.+-- See the WebAuthn+-- [specification](https://www.w3.org/TR/webauthn-2/#sctn-registering-a-new-credential)+-- for the algorithm implemented in this module.+-- Assertion is typically represented as a "register" action+-- in the front-end.+-- [Section 7 of the specification](https://www.w3.org/TR/webauthn-2/#sctn-rp-operations)+-- describes when the relying party must perform attestation. Another relevant+-- section is+-- [Section 1.3.1](https://www.w3.org/TR/webauthn-2/#sctn-sample-registration)+-- which is a high level overview of the registration procedure.+module Crypto.WebAuthn.Operation.Registration+  ( verifyRegistrationResponse,+    RegistrationError (..),+    RegistrationResult (..),+    AuthenticatorModel (..),+    SomeAttestationStatement (..),+  )+where++import Control.Exception (Exception)+import Control.Monad (unless)+import qualified Crypto.Hash as Hash+import qualified Crypto.WebAuthn.Cose.Algorithm as Cose+import qualified Crypto.WebAuthn.Cose.Key as Cose+import Crypto.WebAuthn.Internal.Utils (certificateSubjectKeyIdentifier, failure)+import Crypto.WebAuthn.Metadata.Service.Processing (queryMetadata)+import qualified Crypto.WebAuthn.Metadata.Service.Types as Meta+import qualified Crypto.WebAuthn.Metadata.Statement.Types as Meta+import qualified Crypto.WebAuthn.Model as M+import Crypto.WebAuthn.Model.Identifier (AuthenticatorIdentifier (AuthenticatorIdentifierFido2, AuthenticatorIdentifierFidoU2F))+import Crypto.WebAuthn.Operation.CredentialEntry+  ( CredentialEntry+      ( CredentialEntry,+        ceCredentialId,+        cePublicKeyBytes,+        ceSignCounter,+        ceUserHandle+      ),+  )+import Data.Aeson (ToJSON, Value (String), object, toJSON, (.=))+import Data.Hourglass (DateTime)+import Data.List.NonEmpty (NonEmpty ((:|)))+import qualified Data.List.NonEmpty as NE+import Data.Validation (Validation (Failure, Success))+import qualified Data.X509 as X509+import qualified Data.X509.CertificateStore as X509+import qualified Data.X509.Validation as X509+import GHC.Generics (Generic)++-- | All the errors that can result from a call to 'verifyRegistrationResponse'+data RegistrationError+  = -- | The returned challenge does not match the desired one+    RegistrationChallengeMismatch M.Challenge M.Challenge+  | -- | The returned origin does not match the relying party's origin+    RegistrationOriginMismatch M.Origin M.Origin+  | -- | The hash of the relying party id does not match the has in the returned authentication data+    RegistrationRpIdHashMismatch M.RpIdHash M.RpIdHash+  | -- | The userpresent bit in the authdata was not set+    RegistrationUserNotPresent+  | -- | The userverified bit in the authdata was not set+    RegistrationUserNotVerified+  | -- | The algorithm received from the client was not one of the algorithms+    -- we (the relying party) requested from the client.+    -- first: The received algorithm+    -- second: The list of requested algorithm+    RegistrationUndesiredPublicKeyAlgorithm Cose.CoseSignAlg [Cose.CoseSignAlg]+  | -- | There was some exception in the statement format specific section+    forall a. M.AttestationStatementFormat a => RegistrationAttestationFormatError a (NonEmpty (M.AttStmtVerificationError a))++deriving instance Show RegistrationError++deriving instance Exception RegistrationError++-- | Information about the [authenticator](https://www.w3.org/TR/webauthn-2/#authenticator)+-- model that created the [public key credential](https://www.w3.org/TR/webauthn-2/#public-key-credential).+-- Depending on the constructor, this information can be used to base security+-- decisions.+data AuthenticatorModel k where+  -- | An unknown authenticator, meaning that we received no information about+  -- what authenticator model was used to generate the public key credential.+  -- We therefore also cannot assume any security guarantees regarding how the+  -- key is stored and other properties of the authenticator.+  -- This is expected to be the case when the ["none"](https://www.w3.org/TR/webauthn-2/#dom-attestationconveyancepreference-none)+  -- [Attestation Conveyance Preference](https://www.w3.org/TR/webauthn-2/#enum-attestation-convey)+  -- was selected.+  UnknownAuthenticator :: AuthenticatorModel 'M.Unverifiable+  -- | An [authenticator](https://www.w3.org/TR/webauthn-2/#authenticator) that+  -- provided a verifiable [attestation type](https://www.w3.org/TR/webauthn-2/#sctn-attestation-types),+  -- see 'M.Verifiable', but the certificate chain in the attestation statement+  -- failed to be verified. This is an indication that the 'uaIdentifier' and+  -- 'uaMetadata' fields cannot be trusted currently. This can happen when the+  -- root certificate of the chain is not trusted or known. Root certificates+  -- are discovered using both the 'M.AttestationStatementFormat's 'M.asfTrustAnchors'+  -- method, and the passed 'Meta.MetadataServiceRegistry'. The relying party+  -- can decide what to do in such a case, for example:+  --+  -- 1. Treating it as if it was an 'UnknownAuthenticator', but logging the+  --   'SomeAttestationStatement' structure, so that the admin can be informed of this+  --   and perhaps add custom entries to the 'Meta.MetadataServiceRegistry' to+  --   allow such authenticators to be verified in the future+  -- 2. Only using the 'uaIdentifier' and 'uaMetadata' for non-security-critical+  --   decisions. For example in order to show the user which authenticator they+  --   used to register.+  UnverifiedAuthenticator ::+    { -- | The failures that occurred when trying to validate the certificate+      -- chain+      uaFailures :: NonEmpty X509.FailedReason,+      -- | The identifier for the authenticator model+      uaIdentifier :: AuthenticatorIdentifier p,+      -- | The metadata looked up in the provided 'Meta.MetadataServiceRegistry'+      -- This field is always equal to 'Meta.queryMetadata registry vaIdentifier',+      -- and is only provided for convenience and because the implementation+      -- already has to look it up+      uaMetadata :: Maybe (Meta.MetadataEntry p)+    } ->+    AuthenticatorModel ('M.Verifiable p)+  -- | An [authenticator](https://www.w3.org/TR/webauthn-2/#authenticator) that+  -- provided a verifiable [attestation type](https://www.w3.org/TR/webauthn-2/#sctn-attestation-types),+  -- see 'M.Verifiable' and whose certificate chain in the attestation statement+  -- could successfully be verified. This is an indication that the 'uaIdentifier'+  -- and 'uaMetadata' fields can be trusted, meaning that we can be sure that+  -- the 'M.CredentialEntry' was created from the authenticator model with+  -- these fields as properties. In this case, the Relying Party can reasonably+  -- do the following:+  --+  -- * Persistently store the 'vaIdentifier' alongside 'CredentialEntry', such+  --   that even after the registration is complete, the 'vaMetadata' entry+  --   from the 'Meta.MetadataServiceRegistry' can be accessed. This also+  --   allows getting more up-to-date metadata (or at all if 'vaMetadata' was+  --   'Nothing') on an authenticator over time.+  -- * The 'vaMetadata' may be used to determine whether this authenticator+  --   model is trustful enough to be allowed for registration. For example,+  --   'Meta.srStatus' in 'Meta.meStatusReports' may be inspected for the+  --   authenticator being 'Meta.FIDO_CERTIFIED', aka that it passed the FIDO+  --   Alliances [Functional Certification](https://fidoalliance.org/certification/functional-certification/)+  -- * It is encouraged to persistently store the certificate chain from the+  --   'M.AttestationType' and check CRLs for revocations of any certificates+  --   in the chain. See [here](https://www.w3.org/TR/webauthn-2/#sctn-ca-compromise)+  --   for more information+  VerifiedAuthenticator ::+    { -- | The identifier for the authenticator model+      vaIdentifier :: AuthenticatorIdentifier p,+      -- | The metadata looked up in the provided 'Meta.MetadataServiceRegistry'+      -- This field is always equal to 'Meta.queryMetadata registry vaIdentifier',+      -- and is only provided for convenience and because the implementation+      -- already has to look it up+      vaMetadata :: Maybe (Meta.MetadataEntry p)+    } ->+    AuthenticatorModel ('M.Verifiable p)++deriving instance Show (AuthenticatorModel k)++deriving instance Eq (AuthenticatorModel k)++instance ToJSON (AuthenticatorModel k) where+  toJSON UnknownAuthenticator =+    object+      [ "tag" .= String "unknown"+      ]+  toJSON UnverifiedAuthenticator {..} =+    object+      [ "tag" .= String "unverified",+        "uaFailures" .= uaFailures,+        "uaIdentifier" .= uaIdentifier,+        "uaMetadata" .= uaMetadata+      ]+  toJSON VerifiedAuthenticator {..} =+    object+      [ "tag" .= String "verified",+        "vaIdentifier" .= vaIdentifier,+        "vaMetadata" .= vaMetadata+      ]++-- | Some attestation statement that represents both the [attestation type](https://www.w3.org/TR/webauthn-2/#sctn-attestation-types)+-- that was returned along with information about the [authenticator](https://www.w3.org/TR/webauthn-2/#authenticator)+-- model that created it. This result may be inspected to enforce relying party+-- policy, see the individual fields for more information.+data SomeAttestationStatement = forall k.+  SomeAttestationStatement+  { -- | The [attestation type](https://www.w3.org/TR/webauthn-2/#sctn-attestation-types)+    -- of the attestation statement. This could be used to only allow specific+    -- attestation types. E.g. disallowing [Basic](https://www.w3.org/TR/webauthn-2/#basic-attestation)+    -- and [Self](https://www.w3.org/TR/webauthn-2/#self-attestation) attestation,+    -- or marking those specially in the database.+    asType :: M.AttestationType k,+    -- | The [authenticator](https://www.w3.org/TR/webauthn-2/#authenticator)+    -- model that produced the attestation statement. Relying Party policy could+    -- accept this credential based on properties of this field:+    --+    -- * Disallowing unverified authenticators by checking whether+    --   it is an 'UnverifiedAuthenticator'+    --+    -- * Disallowing authenticators that don't meet the required security level by+    --   inspecting the 'vaMetadata' of a 'VerifiedAuthenticator'+    --+    -- * Only allowing a very specific authenticator to be used by looking at+    --   'vaIdentifier' of a 'VerifiedAuthenticator'+    asModel :: AuthenticatorModel k+  }++deriving instance Show SomeAttestationStatement++instance ToJSON SomeAttestationStatement where+  toJSON SomeAttestationStatement {..} =+    object+      [ "asType" .= asType,+        "asModel" .= asModel+      ]++-- | The result returned from 'verifyRegistrationResponse'. It indicates that+-- the operation of [registering a new credential](https://www.w3.org/TR/webauthn-2/#sctn-registering-a-new-credential)+-- didn't fail.+data RegistrationResult = RegistrationResult+  { -- | The entry to insert into the database+    rrEntry :: CredentialEntry,+    -- | Information about the attestation statement+    rrAttestationStatement :: SomeAttestationStatement+  }+  deriving (Show, Generic, ToJSON)++-- | [(spec)](https://www.w3.org/TR/webauthn-2/#sctn-registering-a-new-credential)+-- The resulting 'rrEntry' of this call should be stored in a database by the+-- Relying Party. The 'rrAttestationStatement' contains the result of the+-- attempted attestation, allowing the Relying Party to reject certain+-- authenticators/attempted entry creations based on policy.+verifyRegistrationResponse ::+  -- | The origin of the server+  M.Origin ->+  -- | The relying party id+  M.RpIdHash ->+  -- | The metadata registry, used for verifying the validity of the+  -- attestation by looking up root certificates+  Meta.MetadataServiceRegistry ->+  -- | The current time, used for verifying the validity of the attestation+  -- statement certificate chain+  DateTime ->+  -- | The options passed to the create() method+  M.CredentialOptions 'M.Registration ->+  -- | The response from the authenticator+  M.Credential 'M.Registration 'True ->+  -- | Either a nonempty list of validation errors in case the attestation FailedReason+  -- Or () in case of a result.+  Validation (NonEmpty RegistrationError) RegistrationResult+verifyRegistrationResponse+  rpOrigin+  rpIdHash+  registry+  currentTime+  options@M.CredentialOptionsRegistration {..}+  credential@M.Credential+    { M.cResponse =+        M.AuthenticatorResponseRegistration+          { arrClientData = c,+            arrAttestationObject =+              M.AttestationObject+                { aoAuthData = authData@M.AuthenticatorData {adAttestedCredentialData = M.AttestedCredentialData {..}},+                  ..+                }+          }+    } =+    do+      -- 1. Let options be a new PublicKeyCredentialCreationOptions structure+      -- configured to the Relying Party's needs for the ceremony.+      -- NOTE: Implemented by caller++      -- 2. Call navigator.credentials.create() and pass options as the publicKey+      -- option. Let credential be the result of the successfully resolved+      -- promise. If the promise is rejected, abort the ceremony with a+      -- user-visible error, or otherwise guide the user experience as might be+      -- determinable from the context available in the rejected promise. For+      -- example if the promise is rejected with an error code equivalent to+      -- "InvalidStateError", the user might be instructed to use a different+      -- authenticator. For information on different error contexts and the+      -- circumstances leading to them, see § 6.3.2 The+      -- authenticatorMakeCredential Operation.+      -- NOTE: Implemented by caller++      -- 3. Let response be credential.response. If response is not an instance+      -- of AuthenticatorAttestationResponse, abort the ceremony with a+      -- user-visible error.+      -- NOTE: Already done as part of decoding++      -- 4. Let clientExtensionResults be the result of calling+      -- credential.getClientExtensionResults().+      -- TODO: Extensions are not implemented by this library, see the TODO in the+      -- module documentation of `Crypto.WebAuthn.Model` for more information.++      -- 5. Let JSONtext be the result of running UTF-8 decode on the value of+      -- response.clientDataJSON.+      -- NOTE: Done as part of decoding++      -- 6. Let C, the client data claimed as collected during the credential+      -- creation, be the result of running an implementation-specific JSON+      -- parser on JSONtext.+      -- NOTE: Done as part of decoding++      -- 7. Verify that the value of C.type is webauthn.create.+      -- NOTE: Done as part of decoding++      -- 8. Verify that the value of C.challenge equals the base64url encoding of+      -- options.challenge.+      unless (M.ccdChallenge c == corChallenge) $+        failure $ RegistrationChallengeMismatch (M.ccdChallenge c) corChallenge++      -- 9. Verify that the value of C.origin matches the Relying Party's origin.+      unless (M.ccdOrigin c == rpOrigin) $+        failure $ RegistrationOriginMismatch (M.ccdOrigin c) rpOrigin++      -- 10. Verify that the value of C.tokenBinding.status matches the state of+      -- Token Binding for the TLS connection over which the assertion was+      -- obtained. If Token Binding was used on that TLS connection, also verify+      -- that C.tokenBinding.id matches the base64url encoding of the Token+      -- Binding ID for the connection.+      -- TODO: We do not implement TokenBinding, see the documentation of+      -- `CollectedClientData` for more information.++      -- 11. Let hash be the result of computing a hash over+      -- response.clientDataJSON using SHA-256.+      -- NOTE: Done on raw data from decoding so that we don't need to encode again+      -- here and so that we use the exact some serialization+      let hash = M.ClientDataHash $ Hash.hash $ M.unRaw $ M.ccdRawData c++      -- 12. Perform CBOR decoding on the attestationObject field of the+      -- AuthenticatorAttestationResponse structure to obtain the attestation+      -- statement format fmt, the authenticator data authData, and the attestation+      -- statement attStmt.+      -- NOTE: Already done as part of decoding++      -- 13. Verify that the rpIdHash in authData is the SHA-256 hash of the RP+      -- ID expected by the Relying Party.+      unless (M.adRpIdHash authData == rpIdHash) $+        failure $ RegistrationRpIdHashMismatch (M.adRpIdHash authData) rpIdHash++      -- 14. Verify that the User Present bit of the flags in authData is set.+      unless (M.adfUserPresent (M.adFlags authData)) $+        failure RegistrationUserNotPresent++      -- 15. If user verification is required for this registration, verify that+      -- the User Verified bit of the flags in authData is set.+      -- NOTE: The spec is interpreted to mean that the userVerification option+      -- from authenticatorSelection being set to "required" is what is meant by+      -- whether user verification is required+      case ( M.ascUserVerification <$> M.corAuthenticatorSelection options,+             M.adfUserVerified (M.adFlags authData)+           ) of+        (Nothing, _) -> pure ()+        (Just M.UserVerificationRequirementRequired, True) -> pure ()+        (Just M.UserVerificationRequirementRequired, False) -> failure RegistrationUserNotVerified+        (Just M.UserVerificationRequirementPreferred, True) -> pure ()+        (Just M.UserVerificationRequirementPreferred, False) -> pure ()+        (Just M.UserVerificationRequirementDiscouraged, True) -> pure ()+        (Just M.UserVerificationRequirementDiscouraged, False) -> pure ()++      -- 16. Verify that the "alg" parameter in the credential public key in+      -- authData matches the alg attribute of one of the items in+      -- options.pubKeyCredParams.+      let acdAlg = Cose.keySignAlg acdCredentialPublicKey+          desiredAlgs = map M.cpAlg corPubKeyCredParams+      unless (acdAlg `elem` desiredAlgs) $+        failure $ RegistrationUndesiredPublicKeyAlgorithm acdAlg desiredAlgs++      -- 17. Verify that the values of the client extension outputs in+      -- clientExtensionResults and the authenticator extension outputs in the+      -- extensions in authData are as expected, considering the client extension+      -- input values that were given in options.extensions and any specific+      -- policy of the Relying Party regarding unsolicited extensions, i.e.,+      -- those that were not specified as part of options.extensions. In the+      -- general case, the meaning of "are as expected" is specific to the+      -- Relying Party and which extensions are in use.+      -- TODO: Extensions are not implemented by this library, see the TODO in the+      -- module documentation of `Crypto.WebAuthn.Model` for more information.++      -- 18. Determine the attestation statement format by performing a USASCII+      -- case-sensitive match on fmt against the set of supported WebAuthn+      -- Attestation Statement Format Identifier values. An up-to-date list of+      -- registered WebAuthn Attestation Statement Format Identifier values is+      -- maintained in the IANA "WebAuthn Attestation Statement Format Identifiers"+      -- registry [IANA-WebAuthn-Registries] established by [RFC8809].+      -- NOTE: This check is done during decoding and enforced by the type-system++      -- 19. Verify that attStmt is a correct attestation statement, conveying a+      -- valid attestation signature, by using the attestation statement format+      -- fmt’s verification procedure given attStmt, authData and hash.+      attStmt <- case M.asfVerify aoFmt currentTime aoAttStmt authData hash of+        Failure err -> failure $ RegistrationAttestationFormatError aoFmt err+        Success (M.SomeAttestationType M.AttestationTypeNone) ->+          pure $ SomeAttestationStatement M.AttestationTypeNone UnknownAuthenticator+        Success (M.SomeAttestationType M.AttestationTypeSelf) ->+          pure $ SomeAttestationStatement M.AttestationTypeSelf UnknownAuthenticator+        Success (M.SomeAttestationType attType@M.AttestationTypeVerifiable {}) ->+          pure $ validateAttestationChain credential aoFmt attType registry currentTime+      pure $+        RegistrationResult+          { rrEntry =+              CredentialEntry+                { ceUserHandle = M.cueId $ M.corUser options,+                  ceCredentialId = M.cIdentifier credential,+                  cePublicKeyBytes = M.PublicKeyBytes $ M.unRaw acdCredentialPublicKeyBytes,+                  ceSignCounter = M.adSignCount authData+                },+            rrAttestationStatement = attStmt+          }++-- | Performs step 20 and 21 of attestation for verifieable attestation types.+-- Results in the type of attestation and the model.+validateAttestationChain ::+  forall raw p a.+  M.AttestationStatementFormat a =>+  M.Credential 'M.Registration raw ->+  a ->+  M.AttestationType ('M.Verifiable p) ->+  Meta.MetadataServiceRegistry ->+  DateTime ->+  SomeAttestationStatement+validateAttestationChain+  credential+  fmt+  M.AttestationTypeVerifiable {..}+  registry+  currentTime =+    SomeAttestationStatement attestationType authenticator+    where+      attestationType =+        M.AttestationTypeVerifiable+          { M.atvType = maybe atvType (fixupVerifiableAttestationType atvType) metadataStatement,+            M.atvChain = atvChain+          }+      authenticator = case NE.nonEmpty chainValidationFailures of+        Nothing ->+          VerifiedAuthenticator+            { vaIdentifier = identifier,+              vaMetadata = metadataEntry+            }+        Just failures ->+          UnverifiedAuthenticator+            { uaFailures = failures,+              uaIdentifier = identifier,+              uaMetadata = metadataEntry+            }++      chain :: X509.CertificateChain+      identifier :: AuthenticatorIdentifier p+      (chain, identifier) = case atvChain of+        M.Fido2Chain cs ->+          ( X509.CertificateChain $ NE.toList cs,+            AuthenticatorIdentifierFido2+              . M.acdAaguid+              . M.adAttestedCredentialData+              . M.aoAuthData+              . M.arrAttestationObject+              . M.cResponse+              $ credential+          )+        M.FidoU2FCert c ->+          ( X509.CertificateChain [c],+            AuthenticatorIdentifierFidoU2F+              . certificateSubjectKeyIdentifier+              . X509.getCertificate+              $ c+          )+      metadataEntry = queryMetadata registry identifier+      metadataStatement = metadataEntry >>= Meta.meMetadataStatement++      -- 20. If validation is successful, obtain a list of acceptable trust+      -- anchors (i.e. attestation root certificates) for that attestation type+      -- and attestation statement format fmt, from a trusted source or from+      -- policy. For example, the FIDO Metadata Service [FIDOMetadataService]+      -- provides one way to obtain such information, using the aaguid in the+      -- attestedCredentialData in authData.+      formatRootCerts = M.asfTrustAnchors fmt atvType+      metadataRootCerts = case metadataStatement of+        Nothing -> mempty+        Just statement -> X509.makeCertificateStore $ NE.toList $ Meta.msAttestationRootCertificates statement++      -- 21. Assess the attestation trustworthiness using the outputs of the+      -- verification procedure in step 19, as follows:+      --+      -- -> If no attestation was provided, verify that None attestation is+      --    acceptable under Relying Party policy.+      --    NOTE: Can be decided from the return type+      -- -> If self attestation was used, verify that self attestation is+      --    acceptable under Relying Party policy.+      --    NOTE: Can be decided from the return type+      -- -> Otherwise, use the X.509 certificates returned as the attestation+      --    trust path from the verification procedure to verify that the+      --    attestation public key either correctly chains up to an acceptable+      --    root certificate, or is itself an acceptable certificate (i.e., it+      --    and the root certificate obtained in Step 20 may be the same).+      --    NOTE: We are only returning the errors, which can be used to either+      --    fail or still allow it+      chainValidationFailures =+        X509.validatePure+          currentTime+          X509.defaultHooks+            { X509.hookValidateName = \_fqhn _cert -> []+            }+          X509.defaultChecks+          (formatRootCerts <> metadataRootCerts)+          ("", mempty)+          chain++-- | Metadata statements can convey multiple attestation types.+-- In such a case we choose to result in the Uncertain type.+-- Otherwise, we results in the only one available.+fixupVerifiableAttestationType :: M.VerifiableAttestationType -> Meta.MetadataStatement p -> M.VerifiableAttestationType+fixupVerifiableAttestationType M.VerifiableAttestationTypeUncertain statement =+  case Meta.msAttestationTypes statement of+    -- If there are multiple types we can't know which one it is+    (_ :| (_ : _)) -> M.VerifiableAttestationTypeUncertain+    (Meta.WebauthnAttestationBasic :| []) -> M.VerifiableAttestationTypeBasic+    (Meta.WebauthnAttestationAttCA :| []) -> M.VerifiableAttestationTypeAttCA+fixupVerifiableAttestationType certain _ = certain
+ src/Crypto/WebAuthn/WebIDL.hs view
@@ -0,0 +1,80 @@+-- | Stability: experimental+-- | This module defines some types from the [Web IDL](https://webidl.spec.whatwg.org/) specification+module Crypto.WebAuthn.WebIDL+  ( DOMString,+    USVString,+    UnsignedLongLong,+    UnsignedLong,+    Long,+    UnsignedShort,+    Octet,+    Boolean,+    Crypto.WebAuthn.WebIDL.Double,+    BufferSource (..),+    ArrayBuffer,+  )+where++import qualified Data.Aeson as Aeson+import qualified Data.ByteString as BS+import qualified Data.ByteString.Base64.URL as Base64+import Data.Int (Int32)+import Data.Text (Text)+import qualified Data.Text.Encoding as Text+import Data.Word (Word16, Word32, Word64, Word8)++-- | [(spec)](https://webidl.spec.whatwg.org/#idl-DOMString)+-- The `[DOMString](https://webidl.spec.whatwg.org/#idl-DOMString)` type+-- corresponds to the set of all possible sequences of+-- [code units](https://webidl.spec.whatwg.org/#dfn-code-unit). Such sequences+-- are commonly interpreted as UTF-16 encoded strings+-- [RFC2781](https://webidl.spec.whatwg.org/#biblio-rfc2781) although this is not required.+-- TODO: This implementation doesn't allow invalid UTF-16 codepoints, which+-- probably makes it not work regarding <https://www.w3.org/TR/webauthn-2/#sctn-strings>+-- Write a test case that doesn't work and find a better representation.+type DOMString = Text++-- | [(spec)](https://webidl.spec.whatwg.org/#idl-USVString)+-- The `[USVString](https://webidl.spec.whatwg.org/#idl-USVString)` type+-- corresponds to the set of all possible sequences of+-- [Unicode scalar values](http://www.unicode.org/glossary/#unicode_scalar_value),+-- which are all of the Unicode code points apart from the surrogate code points.+-- TODO: This implementation allows for surrogate code points. Figure out if+-- this can violate the spec in any way.+type USVString = Text++-- | [(spec)](https://webidl.spec.whatwg.org/#idl-unsigned-long)+type UnsignedLong = Word32++-- | [(spec)](https://webidl.spec.whatwg.org/#idl-unsigned-long)+type UnsignedLongLong = Word64++-- | [(spec)](https://webidl.spec.whatwg.org/#idl-long)+type Long = Int32++-- | [(spec)](https://webidl.spec.whatwg.org/#idl-unsigned-short)+type UnsignedShort = Word16++-- | [(spec)](https://webidl.spec.whatwg.org/#idl-octet)+type Octet = Word8++-- | [(spec)](https://webidl.spec.whatwg.org/#idl-boolean)+type Boolean = Bool++-- | [(spec)](https://webidl.spec.whatwg.org/#idl-double)+type Double = Prelude.Double++-- | [(spec)](https://webidl.spec.whatwg.org/#BufferSource)+newtype BufferSource = -- | base64url encoded buffersource as done by https://github.com/github/webauthn-json+  URLEncodedBase64 {unUrlEncodedBase64 :: BS.ByteString}+  deriving (Show, Eq)++instance Aeson.FromJSON BufferSource where+  parseJSON = Aeson.withText "base64url" $ \t ->+    either fail (pure . URLEncodedBase64) (Base64.decode $ Text.encodeUtf8 t)++instance Aeson.ToJSON BufferSource where+  toJSON (URLEncodedBase64 bs) = Aeson.String . Text.decodeUtf8 . Base64.encodeUnpadded $ bs++-- | [(spec)](https://webidl.spec.whatwg.org/#idl-ArrayBuffer)+type ArrayBuffer = BufferSource
− src/WebAuthn.hs
@@ -1,193 +0,0 @@-{-# LANGUAGE RecordWildCards, NamedFieldPuns #-}-{-# LANGUAGE LambdaCase #-}-{-# LANGUAGE OverloadedStrings #-}-{-# LANGUAGE ScopedTypeVariables #-}--------------------------------------------------------------------------- |--- Module      :  WebAuthn--- License     :  BSD3------ Maintainer  :  Fumiaki Kinoshita <fumiexcel@gmail.com>------ <https://www.w3.org/TR/webauthn/ Web Authentication API> Verification library--------------------------------------------------------------------------module WebAuthn (-  -- * Basic-  TokenBinding(..)-  , Origin(..)-  , RelyingParty(..)-  , defaultRelyingParty-  , User(..)-  -- Challenge-  , Challenge(..)-  , generateChallenge-  , WebAuthnType(..)-  , CollectedClientData(..)-  , AuthenticatorData(..)-  , AttestedCredentialData(..)-  , AAGUID(..)-  , CredentialPublicKey(..)-  , CredentialId(..)-  -- * verfication-  , VerificationFailure(..)-  , registerCredential-  , verify-  ) where--import Prelude hiding (fail)-import Data.Aeson as J-import Data.Bits-import Data.ByteString (ByteString)-import qualified Data.Serialize as C-import qualified Data.ByteArray as BA-import qualified Data.ByteString as B-import qualified Data.ByteString.Lazy as BL-import qualified Data.Map as Map-import Data.Text (Text)-import Crypto.Random-import Crypto.Hash-import qualified Codec.CBOR.Term as CBOR-import qualified Codec.CBOR.Read as CBOR-import qualified Codec.CBOR.Decoding as CBOR-import qualified Codec.Serialise as CBOR-import Control.Monad.Fail--import WebAuthn.Signature-import WebAuthn.Types-import qualified WebAuthn.TPM as TPM-import qualified WebAuthn.FIDOU2F as U2F-import qualified WebAuthn.Packed as Packed---- | Generate a cryptographic challenge (13.1).-generateChallenge :: Int -> IO Challenge-generateChallenge len = Challenge <$> getRandomBytes len--parseAuthenticatorData :: C.Get AuthenticatorData-parseAuthenticatorData = do-  rpIdHash' <- C.getBytes 32-  rpIdHash <- maybe (fail "impossible") pure $ digestFromByteString rpIdHash'-  flags <- C.getWord8-  _counter <- C.getBytes 4-  attestedCredentialData <- if testBit flags 6-    then do-      aaguid <- AAGUID <$> C.getBytes 16-      len <- C.getWord16be-      credentialId <- CredentialId <$> C.getBytes (fromIntegral len)-      n <- C.remaining-      credentialPublicKey <- CredentialPublicKey <$> C.getBytes n-      pure $ Just AttestedCredentialData{..}-    else pure Nothing-  let authenticatorDataExtension = B.empty --FIXME-  let userPresent = testBit flags 0-  let userVerified = testBit flags 2-  return AuthenticatorData{..}---- | Attestation (6.4) provided by authenticators-data AttestationStatement = AF_Packed Packed.Stmt-  | AF_TPM TPM.Stmt-  | AF_AndroidKey-  | AF_AndroidSafetyNet-  | AF_FIDO_U2F U2F.Stmt-  | AF_None-  deriving Show--decodeAttestation :: CBOR.Decoder s (ByteString, AttestationStatement)-decodeAttestation = do-  m :: Map.Map Text CBOR.Term <- CBOR.decode-  CBOR.TString fmt <- maybe (fail "fmt") pure $ Map.lookup "fmt" m-  stmtTerm <- maybe (fail "stmt") pure $ Map.lookup "attStmt" m-  stmt <- case fmt of-    "fido-u2f" -> maybe (fail "fido-u2f") (pure . AF_FIDO_U2F) $ U2F.decode stmtTerm-    "packed" -> AF_Packed <$> Packed.decode stmtTerm-    "tpm" -> AF_TPM <$> TPM.decode stmtTerm-    _ -> fail $ "decodeAttestation: Unsupported format: " ++ show fmt-  CBOR.TBytes adRaw <- maybe (fail "authData") pure $ Map.lookup "authData" m-  return (adRaw, stmt)---- | 7.1. Registering a New Credential-registerCredential :: Challenge-  -> RelyingParty-  -> Maybe Text -- ^ Token Binding ID in base64-  -> Bool -- ^ require user verification?-  -> ByteString -- ^ clientDataJSON-  -> ByteString -- ^ attestationObject-  -> Either VerificationFailure AttestedCredentialData-registerCredential challenge RelyingParty{..} tbi verificationRequired clientDataJSON attestationObject = do-  CollectedClientData{..} <- either-    (Left . JSONDecodeError) Right $ J.eitherDecode $ BL.fromStrict clientDataJSON-  clientType == Create ?? InvalidType-  challenge == clientChallenge ?? MismatchedChallenge-  rpOrigin == clientOrigin ?? MismatchedOrigin-  case clientTokenBinding of-    TokenBindingUnsupported -> pure ()-    TokenBindingSupported -> pure ()-    TokenBindingPresent t -> case tbi of-      Nothing -> Left UnexpectedPresenceOfTokenBinding-      Just t'-        | t == t' -> pure ()-        | otherwise -> Left MismatchedTokenBinding-  (adRaw, stmt) <- either (Left . CBORDecodeError "registerCredential") (pure . snd)-    $ CBOR.deserialiseFromBytes decodeAttestation-    $ BL.fromStrict $ attestationObject-  ad <- either (const $ Left MalformedAuthenticatorData) pure $ C.runGet parseAuthenticatorData adRaw-  let clientDataHash = hash clientDataJSON :: Digest SHA256-  hash rpId == rpIdHash ad ?? MismatchedRPID-  userPresent ad ?? UserNotPresent-  not verificationRequired || userVerified ad ?? UserUnverified--  -- TODO: extensions here--  case stmt of-    AF_FIDO_U2F s -> U2F.verify s ad clientDataHash-    AF_Packed s -> Packed.verify s ad adRaw clientDataHash-    AF_TPM s -> TPM.verify s ad adRaw clientDataHash-    AF_None -> pure ()-    _ -> error $ "registerCredential: unsupported format: " ++ show stmt--  case attestedCredentialData ad of-    Nothing -> Left MalformedAuthenticatorData-    Just c -> pure c---- | 7.2. Verifying an Authentication Assertion-verify :: Challenge-  -> RelyingParty-  -> Maybe Text -- ^ Token Binding ID in base64-  -> Bool -- ^ require user verification?-  -> ByteString -- ^ clientDataJSON-  -> ByteString -- ^ authenticatorData-  -> ByteString -- ^ signature-  -> CredentialPublicKey -- ^ public key-  -> Either VerificationFailure ()-verify challenge RelyingParty{..} tbi verificationRequired clientDataJSON adRaw sig pub = do-  CollectedClientData{..} <- either-    (Left . JSONDecodeError) Right $ J.eitherDecode $ BL.fromStrict clientDataJSON-  clientType == Get ?? InvalidType-  challenge == clientChallenge ?? MismatchedChallenge-  rpOrigin == clientOrigin ?? MismatchedOrigin-  case clientTokenBinding of-    TokenBindingUnsupported -> pure ()-    TokenBindingSupported -> pure ()-    TokenBindingPresent t -> case tbi of-      Nothing -> Left UnexpectedPresenceOfTokenBinding-      Just t'-        | t == t' -> pure ()-        | otherwise -> Left MismatchedTokenBinding--  ad <- either (const $ Left MalformedAuthenticatorData) pure-    $ C.runGet parseAuthenticatorData adRaw--  let clientDataHash = hash clientDataJSON :: Digest SHA256-  hash rpId == rpIdHash ad ?? MismatchedRPID-  userPresent ad ?? UserNotPresent-  not verificationRequired || userVerified ad ?? UserUnverified--  let dat = adRaw <> BA.convert clientDataHash--  pub' <- parsePublicKey pub-  verifySig pub' sig dat--(??) :: Bool -> e -> Either e ()-False ?? e = Left e-True ?? _ = Right ()-infix 1 ??
− src/WebAuthn/FIDOU2F.hs
@@ -1,50 +0,0 @@-{-# LANGUAGE OverloadedStrings #-}-{-# LANGUAGE RecordWildCards #-}-module WebAuthn.FIDOU2F where--import Crypto.Hash-import Data.ByteString (ByteString)-import qualified Data.ByteString.Builder as BB-import qualified Data.ByteString.Lazy as BL-import qualified Codec.CBOR.Term as CBOR-import qualified Codec.Serialise as CBOR-import qualified Data.ByteArray as BA-import qualified Data.Map as Map-import qualified Data.X509 as X509-import qualified Data.X509.Validation as X509-import WebAuthn.Types--data Stmt = Stmt (X509.SignedExact X509.Certificate) ByteString-  deriving Show--decode :: CBOR.Term -> Maybe Stmt-decode (CBOR.TMap xs) = do-  let m = Map.fromList xs-  CBOR.TBytes sig <- Map.lookup (CBOR.TString "sig") m-  CBOR.TList [CBOR.TBytes certBS] <- Map.lookup (CBOR.TString "x5c") m-  cert <- either fail pure $ X509.decodeSignedCertificate certBS-  return (Stmt cert sig)-decode _ = Nothing--verify :: Stmt-  -> AuthenticatorData-  -> Digest SHA256-  -> Either VerificationFailure ()-verify (Stmt cert sig) AuthenticatorData{..} clientDataHash = do-  AttestedCredentialData{..} <- maybe (Left MalformedAuthenticatorData) pure attestedCredentialData-  m <- either (Left . CBORDecodeError "verifyFIDOU2F") pure-    $ CBOR.deserialiseOrFail $ BL.fromStrict $ unCredentialPublicKey credentialPublicKey-  pubU2F <- maybe (Left MalformedPublicKey) pure $ do-      CBOR.TBytes x <- Map.lookup (-2 :: Int) m-      CBOR.TBytes y <- Map.lookup (-3) m-      return $ BB.word8 0x04 <> BB.byteString x <> BB.byteString y-  let dat = BL.toStrict $ BB.toLazyByteString $ mconcat-        [ BB.word8 0x00-        , BB.byteString $ BA.convert rpIdHash-        , BB.byteString $ BA.convert clientDataHash-        , BB.byteString $ unCredentialId credentialId-        , pubU2F]-  let pub = X509.certPubKey $ X509.getCertificate cert-  case X509.verifySignature (X509.SignatureALG X509.HashSHA256 X509.PubKeyALG_EC) pub dat sig of-    X509.SignaturePass -> return ()-    X509.SignatureFailed _ -> Left $ SignatureFailure "FIDOU2F"
− src/WebAuthn/Packed.hs
@@ -1,50 +0,0 @@-{-# LANGUAGE OverloadedStrings #-}-module WebAuthn.Packed where--import Crypto.Hash-import Data.ByteString (ByteString)-import qualified Data.ByteArray as BA-import qualified Data.X509 as X509-import qualified Data.X509.Validation as X509-import qualified Codec.CBOR.Term as CBOR-import qualified Codec.CBOR.Decoding as CBOR-import qualified Data.Map as Map-import WebAuthn.Signature-import WebAuthn.Types--data Stmt = Stmt Int ByteString (Maybe (X509.SignedExact X509.Certificate))-  deriving Show--decode :: CBOR.Term -> CBOR.Decoder s Stmt-decode (CBOR.TMap xs) = do-  let m = Map.fromList xs-  CBOR.TInt alg <- Map.lookup (CBOR.TString "alg") m ??? "alg"-  CBOR.TBytes sig <- Map.lookup (CBOR.TString "sig") m ??? "sig"-  cert <- case Map.lookup (CBOR.TString "x5c") m of-    Just (CBOR.TList (CBOR.TBytes certBS : _)) ->-      either fail (pure . Just) $ X509.decodeSignedCertificate certBS-    _ -> pure Nothing-  return $ Stmt alg sig cert-  where-    Nothing ??? e = fail e-    Just a ??? _ = pure a-decode _ = fail "Packed.decode: expected a Map"--verify :: Stmt-  -> AuthenticatorData-  -> ByteString-  -> Digest SHA256-  -> Either VerificationFailure ()-verify (Stmt _ sig cert) ad adRaw clientDataHash = do-  let dat = adRaw <> BA.convert clientDataHash-  case cert of-    Just x509 -> do-      let pub = X509.certPubKey $ X509.getCertificate x509-      case X509.verifySignature (X509.SignatureALG X509.HashSHA256 X509.PubKeyALG_EC) pub dat sig of-        X509.SignaturePass -> return ()-        X509.SignatureFailed _ -> Left $ SignatureFailure "Packed"-    Nothing -> do-      pub <- case attestedCredentialData ad of-          Nothing -> Left MalformedAuthenticatorData-          Just c -> parsePublicKey $ credentialPublicKey c-      verifySig pub sig dat
− src/WebAuthn/Signature.hs
@@ -1,89 +0,0 @@-{-# LANGUAGE OverloadedStrings #-}-module WebAuthn.Signature (PublicKey(..)-  , parsePublicKey-  , verifySig-  ) where--import Control.Monad-import Data.Bits-import qualified Data.ByteArray as BA-import qualified Data.ByteString as B-import qualified Data.ByteString.Lazy as BL-import Crypto.Hash-import qualified Crypto.PubKey.ECC.ECDSA as EC-import qualified Crypto.PubKey.ECC.Types as EC-import qualified Crypto.PubKey.RSA.Types as RSA-import qualified Crypto.PubKey.RSA.Prim as RSA-import qualified Codec.CBOR.Term as CBOR-import qualified Codec.Serialise as CBOR-import qualified Data.Map as Map-import Data.ASN1.BinaryEncoding-import Data.ASN1.Encoding-import Data.ASN1.Types-import WebAuthn.Types--data PublicKey = PubEC EC.PublicKey | PubRSA RSA.PublicKey--verifySig :: PublicKey-  -> B.ByteString -- ^ signature-  -> B.ByteString -- ^ data-  -> Either VerificationFailure ()-verifySig (PubEC pub) sig dat = do-  sig' <- maybe (Left MalformedSignature) pure $ parseECSignature sig-  case EC.verify SHA256 pub sig' dat of-    True  -> pure ()-    False -> Left $ SignatureFailure "EC256"-verifySig (PubRSA pub) sig dat-  | Just dat' <- parseRS256Signature (RSA.ep pub sig), dat' == BA.convert (hashWith SHA256 dat) = pure ()-  | otherwise = Left $ SignatureFailure "RS256"--parsePublicKey :: CredentialPublicKey -> Either VerificationFailure PublicKey-parsePublicKey pub = do-  m <- either (Left . CBORDecodeError "parsePublicKey") pure-    $ CBOR.deserialiseOrFail $ BL.fromStrict $ unCredentialPublicKey pub-  maybe (Left $ MalformedPublicKey) pure $ do-      CBOR.TInt ty <- Map.lookup 3 m-      case ty of-        -7 -> do-          CBOR.TInt crv <- Map.lookup (-1) m-          CBOR.TBytes x <- Map.lookup (-2 :: Int) m-          CBOR.TBytes y <- Map.lookup (-3) m-          c <- case crv of-            1 -> pure EC.SEC_p256r1-            _ -> fail $ "parsePublicKey: unknown curve: " ++ show crv-          return $ PubEC $ EC.PublicKey (EC.getCurveByName c) (EC.Point (fromOctet x) (fromOctet y))-        -257 -> do-          CBOR.TBytes n <- Map.lookup (-1) m-          CBOR.TBytes e <- Map.lookup (-2) m-          return $ PubRSA $ RSA.PublicKey 256 (fromOctet n) (fromOctet e)-        _ -> fail $ "parsePublicKey: unknown algorithm"--fromOctet :: B.ByteString -> Integer-fromOctet = B.foldl' (\r x -> r `unsafeShiftL` 8 .|. fromIntegral x) 0--parseECSignature :: B.ByteString -> Maybe EC.Signature-parseECSignature b = case decodeASN1' BER b of-  Left _ -> Nothing-  Right asn1 -> case asn1 of-    Start Sequence:IntVal r:IntVal s:End Sequence:_ -> Just $ EC.Signature r s-    _ -> Nothing--parseRS256Signature :: B.ByteString -> Maybe B.ByteString-parseRS256Signature = unpad >=> \b -> case decodeASN1' BER b of-  Left _ -> Nothing-  Right asn1 -> case asn1 of-    Start Sequence:Start Sequence:_:_:End Sequence:OctetString sig:_ -> Just sig-    _ -> Nothing--unpad :: B.ByteString -> Maybe B.ByteString-unpad packed-    | paddingSuccess = Just m-    | otherwise      = Nothing-  where-        (zt, ps0m)   = B.splitAt 2 packed-        (ps, zm)     = B.span (/= 0) ps0m-        (z, m)       = B.splitAt 1 zm-        paddingSuccess = and [ zt == "\NUL\SOH"-                              , z == "\NUL"-                              , B.length ps >= 8-                              ]
− src/WebAuthn/TPM.hs
@@ -1,45 +0,0 @@-{-# LANGUAGE OverloadedStrings #-}-module WebAuthn.TPM where--import Data.ByteString (ByteString)-import Crypto.Hash (Digest, SHA256)-import qualified Data.X509 as X509-import qualified Data.X509.Validation as X509-import qualified Codec.CBOR.Term as CBOR-import qualified Codec.CBOR.Decoding as CBOR-import qualified Data.Map as Map-import WebAuthn.Types (VerificationFailure(..), AuthenticatorData)--data Stmt = Stmt Int ByteString (X509.SignedExact X509.Certificate) ByteString deriving Show--decode :: CBOR.Term -> CBOR.Decoder s Stmt-decode (CBOR.TMap xs) = do-  let m = Map.fromList xs-  CBOR.TInt alg <- Map.lookup (CBOR.TString "alg") m ??? "alg"-  CBOR.TBytes sig <- Map.lookup (CBOR.TString "sig") m ??? "sig"-  CBOR.TList (CBOR.TBytes certBS : _) <- Map.lookup (CBOR.TString "x5c") m ??? "x5c"-  aikCert <- either fail pure $ X509.decodeSignedCertificate certBS-  CBOR.TBytes certInfo <- Map.lookup (CBOR.TString "certInfo") m ??? "certInfo"-  -- pubArea <- Map.lookup (CBOR.TString "pubArea") ?? "pubArea"-  return $ Stmt alg sig aikCert certInfo-  where-    Nothing ??? e = fail e-    Just a ??? _ = pure a-decode _ = fail "TPM.decode: expected a Map"--verify :: Stmt-  -> AuthenticatorData-  -> ByteString-  -> Digest SHA256-  -> Either VerificationFailure ()-verify (Stmt alg sig x509 certInfo) _ad _adRaw _clientDataHash = do-  -- TODO Verify that the public key specified by the parameters and unique fields of pubArea is identical to the credentialPublicKey in the attestedCredentialData in authenticatorData.-  let pub = X509.certPubKey $ X509.getCertificate x509-  -- let attToBeSigned = adRaw <> BA.convert clientDataHash-  -- https://www.iana.org/assignments/cose/cose.xhtml#algorithms-  case alg of-    -65535 -> do-      case X509.verifySignature (X509.SignatureALG X509.HashSHA1 X509.PubKeyALG_RSA) pub certInfo sig of-        X509.SignaturePass -> return ()-        X509.SignatureFailed _ -> Left $ SignatureFailure "TPM"-    _ -> Left $ UnsupportedAlgorithm alg
− src/WebAuthn/Types.hs
@@ -1,203 +0,0 @@-{-# LANGUAGE StrictData #-}-{-# LANGUAGE LambdaCase #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE OverloadedStrings #-}-{-# LANGUAGE DeriveGeneric #-}-module WebAuthn.Types (-  -- * Relying party-  RelyingParty(..)-  , Origin(..)-  , defaultRelyingParty-  , TokenBinding(..)-  -- Challenge-  , Challenge(..)-  , WebAuthnType(..)-  , CollectedClientData(..)-  , AuthenticatorData(..)-  -- * Credential-  , AttestedCredentialData(..)-  , AAGUID(..)-  , CredentialPublicKey(..)-  , CredentialId(..)-  , User(..)-  -- * Exception-  , VerificationFailure(..)-  ) where--import Prelude hiding (fail)-import Data.Aeson as J-import Data.ByteString (ByteString)-import qualified Data.ByteString as B-import qualified Data.ByteString.Base64.URL as Base64-import Data.ByteString.Base16 as Base16-import qualified Data.Hashable as H-import qualified Data.Map as Map-import Data.Text (Text)-import Data.Text.Encoding-import qualified Data.Text as T-import qualified Data.Text.Encoding as T-import qualified Data.Text.Read as T-import Crypto.Hash-import qualified Codec.CBOR.Term as CBOR-import qualified Codec.CBOR.Read as CBOR-import qualified Codec.Serialise as CBOR-import Control.Monad.Fail-import GHC.Generics (Generic)---- | 13.1. Cryptographic Challenges-newtype Challenge = Challenge { rawChallenge :: ByteString }-  deriving (Show, Eq, Ord, H.Hashable, CBOR.Serialise)--instance ToJSON Challenge where-  toJSON = toJSON . decodeUtf8 . Base64.encode . rawChallenge--instance FromJSON Challenge where-  parseJSON = withText "Challenge" $ pure . Challenge-    . Base64.decodeLenient . encodeUtf8---- | 5.10.1. Client Data Used in WebAuthn Signatures (dictionary CollectedClientData)-data CollectedClientData = CollectedClientData-  { clientType :: WebAuthnType-  , clientChallenge :: Challenge-  , clientOrigin :: Origin-  , clientTokenBinding :: TokenBinding-  }-instance FromJSON CollectedClientData where-  parseJSON = withObject "CollectedClientData" $ \obj -> CollectedClientData-    <$> obj .: "type"-    <*> obj .: "challenge"-    <*> obj .: "origin"-    <*> fmap (maybe TokenBindingUnsupported id) (obj .:? "tokenBinding")-  --- | state of the Token Binding protocol (unsupported)-data TokenBinding = TokenBindingUnsupported-  | TokenBindingSupported-  | TokenBindingPresent !Text--instance FromJSON TokenBinding where-  parseJSON = withText "TokenBinding" $ \case-    "supported" -> pure TokenBindingSupported -- FIXME-    _ -> fail "unknown TokenBinding"--data WebAuthnType = Create | Get-  deriving (Show, Eq, Ord)--instance FromJSON WebAuthnType where-  parseJSON = withText "WebAuthnType" $ \case-    "webauthn.create" -> pure Create-    "webauthn.get" -> pure Get-    _ -> fail "unknown WebAuthnType"--data Origin = Origin-  { originScheme :: Text-  , originHost :: Text-  , originPort :: Maybe Int-  }-  deriving (Show, Eq, Ord)---- | WebAuthn Relying Party-data RelyingParty = RelyingParty-  { rpOrigin :: Origin-  , rpId :: ByteString-  , rpAllowSelfAttestation :: Bool-  , rpAllowNoAttestation :: Bool-  }-  deriving (Show, Eq, Ord)--defaultRelyingParty :: Origin -> RelyingParty-defaultRelyingParty orig = RelyingParty orig (encodeUtf8 $ originHost orig) False False--instance FromJSON Origin where-  parseJSON = withText "Origin" $ \str -> case T.break (==':') str of-    (sch, url) -> case T.break (==':') $ T.drop 3 url of-      (host, portStr)-        | T.null portStr -> pure $ Origin sch host Nothing-        | otherwise -> case T.decimal $ T.drop 1 portStr of-          Left e -> fail e-          Right (port, _) -> pure $ Origin sch host $ Just port---- | 6.1. Authenticator Data-data AuthenticatorData = AuthenticatorData-  { rpIdHash :: Digest SHA256-  , userPresent :: Bool-  , userVerified :: Bool-  , attestedCredentialData :: Maybe AttestedCredentialData-  , authenticatorDataExtension :: ByteString-  }---- | A probabilistically-unique byte sequence identifying a public key credential source and its authentication assertions.-newtype CredentialId = CredentialId { unCredentialId :: ByteString }-  deriving (Show, Eq, H.Hashable, CBOR.Serialise)--instance FromJSON CredentialId where-  parseJSON = fmap (CredentialId . Base64.decodeLenient . T.encodeUtf8) . parseJSON--instance ToJSON CredentialId where-  toJSON = toJSON . T.decodeUtf8 . Base64.encode  . unCredentialId---- | credential public key encoded in COSE_Key format-newtype CredentialPublicKey = CredentialPublicKey { unCredentialPublicKey :: ByteString }-  deriving (Show, Eq, H.Hashable, CBOR.Serialise)--instance FromJSON CredentialPublicKey where-  parseJSON v = parseJSON v-    >>= either (const $ fail "failed to decode a public key") (pure . CredentialPublicKey)-    . Base64.decode . T.encodeUtf8--instance ToJSON CredentialPublicKey where-  toJSON = toJSON . T.decodeUtf8 . Base64.encode  . unCredentialPublicKey---- | AAGUID of the authenticator-newtype AAGUID = AAGUID { unAAGUID :: ByteString } deriving (Show, Eq)--instance FromJSON AAGUID where-  parseJSON v = parseJSON v-    >>= either fail (pure . AAGUID) . Base16.decode . T.encodeUtf8--instance ToJSON AAGUID where-  toJSON = toJSON . T.decodeUtf8 . Base16.encode . unAAGUID---- | 6.4.1. Attested Credential Data-data AttestedCredentialData = AttestedCredentialData-  { aaguid :: AAGUID-  , credentialId :: CredentialId-  , credentialPublicKey :: CredentialPublicKey-  } deriving (Show, Eq, Generic)--instance J.FromJSON AttestedCredentialData-instance J.ToJSON AttestedCredentialData---- | 5.4.3. User Account Parameters for Credential Generation-data User = User-  { userId :: B.ByteString-  , userDisplayName :: T.Text-  } deriving (Generic, Show, Eq)--instance CBOR.Serialise User where-  encode (User i d) = CBOR.encode $ Map.fromList-    [("id" :: Text, CBOR.TBytes i), ("displayName", CBOR.TString d)]-  decode = do-    m <- CBOR.decode-    CBOR.TBytes i <- maybe (fail "id") pure $ Map.lookup ("id" :: Text) m-    CBOR.TString d <- maybe (fail "displayName") pure $ Map.lookup "displayName" m-    return $ User i d--data VerificationFailure-  = InvalidType-  | MismatchedChallenge-  | MismatchedOrigin-  | UnexpectedPresenceOfTokenBinding-  | MismatchedTokenBinding-  | JSONDecodeError String-  | CBORDecodeError String CBOR.DeserialiseFailure-  | MismatchedRPID-  | UserNotPresent-  | UserUnverified-  | UnsupportedAttestationFormat-  | UnsupportedAlgorithm Int-  | MalformedPublicKey-  | MalformedAuthenticatorData-  | MalformedX509Certificate-  | MalformedSignature-  | SignatureFailure String-  deriving Show
+ tests/Emulation.hs view
@@ -0,0 +1,270 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE GADTs #-}+{-# LANGUAGE RecordWildCards #-}++module Emulation+  ( spec,+  )+where++import Control.Monad.Except (ExceptT (ExceptT), MonadError, MonadTrans (lift), runExceptT, throwError)+import Crypto.Hash (hash)+import qualified Crypto.Random as Random+import qualified Crypto.WebAuthn.Cose.Algorithm as Cose+import qualified Crypto.WebAuthn.Metadata.Service.Types as Meta+import qualified Crypto.WebAuthn.Model as M+import qualified Crypto.WebAuthn.Operation as O+import Data.Bifunctor (Bifunctor (second))+import Data.Hourglass (DateTime)+import qualified Data.List.NonEmpty as NE+import qualified Data.Set as Set+import Data.Text.Encoding (encodeUtf8)+import Data.Validation (toEither)+import Emulation.Authenticator+  ( Authenticator (AuthenticatorNone, aAuthenticatorDataFlags, aConformance, aSignatureCounter),+    AuthenticatorNonConformingBehaviour (RandomPrivateKey, RandomSignatureData, StaticCounter),+    AuthenticatorSignatureCounter (Unsupported),+  )+import Emulation.Authenticator.Arbitrary ()+import Emulation.Client+  ( AnnotatedOrigin (AnnotatedOrigin, aoOrigin, aoRpId),+    UserAgentConformance,+    UserAgentNonConformingBehaviour (RandomChallenge),+    clientAssertion,+    clientAttestation,+  )+import Emulation.Client.Arbitrary ()+import System.Hourglass (dateCurrent)+import Test.Hspec (SpecWith, describe, it, shouldSatisfy)+import Test.QuickCheck (property)++-- | Custom type to combine the MonadPseudoRandom with the Except monad. We+-- force the ChaChaDRG to ensure the App type is completely pure, and+-- evaluating the monad has no side effects.+newtype App a = App (ExceptT String (Random.MonadPseudoRandom Random.ChaChaDRG) a)+  deriving newtype (Functor, Applicative, Monad, MonadError String)++instance MonadFail App where+  fail = throwError++instance Random.MonadRandom App where+  getRandomBytes n = App $ lift $ Random.getRandomBytes n++runApp :: Integer -> App a -> Either String a+runApp seed (App except) =+  let rng = Random.drgNewSeed $ Random.seedFromInteger seed+   in fst $ Random.withDRG rng $ runExceptT except++-- | Performs attestation to generate a credential, and then uses that+-- credential to perform assertion.+register ::+  (Random.MonadRandom m, MonadFail m) =>+  AnnotatedOrigin ->+  UserAgentConformance ->+  Authenticator ->+  Meta.MetadataServiceRegistry ->+  DateTime ->+  m (Either (NE.NonEmpty O.RegistrationError) O.RegistrationResult, Authenticator, M.CredentialOptions 'M.Registration)+register ao conformance authenticator registry now = do+  -- Generate new random input+  assertionChallenge <- M.generateChallenge+  userId <- M.generateUserHandle+  -- Create dummy user+  let user =+        M.CredentialUserEntity+          { M.cueId = userId,+            M.cueDisplayName = M.UserAccountDisplayName "John Doe",+            M.cueName = M.UserAccountName "john-doe"+          }+  let options = defaultPkcoc user assertionChallenge+  -- Perform client Attestation emulation with a fresh authenticator+  (mPkcCreate, authenticator) <- clientAttestation options ao conformance authenticator+  -- Verify the result+  let registerResult =+        toEither $+          O.verifyRegistrationResponse+            (aoOrigin ao)+            (M.RpIdHash . hash . encodeUtf8 . M.unRpId $ aoRpId ao)+            registry+            now+            options+            mPkcCreate+  pure (registerResult, authenticator, options)++login ::+  (Random.MonadRandom m, MonadFail m) =>+  AnnotatedOrigin ->+  UserAgentConformance ->+  Authenticator ->+  O.CredentialEntry ->+  m (Either (NE.NonEmpty O.AuthenticationError) O.SignatureCounterResult)+login ao conformance authenticator ce@O.CredentialEntry {..} = do+  attestationChallenge <- M.generateChallenge+  let options = defaultCog attestationChallenge+  -- Perform client assertion emulation with the same authenticator, this+  -- authenticator should now store the created credential+  (mPkcGet, _) <- clientAssertion options ao conformance authenticator+  pure+    . second O.arSignatureCounterResult+    . toEither+    $ O.verifyAuthenticationResponse+      (aoOrigin ao)+      (M.RpIdHash . hash . encodeUtf8 . M.unRpId $ aoRpId ao)+      (Just ceUserHandle)+      ce+      options+      mPkcGet++spec :: SpecWith ()+spec =+  describe "None" $+    it "succeeds" $+      property $ \seed authenticator userAgentConformance -> do+        let annotatedOrigin =+              AnnotatedOrigin+                { aoRpId = M.RpId "localhost",+                  aoOrigin = M.Origin "https://localhost:8080"+                }+        -- Since our emulator only supports None attestation the registry can be left empty.+        let registry = mempty+        -- The time could also be empty, but since we're in IO anyway, might as well just fetch it.+        now <- dateCurrent+        -- We are not currently interested in client or authenticator fails, we+        -- only wish to test our relying party implementation and are thus only+        -- interested in its errors.+        let Right (registerResult, authenticator', options) = runApp seed (register annotatedOrigin userAgentConformance authenticator registry now)+        -- Since we only do None attestation, we only care about the resulting entry+        let registerResult' = second O.rrEntry registerResult+        registerResult' `shouldSatisfy` validAttestationResult authenticator userAgentConformance options+        -- Only if attestation succeeded can we continue with assertion+        case registerResult' of+          Right credentialEntry -> do+            let Right loginResult = runApp (seed + 1) (login annotatedOrigin userAgentConformance authenticator' credentialEntry)+            loginResult `shouldSatisfy` validAssertionResult authenticator userAgentConformance+          _ -> pure ()++-- | Validates the result of attestation. Ensures that the proper errors are+-- resulted in if the authenticator exhibits nonconforming behaviour, and+-- checks if the correct result was given if the authenticator does not exhibit+-- any nonconforming behaviour.+validAttestationResult :: Authenticator -> UserAgentConformance -> M.CredentialOptions 'M.Registration -> Either (NE.NonEmpty O.RegistrationError) O.CredentialEntry -> Bool+-- A valid result can only happen if we exhibited no non-conforming behaviour+-- The userHandle must be the one specified by the options+validAttestationResult _ _ M.CredentialOptionsRegistration {..} (Right O.CredentialEntry {..}) = ceUserHandle == M.cueId corUser+-- If we did result in errors, we want every error to be validated by some+-- configuration issue (NOTE: We cannot currently exhibit non conforming+-- behaviour during attestation)+validAttestationResult AuthenticatorNone {..} uaConformance _ (Left errors) = all isValidated errors+  where+    isValidated :: O.RegistrationError -> Bool+    isValidated (O.RegistrationChallengeMismatch _ _) = RandomChallenge `elem` uaConformance+    isValidated (O.RegistrationOriginMismatch _ _) = False+    isValidated (O.RegistrationRpIdHashMismatch _ _) = False+    -- The User not being present must be a result of the authenticator not checking for a user being present+    isValidated O.RegistrationUserNotPresent = not $ M.adfUserPresent aAuthenticatorDataFlags+    -- The User not being valided must be a result of the authenticator not validating the user+    isValidated O.RegistrationUserNotVerified = not $ M.adfUserVerified aAuthenticatorDataFlags+    isValidated (O.RegistrationUndesiredPublicKeyAlgorithm _ _) = False+    isValidated (O.RegistrationAttestationFormatError _ _) = False++-- | Validates the result of assertion. Ensures that the proper errors are+-- resulted in if the authenticator exhibits nonconforming behaviour, and+-- checks if the correct result was given if the authenticator does not exhibit+-- any nonconforming behaviour.+validAssertionResult :: Authenticator -> UserAgentConformance -> Either (NE.NonEmpty O.AuthenticationError) O.SignatureCounterResult -> Bool+-- We can only result in a 0 signature counter if the authenticator doesn't+-- have a counter and is either conforming or only has a static counter+validAssertionResult AuthenticatorNone {..} _ (Right O.SignatureCounterZero) =+  aSignatureCounter == Unsupported && (Set.null aConformance || aConformance == Set.singleton StaticCounter)+-- A valid response must only happen if we have no non-confirming behaviour+validAssertionResult AuthenticatorNone {..} _ (Right (O.SignatureCounterUpdated _)) = Set.null aConformance+-- A potentially cloned counter must imply that we only exhibited the static+-- counter non-conforming behaviour+validAssertionResult AuthenticatorNone {..} _ (Right O.SignatureCounterPotentiallyCloned) = Set.singleton StaticCounter == aConformance+-- If we did result in errors, we want every error to be validated by some+-- non-conforming behaviour or configuration issue+validAssertionResult AuthenticatorNone {..} uaConformance (Left errors) = all isValidated errors+  where+    isValidated :: O.AuthenticationError -> Bool+    isValidated (O.AuthenticationDisallowedCredential _ _) = False+    isValidated (O.AuthenticationIdentifiedUserHandleMismatch _ _) = False+    isValidated (O.AuthenticationCredentialUserHandleMismatch _ _) = False+    isValidated O.AuthenticationCannotVerifyUserHandle = False+    isValidated (O.AuthenticationChallengeMismatch _ _) = RandomChallenge `elem` uaConformance+    isValidated (O.AuthenticationOriginMismatch _ _) = False+    isValidated (O.AuthenticationRpIdHashMismatch _ _) = False+    -- The User not being present must be a result of the authenticator not checking for a user being present+    isValidated O.AuthenticationUserNotPresent = not $ M.adfUserPresent aAuthenticatorDataFlags+    -- The User not being valided must be a result of the authenticator not validating the user+    isValidated O.AuthenticationUserNotVerified = not $ M.adfUserVerified aAuthenticatorDataFlags+    -- The Signature being invalid can happen when the data was wrong or the wrong private key was used+    isValidated (O.AuthenticationSignatureDecodingError _) = False+    isValidated O.AuthenticationInvalidSignature {} = elem RandomSignatureData aConformance || elem RandomPrivateKey aConformance++-- | Create a default set of options for attestation. These options can be modified before using them in the tests+defaultPkcoc :: M.CredentialUserEntity -> M.Challenge -> M.CredentialOptions 'M.Registration+defaultPkcoc userEntity challenge =+  M.CredentialOptionsRegistration+    { M.corRp = M.CredentialRpEntity {M.creId = Nothing, M.creName = "ACME"},+      M.corUser = userEntity,+      M.corChallenge = challenge,+      -- Empty credentialparameters are not supported.+      M.corPubKeyCredParams =+        [ M.CredentialParameters+            { M.cpTyp = M.CredentialTypePublicKey,+              M.cpAlg = Cose.CoseAlgorithmES256+            },+          M.CredentialParameters+            { M.cpTyp = M.CredentialTypePublicKey,+              M.cpAlg = Cose.CoseAlgorithmES384+            },+          M.CredentialParameters+            { M.cpTyp = M.CredentialTypePublicKey,+              M.cpAlg = Cose.CoseAlgorithmES512+            },+          M.CredentialParameters+            { M.cpTyp = M.CredentialTypePublicKey,+              M.cpAlg = Cose.CoseAlgorithmEdDSA+            },+          M.CredentialParameters+            { M.cpTyp = M.CredentialTypePublicKey,+              M.cpAlg = Cose.CoseAlgorithmRS1+            },+          M.CredentialParameters+            { M.cpTyp = M.CredentialTypePublicKey,+              M.cpAlg = Cose.CoseAlgorithmRS256+            },+          M.CredentialParameters+            { M.cpTyp = M.CredentialTypePublicKey,+              M.cpAlg = Cose.CoseAlgorithmRS384+            },+          M.CredentialParameters+            { M.cpTyp = M.CredentialTypePublicKey,+              M.cpAlg = Cose.CoseAlgorithmRS512+            }+        ],+      M.corTimeout = Nothing,+      M.corExcludeCredentials = [],+      M.corAuthenticatorSelection =+        Just+          M.AuthenticatorSelectionCriteria+            { M.ascAuthenticatorAttachment = Nothing,+              M.ascResidentKey = M.ResidentKeyRequirementDiscouraged,+              M.ascUserVerification = M.UserVerificationRequirementPreferred+            },+      M.corAttestation = M.AttestationConveyancePreferenceDirect,+      M.corExtensions = Nothing+    }++-- | Create a default set of options for assertion. These options can be modified before using them in the tests+defaultCog :: M.Challenge -> M.CredentialOptions 'M.Authentication+defaultCog challenge =+  M.CredentialOptionsAuthentication+    { M.coaChallenge = challenge,+      M.coaTimeout = Nothing,+      M.coaRpId = Just "localhost",+      -- We currently only support client-side discoverable credentials+      M.coaAllowCredentials = [],+      M.coaUserVerification = M.UserVerificationRequirementPreferred,+      M.coaExtensions = Nothing+    }
+ tests/Emulation/Authenticator.hs view
@@ -0,0 +1,451 @@+{-# LANGUAGE BinaryLiterals #-}+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE GADTs #-}+{-# LANGUAGE RecordWildCards #-}++module Emulation.Authenticator+  ( CredentialSource (..),+    AuthenticatorSignatureCounter (..),+    Conformance,+    AuthenticatorNonConformingBehaviour (..),+    Authenticator (..),+    authenticatorMakeCredential,+    authenticatorGetAssertion,+  )+where++import Control.Monad (forM_, when)+import Crypto.Hash (hash)+import Crypto.Random (MonadRandom)+import qualified Crypto.Random as Random+import qualified Crypto.WebAuthn.AttestationStatementFormat.None as None+import qualified Crypto.WebAuthn.Cose.Algorithm as Cose+import qualified Crypto.WebAuthn.Model as M+import qualified Crypto.WebAuthn.Model.WebIDL.Internal.Binary.Encoding as ME+import qualified Data.ByteArray as BA+import qualified Data.ByteString as BS+import Data.List (find)+import qualified Data.Map as Map+import Data.Maybe (fromJust, mapMaybe)+import qualified Data.Set as Set+import Data.Text.Encoding (encodeUtf8)+import qualified Spec.Key as Key++-- | [(spec)](https://www.w3.org/TR/webauthn-2/#public-key-credential-source)+-- A stored credential.+data CredentialSource = CredentialSource+  { csId :: M.CredentialId,+    csSignAlg :: Cose.CoseSignAlg,+    csPrivateKey :: Key.PrivateKey,+    csRpId :: M.RpId,+    csUserHandle :: Maybe M.UserHandle+  }+  deriving (Eq, Show)++data AuthenticatorSignatureCounter+  = Unsupported+  | Global M.SignatureCounter+  | PerCredential (Map.Map M.CredentialId M.SignatureCounter)+  deriving (Eq, Show)++-- | Non Conforming behaviour the Authenticator should perform. Some behaviours+-- cannot be performed at the same time. In such cases the superseding or+-- superseded behaviours are marked.+data AuthenticatorNonConformingBehaviour+  = -- | Generates random data to be signed by the signing function+    RandomSignatureData+  | -- | Use a randomly generated private key for signing+    RandomPrivateKey+  | -- | Don't increase the counter during attestation and assertion+    StaticCounter+  deriving (Eq, Ord, Show, Enum, Bounded)++type Conformance = Set.Set AuthenticatorNonConformingBehaviour++-- | The datatype holding all information needed for attestation and assertion+data Authenticator = AuthenticatorNone+  -- https://www.w3.org/TR/webauthn-2/#authenticator-credentials-map+  { aAAGUID :: M.AAGUID,+    aCredentials :: Map.Map (M.RpId, M.UserHandle) CredentialSource,+    aSignatureCounter :: AuthenticatorSignatureCounter,+    aSupportedAlgorithms :: Set.Set Cose.CoseSignAlg,+    aAuthenticatorDataFlags :: M.AuthenticatorDataFlags,+    aConformance :: Conformance+  }+  deriving (Show)++-- | [(spec)](https://www.w3.org/TR/webauthn-2/#sctn-op-make-cred)+authenticatorMakeCredential ::+  (MonadRandom m, MonadFail m) =>+  -- | authenticator: The stored authenticator data+  Authenticator ->+  -- | hash: The hash of the serialized client data, provided by the client.+  M.ClientDataHash ->+  -- | rpEntity: The Relying Party's CredentialRpEntity.+  M.CredentialRpEntity ->+  -- | userEntity: The user account’s CredentialUserEntity, containing+  -- the user handle given by the Relying Party.+  M.CredentialUserEntity ->+  -- | requireResidentKey: The effective resident key requirement for+  -- credential creation, a Boolean value determined by the client.+  -- NOTE: We always provide resident keys+  Bool ->+  -- | requireUserPresence: The constant Boolean value true. It is included+  -- here as a pseudo-parameter to simplify applying this abstract+  -- authenticator model to implementations that may wish to make a test of+  -- user presence optional although WebAuthn does not.+  -- NOTE: We currently always have user present+  Bool ->+  -- | requireUserVerification: The effective user verification requirement for+  -- credential creation, a Boolean value determined by the client.+  -- NOTE: We currently always verify the user+  Bool ->+  -- | credTypesAndPubKeyAlgs: A sequence of pairs of CredentialType+  -- and public key algorithms (COSEAlgorithmIdentifier) requested by the+  -- Relying Party. This sequence is ordered from most preferred to least+  -- preferred. The authenticator makes a best-effort to create the most+  -- preferred credential that it can.+  [M.CredentialParameters] ->+  -- | excludeCredentialDescriptorList: An OPTIONAL list of+  -- CredentialDescriptor objects provided by the Relying Party with+  -- the intention that, if any of these are known to the authenticator, it+  -- SHOULD NOT create a new credential. excludeCredentialDescriptorList+  -- contains a list of known credentials.+  [M.CredentialDescriptor] ->+  -- | enterpriseAttestationPossible: A Boolean value that indicates that+  -- individually-identifying attestation MAY be returned by the authenticator.+  Bool ->+  -- | extensions: A CBOR map from extension identifiers to their authenticator+  -- extension inputs, created by the client based on the extensions requested+  -- by the Relying Party, if any.+  Maybe M.AuthenticationExtensionsClientInputs ->+  m (M.AttestationObject 'True, Authenticator)+authenticatorMakeCredential+  authenticator@AuthenticatorNone {..}+  _hash+  rpEntity+  userEntity+  _requireResidentKey+  _requireUserPresence+  _requireUserVerification+  credTypesAndPubKeyAlgs+  excludeCredentialDescriptorList+  _enterpriseAttestationPossible+  _extensions =+    do+      -- 1. Check if all the supplied parameters are syntactically well-formed+      -- and of the correct length. If not, return an error code equivalent to+      -- "UnknownError" and terminate the operation.+      -- NOTE: This step is performed during decoding+      -- NOTE: We assume the client set a rpId if it was initially Nothing.+      let rpId = fromJust $ M.creId rpEntity++      -- 2. Check if at least one of the specified combinations of+      -- CredentialType and cryptographic parameters in+      -- credTypesAndPubKeyAlgs is supported. If not, return an error code+      -- equivalent to "NotSupportedError" and terminate the operation.+      param <- case find ((`Set.member` aSupportedAlgorithms) . M.cpAlg) credTypesAndPubKeyAlgs of+        Just param -> pure param+        Nothing -> fail "NotSupportedError"++      -- 3. For each descriptor of excludeCredentialDescriptorList: If looking up+      -- descriptor.id in this authenticator returns non-null, and the returned+      -- item's RP ID and type match rpEntity.id and+      -- excludeCredentialDescriptorList.type respectively, then collect an+      -- authorization gesture confirming user consent for creating a new+      -- credential. The authorization gesture MUST include a test of user+      -- presence. If the user+      --   confirms consent to create a new credential:+      --       return an error code equivalent to "InvalidStateError" and terminate the operation.+      --   does not consent to create a new credential:+      --       return an error code equivalent to "NotAllowedError" and terminate the operation.+      -- NOTE: We do not perform user tests, instead assuming that the user always consents.+      forM_ excludeCredentialDescriptorList $ \descriptor -> case authenticatorLookupCredential authenticator (M.cdId descriptor) of+        Just item -> do+          when (rpId == csRpId item) (fail "InvalidStateError")+        Nothing -> pure ()++      -- 4. If requireResidentKey is true and the authenticator cannot store a+      -- client-side discoverable public key credential source, return an error+      -- code equivalent to "ConstraintError" and terminate the operation.+      -- NOTE: We do not have to do this because the test authenticator supports+      -- both methods of discoverability++      -- 5. If requireUserVerification is true and the authenticator cannot+      -- perform user verification, return an error code equivalent to+      -- "ConstraintError" and terminate the operation.+      -- NOTE: We do not do this because we fake user verification++      -- 6. Collect an authorization gesture confirming user consent for creating+      -- a new credential. The prompt for the authorization gesture is shown by+      -- the authenticator if it has its own output capability, or by the user+      -- agent otherwise. The prompt SHOULD display rpEntity.id, rpEntity.name,+      -- userEntity.name and userEntity.displayName, if possible.+      --   If requireUserVerification is true, the authorization gesture MUST+      --   include user verification.+      --   If requireUserPresence is true, the authorization gesture MUST include a+      --   test of user presence.+      --   If the user does not consent or if user verification fails, return an+      --   error code equivalent to "NotAllowedError" and terminate the operation.+      -- NOTE: We curently always succeed this step++      -- 7. Once the authorization gesture has been completed and user consent+      -- has been obtained, generate a new credential object:+      -- 7.1. Let (publicKey, privateKey) be a new pair of cryptographic keys+      -- using the combination of CredentialType and cryptographic+      -- parameters represented by the first item in credTypesAndPubKeyAlgs that+      -- is supported by this authenticator.+      let signAlg = M.cpAlg param+      Key.KeyPair {..} <- Key.newKeyPair signAlg++      -- 7.2. Let userHandle be userEntity.id.+      let userHandle = M.cueId userEntity++      -- 7.4 If requireResidentKey is true or the authenticator chooses to+      -- create a client-side discoverable public key credential source:++      -- 7.4.1 Let credentialId be a new credential id.+      -- NOTE: We need to have a CredentialId before we can construct the+      -- credentialSource.+      -- NOTE: We always choose to construct a clientside discoverable+      -- credential, as this is allowed (See 7.4).+      credentialId <- M.generateCredentialId++      -- 7.4.2. Set credentialSource.id to credentialId.+      -- 7.3.  Let credentialSource be a new public key credential source with the fields:+      let credentialSource =+            CredentialSource+              { csId = credentialId,+                csSignAlg = signAlg,+                csPrivateKey = privKey,+                csRpId = rpId,+                csUserHandle = Just userHandle+              }++      -- 7.4.3 Let credentials be this authenticator’s credentials map.+      -- NOTE: we have aCredentials from the patternmatch+      -- 7.4.4 Set credentials[(rpEntity.id, userHandle)] to credentialSource.++      let credentials =+            Map.insert (rpId, userHandle) credentialSource aCredentials++      -- 8. If any error occurred while creating the new credential object,+      -- return an error code equivalent to "UnknownError" and terminate the+      -- operation.+      -- NOTE: See above++      -- 9. Let processedExtensions be the result of authenticator extension+      -- processing for each supported extension identifier → authenticator+      -- extension input in extensions.+      -- NOTE: Extensions are unsupporteded++      -- 10. If the authenticator supports a per credential signature counter,+      -- allocate the counter, associate it with the new credential, and+      -- initialize the counter value as zero.+      -- NOTE: We return the updated signature counter and the supposed signatureCount.+      -- The signatureCount will be 0 if Unsupported+      let (signatureCounter, aSignatureCounter') = initialiseCounter credentialId aSignatureCounter++      -- 11. Let attestedCredentialData be the attested credential data byte+      -- array including the credentialId and publicKey.+      let attestedCredentialData =+            M.AttestedCredentialData+              { M.acdAaguid = aAAGUID,+                M.acdCredentialId = credentialId,+                M.acdCredentialPublicKey = pubKey, -- This is selfsigned+                M.acdCredentialPublicKeyBytes = M.NoRaw+              }++      -- 12. Let authenticatorData be the byte array specified in § 6.1+      -- Authenticator Data, including attestedCredentialData as the+      -- attestedCredentialData and processedExtensions, if any, as the+      -- extensions.+      let rpIdHash = hash . encodeUtf8 . M.unRpId $ rpId+      let authenticatorData =+            ME.encodeRawAuthenticatorData+              M.AuthenticatorData+                { M.adRpIdHash = M.RpIdHash rpIdHash,+                  M.adFlags = aAuthenticatorDataFlags,+                  M.adSignCount = signatureCounter,+                  M.adAttestedCredentialData = attestedCredentialData,+                  M.adExtensions = Nothing,+                  M.adRawData = M.NoRaw+                }+      -- On successful completion of this operation, the authenticator returns+      -- the attestation object to the client.+      let attestationObject =+            M.AttestationObject+              { aoAuthData = authenticatorData,+                aoFmt = None.Format,+                aoAttStmt = ()+              }+      pure (attestationObject, authenticator {aCredentials = credentials, aSignatureCounter = aSignatureCounter'})+    where+      initialiseCounter :: M.CredentialId -> AuthenticatorSignatureCounter -> (M.SignatureCounter, AuthenticatorSignatureCounter)+      initialiseCounter _ Unsupported = (M.SignatureCounter 0, Unsupported)+      initialiseCounter _ (Global c) =+        let increment =+              if Set.member StaticCounter aConformance+                then 0+                else 1+            new = increment + c+         in (new, Global new)+      initialiseCounter key (PerCredential m) = do+        let m' = Map.insert key 1 m+        (1, PerCredential m')++-- | [(spec)](https://www.w3.org/TR/webauthn-2/#sctn-op-get-assertion)+authenticatorGetAssertion ::+  (MonadRandom m, MonadFail m) =>+  -- | authenticator: The stored authenticator data+  Authenticator ->+  -- | rpId: The caller’s RP ID, as determined by the user agent and the client.+  M.RpId ->+  -- | hash: The hash of the serialized client data, provided by the client.+  M.ClientDataHash ->+  -- | allowCredentialDescriptorList: An OPTIONAL list of+  -- CredentialDescriptors describing credentials acceptable to the+  -- Relying Party (possibly filtered by the client), if any.+  Maybe [M.CredentialDescriptor] ->+  -- | requireUserPresence: The constant Boolean value true. It is included here as a+  -- pseudo-parameter to simplify applying this abstract authenticator model to+  -- implementations that may wish to make a test of user presence optional+  -- although WebAuthn does not.+  Bool ->+  -- | requireUserVerification: The effective user verification requirement for+  -- assertion, a Boolean value provided by the client.+  Bool ->+  Maybe M.AuthenticationExtensionsClientInputs ->+  m ((M.CredentialId, M.AuthenticatorData 'M.Authentication 'True, BS.ByteString, Maybe M.UserHandle), Authenticator)+authenticatorGetAssertion _ _ _ _ False _ _ = fail "requireUserPresence set to False"+authenticatorGetAssertion+  authenticator@AuthenticatorNone {..}+  rpId+  clientDataHash+  allowCredentialDescriptorList+  True+  _requireUserVerification+  _extensions =+    do+      -- 1. Check if all the supplied parameters are syntactically well-formed+      -- and of the correct length. If not, return an error code equivalent to+      -- "UnknownError" and terminate the operation.+      -- NOTE: Done during decoding++      -- 2. Let credentialOptions be a new empty set of public key credential+      -- sources.+      -- 3. If allowCredentialDescriptorList was supplied, then for each+      -- descriptor of allowCredentialDescriptorList:+      -- 3.1. Let credSource be the result of looking up descriptor.id in this authenticator.+      -- 3.2. If credSource is not null, append it to credentialOptions.+      -- 4. Otherwise (allowCredentialDescriptorList was not supplied), for each+      -- key -> credSource of this authenticator’s credentials map, append+      -- credSource to credentialOptions.+      -- 5. Remove any items from credentialOptions whose rpId is not equal to rpId.+      let credentialOptions = filter+            (\o -> csRpId o == rpId)+            $ case allowCredentialDescriptorList of+              Just descriptors -> mapMaybe (authenticatorLookupCredential authenticator . M.cdId) descriptors+              Nothing -> Map.elems aCredentials++      -- 6. If credentialOptions is now empty, return an error code equivalent+      -- to "NotAllowedError" and terminate the operation.+      when (null credentialOptions) (fail "NotAllowedError: No CredentialOptions (None of the existing credentials were deemed acceptable)")++      -- 7. Prompt the user to select a public key credential source+      -- slectedCredential from credentialOptions. Collect an authorization+      -- gesture confirming user consent for using selectedCredential. The+      -- prompt for the authorization gesture may be shown by the authenticator+      -- if it has its own output capability, or by the user agent otherwise.++      -- If requireUserVerification is true, the authorization gesture MUST+      -- include user verification.++      -- If requireUserPresence is true, the authorization gesture MUST include+      -- a test of user presence.++      -- If the user does not consent, return an error code equivalent to+      -- "NotAllowedError" and terminate the operation.+      -- NOTE: We always assume the user cooperates for now and choses the+      -- first possible source+      let selectedCredential = head credentialOptions++      -- 8. Let processedExtensions be the result of authenticator extension+      -- processing for each supported extension identifier → authenticator+      -- extension input in extensions.+      -- TODO: Extensions are not implemented by this library, see the TODO in the+      -- module documentation of `Crypto.WebAuthn.Model` for more information.++      -- 9. Increment the credential associated signature counter or the global+      -- signature counter value, depending on which approach is implemented by+      -- the authenticator, by some positive value. If the authenticator does+      -- not implement a signature counter, let the signature counter value+      -- remain constant at zero.+      let (signatureCounter, aSignatureCounter') = incrementCounter (csId selectedCredential) aSignatureCounter++      -- 10. Let authenticatorData be the byte array specified in § 6.1+      -- Authenticator Data including processedExtensions, if any, as the+      -- extensions and excluding attestedCredentialData.+      let rpIdHash = hash . encodeUtf8 $ M.unRpId rpId+      let authenticatorData =+            ME.encodeRawAuthenticatorData+              M.AuthenticatorData+                { M.adRpIdHash = M.RpIdHash rpIdHash,+                  M.adFlags = aAuthenticatorDataFlags,+                  M.adSignCount = signatureCounter,+                  M.adAttestedCredentialData = M.NoAttestedCredentialData,+                  M.adExtensions = Nothing,+                  M.adRawData = M.NoRaw+                }++      -- 11. Let signature be the assertion signature of the concatenation+      -- authenticatorData || hash using the privateKey of selectedCredential+      -- as shown in Figure , below. A simple, undelimited concatenation is+      -- safe to use here because the authenticator data describes its own+      -- length. The hash of the serialized client data (which potentially has+      -- a variable length) is always the last element.+      privateKey <-+        if Set.member RandomPrivateKey aConformance+          then -- Generate a new private key with the same algorithm as expected+            Key.privKey <$> Key.newKeyPair (csSignAlg selectedCredential)+          else pure $ csPrivateKey selectedCredential+      msg <-+        if Set.member RandomSignatureData aConformance+          then Random.getRandomBytes 4+          else pure $ M.unRaw (M.adRawData authenticatorData) <> BA.convert (M.unClientDataHash clientDataHash)+      signature <-+        Key.sign+          (csSignAlg selectedCredential)+          privateKey+          msg+      -- 12. If any error occurred while generating the assertion signature,+      -- return an error code equivalent to "UnknownError" and terminate the+      -- operation.+      -- NOTE: We don't produce any error++      -- 13. Return+      pure ((csId selectedCredential, authenticatorData, signature, csUserHandle selectedCredential), authenticator {aSignatureCounter = aSignatureCounter'})+    where+      -- Increments the signature counter and results in the updated version+      incrementCounter :: M.CredentialId -> AuthenticatorSignatureCounter -> (M.SignatureCounter, AuthenticatorSignatureCounter)+      incrementCounter _ Unsupported = (M.SignatureCounter 0, Unsupported)+      incrementCounter _ (Global c) =+        let increment =+              if Set.member StaticCounter aConformance+                then 0+                else 1+            new = increment + c+         in (new, Global new)+      incrementCounter key (PerCredential m) =+        let increment =+              if Set.member StaticCounter aConformance+                then 0+                else 1+            -- updateLookupWithKey results in the updated value+            -- NOTE: Rather sketchy, but should be fine for tests, this map should+            -- have all credentials+            (Just c, m') = Map.updateLookupWithKey (\_ c -> Just $ increment + c) key m+         in (c, PerCredential m')++authenticatorLookupCredential :: Authenticator -> M.CredentialId -> Maybe CredentialSource+authenticatorLookupCredential AuthenticatorNone {..} credentialId = snd <$> Map.lookupMin (Map.filter (\CredentialSource {..} -> csId == credentialId) aCredentials)
+ tests/Emulation/Authenticator/Arbitrary.hs view
@@ -0,0 +1,44 @@+{-# OPTIONS_GHC -Wno-orphans #-}++module Emulation.Authenticator.Arbitrary () where++import qualified Data.Map as Map+import qualified Data.Set as Set+import Emulation.Authenticator+  ( Authenticator (AuthenticatorNone),+    AuthenticatorNonConformingBehaviour,+    AuthenticatorSignatureCounter (Global, PerCredential, Unsupported),+  )+import PublicKeySpec ()+import Spec.Types ()+import Test.QuickCheck+  ( Arbitrary (arbitrary),+    NonEmptyList (getNonEmpty),+    arbitraryBoundedEnum,+    oneof,+  )++instance Arbitrary AuthenticatorNonConformingBehaviour where+  arbitrary = arbitraryBoundedEnum++instance Arbitrary AuthenticatorSignatureCounter where+  arbitrary =+    oneof+      [ pure Unsupported,+        -- We add one so the resulting number is never zero (which could be+        -- conflated with Unsupported if used in combination with the+        -- StaticCounter)+        Global . (+ 1) <$> arbitrary,+        pure $ PerCredential Map.empty+      ]++instance Arbitrary Authenticator where+  arbitrary =+    AuthenticatorNone+      <$> arbitrary+      <*> pure Map.empty+      <*> arbitrary+      -- An authenticator without any supported algorithms is useless to our tests+      <*> (Set.fromList . getNonEmpty <$> arbitrary)+      <*> arbitrary+      <*> arbitrary
+ tests/Emulation/Client.hs view
@@ -0,0 +1,149 @@+{-# LANGUAGE BinaryLiterals #-}+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE GADTs #-}+{-# LANGUAGE RecordWildCards #-}++-- | This modules provdes a way to emulate certain client behaviour for testing+-- purposes. It DOES NOT implement the webauthn specification because there is+-- no need for it in our tests.+module Emulation.Client+  ( AnnotatedOrigin (..),+    UserAgentNonConformingBehaviour (..),+    UserAgentConformance,+    clientAssertion,+    clientAttestation,+  )+where++import Crypto.Hash (hash)+import qualified Crypto.Random as Random+import qualified Crypto.WebAuthn.Model as M+import qualified Crypto.WebAuthn.Model.WebIDL.Internal.Binary.Encoding as ME+import Data.Maybe (fromMaybe)+import qualified Data.Set as Set+import Emulation.Authenticator+  ( Authenticator,+    authenticatorGetAssertion,+    authenticatorMakeCredential,+  )+import Emulation.Authenticator.Arbitrary ()++-- | The annotated Origin is the origin with the derived (or provided) rpID. It+-- is a workaround for the fact that we do not derive the rpID from the origin.+-- See: https://html.spec.whatwg.org/multipage/origin.html#concept-origin-effective-domain+data AnnotatedOrigin = AnnotatedOrigin+  { aoRpId :: M.RpId,+    aoOrigin :: M.Origin+  }++-- | Potential ways the UserAgent could not conform to the specification+data UserAgentNonConformingBehaviour+  = RandomChallenge+  deriving (Eq, Ord, Show)++-- | The ways in which the UserAgent should not conform to the spec+type UserAgentConformance = Set.Set UserAgentNonConformingBehaviour++-- | Emulates the client-side operation for attestation given an authenticator.+-- MonadRandom is required during the generation of the new credentials, and+-- some non-conforming behaviour. MonadFail is used to fail when an error occurred+clientAttestation ::+  (Random.MonadRandom m, MonadFail m) =>+  M.CredentialOptions 'M.Registration ->+  AnnotatedOrigin ->+  UserAgentConformance ->+  Authenticator ->+  m (M.Credential 'M.Registration 'True, Authenticator)+clientAttestation M.CredentialOptionsRegistration {..} AnnotatedOrigin {..} conformance authenticator = do+  challenge <-+    if Set.member RandomChallenge conformance+      then M.Challenge <$> Random.getRandomBytes 16+      else pure corChallenge+  let clientData =+        ME.encodeRawCollectedClientData+          M.CollectedClientData+            { ccdChallenge = challenge,+              ccdOrigin = aoOrigin,+              ccdCrossOrigin = False,+              ccdRawData = M.NoRaw+            }+      clientDataHash =+        M.ClientDataHash $ hash $ M.unRaw $ M.ccdRawData clientData+  (attestationObject, authenticator') <-+    authenticatorMakeCredential+      authenticator+      clientDataHash+      -- Ensure the RpId is set by defaulting to the Client configured default if Nothing+      (corRp {M.creId = Just . fromMaybe aoRpId $ M.creId corRp})+      corUser+      True+      True+      True+      corPubKeyCredParams+      corExcludeCredentials+      False+      corExtensions+  let response =+        M.Credential+          { M.cIdentifier = M.acdCredentialId . M.adAttestedCredentialData $ M.aoAuthData attestationObject,+            M.cResponse =+              M.AuthenticatorResponseRegistration+                { M.arrClientData = clientData,+                  M.arrAttestationObject = attestationObject+                },+            M.cClientExtensionResults = M.AuthenticationExtensionsClientOutputs {}+          }+  pure (response, authenticator')++-- | Performs assertion as per the client specification provided an+-- authenticator. MonadRandom is required for signing using Ed25519 which+-- requires a random number to be generated during signing. There exists+-- methods to not rely on a random number, but these have not been implemented+-- in the cryptonite library we rely on.+clientAssertion ::+  (MonadFail m, Random.MonadRandom m) =>+  M.CredentialOptions 'M.Authentication ->+  AnnotatedOrigin ->+  UserAgentConformance ->+  Authenticator ->+  m (M.Credential 'M.Authentication 'True, Authenticator)+clientAssertion M.CredentialOptionsAuthentication {..} AnnotatedOrigin {..} conformance authenticator = do+  let allowCredentialDescriptorList = case coaAllowCredentials of+        [] -> Nothing+        xs -> Just xs+  challenge <-+    if Set.member RandomChallenge conformance+      then M.Challenge <$> Random.getRandomBytes 16+      else pure coaChallenge+  let clientData =+        ME.encodeRawCollectedClientData+          M.CollectedClientData+            { ccdChallenge = challenge,+              ccdOrigin = aoOrigin,+              ccdCrossOrigin = False,+              ccdRawData = M.NoRaw+            }+      clientDataHash = M.ClientDataHash $ hash $ M.unRaw $ M.ccdRawData clientData+  ((credentialId, authenticatorData, signature, userHandle), authenticator') <-+    authenticatorGetAssertion+      authenticator+      -- Ensure the RpId is set by defaulting to the Client configured default if Nothing+      (fromMaybe aoRpId coaRpId)+      clientDataHash+      allowCredentialDescriptorList+      True+      True+      coaExtensions+  let response =+        M.Credential+          { M.cIdentifier = credentialId,+            M.cResponse =+              M.AuthenticatorResponseAuthentication+                { M.araClientData = clientData,+                  M.araAuthenticatorData = authenticatorData,+                  M.araSignature = M.AssertionSignature signature,+                  M.araUserHandle = userHandle+                },+            M.cClientExtensionResults = M.AuthenticationExtensionsClientOutputs {}+          }+  pure (response, authenticator')
+ tests/Emulation/Client/Arbitrary.hs view
@@ -0,0 +1,15 @@+{-# OPTIONS_GHC -Wno-orphans #-}++module Emulation.Client.Arbitrary () where++import Emulation.Client+  ( UserAgentNonConformingBehaviour (RandomChallenge),+  )+import PublicKeySpec ()+import Test.QuickCheck+  ( Arbitrary (arbitrary),+  )+import Test.QuickCheck.Gen (elements)++instance Arbitrary UserAgentNonConformingBehaviour where+  arbitrary = elements [RandomChallenge]
+ tests/Encoding.hs view
@@ -0,0 +1,55 @@+{-# LANGUAGE DataKinds #-}++module Encoding (spec) where++import Crypto.WebAuthn.AttestationStatementFormat (allSupportedFormats)+import qualified Crypto.WebAuthn.Model as M+import Crypto.WebAuthn.Model.WebIDL.Internal.Binary.Encoding (encodeRawCredential)+import Crypto.WebAuthn.Model.WebIDL.Internal.Decoding (Decode (decode), DecodeCreated (decodeCreated))+import Crypto.WebAuthn.Model.WebIDL.Internal.Encoding (Encode (encode))+import Spec.Types ()+import Test.Hspec (Expectation, SpecWith, describe, expectationFailure, shouldBe)+import Test.Hspec.QuickCheck (prop)++spec :: SpecWith ()+spec = do+  describe "PublicKeyCredentialCreationOptions" $+    prop "can be roundtripped" prop_creationOptionsRoundtrip+  describe "PublicKeyCredentialRequestOptions" $+    prop "can be roundtripped" prop_requestOptionsRoundtrip+  describe "CreatedPublicKeyCredential" $+    prop "can be roundtripped" prop_createdCredentialRoundtrip+  describe "RequestedPublicKeyCredential" $+    prop "can be roundtripped" prop_requestedCredentialRoundtrip++prop_creationOptionsRoundtrip :: M.CredentialOptions 'M.Registration -> Expectation+prop_creationOptionsRoundtrip options = do+  let encoded = encode options+  case decode encoded of+    Right decoded -> decoded `shouldBe` options+    Left err -> expectationFailure $ show err++prop_requestOptionsRoundtrip :: M.CredentialOptions 'M.Authentication -> Expectation+prop_requestOptionsRoundtrip options = do+  let encoded = encode options+  case decode encoded of+    Right decoded -> decoded `shouldBe` options+    Left err -> expectationFailure $ show err++prop_createdCredentialRoundtrip :: M.Credential 'M.Registration 'False -> Expectation+prop_createdCredentialRoundtrip options = do+  let withRaw = encodeRawCredential options+      encoded = encode withRaw+  case decodeCreated allSupportedFormats encoded of+    Right decoded -> do+      decoded `shouldBe` withRaw+    Left err -> expectationFailure $ show err++prop_requestedCredentialRoundtrip :: M.Credential 'M.Authentication 'False -> Expectation+prop_requestedCredentialRoundtrip options = do+  let withRaw = encodeRawCredential options+      encoded = encode withRaw+  case decode encoded of+    Right decoded -> do+      decoded `shouldBe` withRaw+    Left err -> expectationFailure $ show err
+ tests/Main.hs view
@@ -0,0 +1,365 @@+{-# LANGUAGE AllowAmbiguousTypes #-}+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE GADTs #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE ScopedTypeVariables #-}++module Main+  ( main,+  )+where++import Crypto.Hash (hash)+import Crypto.WebAuthn.AttestationStatementFormat (allSupportedFormats)+import qualified Crypto.WebAuthn.Cose.Algorithm as Cose+import qualified Crypto.WebAuthn.Metadata as Meta+import qualified Crypto.WebAuthn.Metadata.Service.Types as Service+import qualified Crypto.WebAuthn.Model as M+import qualified Crypto.WebAuthn.Operation as O+import Data.Aeson (FromJSON)+import qualified Data.Aeson as Aeson+import qualified Data.ByteString as BS+import qualified Data.ByteString as ByteString+import qualified Data.ByteString.Lazy as LazyByteString+import Data.Either (isRight)+import Data.Foldable (for_)+import qualified Data.Hourglass as HG+import Data.List.NonEmpty (NonEmpty)+import qualified Data.Text as Text+import Data.Text.Encoding (encodeUtf8)+import Data.Validation (toEither)+import qualified Emulation+import qualified Encoding+import GHC.Stack (HasCallStack)+import qualified MetadataSpec+import qualified PublicKeySpec+import Spec.Util (decodeFile)+import qualified System.Directory as Directory+import System.FilePath ((</>))+import System.Hourglass (dateCurrent)+import Test.Hspec (Spec, describe, it, shouldSatisfy)+import qualified Test.Hspec as Hspec+import Test.QuickCheck.Instances.Text ()++-- | Attestation requires a specific time to be passed for the verification of the certificate chain.+-- For sake of reproducability we hardcode a time.+predeterminedDateTime :: HG.DateTime+predeterminedDateTime = HG.DateTime {dtDate = HG.Date {dateYear = 2021, dateMonth = HG.December, dateDay = 22}, dtTime = timeZero}++-- | For most uses of DateTime in these tests, the time of day isn't relevant. This definition allows easier construction of these DateTimes.+timeZero :: HG.TimeOfDay+timeZero = HG.TimeOfDay {todHour = HG.Hours 0, todMin = HG.Minutes 0, todSec = HG.Seconds 0, todNSec = HG.NanoSeconds 0}++-- | Load all files in the given directory, and ensure that all of them can be+-- decoded. The caller can pass in a function to run further checks on the+-- decoded value, but this is mainly there to ensure that `a` occurs after the+-- fat arrow.+canDecodeAllToJSRepr :: forall a. (FromJSON a, HasCallStack) => FilePath -> Spec+canDecodeAllToJSRepr path = do+  files <- Hspec.runIO $ Directory.listDirectory path+  for_ files $ \fname ->+    it ("can decode " <> (path </> fname)) $ do+      bytes <- ByteString.readFile $ path </> fname+      case Aeson.eitherDecode' @a $ LazyByteString.fromStrict bytes of+        Left err -> fail err+        Right _value -> pure ()++-- | During tests, we need access to the metadata to verify the attestation of the test registration message.+-- We use the blob we also use for metadata parsing tests.+registryFromBlobFile :: IO Service.MetadataServiceRegistry+registryFromBlobFile = do+  blobBytes <- BS.readFile "tests/golden-metadata/big/blob.jwt"+  now <- dateCurrent+  case Meta.metadataBlobToRegistry blobBytes now of+    Left err -> error $ Text.unpack err+    Right res -> pure res++-- | Given a JSON Message in a file, performs attestation.+-- The Boolean argument denotes if the attestation message can be verified using the metadata service.+-- This is because some of our tests cannot be verfied (for different reasons).+registerTestFromFile :: FilePath -> M.Origin -> M.RpId -> Bool -> Service.MetadataServiceRegistry -> HG.DateTime -> IO ()+registerTestFromFile fp origin rpId verifiable service now = do+  pkCredential <-+    either (error . show) id . M.decodeCredentialRegistration allSupportedFormats+      <$> decodeFile fp+  let options = defaultPublicKeyCredentialCreationOptions pkCredential+  let registerResult =+        toEither $+          O.verifyRegistrationResponse+            origin+            (M.RpIdHash . hash . encodeUtf8 . M.unRpId $ rpId)+            service+            now+            options+            pkCredential+  registerResult `shouldSatisfy` isExpectedAttestationResponse pkCredential options verifiable++main :: IO ()+main = Hspec.hspec $ do+  registry <- Hspec.runIO registryFromBlobFile+  describe "Decode test responses" $ do+    -- Check if all attestation responses can be decoded+    describe "attestation responses" $+      canDecodeAllToJSRepr+        @M.IDLCredentialRegistration+        "tests/responses/attestation/"+    -- Check if all assertion responses can be decoded+    describe "assertion responses" $+      canDecodeAllToJSRepr+        @M.IDLCredentialAuthentication+        "tests/responses/assertion/"+  -- Test public key related tests+  describe "PublicKey" PublicKeySpec.spec+  describe+    "Metadata"+    MetadataSpec.spec+  describe+    "Emulation"+    Emulation.spec+  describe+    "Encoding"+    Encoding.spec+  -- We test assertion only for none attestation, this is because the type of attestation has no influence on assertion.+  describe "RegisterAndLogin" $+    it "tests whether the fixed register and login responses are matching" $+      do+        pkCredential <-+          either (error . show) id . M.decodeCredentialRegistration allSupportedFormats+            <$> decodeFile+              "tests/responses/attestation/01-none.json"+        let options = defaultPublicKeyCredentialCreationOptions pkCredential+            registerResult =+              toEither $+                O.verifyRegistrationResponse+                  (M.Origin "http://localhost:8080")+                  (M.RpIdHash . hash $ ("localhost" :: ByteString.ByteString))+                  registry+                  predeterminedDateTime+                  options+                  pkCredential+        registerResult `shouldSatisfy` isExpectedAttestationResponse pkCredential options False+        let Right O.RegistrationResult {O.rrEntry = credentialEntry} = registerResult+        loginReq <-+          either (error . show) id . M.decodeCredentialAuthentication+            <$> decodeFile+              @M.IDLCredentialAuthentication+              "tests/responses/assertion/01-none.json"+        let M.Credential {M.cResponse = cResponse} = loginReq+            signInResult =+              toEither $+                O.verifyAuthenticationResponse+                  (M.Origin "http://localhost:8080")+                  (M.RpIdHash . hash $ ("localhost" :: ByteString.ByteString))+                  (Just (M.UserHandle "UserId"))+                  credentialEntry+                  (defaultPublicKeyCredentialRequestOptions loginReq)+                  M.Credential+                    { M.cIdentifier = O.ceCredentialId credentialEntry,+                      M.cResponse = cResponse,+                      M.cClientExtensionResults = M.AuthenticationExtensionsClientOutputs {}+                    }+        signInResult `shouldSatisfy` isRight+  describe "Packed register" $ do+    it "tests whether the fixed packed register has a valid attestation" $+      registerTestFromFile+        "tests/responses/attestation/packed-01.json"+        "https://localhost:44329"+        "localhost"+        -- This attestation response appears to be from a Feitian security key,+        -- however the returned AAGUID is not registered in the FIDO Metadata+        -- service, even though there are a lot of other Feitian keys there.+        -- While the chain of the attestation statement contains the root+        -- certificate, we can't find an official publication of any root+        -- certificate, therefore making this attestation questionable. Perhaps+        -- it is from an older Feitian model not supported anymore+        False+        registry+        predeterminedDateTime+    it "tests whether the fixed packed register has a valid attestation" $+      registerTestFromFile+        "tests/responses/attestation/packed-02.json"+        "http://localhost:5000"+        "localhost"+        True+        registry+        predeterminedDateTime+    it "tests whether the fixed packed register has a valid attestation" $+      registerTestFromFile+        "tests/responses/attestation/packed-02.json"+        "http://localhost:5000"+        "localhost"+        True+        registry+        predeterminedDateTime+  describe "AndroidKey register" $ do+    it "tests whether the fixed android key register has a valid attestation" $+      registerTestFromFile+        "tests/responses/attestation/android-key-01.json"+        "https://localhost:44329"+        "localhost"+        False -- Uses a fake certificate in the chain+        registry+        predeterminedDateTime+    it "tests whether the fixed android key register has a valid attestation" $+      registerTestFromFile+        "tests/responses/attestation/android-key-02.json"+        "https://dev.dontneeda.pw"+        "dev.dontneeda.pw"+        False -- Uses a fake certificate in the chain+        registry+        predeterminedDateTime+  describe "AndroidSafetyNet register" $ do+    it "tests whether the fixed android safetynet register has a valid attestation" $+      registerTestFromFile+        "tests/responses/attestation/android-safetynet-01.json"+        "https://devicemanagement-duo1.pwl.ngrok.io"+        "pwl.ngrok.io"+        True+        registry+        HG.DateTime+          { dtDate = HG.Date {dateYear = 2021, dateMonth = HG.September, dateDay = 3},+            dtTime = HG.TimeOfDay {todHour = HG.Hours 21, todMin = HG.Minutes 7, todSec = HG.Seconds 21, todNSec = HG.NanoSeconds 0}+          }+  describe "U2F register" $ do+    it "tests whether the fixed fido-u2f register has a valid attestation" $+      registerTestFromFile+        "tests/responses/attestation/u2f-01.json"+        "https://localhost:44329"+        "localhost"+        True+        registry+        predeterminedDateTime+    it "tests whether the fixed fido-u2f register has a valid attestation" $+      registerTestFromFile+        "tests/responses/attestation/u2f-02.json"+        "http://localhost:5000"+        "localhost"+        True+        registry+        predeterminedDateTime+    it "tests whether the fixed fido-u2f register has a valid attestation" $+      registerTestFromFile+        "tests/responses/attestation/u2f-03.json"+        "http://localhost:5000"+        "localhost"+        False -- Uses a FIDO test key+        registry+        predeterminedDateTime+    it "tests whether the fixed fido-u2f register has a valid attestation" $+      registerTestFromFile+        "tests/responses/attestation/u2f-04.json"+        "https://api-duo1.duo.test"+        "duo.test"+        True+        registry+        predeterminedDateTime+    it "tests whether the fixed fido-u2f register has a valid attestation" $+      registerTestFromFile+        "tests/responses/attestation/u2f-05.json"+        "https://api-duo1.duo.test"+        "duo.test"+        True+        registry+        predeterminedDateTime+  describe "Apple register" $ do+    it "tests whether the fixed apple register has a valid attestation" $+      registerTestFromFile+        "tests/responses/attestation/apple-01.json"+        "https://6cc3c9e7967a.ngrok.io"+        "6cc3c9e7967a.ngrok.io"+        True+        registry+        HG.DateTime {dtDate = HG.Date {dateYear = 2020, dateMonth = HG.October, dateDay = 8}, dtTime = timeZero}+    it "tests whether the fixed apple register has a valid attestation" $+      registerTestFromFile+        "tests/responses/attestation/apple-02.json"+        "https://dev2.dontneeda.pw:5000"+        "dev2.dontneeda.pw"+        True+        registry+        HG.DateTime {dtDate = HG.Date {dateYear = 2021, dateMonth = HG.September, dateDay = 1}, dtTime = timeZero}+  describe "TPM register" $ do+    it "tests whether the fixed TPM-SHA1 register has a valid attestation" $+      registerTestFromFile+        "tests/responses/attestation/tpm-rs1-01.json"+        "https://webauthntest.azurewebsites.net"+        "webauthntest.azurewebsites.net"+        True+        registry+        predeterminedDateTime+    it "tests whether the fixed TPM-SHA1 register has a valid attestation" $+      registerTestFromFile+        "tests/responses/attestation/tpm-es256-01.json"+        "https://localhost:44329"+        "localhost"+        False -- Uses a fake certificate in the chain+        registry+        predeterminedDateTime++-- | Checks if the received attestation response if one we expect+isExpectedAttestationResponse :: M.Credential 'M.Registration 'True -> M.CredentialOptions 'M.Registration -> Bool -> Either (NonEmpty O.RegistrationError) O.RegistrationResult -> Bool+isExpectedAttestationResponse _ _ _ (Left _) = False -- We should never receive errors+isExpectedAttestationResponse M.Credential {..} M.CredentialOptionsRegistration {..} verifiable (Right O.RegistrationResult {..}) =+  rrEntry == expectedCredentialEntry+    && not verifiable+      || ( case rrAttestationStatement of+             O.SomeAttestationStatement _ O.VerifiedAuthenticator {} -> True+             _ -> False+         )+  where+    expectedCredentialEntry :: O.CredentialEntry+    expectedCredentialEntry =+      O.CredentialEntry+        { ceCredentialId = cIdentifier,+          ceUserHandle = M.cueId corUser,+          cePublicKeyBytes =+            M.PublicKeyBytes . M.unRaw+              . M.acdCredentialPublicKeyBytes+              . M.adAttestedCredentialData+              . M.aoAuthData+              $ M.arrAttestationObject cResponse,+          ceSignCounter = M.adSignCount . M.aoAuthData $ M.arrAttestationObject cResponse+        }++defaultPublicKeyCredentialCreationOptions :: M.Credential 'M.Registration raw -> M.CredentialOptions 'M.Registration+defaultPublicKeyCredentialCreationOptions c =+  M.CredentialOptionsRegistration+    { M.corRp =+        M.CredentialRpEntity+          { M.creId = Nothing,+            M.creName = "Tweag I/O Test Server"+          },+      M.corUser =+        M.CredentialUserEntity+          { M.cueId = M.UserHandle "UserId",+            M.cueDisplayName = "UserDisplayName",+            M.cueName = "UserAccountName"+          },+      M.corChallenge = M.ccdChallenge . M.arrClientData $ M.cResponse c,+      M.corPubKeyCredParams =+        [ M.CredentialParameters+            { M.cpTyp = M.CredentialTypePublicKey,+              M.cpAlg = Cose.CoseAlgorithmES256+            },+          M.CredentialParameters+            { M.cpTyp = M.CredentialTypePublicKey,+              M.cpAlg = Cose.CoseAlgorithmRS256+            }+        ],+      M.corTimeout = Nothing,+      M.corExcludeCredentials = [],+      M.corAuthenticatorSelection = Nothing,+      M.corAttestation = M.AttestationConveyancePreferenceNone,+      M.corExtensions = Nothing+    }++defaultPublicKeyCredentialRequestOptions :: M.Credential 'M.Authentication raw -> M.CredentialOptions 'M.Authentication+defaultPublicKeyCredentialRequestOptions c =+  M.CredentialOptionsAuthentication+    { M.coaChallenge = M.ccdChallenge . M.araClientData $ M.cResponse c,+      M.coaTimeout = Nothing,+      M.coaRpId = Just "localhost",+      M.coaAllowCredentials = [],+      M.coaUserVerification = M.UserVerificationRequirementPreferred,+      M.coaExtensions = Nothing+    }
+ tests/MetadataSpec.hs view
@@ -0,0 +1,61 @@+{-# LANGUAGE ScopedTypeVariables #-}+{-# LANGUAGE ViewPatterns #-}++module MetadataSpec (spec) where++import Crypto.WebAuthn.Metadata.Service.Processing (RootCertificate (RootCertificate), fidoAllianceRootCertificate, jsonToPayload, jwtToJson)+import Crypto.WebAuthn.Metadata.Service.WebIDL (MetadataBLOBPayload)+import Data.Aeson (Result (Success), ToJSON (toJSON), Value (Object), decodeFileStrict, fromJSON)+import Data.Aeson.Types (Result (Error))+import qualified Data.ByteString as BS+import Data.Either (isRight)+import qualified Data.PEM as PEM+import qualified Data.Text as Text+import Data.Text.Encoding (decodeUtf8)+import qualified Data.X509 as X509+import qualified Data.X509.CertificateStore as X509+import System.Hourglass (dateCurrent)+import Test.Hspec (SpecWith, describe, it, shouldSatisfy)+import Test.Hspec.Expectations.Json (shouldBeUnorderedJson)++golden :: FilePath -> SpecWith ()+golden subdir = describe subdir $ do+  it "can verify and extract the blob payload" $ do+    origin <- Text.unpack . Text.strip . decodeUtf8 <$> BS.readFile ("tests/golden-metadata/" <> subdir <> "/origin")++    certBytes <- BS.readFile $ "tests/golden-metadata/" <> subdir <> "/root.crt"+    let Right [PEM.pemContent -> pem] = PEM.pemParseBS certBytes+        Right cert = X509.decodeSignedCertificate pem+        store = X509.makeCertificateStore [cert]++    blobBytes <- BS.readFile $ "tests/golden-metadata/" <> subdir <> "/blob.jwt"+    now <- dateCurrent+    let Right result = jwtToJson blobBytes (RootCertificate store origin) now++    Just expectedPayload <- decodeFileStrict $ "tests/golden-metadata/" <> subdir <> "/payload.json"++    Object result `shouldBeUnorderedJson` expectedPayload++  it "can decode and reencode the payload to the partially parsed JSON" $ do+    Just payload <- decodeFileStrict $ "tests/golden-metadata/" <> subdir <> "/payload.json"+    case fromJSON payload of+      Error err -> fail err+      Success (value :: MetadataBLOBPayload) ->+        toJSON value `shouldBeUnorderedJson` payload++  it "can decode and reencode the payload to the partially parsed JSON" $ do+    Just value <- decodeFileStrict $ "tests/golden-metadata/" <> subdir <> "/payload.json"+    case jsonToPayload value of+      Left err -> fail $ show err+      Right _result -> pure ()++spec :: SpecWith ()+spec = do+  describe "Golden" $ do+    golden "small"+    golden "big"+  describe "fidoAllianceRootCertificate" $ do+    it "can validate the payload" $ do+      blobBytes <- BS.readFile "tests/golden-metadata/big/blob.jwt"+      now <- dateCurrent+      jwtToJson blobBytes fidoAllianceRootCertificate now `shouldSatisfy` isRight
+ tests/PublicKeySpec.hs view
@@ -0,0 +1,45 @@+{-# LANGUAGE RecordWildCards #-}++module PublicKeySpec+  ( spec,+  )+where++import Codec.Serialise.Properties (serialiseIdentity)+import qualified Crypto.WebAuthn.Cose.Internal.Verify as Cose+import qualified Crypto.WebAuthn.Cose.Key as Cose+import qualified Data.ByteString as BS+import qualified Spec.Key as Key+import Spec.Types ()+import Spec.Util (runSeededMonadRandom)+import Test.Hspec (SpecWith, it)+import Test.QuickCheck (Testable (property))+import Test.QuickCheck.Instances.ByteString ()++spec :: SpecWith ()+spec = do+  it "CosePublicKey roundtrip" $+    property (serialiseIdentity @Cose.CosePublicKey)++  it "PublicKey X509 roundtrip" $+    property prop_x509PublicKeyRoundtrip++  it "Created signatures can be validated" $+    property prop_signverify++prop_x509PublicKeyRoundtrip :: Cose.PublicKey -> Bool+prop_x509PublicKeyRoundtrip pubKey =+  case Cose.fromX509 (Key.toX509 pubKey) of+    Right pubKey'+      | pubKey == pubKey' -> True+      | otherwise -> False+    Left _ -> False++prop_signverify :: Integer -> Key.KeyPair -> BS.ByteString -> Bool+prop_signverify seed Key.KeyPair {..} msg = do+  let signAlg = Cose.keySignAlg pubKey+      sig = runSeededMonadRandom seed $ Key.sign signAlg privKey msg+      valid = Cose.verify signAlg (Cose.fromCose pubKey) msg sig+   in case valid of+        Left _ -> False+        Right () -> True
+ tests/Spec/Key.hs view
@@ -0,0 +1,170 @@+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE ViewPatterns #-}++module Spec.Key+  ( PrivateKey (..),+    KeyPair (..),+    newKeyPair,+    sign,+    toX509,+  )+where++import Crypto.Error (CryptoFailable (CryptoFailed, CryptoPassed))+import Crypto.Number.Serialize (i2osp, i2ospOf_)+import qualified Crypto.PubKey.ECC.ECDSA as ECDSA+import qualified Crypto.PubKey.ECC.Generate as ECC+import qualified Crypto.PubKey.ECC.Types as ECC+import qualified Crypto.PubKey.Ed25519 as Ed25519+import qualified Crypto.PubKey.RSA as RSA+import qualified Crypto.PubKey.RSA.PKCS15 as RSA+import Crypto.Random (MonadRandom)+import qualified Crypto.WebAuthn.Cose.Algorithm as Cose+import qualified Crypto.WebAuthn.Cose.Internal.Verify as Cose+import qualified Crypto.WebAuthn.Cose.Key as Cose+import qualified Data.ASN1.BinaryEncoding as ASN1+import qualified Data.ASN1.Encoding as ASN1+import qualified Data.ASN1.Prim as ASN1+import Data.ByteArray (convert)+import qualified Data.ByteString as BS+import qualified Data.X509 as X509+import Test.QuickCheck.Instances.ByteString ()++data PrivateKey+  = PrivateKeyEdDSA+      { eddsaCurve :: Cose.CoseCurveEdDSA,+        eddsaBytes :: BS.ByteString+      }+  | PrivateKeyECDSA+      { ecdsaCurve :: Cose.CoseCurveECDSA,+        ecdsaD :: Integer+      }+  | PrivateKeyRSA+      { rsaN :: Integer,+        rsaE :: Integer,+        rsaD :: Integer+      }+  deriving (Eq, Show)++data KeyPair = KeyPair+  { pubKey :: Cose.CosePublicKey,+    privKey :: PrivateKey+  }+  deriving (Eq, Show)++newKeyPair :: MonadRandom m => Cose.CoseSignAlg -> m KeyPair+newKeyPair Cose.CoseSignAlgEdDSA = do+  privKey' <- Ed25519.generateSecretKey+  let privKey =+        PrivateKeyEdDSA+          { eddsaCurve = Cose.CoseCurveEd25519,+            eddsaBytes = convert privKey'+          }+      pubKey' = Ed25519.toPublic privKey'+      pubKey =+        Cose.CosePublicKeyEdDSA+          { eddsaCurve = Cose.CoseCurveEd25519,+            eddsaX = convert pubKey'+          }+  pure KeyPair {..}+newKeyPair (Cose.CoseSignAlgECDSA hash) = do+  let coseCurve = case hash of+        Cose.CoseHashAlgECDSASHA256 -> Cose.CoseCurveP256+        Cose.CoseHashAlgECDSASHA384 -> Cose.CoseCurveP384+        Cose.CoseHashAlgECDSASHA512 -> Cose.CoseCurveP521+      curveName = Cose.toCryptCurveECDSA coseCurve+      curve = ECC.getCurveByName curveName+      byteSize = (ECC.curveSizeBits curve + 7) `div` 8+  (ECDSA.PublicKey {public_q = point}, ECDSA.PrivateKey {private_d = d}) <- ECC.generate curve+  let (x, y) = case point of+        ECC.Point x y -> (x, y)+        ECC.PointO -> error "newKeyPair: infinity point not supported"++      pubKey =+        Cose.CosePublicKeyECDSA+          { ecdsaHash = hash,+            ecdsaCurve = coseCurve,+            ecdsaX = i2ospOf_ byteSize x,+            ecdsaY = i2ospOf_ byteSize y+          }+      privKey =+        PrivateKeyECDSA+          { ecdsaCurve = coseCurve,+            ecdsaD = d+          }+  pure KeyPair {..}+newKeyPair (Cose.CoseSignAlgRSA hash) = do+  -- https://www.rfc-editor.org/rfc/rfc8812.html#section-2+  -- > A key of size 2048 bits or larger MUST be used with these algorithms.+  let publicSizeBytes = 2048 `div` 8+  (RSA.PublicKey {..}, RSA.PrivateKey {..}) <- RSA.generate publicSizeBytes 65537+  let pubKey =+        Cose.CosePublicKeyRSA+          { rsaHash = hash,+            rsaN = public_n,+            rsaE = public_e+          }+      privKey =+        PrivateKeyRSA+          { rsaN = public_n,+            rsaE = public_e,+            rsaD = private_d+          }+  pure KeyPair {..}++sign :: MonadRandom m => Cose.CoseSignAlg -> PrivateKey -> BS.ByteString -> m BS.ByteString+sign Cose.CoseSignAlgEdDSA PrivateKeyEdDSA {eddsaCurve = Cose.CoseCurveEd25519, ..} msg = do+  let privKey = case Ed25519.secretKey eddsaBytes of+        CryptoFailed err -> error $ show err+        CryptoPassed res -> res+      pubKey = Ed25519.toPublic privKey+  pure $ convert $ Ed25519.sign privKey pubKey msg+sign (Cose.CoseSignAlgECDSA (Cose.toCryptHashECDSA -> Cose.SomeHashAlgorithm hash)) PrivateKeyECDSA {..} msg = do+  let privKey =+        ECDSA.PrivateKey+          { private_curve = ECC.getCurveByName $ Cose.toCryptCurveECDSA ecdsaCurve,+            private_d = ecdsaD+          }+  ECDSA.Signature {..} <- ECDSA.sign privKey hash msg+  pure $ ASN1.encodeASN1' ASN1.DER [ASN1.Start ASN1.Sequence, ASN1.IntVal sign_r, ASN1.IntVal sign_s, ASN1.End ASN1.Sequence]+sign (Cose.CoseSignAlgRSA (Cose.toCryptHashRSA -> Cose.SomeHashAlgorithmASN1 hash)) PrivateKeyRSA {..} msg = do+  let privKey =+        RSA.PrivateKey+          { private_pub =+              RSA.PublicKey+                { public_size = BS.length (i2osp rsaN),+                  public_n = rsaN,+                  public_e = rsaE+                },+            private_d = rsaD,+            private_p = 0,+            private_q = 0,+            private_dP = 0,+            private_dQ = 0,+            private_qinv = 0+          }+  sig <- RSA.signSafer (Just hash) privKey msg+  case sig of+    Left err -> error $ show err+    Right res -> pure res+sign signAlg privKey _ = error $ "sign: Combination of signature algorithm " <> show signAlg <> " and private key " <> show privKey <> " is not valid or supported"++toX509 :: Cose.PublicKey -> X509.PubKey+toX509 Cose.PublicKeyEdDSA {eddsaCurve = Cose.CoseCurveEd25519, ..} =+  let key = case Ed25519.publicKey eddsaX of+        CryptoFailed err -> error $ "Failed to create a cryptonite Ed25519 public key of a bytestring with size " <> show (BS.length eddsaX) <> ": " <> show err+        CryptoPassed res -> res+   in X509.PubKeyEd25519 key+toX509 Cose.PublicKeyECDSA {..} =+  let curveName = Cose.toCryptCurveECDSA ecdsaCurve+      serialisedPoint = X509.SerializedPoint $ BS.singleton 0x04 <> ecdsaX <> ecdsaY+      key = X509.PubKeyEC_Named curveName serialisedPoint+   in X509.PubKeyEC key+toX509 Cose.PublicKeyRSA {..} =+  let key =+        RSA.PublicKey+          { public_size = BS.length (i2osp rsaN),+            public_n = rsaN,+            public_e = rsaE+          }+   in X509.PubKeyRSA key
+ tests/Spec/Types.hs view
@@ -0,0 +1,296 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE ExistentialQuantification #-}+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GADTs #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE ScopedTypeVariables #-}+{-# OPTIONS_GHC -Wno-orphans #-}++module Spec.Types () where++import Crypto.Hash (hash)+import qualified Crypto.Random as Random+import qualified Crypto.WebAuthn.AttestationStatementFormat.None as None+import qualified Crypto.WebAuthn.Cose.Algorithm as Cose+import qualified Crypto.WebAuthn.Cose.Internal.Verify as Cose+import qualified Crypto.WebAuthn.Cose.Key as Cose+import qualified Crypto.WebAuthn.Model as M+import qualified Data.ByteString.Lazy as LBS+import Data.Maybe (fromJust)+import Data.Set (Set)+import qualified Data.Set as Set+import Data.Singletons (SingI, sing)+import Data.Text.Encoding (encodeUtf8)+import Data.UUID (UUID)+import qualified Data.UUID as UUID+import qualified Spec.Key as Key+import Spec.Util (runSeededMonadRandom)+import Test.QuickCheck+  ( Arbitrary (arbitrary),+    Gen,+    arbitraryBoundedEnum,+    elements,+    frequency,+    liftArbitrary,+    oneof,+    resize,+    shuffle,+    sublistOf,+  )+import Test.QuickCheck.Instances.Text ()++instance Arbitrary Key.KeyPair where+  arbitrary = do+    seed <- arbitrary+    runSeededMonadRandom seed . Key.newKeyPair <$> arbitrary++instance Arbitrary Cose.CoseSignAlg where+  arbitrary =+    oneof+      [ pure Cose.CoseSignAlgEdDSA,+        Cose.CoseSignAlgECDSA <$> arbitrary,+        Cose.CoseSignAlgRSA <$> arbitrary+      ]++instance Arbitrary Cose.PublicKey where+  arbitrary = Cose.fromCose <$> arbitrary++instance Arbitrary Cose.CosePublicKey where+  arbitrary = Key.pubKey <$> arbitrary++instance Arbitrary Cose.CoseCurveEdDSA where+  arbitrary = arbitraryBoundedEnum++instance Arbitrary Cose.CoseCurveECDSA where+  arbitrary = arbitraryBoundedEnum++instance Arbitrary Cose.CoseHashAlgECDSA where+  arbitrary = arbitraryBoundedEnum++instance Arbitrary Cose.CoseHashAlgRSA where+  arbitrary = arbitraryBoundedEnum++instance Arbitrary M.CredentialType where+  arbitrary = arbitraryBoundedEnum++instance Arbitrary M.AuthenticatorTransport where+  arbitrary = arbitraryBoundedEnum++instance Arbitrary M.AuthenticatorAttachment where+  arbitrary = arbitraryBoundedEnum++instance Arbitrary M.ResidentKeyRequirement where+  arbitrary = arbitraryBoundedEnum++instance Arbitrary M.UserVerificationRequirement where+  arbitrary = arbitraryBoundedEnum++instance Arbitrary M.AttestationConveyancePreference where+  arbitrary = arbitraryBoundedEnum++instance Arbitrary (M.AuthenticatorResponse 'M.Registration 'False) where+  arbitrary = M.AuthenticatorResponseRegistration <$> arbitrary <*> arbitrary++instance Arbitrary M.AssertionSignature where+  arbitrary = M.AssertionSignature <$> arbitrary++instance Arbitrary (M.AuthenticatorResponse 'M.Authentication 'False) where+  arbitrary =+    M.AuthenticatorResponseAuthentication+      <$> arbitrary+      <*> arbitrary+      <*> arbitrary+      <*> arbitrary++instance Arbitrary (M.RawField 'False) where+  arbitrary = pure M.NoRaw++instance Arbitrary (M.CollectedClientData c 'False) where+  arbitrary = M.CollectedClientData <$> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary++instance Arbitrary (M.AttestationObject 'False) where+  arbitrary = do+    aoAuthData <- arbitrary+    ArbitraryAttestationStatementFormat aoFmt <- arbitrary+    aoAttStmt <- arbitrary+    pure M.AttestationObject {..}++-- Like SomeAttestationStatementFormat, but with an Arbitrary constraint on the AttStmt+data ArbitraryAttestationStatementFormat+  = forall a.+    (Arbitrary (M.AttStmt a), M.AttestationStatementFormat a) =>+    ArbitraryAttestationStatementFormat a++instance Arbitrary ArbitraryAttestationStatementFormat where+  arbitrary =+    elements+      [ ArbitraryAttestationStatementFormat None.Format+      --ArbitraryAttestationStatementFormat Packed.Format,+      --ArbitraryAttestationStatementFormat FidoU2F.Format,+      --ArbitraryAttestationStatementFormat AndroidKey.Format+      ]++instance Arbitrary M.SignatureCounter where+  arbitrary = M.SignatureCounter <$> arbitrary++instance SingI c => Arbitrary (M.AuthenticatorData c 'False) where+  arbitrary = M.AuthenticatorData <$> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary++instance Arbitrary M.Challenge where+  arbitrary = M.Challenge <$> arbitrary++instance Arbitrary M.Origin where+  arbitrary = M.Origin <$> arbitrary++instance Arbitrary M.RpIdHash where+  arbitrary = do+    rpId <- encodeUtf8 <$> arbitrary+    pure $ M.RpIdHash $ hash rpId++instance Arbitrary M.AuthenticatorDataFlags where+  arbitrary = M.AuthenticatorDataFlags <$> arbitrary <*> arbitrary++instance SingI c => Arbitrary (M.AttestedCredentialData c 'False) where+  arbitrary = case sing @c of+    M.SRegistration -> M.AttestedCredentialData <$> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+    M.SAuthentication -> pure M.NoAttestedCredentialData++instance Arbitrary M.AAGUID where+  arbitrary =+    M.AAGUID+      <$> frequency+        [ (1, pure UUID.nil),+          (10, randomUUID <$> arbitrary)+        ]+    where+      randomUUID :: Integer -> UUID+      randomUUID seed = fromJust $ UUID.fromByteString $ LBS.fromStrict bytes+        where+          rng = Random.drgNewSeed $ Random.seedFromInteger seed+          (bytes, _) = Random.withDRG rng $ Random.getRandomBytes 16++instance Arbitrary M.CredentialId where+  arbitrary = M.CredentialId <$> arbitrary++instance Arbitrary M.AuthenticatorExtensionOutputs where+  arbitrary = pure M.AuthenticatorExtensionOutputs {}++instance Arbitrary M.RpId where+  arbitrary = M.RpId <$> arbitrary++instance Arbitrary M.RelyingPartyName where+  arbitrary = M.RelyingPartyName <$> arbitrary++instance Arbitrary M.CredentialRpEntity where+  arbitrary =+    M.CredentialRpEntity+      <$> arbitrary+      <*> arbitrary++instance Arbitrary M.UserHandle where+  arbitrary = M.UserHandle <$> arbitrary++instance Arbitrary M.UserAccountDisplayName where+  arbitrary = M.UserAccountDisplayName <$> arbitrary++instance Arbitrary M.UserAccountName where+  arbitrary = M.UserAccountName <$> arbitrary++instance Arbitrary M.CredentialUserEntity where+  arbitrary =+    M.CredentialUserEntity+      <$> arbitrary+      <*> arbitrary+      <*> arbitrary++instance Arbitrary M.Timeout where+  arbitrary = M.Timeout <$> arbitrary++instance Arbitrary M.CredentialDescriptor where+  arbitrary =+    M.CredentialDescriptor M.CredentialTypePublicKey+      <$> arbitrary+      <*> liftArbitrary shuffledSubset++instance Arbitrary M.AuthenticatorSelectionCriteria where+  arbitrary =+    M.AuthenticatorSelectionCriteria+      <$> arbitrary+      <*> arbitrary+      <*> arbitrary++instance Arbitrary M.AuthenticationExtensionsClientInputs where+  arbitrary = pure M.AuthenticationExtensionsClientInputs++instance Arbitrary (M.CredentialOptions 'M.Registration) where+  arbitrary =+    M.CredentialOptionsRegistration+      <$> arbitrary+      <*> arbitrary+      <*> arbitrary+      <*> parameters+      <*> arbitrary+      <*> resize 4 arbitrary+      <*> arbitrary+      <*> arbitrary+      <*> arbitrary++instance Arbitrary (M.CredentialOptions 'M.Authentication) where+  arbitrary =+    M.CredentialOptionsAuthentication+      <$> arbitrary+      <*> arbitrary+      <*> arbitrary+      <*> resize 4 arbitrary+      <*> arbitrary+      <*> arbitrary++instance Arbitrary M.AuthenticationExtensionsClientOutputs where+  arbitrary = pure M.AuthenticationExtensionsClientOutputs++instance Arbitrary (M.Credential 'M.Registration 'False) where+  arbitrary =+    M.Credential+      <$> arbitrary+      <*> arbitrary+      <*> arbitrary++instance Arbitrary (M.Credential 'M.Authentication 'False) where+  arbitrary =+    M.Credential+      <$> arbitrary+      <*> arbitrary+      <*> arbitrary++shuffledSubset :: (Ord a, Bounded a, Enum a) => Gen [a]+shuffledSubset = subset >>= shuffle . Set.toList++shuffledSubsetWith :: Ord a => Set a -> Gen [a]+shuffledSubsetWith set = subsetWith set >>= shuffle . Set.toList++subset :: (Ord a, Bounded a, Enum a) => Gen (Set a)+subset = Set.fromList <$> sublistOf (Set.toList completeSet)++subsetWith :: Ord a => Set a -> Gen (Set a)+subsetWith set = Set.fromList <$> sublistOf (Set.toList set)++parameters :: Gen [M.CredentialParameters]+parameters = do+  algs <- shuffledSubsetWith $ Set.fromList allCoseAlgs+  pure $ M.CredentialParameters M.CredentialTypePublicKey <$> algs++completeSet :: (Ord a, Bounded a, Enum a) => Set a+completeSet = Set.fromList [minBound .. maxBound]++allCoseAlgs :: [Cose.CoseSignAlg]+allCoseAlgs =+  [ Cose.CoseSignAlgEdDSA,+    Cose.CoseSignAlgECDSA Cose.CoseHashAlgECDSASHA256,+    Cose.CoseSignAlgECDSA Cose.CoseHashAlgECDSASHA384,+    Cose.CoseSignAlgECDSA Cose.CoseHashAlgECDSASHA512,+    Cose.CoseSignAlgRSA Cose.CoseHashAlgRSASHA1,+    Cose.CoseSignAlgRSA Cose.CoseHashAlgRSASHA256,+    Cose.CoseSignAlgRSA Cose.CoseHashAlgRSASHA384,+    Cose.CoseSignAlgRSA Cose.CoseHashAlgRSASHA512+  ]
+ tests/Spec/Util.hs view
@@ -0,0 +1,18 @@+module Spec.Util (decodeFile, runSeededMonadRandom) where++import qualified Crypto.Random as Random+import Data.Aeson (FromJSON)+import qualified Data.Aeson as Aeson+import qualified Data.ByteString.Lazy as ByteString++decodeFile :: (FromJSON a, Show a) => FilePath -> IO a+decodeFile filePath = do+  loginBytes <- ByteString.readFile filePath+  case Aeson.eitherDecode' loginBytes of+    Left err -> error $ "Failed to decode: " <> show err+    Right value -> pure value++runSeededMonadRandom :: Integer -> Random.MonadPseudoRandom Random.ChaChaDRG a -> a+runSeededMonadRandom seed f = do+  let rng = Random.drgNewSeed $ Random.seedFromInteger seed+   in fst $ Random.withDRG rng f
+ tests/golden-metadata/big/blob.jwt view
@@ -0,0 +1,1 @@+eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsIng1YyI6WyJNSUlIWkRDQ0JreWdBd0lCQWdJTVI3OUFwSTFMdkRTY3ZKK2hNQTBHQ1NxR1NJYjNEUUVCQ3dVQU1HSXhDekFKQmdOVkJBWVRBa0pGTVJrd0Z3WURWUVFLRXhCSGJHOWlZV3hUYVdkdUlHNTJMWE5oTVRnd05nWURWUVFERXk5SGJHOWlZV3hUYVdkdUlFVjRkR1Z1WkdWa0lGWmhiR2xrWVhScGIyNGdRMEVnTFNCVFNFRXlOVFlnTFNCSE16QWVGdzB5TVRBME1USXhPVFUzTWpSYUZ3MHlNakExTVRReE9UVTNNalJhTUlJQklERWRNQnNHQTFVRUR3d1VVSEpwZG1GMFpTQlBjbWRoYm1sNllYUnBiMjR4RVRBUEJnTlZCQVVUQ0VNek5EVTBNamcwTVJNd0VRWUxLd1lCQkFHQ056d0NBUU1UQWxWVE1Sc3dHUVlMS3dZQkJBR0NOendDQVFJVENrTmhiR2xtYjNKdWFXRXhDekFKQmdOVkJBWVRBbFZUTVJNd0VRWURWUVFJRXdwRFlXeHBabTl5Ym1saE1SWXdGQVlEVlFRSEV3MU5iM1Z1ZEdGcGJpQldhV1YzTVNnd0pnWURWUVFKRXg4eU5UY3dJRmN1SUVWc0lFTmhiV2x1YnlCU1pXRnNMQ0JUZEdVZ01UVXdNUmt3RndZRFZRUUxFeEJOWlhSaFpHRjBZU0JUWlhKMmFXTmxNUnd3R2dZRFZRUUtFeE5HU1VSUElFRk1URWxCVGtORkxDQkpUa011TVIwd0d3WURWUVFERXhSdFpITXVabWxrYjJGc2JHbGhibU5sTG05eVp6Q0NBU0l3RFFZSktvWklodmNOQVFFQkJRQURnZ0VQQURDQ0FRb0NnZ0VCQU1qN0FXZ2ZNOTVlUGV4TGNDdXUrb3R5WUZ3THVLSTgxMWo3Q1BKekhPWVEvQmdXdlBJanZ5UHNPbG1nZXR1VWJ4bGhJcjFuYmQwQlh5MW9ZRi9adXZvcXkwL0lZdmIzUjE3RlFhNGJiaGhodVZJWHc0MG51U0dTVXU1L3o2SG10dStrdUdCM3ZxNXdRR2h4cm43M1E0am4vZGx3V25MVDVzdUY2b21TdHRhc3k5OU9aekZYUS9uSWk2SlNDQU54ZmpSemVrM3kydU41ZXZqUG5SMTJFdS9lWEFyTnR3MjdqU1BqU1ArR3Q1VUhDaUhuTTlSTDgxdVMxM0l0NzNXbUZqN2c3dkVCZGZ3aXEvZndBL1NxSXUxOUpWSzlSdmkrTGx3RE5DTExwa3JUUzV4RHBJVmV5UUxQUVUzWVdYem03ZWR5QnBsNXlmRWNoNDFHOEZGOHlPRUNBd0VBQWFPQ0ExZ3dnZ05VTUE0R0ExVWREd0VCL3dRRUF3SUZvRENCbGdZSUt3WUJCUVVIQVFFRWdZa3dnWVl3UndZSUt3WUJCUVVITUFLR08yaDBkSEE2THk5elpXTjFjbVV1WjJ4dlltRnNjMmxuYmk1amIyMHZZMkZqWlhKMEwyZHpaWGgwWlc1a2RtRnNjMmhoTW1jemNqTXVZM0owTURzR0NDc0dBUVVGQnpBQmhpOW9kSFJ3T2k4dmIyTnpjREl1WjJ4dlltRnNjMmxuYmk1amIyMHZaM05sZUhSbGJtUjJZV3h6YUdFeVp6TnlNekJWQmdOVkhTQUVUakJNTUVFR0NTc0dBUVFCb0RJQkFUQTBNRElHQ0NzR0FRVUZCd0lCRmlab2RIUndjem92TDNkM2R5NW5iRzlpWVd4emFXZHVMbU52YlM5eVpYQnZjMmwwYjNKNUx6QUhCZ1ZuZ1F3QkFUQUpCZ05WSFJNRUFqQUFNRVVHQTFVZEh3UStNRHd3T3FBNG9EYUdOR2gwZEhBNkx5OWpjbXd1WjJ4dlltRnNjMmxuYmk1amIyMHZaM012WjNObGVIUmxibVIyWVd4emFHRXlaek55TXk1amNtd3dId1lEVlIwUkJCZ3dGb0lVYldSekxtWnBaRzloYkd4cFlXNWpaUzV2Y21jd0hRWURWUjBsQkJZd0ZBWUlLd1lCQlFVSEF3RUdDQ3NHQVFVRkJ3TUNNQjhHQTFVZEl3UVlNQmFBRk4yejUyMm9MdWpGVG03UGRPWjFQSlFWenVnZE1CMEdBMVVkRGdRV0JCUnBlM284Q1hxVXBHYzVVSVFjalBRSStESXF3RENDQVg0R0Npc0dBUVFCMW5rQ0JBSUVnZ0Z1QklJQmFnRm9BSFVBYjFOMnJESHdNUm5ZbVFDa1VSWC9keFVjRWRrQ3dRQXBCbzJ5Q0pvMzJSTUFBQUY0eDZrQ21BQUFCQU1BUmpCRUFpQVN6S2NsVEQvclJpdGowM3FwbFNvR0g5YXlzVUMzVndURVUvMHFWNldnV1FJZ2RxdEdXNENCcENZeDF5OTd3czJYbUVJQm1jZDN4LzVVeEhHeDlmVDk3RzhBZHdBcGViN3duams1SWZCV2M1OWpwWGZsdmxkOW5HQUsrUGxOWFNaY0pWM0hoQUFBQVhqSHFRS1FBQUFFQXdCSU1FWUNJUURHVm1GUDU2d3h1MFRBWWhGWitWbXNGamFvMnFBT3FKMGM1LzVMMTRxL09BSWhBT3ZnWE9IQkdkaGo1TGVyR3NKZlNtM1Q1eXF2TGNNWFBQSmwwbmpmMUhFMUFIWUFVYU93OWYwQmVaeFdiYmczZUk4TXBIck1HeWZMOTU2SVFwb04vdFNMQmVVQUFBRjR4NmtDd2dBQUJBTUFSekJGQWlFQTNFK2tvU2Q3anlyc2JjOTJ4NFEyR1Y0STFlSEdVN0c2NERXNnMxRkVEdFVDSUhHY3JiYnlDUUcrdGJpcmJNeVcwMGVsTjZ6UXloY1dNMmF6RjBFMndJUERNQTBHQ1NxR1NJYjNEUUVCQ3dVQUE0SUJBUUNjQ3N4eWQ0R1dXWjRHckNKWDVBOFVVcXZzdFQrcEd4aFhRcTBRUHlUTVFNWFFtMkVPZ1BSUHovSDNsa3JLZjBXOURCaGxkakRSVG05Q3JhaGhJbEZpWFJya3N0djVQNDg0a3hVcG90VVFydDFXeDBPbW1OS05abU8zZXQ1R0YyVFJUZ2lDUkorczF6KzNXNHI5c294aUFYSjcvL01IRWdod0JUUkdXc05ONjFwRS9wTisvTVNlV09iWGhUanNobFc0UnJJTzJkdnlIZnUyWithTW5ibm1xUnhRSzVVeGR0WFNSUVRadlJVVG5DRUVIRk41TDZnYWlvcitZUlNKZk4ycU1udi8yOGtvYkEzVWtvRXVzQlNMZUdyYjdPVTlsV2JmN0NldU5jTjRuMHVtbytxcE9uWU94eldzSm00eFh0alpCdnNsSGJoMWR2WjFpdmsyVnhpbiIsIk1JSUVZVENDQTBtZ0F3SUJBZ0lPU0tRQzNTZVNEYUlJTkozUm1Yc3dEUVlKS29aSWh2Y05BUUVMQlFBd1RERWdNQjRHQTFVRUN4TVhSMnh2WW1Gc1UybG5iaUJTYjI5MElFTkJJQzBnVWpNeEV6QVJCZ05WQkFvVENrZHNiMkpoYkZOcFoyNHhFekFSQmdOVkJBTVRDa2RzYjJKaGJGTnBaMjR3SGhjTk1UWXdPVEl4TURBd01EQXdXaGNOTWpZd09USXhNREF3TURBd1dqQmlNUXN3Q1FZRFZRUUdFd0pDUlRFWk1CY0dBMVVFQ2hNUVIyeHZZbUZzVTJsbmJpQnVkaTF6WVRFNE1EWUdBMVVFQXhNdlIyeHZZbUZzVTJsbmJpQkZlSFJsYm1SbFpDQldZV3hwWkdGMGFXOXVJRU5CSUMwZ1UwaEJNalUySUMwZ1J6TXdnZ0VpTUEwR0NTcUdTSWIzRFFFQkFRVUFBNElCRHdBd2dnRUtBb0lCQVFDcmF3Tm5WTlhjRWZ2Rm9oUEJqQmtuM0JCMDRtR0RQZnFPMjQrbEQrU3B2a1kvQXI1RXBBa2NKak9mUjBpQkZZaFdOODBIenBYWXkydElBN21iWHBLdTJKcG1ZZFUxeGNvUXBRSzB1akUvd2UrdkVEeWp5am10Zjc2TExxYk9mdXEzeFpiU3FVcUFZK01PdkE2N25ucGRhd3ZrSGdKQkZWUG54dWk0NVhINEJ3VHdidER1Y3grTW83RUs0bVMwVGkrUDFOekFSeEZOQ1VGTThXeGMzMnd4WEtmZjZXVTRUYnFVeC9VSm00ODV0dGtGcXUwT3g0d1RVVWJuMHV1eks3eVYzWTk4NkV0R3poS0JyYU1IMzZNZWtTWWxFNDczR3FIZXRSaTlxYk5HNXBNKytTYStXalI5RTFlMFl3czE2Q0dxc21WS3dBcWc0dWM0M2VCVEZVaFZBZ01CQUFHamdnRXBNSUlCSlRBT0JnTlZIUThCQWY4RUJBTUNBUVl3RWdZRFZSMFRBUUgvQkFnd0JnRUIvd0lCQURBZEJnTlZIUTRFRmdRVTNiUG5iYWd1Nk1WT2JzOTA1blU4bEJYTzZCMHdId1lEVlIwakJCZ3dGb0FVai9CTGY2Z3VSU1N1VFZENlk1cUwzdUxkRzd3d1BnWUlLd1lCQlFVSEFRRUVNakF3TUM0R0NDc0dBUVVGQnpBQmhpSm9kSFJ3T2k4dmIyTnpjREl1WjJ4dlltRnNjMmxuYmk1amIyMHZjbTl2ZEhJek1EWUdBMVVkSHdRdk1DMHdLNkFwb0NlR0pXaDBkSEE2THk5amNtd3VaMnh2WW1Gc2MybG5iaTVqYjIwdmNtOXZkQzF5TXk1amNtd3dSd1lEVlIwZ0JFQXdQakE4QmdSVkhTQUFNRFF3TWdZSUt3WUJCUVVIQWdFV0ptaDBkSEJ6T2k4dmQzZDNMbWRzYjJKaGJITnBaMjR1WTI5dEwzSmxjRzl6YVhSdmNua3ZNQTBHQ1NxR1NJYjNEUUVCQ3dVQUE0SUJBUUJWYUp6bDBKL2kwelVWMzhpTVhJUStRL3lodCtKWlo1RFcxb3RHTDVPWVYwTFo2WkU2eGgrV3V2V0pKNGhyRGJoZm82a2hVRWFGdFJVbnVycXp1dHZWeVdnVzhtc25vUDBndE1aTzExY3dQVU1VdVVWOGlHeUlPdUlCMGZsbzZHK1hiVjc0U1p1UjV2NVJBZ3FnR1h1Y1lVUFpXdnY5QWZ6TU1RaFJRa3IvTU8vV1IyWFNkaUJyWEhvREwyeGs0RG1qQTRLNmlQSSsxK3FNaHlya1VNLzJaRWRBOGxkcXdsOG5RRGtLUzd2cTZzVVo1TFBWZGZweEpaWnU1SkJqNHk3Rk5GVFZXMU9NbENVdnd0NUg4YUZnQk1MRmlrOXhxSzZKRkhwWXhZbWY0dDJzTEx4TjBMbEN0aEpFYWJ2cDEwWmxPdGZ1OGhMNWdDWGN4bndHeHpTYiJdfQ.eyJsZWdhbEhlYWRlciI6IlJldHJpZXZhbCBhbmQgdXNlIG9mIHRoaXMgQkxPQiBpbmRpY2F0ZXMgYWNjZXB0YW5jZSBvZiB0aGUgYXBwcm9wcmlhdGUgYWdyZWVtZW50IGxvY2F0ZWQgYXQgaHR0cHM6Ly9maWRvYWxsaWFuY2Uub3JnL21ldGFkYXRhL21ldGFkYXRhLWxlZ2FsLXRlcm1zLyIsIm5vIjoxMSwibmV4dFVwZGF0ZSI6IjIwMjItMDItMDEiLCJlbnRyaWVzIjpbeyJhdHRlc3RhdGlvbkNlcnRpZmljYXRlS2V5SWRlbnRpZmllcnMiOlsiMTQzNGQyZjI3N2ZlNDc5YzM1ZGRmNmFhNGQwOGEwN2NiY2U5OWRkNyJdLCJtZXRhZGF0YVN0YXRlbWVudCI6eyJsZWdhbEhlYWRlciI6Imh0dHBzOi8vZmlkb2FsbGlhbmNlLm9yZy9tZXRhZGF0YS9tZXRhZGF0YS1zdGF0ZW1lbnQtbGVnYWwtaGVhZGVyLyIsImF0dGVzdGF0aW9uQ2VydGlmaWNhdGVLZXlJZGVudGlmaWVycyI6WyIxNDM0ZDJmMjc3ZmU0NzljMzVkZGY2YWE0ZDA4YTA3Y2JjZTk5ZGQ3Il0sImRlc2NyaXB0aW9uIjoiTkVPV0FWRSBXaW5rZW8gRklETzIiLCJhdXRoZW50aWNhdG9yVmVyc2lvbiI6MiwicHJvdG9jb2xGYW1pbHkiOiJ1MmYiLCJzY2hlbWEiOjMsInVwdiI6W3sibWFqb3IiOjEsIm1pbm9yIjoxfV0sImF1dGhlbnRpY2F0aW9uQWxnb3JpdGhtcyI6WyJzZWNwMjU2cjFfZWNkc2Ffc2hhMjU2X3JhdyJdLCJwdWJsaWNLZXlBbGdBbmRFbmNvZGluZ3MiOlsiZWNjX3g5NjJfcmF3Il0sImF0dGVzdGF0aW9uVHlwZXMiOlsiYmFzaWNfZnVsbCJdLCJ1c2VyVmVyaWZpY2F0aW9uRGV0YWlscyI6W1t7InVzZXJWZXJpZmljYXRpb25NZXRob2QiOiJwcmVzZW5jZV9pbnRlcm5hbCJ9XV0sImtleVByb3RlY3Rpb24iOlsiaGFyZHdhcmUiLCJzZWN1cmVfZWxlbWVudCJdLCJtYXRjaGVyUHJvdGVjdGlvbiI6WyJvbl9jaGlwIl0sImNyeXB0b1N0cmVuZ3RoIjoxMjgsImF0dGFjaG1lbnRIaW50IjpbImV4dGVybmFsIiwid2lyZWQiXSwidGNEaXNwbGF5IjpbXSwiYXR0ZXN0YXRpb25Sb290Q2VydGlmaWNhdGVzIjpbIlxuXG5NSUlDSFRDQ0FjS2dBd0lCQWdJQ2RkVXdDZ1lJS29aSXpqMEVBd0l3ZXpFTE1Ba0dBMVVFQmhNQ1JsSXhFekFSQmdOVkJBb1RDa05sY25SRmRYSnZjR1V4RnpBVkJnTlZCQXNURGpBd01ESWdORE0wTWpBeU1UZ3dNU1F3SWdZRFZRUURFeHREWlhKMFJYVnliM0JsSUVWc2JHbHdkR2xqSUZKdmIzUWdRMEV4R0RBV0JnTlZCR0VURDA1VVVrWlNMVFF6TkRJd01qRTRNREFlRncweE9EQXhNakl5TXpBd01EQmFGdzB5T0RBeE1qSXlNekF3TURCYU1Ic3hDekFKQmdOVkJBWVRBa1pTTVJNd0VRWURWUVFLRXdwRFpYSjBSWFZ5YjNCbE1SY3dGUVlEVlFRTEV3NHdNREF5SURRek5ESXdNakU0TURFa01DSUdBMVVFQXhNYlEyVnlkRVYxY205d1pTQkZiR3hwY0hScFl5QlNiMjkwSUVOQk1SZ3dGZ1lEVlFSaEV3OU9WRkpHVWkwME16UXlNREl4T0RBd1dUQVRCZ2NxaGtqT1BRSUJCZ2dxaGtqT1BRTUJCd05DQUFUejJqTmFLT0svTUtkVzJmbWUxdHE2R1JFdVB1dUtXOUhnV1lnTVJyanZaVVRPcUxBTkozTWQ1SHF2MUVOMXpNZDRsV3R5ZnpSbGE3cnY1QVJCb09vVG96WXdOREFQQmdOVkhSTUJBZjhFQlRBREFRSC9NQkVHQTFVZERnUUtCQWhOblRXMGE0RTh1akFPQmdOVkhROEJBZjhFQkFNQ0FRWXdDZ1lJS29aSXpqMEVBd0lEU1FBd1JnSWhBTXJoYjhTbWZOTGVMTmdhQVZtUTZBT01pTE5MVkhYMGtGVU84MENuVDM4RUFpRUF6TkFndjRkSCtIRGhaU2daV0ppYVB1L25mWlRldUd5NE15ZFBNcTV1cnM0PSIsIlxuTUlJRU9EQ0NBOTJnQXdJQkFnSURBSW5CTUFvR0NDcUdTTTQ5QkFNQ01Ic3hDekFKQmdOVkJBWVRBa1pTTVJNd0VRWURWUVFLRXdwRFpYSjBSWFZ5YjNCbE1SY3dGUVlEVlFRTEV3NHdNREF5SURRek5ESXdNakU0TURFa01DSUdBMVVFQXhNYlEyVnlkRVYxY205d1pTQkZiR3hwY0hScFl5QlNiMjkwSUVOQk1SZ3dGZ1lEVlFSaEV3OU9WRkpHVWkwME16UXlNREl4T0RBd0hoY05NVGd3TWpJeU1qTXdNREF3V2hjTk1qZ3dNVEl4TWpNd01EQXdXakIwTVFzd0NRWURWUVFHRXdKR1VqRVRNQkVHQTFVRUNoTUtRMlZ5ZEVWMWNtOXdaVEVYTUJVR0ExVUVDeE1PTURBd01pQTBNelF5TURJeE9EQXhIVEFiQmdOVkJBTVRGRU5sY25SRmRYSnZjR1VnU1dSbFkzbHpJRU5CTVJnd0ZnWURWUVJoRXc5T1ZGSkdVaTAwTXpReU1ESXhPREF3V1RBVEJnY3Foa2pPUFFJQkJnZ3Foa2pPUFFNQkJ3TkNBQVNMVkwrMVNUSnZhRVJPNVdDUitqR2NBeEx2bVBCRGlaWTFOZ0ZGSWhwWDZPQVpBcFFZbXQ2eFNoNzRTd00rbWpnbnNTRWNjNEEyVWYxMzlGZ1o0cnBZbzRJQ1ZUQ0NBbEV3RXdZRFZSMGpCQXd3Q29BSVRaMDF0R3VCUExvd1NnWUlLd1lCQlFVSEFRRUVQakE4TURvR0NDc0dBUVVGQnpBQ2hpNW9kSFJ3T2k4dmQzZDNMbU5sY25SbGRYSnZjR1V1Wm5JdmNtVm1aWEpsYm1ObEwyVmpYM0p2YjNRdVkzSjBNRk1HQTFVZElBUk1NRW93U0FZSktvRjZBV2twQVFFQU1Ec3dPUVlJS3dZQkJRVUhBZ0VXTFdoMGRIQnpPaTh2ZDNkM0xtTmxjblJsZFhKdmNHVXVabkl2WTJoaGFXNWxMV1JsTFdOdmJtWnBZVzVqWlRDQ0FXQUdBMVVkSHdTQ0FWY3dnZ0ZUTUQrZ1BhQTdoamxvZEhSd09pOHZkM2QzTG1ObGNuUmxkWEp2Y0dVdVpuSXZjbVZtWlhKbGJtTmxMMk5sY25SbGRYSnZjR1ZmWldOZmNtOXZkQzVqY213d2dZYWdnWU9nZ1lDR2ZteGtZWEE2THk5c1kzSXhMbU5sY25SbGRYSnZjR1V1Wm5JdlkyNDlRMlZ5ZEVWMWNtOXdaU1V5TUVWc2JHbHdkR2xqSlRJd1VtOXZkQ1V5TUVOQkxHOTFQVEF3TURJbE1qQTBNelF5TURJeE9EQXNiejFEWlhKMFJYVnliM0JsTEdNOVJsSS9ZMlZ5ZEdsbWFXTmhkR1ZTWlhadlkyRjBhVzl1VEdsemREQ0JocUNCZzZDQmdJWitiR1JoY0RvdkwyeGpjakl1WTJWeWRHVjFjbTl3WlM1bWNpOWpiajFEWlhKMFJYVnliM0JsSlRJd1JXeHNhWEIwYVdNbE1qQlNiMjkwSlRJd1EwRXNiM1U5TURBd01pVXlNRFF6TkRJd01qRTRNQ3h2UFVObGNuUkZkWEp2Y0dVc1l6MUdVajlqWlhKMGFXWnBZMkYwWlZKbGRtOWpZWFJwYjI1TWFYTjBNQkVHQTFVZERnUUtCQWhEYVFiaFRGdGpjakFPQmdOVkhROEJBZjhFQkFNQ0FRWXdFZ1lEVlIwVEFRSC9CQWd3QmdFQi93SUJBREFLQmdncWhrak9QUVFEQWdOSkFEQkdBaUVBb0VlcEhNQzVYOWpCS2FHcGhjS2ppZGhpTitabno3djNTM2hjMzEvQXVuc0NJUURLcW9nSzJTWk9YWmN2dkhDQjZVUVNhQTBuTG40UlV3eTFndURpdmJaYndnPT0iLCJNSUlFT0RDQ0E5MmdBd0lCQWdJREFJbkJNQW9HQ0NxR1NNNDlCQU1DTUhzeEN6QUpCZ05WQkFZVEFrWlNNUk13RVFZRFZRUUtFd3BEWlhKMFJYVnliM0JsTVJjd0ZRWURWUVFMRXc0d01EQXlJRFF6TkRJd01qRTRNREVrTUNJR0ExVUVBeE1iUTJWeWRFVjFjbTl3WlNCRmJHeHBjSFJwWXlCU2IyOTBJRU5CTVJnd0ZnWURWUVJoRXc5T1ZGSkdVaTAwTXpReU1ESXhPREF3SGhjTk1UZ3dNakl5TWpNd01EQXdXaGNOTWpnd01USXhNak13TURBd1dqQjBNUXN3Q1FZRFZRUUdFd0pHVWpFVE1CRUdBMVVFQ2hNS1EyVnlkRVYxY205d1pURVhNQlVHQTFVRUN4TU9NREF3TWlBME16UXlNREl4T0RBeEhUQWJCZ05WQkFNVEZFTmxjblJGZFhKdmNHVWdTV1JsWTNseklFTkJNUmd3RmdZRFZRUmhFdzlPVkZKR1VpMDBNelF5TURJeE9EQXdXVEFUQmdjcWhrak9QUUlCQmdncWhrak9QUU1CQndOQ0FBU0xWTCsxU1RKdmFFUk81V0NSK2pHY0F4THZtUEJEaVpZMU5nRkZJaHBYNk9BWkFwUVltdDZ4U2g3NFN3TSttamduc1NFY2M0QTJVZjEzOUZnWjRycFlvNElDVlRDQ0FsRXdFd1lEVlIwakJBd3dDb0FJVFowMXRHdUJQTG93U2dZSUt3WUJCUVVIQVFFRVBqQThNRG9HQ0NzR0FRVUZCekFDaGk1b2RIUndPaTh2ZDNkM0xtTmxjblJsZFhKdmNHVXVabkl2Y21WbVpYSmxibU5sTDJWalgzSnZiM1F1WTNKME1GTUdBMVVkSUFSTU1Fb3dTQVlKS29GNkFXa3BBUUVBTURzd09RWUlLd1lCQlFVSEFnRVdMV2gwZEhCek9pOHZkM2QzTG1ObGNuUmxkWEp2Y0dVdVpuSXZZMmhoYVc1bExXUmxMV052Ym1acFlXNWpaVENDQVdBR0ExVWRId1NDQVZjd2dnRlRNRCtnUGFBN2hqbG9kSFJ3T2k4dmQzZDNMbU5sY25SbGRYSnZjR1V1Wm5JdmNtVm1aWEpsYm1ObEwyTmxjblJsZFhKdmNHVmZaV05mY205dmRDNWpjbXd3Z1lhZ2dZT2dnWUNHZm14a1lYQTZMeTlzWTNJeExtTmxjblJsZFhKdmNHVXVabkl2WTI0OVEyVnlkRVYxY205d1pTVXlNRVZzYkdsd2RHbGpKVEl3VW05dmRDVXlNRU5CTEc5MVBUQXdNRElsTWpBME16UXlNREl4T0RBc2J6MURaWEowUlhWeWIzQmxMR005UmxJL1kyVnlkR2xtYVdOaGRHVlNaWFp2WTJGMGFXOXVUR2x6ZERDQmhxQ0JnNkNCZ0laK2JHUmhjRG92TDJ4amNqSXVZMlZ5ZEdWMWNtOXdaUzVtY2k5amJqMURaWEowUlhWeWIzQmxKVEl3Uld4c2FYQjBhV01sTWpCU2IyOTBKVEl3UTBFc2IzVTlNREF3TWlVeU1EUXpOREl3TWpFNE1DeHZQVU5sY25SRmRYSnZjR1VzWXoxR1VqOWpaWEowYVdacFkyRjBaVkpsZG05allYUnBiMjVNYVhOME1CRUdBMVVkRGdRS0JBaERhUWJoVEZ0amNqQU9CZ05WSFE4QkFmOEVCQU1DQVFZd0VnWURWUjBUQVFIL0JBZ3dCZ0VCL3dJQkFEQUtCZ2dxaGtqT1BRUURBZ05KQURCR0FpRUFvRWVwSE1DNVg5akJLYUdwaGNLamlkaGlOK1puejd2M1MzaGMzMS9BdW5zQ0lRREtxb2dLMlNaT1haY3Z2SENCNlVRU2FBMG5MbjRSVXd5MWd1RGl2Ylpid2c9PSIsIk1JSUNIVENDQWNLZ0F3SUJBZ0lDZGRVd0NnWUlLb1pJemowRUF3SXdlekVMTUFrR0ExVUVCaE1DUmxJeEV6QVJCZ05WQkFvVENrTmxjblJGZFhKdmNHVXhGekFWQmdOVkJBc1REakF3TURJZ05ETTBNakF5TVRnd01TUXdJZ1lEVlFRREV4dERaWEowUlhWeWIzQmxJRVZzYkdsd2RHbGpJRkp2YjNRZ1EwRXhHREFXQmdOVkJHRVREMDVVVWtaU0xUUXpOREl3TWpFNE1EQWVGdzB4T0RBeE1qSXlNekF3TURCYUZ3MHlPREF4TWpJeU16QXdNREJhTUhzeEN6QUpCZ05WQkFZVEFrWlNNUk13RVFZRFZRUUtFd3BEWlhKMFJYVnliM0JsTVJjd0ZRWURWUVFMRXc0d01EQXlJRFF6TkRJd01qRTRNREVrTUNJR0ExVUVBeE1iUTJWeWRFVjFjbTl3WlNCRmJHeHBjSFJwWXlCU2IyOTBJRU5CTVJnd0ZnWURWUVJoRXc5T1ZGSkdVaTAwTXpReU1ESXhPREF3V1RBVEJnY3Foa2pPUFFJQkJnZ3Foa2pPUFFNQkJ3TkNBQVR6MmpOYUtPSy9NS2RXMmZtZTF0cTZHUkV1UHV1S1c5SGdXWWdNUnJqdlpVVE9xTEFOSjNNZDVIcXYxRU4xek1kNGxXdHlmelJsYTdydjVBUkJvT29Ub3pZd05EQVBCZ05WSFJNQkFmOEVCVEFEQVFIL01CRUdBMVVkRGdRS0JBaE5uVFcwYTRFOHVqQU9CZ05WSFE4QkFmOEVCQU1DQVFZd0NnWUlLb1pJemowRUF3SURTUUF3UmdJaEFNcmhiOFNtZk5MZUxOZ2FBVm1RNkFPTWlMTkxWSFgwa0ZVTzgwQ25UMzhFQWlFQXpOQWd2NGRIK0hEaFpTZ1pXSmlhUHUvbmZaVGV1R3k0TXlkUE1xNXVyczQ9Il0sImljb24iOiJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNBQUFBQWdDQUlBQUFEOEdPMmpBQUFDcVVsRVFWUkl4MlA4Ly84L0F5MEJFd09Od2FnRnBGbHc4Y0tGaXJJeVIzdDdTMU96MEtEZ0JmUG0vL3o1azNpenZuMzlscCtUYTJ0bHRXVFJJb1RvZnhoWXRYS2xscHE2c3J3Q0Fpa29SSVZIdkgzNzlqOXg0TlNwVTBBdFFJMVc1aFp3UWFnUHpwODdWMTFaaVhBdkl4ajlaemg1NGtSTlpSV1JQdmo5NnhjRE9NMHpNVEtpQjlHOHVYUC8vZnNITkZSQVNMQytzWEhtN05sdWJ1NFFtM2J0M0xsdTdWcGlMR0NFbWN1SWFjR1pVNmZCNGNXUVgxQVFHeC9uN09JeWFlb1ViVjBkaUl2YW1sdWVQWHRHVVNULytnMzJIU09EaG9ZR1JJU0ZoYVdwcFlXVmxSVW8rT0hqaDZiNkJvb3NnSHZxejU4L2NEbDlmZjNNN0N3SWU4K2UzYXRYcnFRZ21lSW9rREt6cy9YMTlFR3kveGs2T3pvZlAzcEVXVWJEc0FZWVJDM3RiUndjSEVEMmgvZnY2MnBxQ1JlT2pDVG1aRTB0clp5OFhBajc4S0ZEeTVZdUpkNTBWQXNZY2VwS1RVODNOaldCcU9udTdIeHcvd0UrTy83anNnQzMxNW1abVJ1Ym05bloyWUZxdm56KzBsQmZoek9nL3FPN2xRbS9CK0VBbUh3TGlvb2dDbzRjT3J4azBXSWlQVUVna3BGQlVuS3ltWms1aE4zVDFYWDN6aDFpWW9LSmNEVEJBNHFGdWJtdGxZdWJDOGorK3ZWclRWVTFxSFFoelFlTUJIeWhyS3hjV0Z3TVVYbjYxS241YytkU3Y4SkpTRXkwdHJHR3NDZjA5OSs2ZFFzdXhjTENDckg3UDVJclNZZ0RlS0ZTMzlURXg4c0haSC8vOXIydUdoRlFONjVmaDJWUE5vcXFUQ1VscGVLeVVtZ3hmUHBNU1dFUk1BTXVYN2FzdjdjWElxaWxyWVh3RnJ4ZWcvcU91R1pTZEV6TTN0MTdEaDA2Q1BUMHBrMGJOMjNjQ0k5RllLWkp6OGhFOThIZmYzOGhERFkyZGlMOTBkSGRwYXVyaXhhd3JDeXNyZTN0dW5xNmlMVFgwTkFBVG9Jc1R4NC90bmR3aUl5T0F0WUV4RmpBemMzdDQrc0xKTDk5L1Fvc0UwVkZSZTNzN1J0Ym1vR1ZGVXFjalRZZGg3OEZBSWhCTGxOZDdqdTFBQUFBQUVsRlRrU3VRbUNDIn0sInN0YXR1c1JlcG9ydHMiOlt7InN0YXR1cyI6Ik5PVF9GSURPX0NFUlRJRklFRCIsImVmZmVjdGl2ZURhdGUiOiIyMDIxLTA5LTIxIn1dLCJ0aW1lT2ZMYXN0U3RhdHVzQ2hhbmdlIjoiMjAyMS0wOS0yMSJ9LHsiYXR0ZXN0YXRpb25DZXJ0aWZpY2F0ZUtleUlkZW50aWZpZXJzIjpbImY0YjY0YTY4YzMzNGU5MDFiOGUyM2M2ZTY2ZTY4NjZjMzE5MzFmNWQiLCJkNWRiNGRkNDhmZTQ2YWZkOGFmOGYxZjdjZmJkZWU2MTY0MGJiYmNjIiwiMzlkMTFjYjFkNmRhOGY2NDZmNTg0ZWVhMTg0MTMzYTAzZDg1YTJjYyIsIjU1NDY0ZDViZWE4NGU3MDczMDc0YjIxZDEyMDQ5MzQzNThjN2RiNGQiXSwibWV0YWRhdGFTdGF0ZW1lbnQiOnsibGVnYWxIZWFkZXIiOiJodHRwczovL2ZpZG9hbGxpYW5jZS5vcmcvbWV0YWRhdGEvbWV0YWRhdGEtc3RhdGVtZW50LWxlZ2FsLWhlYWRlci8iLCJhdHRlc3RhdGlvbkNlcnRpZmljYXRlS2V5SWRlbnRpZmllcnMiOlsiZjRiNjRhNjhjMzM0ZTkwMWI4ZTIzYzZlNjZlNjg2NmMzMTkzMWY1ZCIsImQ1ZGI0ZGQ0OGZlNDZhZmQ4YWY4ZjFmN2NmYmRlZTYxNjQwYmJiY2MiLCIzOWQxMWNiMWQ2ZGE4ZjY0NmY1ODRlZWExODQxMzNhMDNkODVhMmNjIiwiNTU0NjRkNWJlYTg0ZTcwNzMwNzRiMjFkMTIwNDkzNDM1OGM3ZGI0ZCJdLCJkZXNjcmlwdGlvbiI6IkZlaXRpYW4gZVBhc3MgRklETy1ORkMgU2VjdXJpdHkgS2V5IiwiYXV0aGVudGljYXRvclZlcnNpb24iOjEsInByb3RvY29sRmFtaWx5IjoidTJmIiwic2NoZW1hIjozLCJ1cHYiOlt7Im1ham9yIjoxLCJtaW5vciI6MH1dLCJhdXRoZW50aWNhdGlvbkFsZ29yaXRobXMiOlsic2VjcDI1NnIxX2VjZHNhX3NoYTI1Nl9yYXciXSwicHVibGljS2V5QWxnQW5kRW5jb2RpbmdzIjpbImVjY194OTYyX3JhdyJdLCJhdHRlc3RhdGlvblR5cGVzIjpbImJhc2ljX2Z1bGwiXSwidXNlclZlcmlmaWNhdGlvbkRldGFpbHMiOltbeyJ1c2VyVmVyaWZpY2F0aW9uTWV0aG9kIjoicHJlc2VuY2VfaW50ZXJuYWwifV1dLCJrZXlQcm90ZWN0aW9uIjpbImhhcmR3YXJlIiwic2VjdXJlX2VsZW1lbnQiLCJyZW1vdGVfaGFuZGxlIl0sImlzS2V5UmVzdHJpY3RlZCI6dHJ1ZSwiaXNGcmVzaFVzZXJWZXJpZmljYXRpb25SZXF1aXJlZCI6dHJ1ZSwibWF0Y2hlclByb3RlY3Rpb24iOlsib25fY2hpcCJdLCJhdHRhY2htZW50SGludCI6WyJleHRlcm5hbCJdLCJ0Y0Rpc3BsYXkiOltdLCJhdHRlc3RhdGlvblJvb3RDZXJ0aWZpY2F0ZXMiOlsiTUlJQmZqQ0NBU1dnQXdJQkFnSUJBVEFLQmdncWhrak9QUVFEQWpBWE1SVXdFd1lEVlFRRERBeEdWQ0JHU1VSUElEQXlNREF3SUJjTk1UWXdOVEF4TURBd01EQXdXaGdQTWpBMU1EQTFNREV3TURBd01EQmFNQmN4RlRBVEJnTlZCQU1NREVaVUlFWkpSRThnTURJd01EQlpNQk1HQnlxR1NNNDlBZ0VHQ0NxR1NNNDlBd0VIQTBJQUJOQm1yUnFWT3h6dFRKVk4xOXZ0ZHFjTDd0S1Flb2wybm5NMi95WWd2a3NabnI1MFNLYlZnSUVrekhRVk91ODBMVkVFM2xWaGVPMUhqZ2d4QWxUNm80V2pZREJlTUIwR0ExVWREZ1FXQkJSSkZXUXQxYnZHM2pNNlhnbVYvSWNqTnRPL0N6QWZCZ05WSFNNRUdEQVdnQlJKRldRdDFidkczak02WGdtVi9JY2pOdE8vQ3pBTUJnTlZIUk1FQlRBREFRSC9NQTRHQTFVZER3RUIvd1FFQXdJQkJqQUtCZ2dxaGtqT1BRUURBZ05IQURCRUFpQXdmUHFnSVdJVUIrUUJCYVZHc2RIeTBzNVJNeGxrenBTWC96U3lUWm1VcFFJZ0Iyd0o2blpSTThvWC9uQTQzUmg2U0pvdk0yWHdDQ0gvLytMaXJCQWJCME09Il0sImljb24iOiJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUZBQUFBQVVDQU1BQUFBdEJrcmxBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQkhacFZGaDBXRTFNT21OdmJTNWhaRzlpWlM1NGJYQUFBQUFBQUR3L2VIQmhZMnRsZENCaVpXZHBiajBpNzd1L0lpQnBaRDBpVnpWTk1FMXdRMlZvYVVoNmNtVlRlazVVWTNwcll6bGtJajgrSUR4NE9uaHRjRzFsZEdFZ2VHMXNibk02ZUQwaVlXUnZZbVU2Ym5NNmJXVjBZUzhpSUhnNmVHMXdkR3M5SWtGa2IySmxJRmhOVUNCRGIzSmxJRFV1Tmkxak1ERTBJRGM1TGpFMU5qYzVOeXdnTWpBeE5DOHdPQzh5TUMwd09UbzFNem93TWlBZ0lDQWdJQ0FnSWo0Z1BISmtaanBTUkVZZ2VHMXNibk02Y21SbVBTSm9kSFJ3T2k4dmQzZDNMbmN6TG05eVp5OHhPVGs1THpBeUx6SXlMWEprWmkxemVXNTBZWGd0Ym5NaklqNGdQSEprWmpwRVpYTmpjbWx3ZEdsdmJpQnlaR1k2WVdKdmRYUTlJaUlnZUcxc2JuTTZlRzF3UFNKb2RIUndPaTh2Ym5NdVlXUnZZbVV1WTI5dEwzaGhjQzh4TGpBdklpQjRiV3h1Y3pwa1l6MGlhSFIwY0RvdkwzQjFjbXd1YjNKbkwyUmpMMlZzWlcxbGJuUnpMekV1TVM4aUlIaHRiRzV6T25Cb2IzUnZjMmh2Y0QwaWFIUjBjRG92TDI1ekxtRmtiMkpsTG1OdmJTOXdhRzkwYjNOb2IzQXZNUzR3THlJZ2VHMXNibk02ZUcxd1RVMDlJbWgwZEhBNkx5OXVjeTVoWkc5aVpTNWpiMjB2ZUdGd0x6RXVNQzl0YlM4aUlIaHRiRzV6T25OMFVtVm1QU0pvZEhSd09pOHZibk11WVdSdlltVXVZMjl0TDNoaGNDOHhMakF2YzFSNWNHVXZVbVZ6YjNWeVkyVlNaV1lqSWlCNGJYQTZRM0psWVhSdmNsUnZiMnc5SWtGa2IySmxJRkJvYjNSdmMyaHZjQ0JEUXlBeU1ERTBJQ2hOWVdOcGJuUnZjMmdwSWlCNGJYQTZRM0psWVhSbFJHRjBaVDBpTWpBeE5pMHhNaTB6TUZReE5Eb3pNem93T0Nzd09Eb3dNQ0lnZUcxd09rMXZaR2xtZVVSaGRHVTlJakl3TVRZdE1USXRNekJVTURjNk16RTZOVGtyTURnNk1EQWlJSGh0Y0RwTlpYUmhaR0YwWVVSaGRHVTlJakl3TVRZdE1USXRNekJVTURjNk16RTZOVGtyTURnNk1EQWlJR1JqT21admNtMWhkRDBpYVcxaFoyVXZjRzVuSWlCd2FHOTBiM05vYjNBNlNHbHpkRzl5ZVQwaU1qQXhOaTB4TWkwek1GUXhOVG96TURveU55c3dPRG93TUNZamVEazc1cGFINUx1MklPYWNxdWFnaCttaW1DMHhJT1czc3VhSmsrVzhnQ1lqZUVFN0lpQjRiWEJOVFRwSmJuTjBZVzVqWlVsRVBTSjRiWEF1YVdsa09qSkZOekZDUmtaRFF6WTNSakV4UlRZNU56aEVRVGxEUWtJMk5EWXpSamt3SWlCNGJYQk5UVHBFYjJOMWJXVnVkRWxFUFNKNGJYQXVaR2xrT2pKRk56RkNSa1pFUXpZM1JqRXhSVFk1TnpoRVFUbERRa0kyTkRZelJqa3dJajRnUEhodGNFMU5Pa1JsY21sMlpXUkdjbTl0SUhOMFVtVm1PbWx1YzNSaGJtTmxTVVE5SW5odGNDNXBhV1E2TWtVM01VSkdSa0ZETmpkR01URkZOamszT0VSQk9VTkNRalkwTmpOR09UQWlJSE4wVW1WbU9tUnZZM1Z0Wlc1MFNVUTlJbmh0Y0M1a2FXUTZNa1UzTVVKR1JrSkROamRHTVRGRk5qazNPRVJCT1VOQ1FqWTBOak5HT1RBaUx6NGdQQzl5WkdZNlJHVnpZM0pwY0hScGIyNCtJRHd2Y21SbU9sSkVSajRnUEM5NE9uaHRjRzFsZEdFK0lEdy9lSEJoWTJ0bGRDQmxibVE5SW5JaVB6NDc3SlhGQUFBQVlGQk1WRVgvLy84RVZxSVhaYXZHMk9vcWNMRzJ6T09rd3QwQlNKdHFsY1hWNHUrYXV0bFdoYnprN1BVQU1ZOUhjcktqdE5icThmZUFsOGFCb3N6ejl2cGRqc0dHcXRGM244dVRzTlNacGM2SnNOVDUrdjB4WUtudThQZmY1L0w0OGZnL2ZyaWN6SmdZQUFBREFFbEVRVlI0MmtSVUNaYkRJQWpGWFpPWTFUYXROYzM5Ynprc1NZYzNyNE1FNGZNQkFhRDZ6bDh5LzlUT2dldDhkNWpmTjc4YndNL2REQ1JwUjUyMXpYZm9qSEowNUlJeWhCQVVTVkFPTmRHekJZdDJmN0tGcmZrSmFBa0hoOUZaaGNEWEhSa1RLbzlNTGloR2FhdkltblYzcXlFWDBFcHJnei80RHdVRDdrQ0hSbmQ4UUZONDNHbzRVVm1ERGd6YTR3MjdvaXpkQTIrY0srdXVVcGpqbzIreHdjLzQyVzUweDVMR1llREJzUjBIVkl4NXg4aUY2MENibGJURUVrRnIyN2JOREJVVlNxMU9LVlBiRTYyYjNFSDhGcUJnNU9PT0V1YzJ0OFpKaXFNT3VHcCtjS2pnN3dWR2Nlb3pxTjRweGdWUFFrakZZZ2JWSktEVWhEQ2pZcmF3UDVxNEVUZ0M5ZklNUkh0aXRwUWNDdkpPRUxjYk1zUWduY2lSa2xqcHlRanZHNDRqcUJVRVRGaUJpMVBFSXlla096c1crVHk1Y0xIb3M1UitkTVMxTHRTU3hmM2dRSGN6UjJDSTRnTU5wVzRJUkExUU1hNnRKNCtDNnVIdUdFOG1OREl5RnFnL09QL01NVXVlUzZJcThTOTBkQWVCSlNFeS9xS2tLK0JOd3o4Y1lZNGpiNUo2dTRpV0NJMkIxWjU2TFc1a0VjNGhrZE1wc3ZVQzU1ODVTWDBRdWJjZ05xeWZnREZFY1R0KzQwLzBTNU54MHdhQ3czT0trY09iQTVJbjBBWXAwMXBqancybjYyNlVEanRId2EyOGlIdVRLcXRydityZVc0MU5aNmlHbHI3dXVMSkNma0Z0Y3RjRzA0c2dtMWVOUytaYURucGFURXJHb3lYNUpLMmlNejh4czBuT3dXR2NQRE40OXFhQ2Q0YnpKb3pEWm0vYUJLK0Vvekx3K1hoTkJpWXdIZjBzaU91MVhQa0cvekt3dnFZS2NmU3dERWNIL29VZTA3ZXMvV1E4ckl5ZzJET1hqOHRqa1pkdURCL2I4aHpEbGxNTU9DUzVCRW5kNTM0Zjh0aTNVWmM0a01zM3hMeWFmTVNzSmhkRzhYUHFqTms1dEFnTzI1ZmVLQ2huVmREai9KMEZNa09zVS94TUJ2MHdGaFllRUdmVkgxM2Z1RFUweURGTGE0ZmM3Um5XSEJmdVRGVjJ0RW1Od2FkYzdhYzNVWTJqZkJsN0hUMzZmZTM0aVFPNW1OQ0ZGQlcwN0tqUGdxaE9MVTAxdlo4UHVlWjJKQ2xGWk44amtVczY5dWthOWVQcDYrRWZMNEFGNStOeXdTYmlySHRjQjhNbC9na3dBRWprSzY0S2pIUGVBQUFBQUVsRlRrU3VRbUNDIn0sInN0YXR1c1JlcG9ydHMiOlt7InN0YXR1cyI6IkZJRE9fQ0VSVElGSUVEIiwiZWZmZWN0aXZlRGF0ZSI6IjIwMTgtMTEtMDgiLCJjZXJ0aWZpY2F0aW9uRGVzY3JpcHRvciI6IkZlaXRpYW4gZVBhc3MgRklETy1ORkMgU2VjdXJpdHkgS2V5IiwiY2VydGlmaWNhdGVOdW1iZXIiOiJVMkYxMDAwMjAxNTEyMjEwMDEiLCJjZXJ0aWZpY2F0aW9uUG9saWN5VmVyc2lvbiI6IjEuMC4xIiwiY2VydGlmaWNhdGlvblJlcXVpcmVtZW50c1ZlcnNpb24iOiIxLjAuMSJ9LHsic3RhdHVzIjoiRklET19DRVJUSUZJRURfTDEiLCJlZmZlY3RpdmVEYXRlIjoiMjAyMC0xMS0xOSIsImNlcnRpZmljYXRpb25EZXNjcmlwdG9yIjoiRmVpdGlhbiBlUGFzcyBGSURPLU5GQyBTZWN1cml0eSBLZXkiLCJjZXJ0aWZpY2F0ZU51bWJlciI6IlUyRjEwMDAyMDE1MTIyMTAwMSIsImNlcnRpZmljYXRpb25Qb2xpY3lWZXJzaW9uIjoiMS4wLjEiLCJjZXJ0aWZpY2F0aW9uUmVxdWlyZW1lbnRzVmVyc2lvbiI6IjEuMC4xIn1dLCJ0aW1lT2ZMYXN0U3RhdHVzQ2hhbmdlIjoiMjAyMC0xMS0xOSJ9LHsiYWFndWlkIjoiOWM4MzUzNDYtNzk2Yi00YzI3LTg4OTgtZDYwMzJmNTE1Y2M1IiwibWV0YWRhdGFTdGF0ZW1lbnQiOnsibGVnYWxIZWFkZXIiOiJodHRwczovL2ZpZG9hbGxpYW5jZS5vcmcvbWV0YWRhdGEvbWV0YWRhdGEtc3RhdGVtZW50LWxlZ2FsLWhlYWRlci8iLCJhYWd1aWQiOiI5YzgzNTM0Ni03OTZiLTRjMjctODg5OC1kNjAzMmY1MTVjYzUiLCJkZXNjcmlwdGlvbiI6IkNyeXB0bm94IEZJRE8yIiwiYXV0aGVudGljYXRvclZlcnNpb24iOjIsInByb3RvY29sRmFtaWx5IjoiZmlkbzIiLCJzY2hlbWEiOjMsInVwdiI6W3sibWFqb3IiOjEsIm1pbm9yIjowfV0sImF1dGhlbnRpY2F0aW9uQWxnb3JpdGhtcyI6WyJzZWNwMjU2cjFfZWNkc2Ffc2hhMjU2X3JhdyJdLCJwdWJsaWNLZXlBbGdBbmRFbmNvZGluZ3MiOlsiY29zZSJdLCJhdHRlc3RhdGlvblR5cGVzIjpbImJhc2ljX2Z1bGwiXSwidXNlclZlcmlmaWNhdGlvbkRldGFpbHMiOltbeyJ1c2VyVmVyaWZpY2F0aW9uTWV0aG9kIjoicGFzc2NvZGVfaW50ZXJuYWwifSx7InVzZXJWZXJpZmljYXRpb25NZXRob2QiOiJwcmVzZW5jZV9pbnRlcm5hbCJ9XV0sImtleVByb3RlY3Rpb24iOlsiaGFyZHdhcmUiLCJzZWN1cmVfZWxlbWVudCJdLCJtYXRjaGVyUHJvdGVjdGlvbiI6WyJvbl9jaGlwIl0sImNyeXB0b1N0cmVuZ3RoIjoxMjgsImF0dGFjaG1lbnRIaW50IjpbImV4dGVybmFsIiwid2lyZWxlc3MiLCJuZmMiXSwidGNEaXNwbGF5IjpbXSwiYXR0ZXN0YXRpb25Sb290Q2VydGlmaWNhdGVzIjpbIk1JSUNXVENDQWJxZ0F3SUJBZ0lHQUlGRFVYUXBNQW9HQ0NxR1NNNDlCQU1FTUU4eEN6QUpCZ05WQkFZVEFrTklNUTh3RFFZRFZRUUlFd1pIUlU1RlZrRXhGREFTQmdOVkJBb1RDME5TV1ZCVVRrOVlJRk5CTVJrd0Z3WURWUVFERXhCRFVsbFFWRTVQV0NCU1QwOVVJRU5CTUI0WERUSXdNRFl4TkRBd01EQXdNRm9YRFRRNU1USXpNREl6TlRrMU9Wb3dUekVMTUFrR0ExVUVCaE1DUTBneER6QU5CZ05WQkFnVEJrZEZUa1ZXUVRFVU1CSUdBMVVFQ2hNTFExSlpVRlJPVDFnZ1UwRXhHVEFYQmdOVkJBTVRFRU5TV1ZCVVRrOVlJRkpQVDFRZ1EwRXdnWnN3RUFZSEtvWkl6ajBDQVFZRks0RUVBQ01EZ1lZQUJBRUp0bXJNWWM0OG5QU3AwUlJtRXdUMlU1YXEwRDFiM1VSTHBtSlAyNzdJbUVYS0VialZRQThQM1V5VGRaaW5FTFRRNWc2RStsbk4zR2hVV2lmMi9WbVNiUURudTlmK2VieUlaZkJhYm9zS0szU1FWdjRLbXVQOXBiMGY3UDJ2TVBBVUZKTlp2S2VIMURQdGFaa0Z5Yk1LWnNnOENKRXM3QTlLVzNSSS84UURwTjFuSjZNL01EMHdEQVlEVlIwVEJBVXdBd0VCL3pBZEJnTlZIUTRFRmdRVVVuZkxPRERha3UxbzhDU3V3V2ZXeWxqNE92QXdEZ1lEVlIwUEFRSC9CQVFEQWdFR01Bb0dDQ3FHU000OUJBTUVBNEdNQURDQmlBSkNBS2Q4RGVOaGJQZXlmaDdVRDNNOWxQcDVhNzdNMUxtQzJNMm83elJpSGxlUHQrWGNyL0kveEdLMTI0Z0V1SGpiT2Z5YW5yZTYzRU1UdVZXOHRzNWtSOTA2QWtJQmdTSWhKb0VOa01WRmJlTVJVRG5EdGJ2K2dLaStodHFPUkd5c2lkNXNnMlZ2Q1g5UWZuVXFCS3RaVlVCZVFWUGszRTVHVUVhbUxrNGpsamR2bERHU1hwVT0iXSwiaWNvbiI6ImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBRUFBQUFCQUNBTUFBQUNkdDRIc0FBQUJoV2xEUTFCSlEwTWdVSEp2Wm1sc1pRQUFLTStWa1QxSXcxQVVoVTlieFNJVk80aUlPR1NvTGxxUUtpSTRXWVVpVkNtMVFoV1gvTlMyMEtRaGFYRnhGRndMRHFLTGY0dWpreTRPRHE1T2dpS0lrNE83NktJbG5wZUlMZElPUGtqdWw4TzlKKytkQi9qUFM2cHVkNHdEdWxHeDBvbTRsRjFkazdwZUVFSVEzUmpGakt6YTVtd3FsVVRiOVhFUG42aDNVZUdGLzYwZUxXZXJnRThpTDZtbVZTR2I1S25OaWluNGpOeW5GbVNOZkVVZXM3aEI4cXZRRlkrL0JPZGQ5b2NGVzVuMEhEbENEdWViV0dsaXRXRHA1RWx5Uk5NTit2dXpIbXVDdDhneHZWUlZmL1lwVGhqS0dTdkxRdWN6aEFRV3NJZ1VKQ2lvb29nU0tvaXlHbFNTYnMxQmhzVXZHMmwyeDVseGE3OUIxeTlGRjRVdVJhaWNtVWNaT3VlRkQ4U2QvTTNhM3BpSWVVNGhPbmMrTzg3Yk1OQzFDOVJyanZONTdEajFFeUR3QkZ3YmpmbnlFVEQ5VHIzVzBDS0hRTzgyY0hIVDBKUTk0SElIR0hnMFpVdit2UzMrMjh1Tkt5QmVwdzlBaGxrbGI0SDlBMkFrVDYvMU51Y01OdWZXcHFmZjdXbVpIL0FOaGN0MFNPd2g1cEFBQUFMQlVFeFVSZi8vLy92NysvSHg4ZXpzN092cjYrM3Q3ZlQwOVA3Ky90emMzSjJkbldscGFUNCtQaU1qSXhZV0ZoQVFFQThQRHhFUkVSb2FHaXNySzA1T1RueDhmTFcxdGQzZDNZR0JnUUFBQUFnSUNFbEpTYUtpb3ZEdzhOVFUxRmxaV1FvS0NnY0hCeDRlSGtORFExNWVYbTF0YlhCd2NHcHFhanM3T3hjWEZ3VUZCUmtaR2VucDZXdHJhMkppWXF5c3JPTGk0dno4L05uWjJaNmVubEpTVWcwTkRSTVRFNHVMaS9iMjlyUzB0QjBkSFFJQ0FqWTJOcWFtcHZQejgrL3Y3OVBUMDgzTnpkYlcxdVhsNWZMeTh1cnE2cEdSa1NRa0pERXhNY3pNelAzOS9YcDZlaWNuSjY2dXJxZW5wMk5qWXk0dUxnRUJBUU1EQTdpNHVQbjUrWk9Ua3hRVUZBd01ESmFXbGxkWFYzbDVlZlgxOWN2THkxOWZYd3NMQ3hnWUdPVGs1T2JtNWxSVVZIRnhjZnI2K2sxTlRicTZ1aDhmSDRPRGc0aUlpSDkvZjJkblp6OC9QeElTRW9tSmlmZjM5NCtQajVTVWxGaFlXQ2twS2RyYTJqSXlNbzZPanZqNCtMNit2bWhvYURRME5MR3hzWDE5ZmJhMnRvV0ZoUlVWRlpDUWtNckt5aHNiRzl2YjJ6azVPWWFHaGxOVFV6QXdNQ0VoSVNVbEpUbzZPbVZsWmFHaG9lZm41K2pvNkdCZ1lISnljaHdjSE1IQndjZkh4MUJRVUlLQ2dscGFXdC9mM3pVMU5WVlZWUVFFQkZ4Y1hPN3U3dERRMERNek0rSGg0YUNnb0VwS1NydTd1NUtTa3RmWDE4VEV4TWJHeHQ3ZTNrUkVSRlpXVnF1cnF3a0pDWmVYbDNoNGVLaW9xRHc4UExLeXNvMk5qU0FnSUZ0Ylc3Ky92MGhJU0ppWW1NN096blYxZFl5TWpKK2ZuNXFhbWtKQ1FsRlJVYnk4dkdGaFlRWUdCbk56YzgvUHo0U0VoTkhSMGIyOXZabVptYm01dWRMUzBpWW1KaTB0TFE0T0R1RGc0RGMzTjdDd3NNREF3R1ptWmlnb0tFWkdSc25KeVRnNE9KV1ZsVXhNVEtTa3BLT2pveW9xS29lSGgrUGo0Nm1wcWRYVjFVZEhSOGpJeUp1Ym0xMWRYYk96czNSMGRHOXZiMjV1YnJlM3QwVkZSVXRMU3lJaUlxV2xwVUJBUUNyQTNOWUFBQUFKY0VoWmN3QUFMaUlBQUM0aUFhcmkzWklBQUFVaFNVUkJWRmhIN1pmclg1UkZGTWZQSXZCWTRzcGx0ZDhhQVJvb2l4Y1d4TlFIVVdRTmVTVGRaMTFEQWxjbHZMdVNOMWJOQkFXRk5OSE12SkMzc2lRdlhkQVNMNWttcGltVzJVVkx5N1NzelA2S3pyTU0rcUhQc3d2N3B0NzRmVFh6bXpQem5Ea3pPK2NzUGVRL3dCRFVJVGdrVkJLOXdKQTZQdkpvcDdET3hpN2hFWkZScHE1QlFtNHYzUjZMUkN2TTNSK1BGbU50SXowUkU2dE5pdXZSODhuNGhGNHh2Uk10V2pmSjFFY1l0RUZ3M3pnMlQrelhQN2xsODlhVTFBRnByQTE4YXBCUS9DQU5IZ0xJNlVNenVHMGRsanc4YzBTV1RWdG81TlBadk1Tb0hLK1JINVRSN0c3dU13YWlZV1BHMnNOVm51VG9uSjR3emtrVU92NVpJRytDTVBSQlJqNXYvYmtDa2dvbnVuanVmZFJKcHNsRVU0cFVxTThYQzFzOUJrM2x6VStUcUZ1K0ZqYkg5S2lFR1RObnpaN1RSWFBFUGJlRURDOVlvTTRUeGpvVXp3Y1dMQ1REUEk2WXVxaDBvWkRKczNnSmU0K2x3NGxlTkhieWZaelNNaFc1a3lrNm54MU5mOG5ycWVJcGNYclBJbmg1R1pCV2JxVVZJVnBYbjY0V3JLeWdrWlVjcWxLZXJ1U3NXbDFWUGVUbE5XdGZXY2VqTmV0bHFCdVVabE5kT3J3SzgwYUs3ZzFVODJHVnBOb2RXdmk4eEJhOUpsR0JIZGhrRmNaNjlBVmVKOXJNWWRoQ2xMbFZtMmdlTlhWYjk4aGFibG5lV0xjV1dMUmQyT3F4dzR5ZEhwb0FoTzBpYWJjWmNHMGUxM3p4Z3ZxL3lZZkN0M3NJcit5YkdNaHZVVGMzOHRqL1BSYkltOTRXQTR6eXpsTDJJbSt2Nk9wU1o4RzdWdHJuUGViOXRUaHdzUFVyNEhuUFlYbGZ0UFV4UVIxTWhSWjg0S1FVTjh3ZkN2ayt5cGg2dncrTEp4ZUhESFFZK0lpVWp5RWZFWEw3YVZCeGxHcnlVQ25SWUJtci9SMjNQc2UwYng4SFRwRHlDY3dWUWcyQWszQ0hjQWhqa3lsRnhub2hCa0lZRmtuV1E2aVMyQmYxVXlFR2dDMFA4eW5MaFZORVV4RnVFMm9BMUozR1ozUkdSU01wWWRncXhFQTQ2OEFNK2h3NFIwRmxPQ25FUU1pVU1aUE9BOGRwdXhzeFFneUVMeHo4UzF3TUhDRmJHYUtFR0FnY2d3VGFvZklxMGdWRUNqRVErQlNLYUlvTEU0bUs0TW9TYWlCazQ2S2tWTU11YVM5Q3FoQURvUWhOZldnK1lpL1I1RGg4NmUvaDhrRXBNRTc3TFp3amFSdndsVkFEWUxnRHZhaFBHdElseW9sRDlVZ2h0NS9paTBqeVNJZWhYaWI2R29qaTVQaHZyRHRFUTUrWndCaktxVVZ2SjIyL0FwenlDUDArS2QrWXZ4Vk5YV3BjK0s2WThxRit6dyswRzdoYUl3YWFDVzFzNGxlOVFQUjBpWWU2WDN1VjA5alRqUU9CSHRjZWJNUDV3d1V0VFdDVzZPdVM3RVoyTktXcXlON0ZQeTZlb1A1WVB5S1VNNmJ0YkdNWXAyZmo2SEFjV0NHTWRia094RXRTUDhCK2cvUGNiQzJ4T1NJdXBrZE9rclhXK2kwMEQxcnE4WTF6SitTZnFJUkxoT25haHhyMlBTZ3hqS2QrWnNWNnM0MU5uRW1EOFJmS3VNcDUvQmhuWituR3JkdFZpVTBSUzhkZTA4cXp1Z0xxNklhcnNObFduOTBPSko2bGtyN3M4ODVmVzEvbkRyT2FmaU82cGZyZmhHSlNrWGlabEtHSlhLalpTeXRhcXFIUXZmRmNvWmd6eWNEZWNRYjNqZlVPSitVVENtVXRPYzA3cjgwZGNIUnUvZkxmYjY3VTRwQjAwRU1HRTQ4M0NHTmRyQ1l1UTdZbEUxWGNpZEJtdGVDd2o3ZVJ0TGVTajdPbi82d2puZURZbDlYeitkdisyTERHNkpCbHVUYnBabU1oN3libE5ydlZWTjZ5TDU4MFZQRVhWMTduMjhTRTFLVmMwbXBXS3I0Y3cwV0d2S25PSy9zbnROSElTN2orTE0rME5WOW1aL0Q1bzFmNFhxbFZYZHY1MHR4STBKYmc2N0JnVHRUSnUydiswaUxLSjN1dlRlOGZFTHluOG9CM2xrQXR1NzFZNTRud2gzVHBYdnpmMDduV1F0NkZ1OHVtdGYvZlJpc1U2NkFNajlWdmFmT1EveG1pZndEa25VNjVQcXZEWWdBQUFBQkpSVTVFcmtKZ2dnPT0iLCJhdXRoZW50aWNhdG9yR2V0SW5mbyI6eyJ2ZXJzaW9ucyI6WyJGSURPXzJfMCIsIlUyRl9WMiJdLCJleHRlbnNpb25zIjpbImhtYWMtc2VjcmV0Il0sImFhZ3VpZCI6IjljODM1MzQ2Nzk2YjRjMjc4ODk4ZDYwMzJmNTE1Y2M1Iiwib3B0aW9ucyI6eyJyayI6dHJ1ZSwiY2xpZW50UGluIjp0cnVlLCJ1cCI6dHJ1ZX0sIm1heE1zZ1NpemUiOjYyOSwicGluVXZBdXRoUHJvdG9jb2xzIjpbMV0sIm1heENyZWRlbnRpYWxDb3VudEluTGlzdCI6MTYsIm1heENyZWRlbnRpYWxJZExlbmd0aCI6NDgsInRyYW5zcG9ydHMiOlsibmZjIl0sImFsZ29yaXRobXMiOlt7InR5cGUiOiJwdWJsaWMta2V5IiwiYWxnIjotN31dfX0sInN0YXR1c1JlcG9ydHMiOlt7InN0YXR1cyI6IkZJRE9fQ0VSVElGSUVEX0wxIiwiZWZmZWN0aXZlRGF0ZSI6IjIwMjEtMDEtMDIiLCJ1cmwiOiJ3d3cuY3J5cHRub3guY2giLCJjZXJ0aWZpY2F0ZU51bWJlciI6IkZJRE8yMDAyMDIwMDgwMzAwMSIsImNlcnRpZmljYXRpb25Qb2xpY3lWZXJzaW9uIjoiMS4zLjciLCJjZXJ0aWZpY2F0aW9uUmVxdWlyZW1lbnRzVmVyc2lvbiI6IjEuMy4wIn1dLCJ0aW1lT2ZMYXN0U3RhdHVzQ2hhbmdlIjoiMjAyMS0wMS0wMiJ9LHsiYWFpZCI6IjRlNGUjNDAwNSIsIm1ldGFkYXRhU3RhdGVtZW50Ijp7ImxlZ2FsSGVhZGVyIjoiaHR0cHM6Ly9maWRvYWxsaWFuY2Uub3JnL21ldGFkYXRhL21ldGFkYXRhLXN0YXRlbWVudC1sZWdhbC1oZWFkZXIvIiwiYWFpZCI6IjRlNGUjNDAwNSIsImRlc2NyaXB0aW9uIjoiVG91Y2ggSUQsIEZhY2UgSUQsIG9yIFBhc3Njb2RlIiwiYXV0aGVudGljYXRvclZlcnNpb24iOjI1NiwicHJvdG9jb2xGYW1pbHkiOiJ1YWYiLCJzY2hlbWEiOjMsInVwdiI6W3sibWFqb3IiOjEsIm1pbm9yIjowfSx7Im1ham9yIjoxLCJtaW5vciI6MX1dLCJhdXRoZW50aWNhdGlvbkFsZ29yaXRobXMiOlsicnNhX2Vtc2FfcGtjczFfc2hhMjU2X3JhdyJdLCJwdWJsaWNLZXlBbGdBbmRFbmNvZGluZ3MiOlsicnNhXzIwNDhfcmF3Il0sImF0dGVzdGF0aW9uVHlwZXMiOlsiYmFzaWNfc3Vycm9nYXRlIl0sInVzZXJWZXJpZmljYXRpb25EZXRhaWxzIjpbW3sidXNlclZlcmlmaWNhdGlvbk1ldGhvZCI6InBhc3Njb2RlX2ludGVybmFsIiwiY2FEZXNjIjp7ImJhc2UiOjEwLCJtaW5MZW5ndGgiOjQsIm1heFJldHJpZXMiOjUsImJsb2NrU2xvd2Rvd24iOjYwfX1dLFt7InVzZXJWZXJpZmljYXRpb25NZXRob2QiOiJmaW5nZXJwcmludF9pbnRlcm5hbCIsImJhRGVzYyI6eyJzZWxmQXR0ZXN0ZWRGUlIiOjAuMCwic2VsZkF0dGVzdGVkRkFSIjowLjAsIm1heFRlbXBsYXRlcyI6MCwibWF4UmV0cmllcyI6NSwiYmxvY2tTbG93ZG93biI6MH19XV0sImtleVByb3RlY3Rpb24iOlsiaGFyZHdhcmUiLCJ0ZWUiXSwibWF0Y2hlclByb3RlY3Rpb24iOlsidGVlIl0sImF0dGFjaG1lbnRIaW50IjpbImludGVybmFsIl0sInRjRGlzcGxheSI6WyJhbnkiXSwidGNEaXNwbGF5Q29udGVudFR5cGUiOiJ0ZXh0L3BsYWluIiwiYXR0ZXN0YXRpb25Sb290Q2VydGlmaWNhdGVzIjpbXSwiaWNvbiI6ImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBRWdBQUFCSUNBWUFBQUJWN2JOSEFBQUFBWE5TUjBJQXJzNGM2UUFBQUJ4cFJFOVVBQUFBQWdBQUFBQUFBQUFrQUFBQUtBQUFBQ1FBQUFBa0FBQUZKYnVKMkVrQUFBVHhTVVJCVkhnQjdKWXhiaU5IRUVVRkoxNFlDNWpKQWdzbkhzT09IUEVBQzJoeUIrSU5OS0V6TW5TbXVjQmllUVB5Qm1MZ25MeUJlQVBTSjFqZWdINmY2aHFVeTlQYVhnMEpPK0FBWDkxZFZWMzkvNS9tUURmSDQvSG1pcndIVjNPK2NFR3VCbDBOeXY5OFNqNHQxeHQwdlVIWEczVFJYOEdnNWpjRG41OS9yTDRESDhBTWJCeFd6RnZ3RzNnLzhKaGhHa3MrVkxtYTF4Skg5QVRJaEdNaFpGN3oydk55L0V2aXc5ejlTc2FJck1HKzBKUSs4N1IzOHBYSER0Tlk0bUt1cHBRb29rWmdIb3hacy80RXB1RDJCU2l2T3RXYmFicDlvOUx6Yy94TDRzUGNMV0NJa0Fwc3dXY2dvYmQ5MjRpcnJuWVl4enB5TXZvT0xNQmY0RjgxY1kvV0pVYmthb1p0N21QalloSUEvZ1IzTG56RFdtYk13QXJzZ2QyTXZsSDVEV2hCWndoem1mVTcrTlgzN3B2bnhKZkVMMllReE4rREQwYVl1UVRKbEMzb002STBkbUQvSEZTdTl6dWI5NDBsUnVScUxtSVE1TDgxb2hJQzlQWWxyTlNFMGpyZHJGcG5NWDVqWjhZeEo3NGtmaEdEakNDa1p5Qm56STdjQWt6QkxhaHNuNDBwcm0rT3ZsMVBJR2ZjaXR3UHRpK09KVWJrYWk1aUVHVEhZTnNqNkRNeGllMitKVkhNUzJ2MjZUWk9nY3lOWnVsRjlQYk5pUytKbjkwZ1NPby9ZNUgxQW1UTUF4aDVBN1FHTlppQkZzekJCcXpTV3JFSnFQdyt6WW5kZ3gwNEJ2d1VhMHVNeU5XYzFTQ0l5cHhJK0pGWVphU1pqMEFEWkVTc2ZXbTlwMzRKYXV1bGtiVnVsRjZBN2QzNHZPWTU4U1h4WVpzZEV3aStkU1JGVnFRYlZ5SXhMVGdBRS9QYWNlOTdNNi9Bayt0YiszTkxqTWpWbk5PZ3BTTW9jN3J2Z2VaZzYvTFJtRFU1NGNIaE1jWFU2NWlCak9yTVlQNHAxVzMrVndaQjZ2dEVURUlreUp2VHNJNjNSalVMMFB0ZnRSZW51ZnFCS1hnQ2ZXYk5pWisrYjR3NlR6VzE5Y25kanBMNFdXNFFaR2FKVko4NVVaQ00rY2ZIMm9Sb2xEQ0RqOXVjbk14YWc5aDNTOHlidExROUpVYmthczVsa01pSmNHT2tORTh4RXlMemFzdHJaRDFLZFN2R1BiQmFQeDZJSzY5K25iSE1hN0FEc1hhY2VuZjFPZkVsOGNFR1FYQ2NTRDZhZU5ZaTU0bkhtMVdSWDRZYVg1K2J5eXp0cTVJSkkrYUwwRWMxWnRJdnFpc3hJbGN6YkRPSFEyWUc5RzJ3NnoxbTdnVkdjMVF2RWI3bU5mTlc0dlhRNnlIMDI3UHVibHRPZkVuOEhBYk5qUXlqelBIaW96bDYrOUVNMVN6QUhUaTkrV2ZaSitGVmlpdXZ1cmgzUTh4ZVRCUHlHK3RUWWtTdVpyQkJSa0pFd1RhUTdBUVRseGd2VUlMdlFmZW1tY3ZnR1dnVGF1dXZrWmpxbzFFNjAweGFNUGRudE5xWEUxOFNIN1pacDZjSFl0R2N4dVdXZ2ZpamlWSU44d25ZaHhvdlZQdXJWRHRpcnYwKzcwMWFoOXpiRWlOeU5XY3hDRUxSZ0ZaaTlKQ2JCY0tMNTh6ejM1NjlYbmljejIwdis2YWg3MFk1WWpMUTM3SW1KNzRrUHNnZ2lMd0JLK0NGZEFZUWIwTHVpYlg5SENSa0cvTHFvNXAxZ2hkcVoyaVA5WWo5VHdhUzkvRk5pUkc1bXFFR2ZZU01FZGZvelJtSDNKZk1VWDVzTjhSR1l2ZGdGM3A1a3hZaGQrcEJiSjNpLzZsQkcwY3Vtbk53T2QyRVRqeHpDVHc2K0wwVjhTVlE3em5RZWdTaUVWdG5vc3kxZnFjNDY3SEZjcmVqSkQ3MEJrbUVpRDA0c2lKMk1IS00wUnlKTnpFYXZUbHR5Rmxkby82cURmbDVpbmRtcEx6VnI3VXVNU0pYTTlTZ1B5QlFpYVFlNWczdzVraGdjMG8rNTVlc1RiUkdiMDdNK2JxdWovYUVIclg2RS9QNzl5bFdxelludmlRK3lDQ1JzQWNpODBCY04yZmk4bDVBTktjTmUvV1RlUUM3RUIrckg3RytuMVFWYWs5bnE3YkVpRnpOM3dBQUFQLy9YOUxsUHdBQUJQTkpSRUZVN1ZxN2ppTlZGQndrSkJDc3RCMFFFZXkySUdTRHpwYU1Ec25XTWNsMlNMQ1NIUkJzTnY0QXhEZ2lRbkwvd1hSQVBpM3hBVGI4Z1AwSDIzOHdWTFZQbWRvcno0TngwRzNKVjZvNTk5WTU1L3BVeloxWmFUVVh0N2UzRjAvRkJkYTNML01DV0FPM2hnL2ttZWZDZm1ZNTFxMkFMSExWUGJrc2FuWDNsbjFBa2ZSVWNWZHRmQlBjN0tuNjJQZGtjOWlNWWQ3WlFCSkI4VG1INDhMZWgwN05vZERPN3RnYnQrdmVmd05vdU81ZkhMaDNHMXhxWEk2K2ZFaURXaHVjQXE2QS9tVWNFUEdRT1RTQmdpWUE3eVhtUUJWUkJqSG1BZWNtOFprMFdmeU0zSkFHTlRITUJySGtNRnpZWjBBYk9RM0x3WHZ6RVBtZDdwSjhHYjJxdnkvV1VWdmJIVTF3TStOYWNrTWE5QjdEWEhJSUxaeExJQlh2NWxRSDhwWDE4eVhkWjQ1eWVYeVd6b3daVUNUOXo0WTA2RE1UeG9HYlpEZ092UVQwY21pT0M2SVpFOTNCaURQdm1RS1h3Qld3QWJ4SCswWFVlNzYvSytsNVBaaEJKcWpHVU9tcm9aQXBhN2l3WjQzRU1kS2NZcGU5L3l2cVNtQUZlUCtXWGVEOFhwbm1YRG1ZUVJqdXkyUm9DYUNZWGp4aURxeVR1by9NUVc0Q1VGUnI0R3VzZ0V6MlliOEU5Qm40TjdnM2lEWGkxc0hOakNzR015aUcyZGd3RlA2V1BCZjJITFN6UElYUXZGNDBZZ2xzQVFtOEt5NnNaeG4xcS9pTTNQdUQ0NzI2S3h2YUlBNi9BZHdZRHRqYWtCcjJpZ0s0a0dPZitNZkVOZXI3VjdtNzRiK3Z5VDE5VFhDOWlVTWI5RnlqWXFpN2pPSExtbGhkbllqcURRYVhzd1l4QTk0QVM4RE42NWpUUFlyZytDcFZWNUlQYnNIOW9BYkZNRDloSUg2SE5hVEhKZmk5S094VGMvYXZpbmVsQy9VbFFJTjFaM3VncHJWOHlUek81QXJ1eDJCUWJRTkt5QTI0a2dOeVljOVh3YUdWWjZ6NjVDNWY0ZHhFRGVQRWNnWE9idEsranpYUm8zdG53ZldSK3pFWVZHSklEWGlOZmNuQnRIQ2VBSjNWN00wQmx3R3BjYnFyWVo3M0lQSU84VnZkSFRudm53ZFhNbklOYmhDSHdQQy9BRG4zV2ppWGdBOVBnWHdKRldzUWFjNGFrUEJEc1dZdEYrcHVyTlpmbUg5R0ZiWFBHTGxHWWRCdWxGNUVBUkVMWUd0aUpId0ZybUF0WW1vT2pac0NlVVQxTUpiUlUyRXZma0dPQzF4cmZObVQ5bVUwQm1ISWYyeFFDV0hzeFd0bW5HbmkybXFaNzQyem1wbmxHL0k0NThhMVZyczF2aFN2T0NhRFNodVV4bXdBdm9wTXcySS9BVHBBQnU3TkFjZCtyMld1cjdOKzlYVUhPT1krRjY4NEdvTTRFQWI4RGJnQ0NnMFlQTVczZ0FReXVqbDE1Rnk0MStkeHo3N2Y3aFgzTjdsMGpjb2dIdzZDQzRBL0t1c1FMeUdNS3lCblBTSnJQTmUvSW5CdVVJWXpvYm8yZXVmR3ZTS1hydEVaaElGZkFWc2JYS0lZK1dxbUVvRjlsZFRObVFQblpud0libUsxVFhEcjRCWThIMXFqTTRoRFl1aFUrQWJjSmRDL2pxaVpoVGdhUnl3bEVQdTU1ZXFvcjQxamJ4N25hL1VkaXFNMEtBVDlEQUg4ZmZUR0I4YzVBeHBBeHFUbUZFbXVqSjdPZUpvekIvaWp1amZkUDBmNzBScWtBUlVwSkVTNTBOUWMxbXdCbWRlL0Rwd1h4alhZcys1UFJ0MS9WeHk5UVJEeEF2Z2Q2QUFKVjV4S0dISVV2YmFhVFhDRmNlemppL3BSZlEvRjBSdEVBUkNVQXplQWpPRStsempzYVVKbmVmNHlKNWNCYStOL3hmNEw5VDBtbm9SQkVnSnhyNEh2ZFdiRWVRYklPRVkzcDQwY3VlazNMMTUrNHIyUDJaK1VRUzRJZ3I4Qy9nZ0RaTkFHWjcyY3Y3Qy9CdDRDejczMy8reFAxaUNKaEhqK0dQMEFmQWQ4R3ZoYStXUGpZQVlkODhHbjBudlUvNVdjaXNoajVqd2I5TUNmLzV3Tk9odjA5RDhRNDQvbStRV2RYOUJ4TCtoZlV3VFl5UkNhclo4QUFBQUFTVVZPUks1Q1lJST0ifSwic3RhdHVzUmVwb3J0cyI6W3sic3RhdHVzIjoiTk9UX0ZJRE9fQ0VSVElGSUVEIiwiZWZmZWN0aXZlRGF0ZSI6IjIwMTgtMDUtMTkifV0sInRpbWVPZkxhc3RTdGF0dXNDaGFuZ2UiOiIyMDE4LTA1LTE5In0seyJhYWd1aWQiOiJjNWVmNTVmZi1hZDlhLTRiOWYtYjU4MC1hZGViYWZlMDI2ZDAiLCJtZXRhZGF0YVN0YXRlbWVudCI6eyJsZWdhbEhlYWRlciI6Imh0dHBzOi8vZmlkb2FsbGlhbmNlLm9yZy9tZXRhZGF0YS9tZXRhZGF0YS1zdGF0ZW1lbnQtbGVnYWwtaGVhZGVyLyIsImFhZ3VpZCI6ImM1ZWY1NWZmLWFkOWEtNGI5Zi1iNTgwLWFkZWJhZmUwMjZkMCIsImRlc2NyaXB0aW9uIjoiWXViaUtleSA1Q2kiLCJhdXRoZW50aWNhdG9yVmVyc2lvbiI6NTAyMDAsInByb3RvY29sRmFtaWx5IjoiZmlkbzIiLCJzY2hlbWEiOjMsInVwdiI6W3sibWFqb3IiOjEsIm1pbm9yIjowfV0sImF1dGhlbnRpY2F0aW9uQWxnb3JpdGhtcyI6WyJlZDI1NTE5X2VkZHNhX3NoYTUxMl9yYXciLCJzZWNwMjU2cjFfZWNkc2Ffc2hhMjU2X3JhdyJdLCJwdWJsaWNLZXlBbGdBbmRFbmNvZGluZ3MiOlsiY29zZSJdLCJhdHRlc3RhdGlvblR5cGVzIjpbImJhc2ljX2Z1bGwiXSwidXNlclZlcmlmaWNhdGlvbkRldGFpbHMiOltbeyJ1c2VyVmVyaWZpY2F0aW9uTWV0aG9kIjoicHJlc2VuY2VfaW50ZXJuYWwifSx7InVzZXJWZXJpZmljYXRpb25NZXRob2QiOiJwYXNzY29kZV9pbnRlcm5hbCIsImNhRGVzYyI6eyJiYXNlIjo2NCwibWluTGVuZ3RoIjo0LCJtYXhSZXRyaWVzIjo4LCJibG9ja1Nsb3dkb3duIjowfX0seyJ1c2VyVmVyaWZpY2F0aW9uTWV0aG9kIjoibm9uZSJ9XV0sImtleVByb3RlY3Rpb24iOlsiaGFyZHdhcmUiLCJzZWN1cmVfZWxlbWVudCJdLCJtYXRjaGVyUHJvdGVjdGlvbiI6WyJvbl9jaGlwIl0sImNyeXB0b1N0cmVuZ3RoIjoxMjgsImF0dGFjaG1lbnRIaW50IjpbImV4dGVybmFsIiwid2lyZWQiXSwidGNEaXNwbGF5IjpbXSwiYXR0ZXN0YXRpb25Sb290Q2VydGlmaWNhdGVzIjpbIk1JSURIakNDQWdhZ0F3SUJBZ0lFRzBCVDl6QU5CZ2txaGtpRzl3MEJBUXNGQURBdU1Td3dLZ1lEVlFRREV5TlpkV0pwWTI4Z1ZUSkdJRkp2YjNRZ1EwRWdVMlZ5YVdGc0lEUTFOekl3TURZek1UQWdGdzB4TkRBNE1ERXdNREF3TURCYUdBOHlNRFV3TURrd05EQXdNREF3TUZvd0xqRXNNQ29HQTFVRUF4TWpXWFZpYVdOdklGVXlSaUJTYjI5MElFTkJJRk5sY21saGJDQTBOVGN5TURBMk16RXdnZ0VpTUEwR0NTcUdTSWIzRFFFQkFRVUFBNElCRHdBd2dnRUtBb0lCQVFDL2p3WXVoQlZscWFpWVdFTXNyV0Zpc2dKK1B0TTkxZVNycEk0VEs3VTUzbXdDSWF3U0RIeTh2VW1rNU4yS0FqOWFidlQ5TlA1U01TMWhRaTN1c3hvWUdvblhRZ2ZPNlpYeVVBOWErS0FrcWRGbkJubHl1Z1NlQ09lcDhFZFpGZnNhUkZ0TWprd3o1R2N6MlB5NHZJWXZDZE1IUHR3YXowYlZ1em5ldWVJRXo2VG5RakU2M1JkdDJ6YnduZWJ3VEc1WnliZVdTd2J6eStCSjM0WkhjVWhQQVk4OXlKUVh1RTBJek1aRmNFQmJQTlJiV0VDUktnanEvL3FUOW5tRE9GVmxTUkN0MndpcVBTemx1d24rditzdVFFQnNValRHTUVkMjV0S1hYVGtOVzIxd0lXYnhlU3lVb1RYd0x2R1M2eGx3UVNnTnBrMnFYWXdmOGlYZzdWV1pBZ01CQUFHalFqQkFNQjBHQTFVZERnUVdCQlFnSXZ6MGJOR0poamdwVG9rc3lLcFA5eHY5b0RBUEJnTlZIUk1FQ0RBR0FRSC9BZ0VBTUE0R0ExVWREd0VCL3dRRUF3SUJCakFOQmdrcWhraUc5dzBCQVFzRkFBT0NBUUVBanZqdU9NRFNhK0pYRkNMeUJLc3ljWHRCVlpzSjRVZTNMYmFFc1BZNE1ZTi9oSVE1Wk01cDdFamZjbk1HNEN0WWtOc2ZOSGMwQWhCTGRxNDVyblQ4N3EvNk8zdlVFdE5NYWZiaFU2a3RoWDdZKzlYRk45TnBtWXhyK2VrVlk1eE94aThoOUpESWdvTVA0VkIxdVMwYXVuTDFJR3FyTm9vTDltbUZuTDJrTFZWZWU2L1ZSNkM1K0tTVENNQ1dwcE11SklaSUkydjlvNGRrb1o4WTdRUmpRbExmWXpkM3FHdEtidzd4YUYxVXNHLzV4VWIvQnR3YjJYMmc0SW5waUIveXQvM0NwUVhwaVdYL0s0bUJ2VUtpR24wNVpzcWVZMWd4NGcweExCcWNVOXBzbXlQeksrVnNndzJqZVJRNUpsS0R5cUUwaGViZkMxdHZGdTBDQ3JKRmN3PT0iXSwiaWNvbiI6ImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0FBQUFBZkNBWUFBQUNHVnMrTUFBQUFBWE5TUjBJQXJzNGM2UUFBQUFSblFVMUJBQUN4and2OFlRVUFBQUFKY0VoWmN3QUFIWVlBQUIyR0FWMmlFNEVBQUFiTlNVUkJWRmhIcFZkN1ROVjFGRC8zZDU5d2VRU0lnUzlBUUFYY0ZMQVFaaTlmcGVWejF0WS9XVFpyNVd4cGM3VzVrbkxhNWpJM1o4NXNyUzJuTTJzanRXd1pTN0lVSDRINHhDbkVReDREQVpGNzRWN3VzODg1djkvbEluQnZWSi9CNFB2OW51LzVudS81bnZNNTU2ZnpBL1F2MEhiL0lyWDNWRktQbzQ1Y25tNGluVUlXWXdMRlJtWlFVdXdqRkcvTjFpUkhoMUVaME5SVlJ1ZHF0MUJkKzJuU0t5Uy9PaHlzMCtsazNlLzNrUTlxdkQ0WlV0YTRWVlNVdVkwZWlweWlUaEFmb2NvT1JWZ0R1dXczcUtSaUFkM3JiY0V0alRqWUlvZjZXYUhzQ216VlBXQ014K2NnaDh0THFXTUthTVdzVWpMcW8yUnRKSVEwb096bWVycFF1NGVzWmdzT05rR3hIN2Qwa2R2VFQxN3M0T01VN1ZJOFpoamdHYU0rQXE5aUVOdThQaWYxdWR6MDdNd3ZLV2Y4R2xWb0NFWTA0UEM1V2RUYVhZRmJSOHZOdkw1KzNLZ2ZiNXhOTXlhOVJhbUppeW5hTWxHVFZ0RmxyNmJhOXUrcHFuRVg0dU11UlJnalNZRWhyTjd1dEZGZTZscWFsN05ma3c1aW1BR0h5blBwYms4Vm1ZMHhzdG5wdGxGQ1ZDWXR6VHVCTjgzUXBNTGpUdGV2ZFB6U1VuSjdlOG1ranhaMzlmWGJLRGZsZFpxYnZVK1RVZ0duQlZGNmZRMmlQSGc0VzE2VVdVd3Z6YmsxNnNNWkUrUG4wcHZ6N0pTZXVBeWVzOGxjcENtYUt1by9wK3FXcjJVY3dJQUhXcnZQMFlFemhYQXRMQWJzc0hocDdpR2FtdnlpalA4cnlxclhVV1g5WG9vd3h5QXVmTkJycDQzUE9CRlhabGtmOE1EUmlxY3B5b3dBd3B1ejJ4K2ZXdnovRHRkZTlzbXN6eWd0Y1I2QzF3YmR6Qmw2T2xxNVdOWVk0b0dhdGhKTXJrVEV4MGpBUlNIQVZzKzVyWWtRTlhiK1FnZlBMc1E2Z1h5SW5zcmVRZm1wbTdSVkZZZkw4Nm4xZmlVT2tZdlNoa1VQeHZidWt6b3k2SzFpaE0xaG8zWHpXNkV2U2ZYQStkcGlXR2FXZCtkb1h6THptR3dLWUZMQ0FzUkFsUEJBaE1sQ0ZYVTd0QlVWUHI4SGdWY0pIV3ErRjAwcGxyK0RNVGRyUDR6dnhZMTFrTk1oeFQrU2VUR2crZDRWNUxRSml0eVVHSk5COFZGWnNqZ1lCWk0vSUkvWENUa2owcXlET3BGMkFWUTE3Q0lqVXAvRG5UMVVrTDVGNWdkaitzUzF3ZzFnRTNnaWdtNjBmQ1h6U25QWGJ5QVBiSVh2K0lEcEUxNlRoYUhJUzlza3lobG1NRTVGM2NmcUFLaHEyQzBFNVBIMWdZYVhhTFBEa1pHMEhESk9uS1dIcDUxSTB6NVNPdXg4ZTFXQXVaemRIUXJUa3A4VG1qWG9JK2xhMHdHWnN6dWJxYk8zaWZRNkEvVzd2VlNZc1YzbVIwSkt3a0tjNFdIaUJrbVI4STNDQ2dJODdvT0w0cXpUNVArUlVKQmVqRU9nQVBLOGhZUHphdE0rZUlUcDJJTzl5VFFtZXJvbVBSeHgxcXhBY3NpbGUvdWJTZUViY1dRR1lFQ2doY0xZMkh5S2pvZ2pIMjVoTXBqcFV2MU91Z2xpNGVoMmVSdzBPMzJiSmpreXVDZ056ZzB2emxZTVNpU3MwdW9vNE1HN2hNT2pDRWFYMXlGRTBuU3ZqQnp1VG5FcEs4Nlo4SW9xRkFJdWJ3OGtnOUFyRWFSRVdTWkkrakg0WGJwNmc5RTlFbkpUM29hUnpETitNVUpCUURIbjU2YThvVW1FQnVzT3hCcy9ONSt0SkViUGtBRkRqOFVHdk9zL0lXdmNTZ2xHQmh2UzcvRlRZZnBXR1lkRFk4ZlBBeFdTQTM1c1RDNHA0K0xtNEFhcUlvUGVRdGZ1Zks2SmgwWmh4bGJzVVhPU21YTmlmRDVaVEFreURvZmJiY2NseG5BOFdOQXF4Q2JSTnlraFh4UXBhRHc2N2ZYVVlic2lHMEtodHYyb2VJdmg4cmhRTVlPY0VBcVhHL2VJK3puZ09jNXl4cjhxODJJQU0xYy9GTEZPcGxxdTVlRlFYck1aekdjVkNqWWJMV0c1STRCVDFldVJybGJ4dE5PdE1pdERERWhMWElJeW5BQXZ1T0VXRTNYM05kQWZ0OTRWZ2FHNDJYSVF0MFpYNlBlQ0UvcVFGZTlySzZIeDdZVTUwS3ZIN2ZXNGZTK3E3S0tCSnhzZ2dCWDVwU0FHaDFqSXJWaDV6UTZ3M1JmYWFoQlhtL2FDYkNaVGpDVUZVVHlXWnFXOXA2Mk1qSlBYVnFPclBnTU80TnY3NEdrZitvd2Z0TlZCRFFuakZKcUhTdzE3cFh2aFdXNUtacWUvUTQ5Ti9VU1RDQVZXb1FYRklIQkhYWGUzRlByVURzdUdEbXRGL2hIS1RIcGVreGhpQU9QSStTSnE2UzZIRjRJOVlXemtCSlRvNDZpVU16V3A4UGlyL1JpZHVMeEtZc1Nrc1Y4dkxsT1F2aEdYMllsUjBPQmhCakMrdS9nRWN2WTBBcEs3WWs0MU54alBTUW5XRkhURjY2VXJqZ2V2QjhDdTVhK2wydllTUlB0dVZEbzczaGhkTVNIblVYN3RUanNWWkd4QWwvV3B0aU9JRVExZ25MMjltWDYvdFIxdG1sa1lqOFc0WCtDU2pXY1VER1kxTnBTL0M3aFNLcWlNTE0vbDJRbVNXWjczRGR6K2dpbzhCQ0VOWVBRNDZxbmt6d1hVYnF2Qmt4alVRc1dmWkZnYnVvM3JBZit3TjdqT085MCt5bng0UGkzTCswbllMMVNjaERVZ0FQNGdQVi83SWQxcSsxSFNobXVHa0lxV1JQZ3l4TUZxUDhIZmpUbmpYd1k1YlFmYkpjdDZPSXpLZ01Ib3RGL0hlMWVnc2F4SFNxRzZ3ZmRtUTV4OE55VEZGcUJjcDJpU293SFIzeWs1KzM2aEY3dlhBQUFBQUVsRlRrU3VRbUNDIiwiYXV0aGVudGljYXRvckdldEluZm8iOnsidmVyc2lvbnMiOlsiVTJGX1YyIiwiRklET18yXzAiLCJGSURPXzJfMV9QUkUiXSwiZXh0ZW5zaW9ucyI6WyJjcmVkUHJvdGVjdCIsImhtYWMtc2VjcmV0Il0sImFhZ3VpZCI6ImM1ZWY1NWZmYWQ5YTRiOWZiNTgwYWRlYmFmZTAyNmQwIiwib3B0aW9ucyI6eyJwbGF0IjpmYWxzZSwicmsiOnRydWUsImNsaWVudFBpbiI6dHJ1ZSwidXAiOnRydWUsImNyZWRlbnRpYWxNZ210UHJldmlldyI6dHJ1ZX0sIm1heE1zZ1NpemUiOjEyMDAsInBpblV2QXV0aFByb3RvY29scyI6WzIsMV0sIm1heENyZWRlbnRpYWxDb3VudEluTGlzdCI6OCwibWF4Q3JlZGVudGlhbElkTGVuZ3RoIjoxMjgsInRyYW5zcG9ydHMiOlsidXNiIiwibGlnaHRuaW5nIl0sImFsZ29yaXRobXMiOlt7InR5cGUiOiJwdWJsaWMta2V5IiwiYWxnIjotN30seyJ0eXBlIjoicHVibGljLWtleSIsImFsZyI6LTh9XSwibWluUElOTGVuZ3RoIjo0LCJmaXJtd2FyZVZlcnNpb24iOjMyODcwNn19LCJzdGF0dXNSZXBvcnRzIjpbeyJzdGF0dXMiOiJGSURPX0NFUlRJRklFRF9MMSIsImVmZmVjdGl2ZURhdGUiOiIyMDIwLTA1LTEyIiwiY2VydGlmaWNhdGlvbkRlc2NyaXB0b3IiOiJZdWJpS2V5IDVDaSIsImNlcnRpZmljYXRlTnVtYmVyIjoiRklETzIwMDIwMTkxMDE3MDAzIiwiY2VydGlmaWNhdGlvblBvbGljeVZlcnNpb24iOiIxLjEuMSIsImNlcnRpZmljYXRpb25SZXF1aXJlbWVudHNWZXJzaW9uIjoiMS4zIn1dLCJ0aW1lT2ZMYXN0U3RhdHVzQ2hhbmdlIjoiMjAyMC0wNS0xMiJ9LHsiYWFndWlkIjoiMzlhNTY0N2UtMTg1My00NDZjLWExZjYtYTc5YmFlOWY1YmM3IiwibWV0YWRhdGFTdGF0ZW1lbnQiOnsibGVnYWxIZWFkZXIiOiJodHRwczovL2ZpZG9hbGxpYW5jZS5vcmcvbWV0YWRhdGEvbWV0YWRhdGEtc3RhdGVtZW50LWxlZ2FsLWhlYWRlci8iLCJhYWd1aWQiOiIzOWE1NjQ3ZS0xODUzLTQ0NmMtYTFmNi1hNzliYWU5ZjViYzciLCJkZXNjcmlwdGlvbiI6IlZhbmNvc3lzIEFuZHJvaWQgQXV0aGVudGljYXRvciIsImF1dGhlbnRpY2F0b3JWZXJzaW9uIjoyLCJwcm90b2NvbEZhbWlseSI6ImZpZG8yIiwic2NoZW1hIjozLCJ1cHYiOlt7Im1ham9yIjoxLCJtaW5vciI6MH1dLCJhdXRoZW50aWNhdGlvbkFsZ29yaXRobXMiOlsic2VjcDI1NnIxX2VjZHNhX3NoYTI1Nl9yYXciXSwicHVibGljS2V5QWxnQW5kRW5jb2RpbmdzIjpbImNvc2UiXSwiYXR0ZXN0YXRpb25UeXBlcyI6WyJiYXNpY19mdWxsIl0sInVzZXJWZXJpZmljYXRpb25EZXRhaWxzIjpbW3sidXNlclZlcmlmaWNhdGlvbk1ldGhvZCI6InBhc3Njb2RlX2ludGVybmFsIn0seyJ1c2VyVmVyaWZpY2F0aW9uTWV0aG9kIjoiaGFuZHByaW50X2ludGVybmFsIn0seyJ1c2VyVmVyaWZpY2F0aW9uTWV0aG9kIjoiZXllcHJpbnRfaW50ZXJuYWwifSx7InVzZXJWZXJpZmljYXRpb25NZXRob2QiOiJmaW5nZXJwcmludF9pbnRlcm5hbCJ9LHsidXNlclZlcmlmaWNhdGlvbk1ldGhvZCI6InBhdHRlcm5faW50ZXJuYWwifSx7InVzZXJWZXJpZmljYXRpb25NZXRob2QiOiJ2b2ljZXByaW50X2ludGVybmFsIn0seyJ1c2VyVmVyaWZpY2F0aW9uTWV0aG9kIjoicHJlc2VuY2VfaW50ZXJuYWwifSx7InVzZXJWZXJpZmljYXRpb25NZXRob2QiOiJsb2NhdGlvbl9pbnRlcm5hbCJ9LHsidXNlclZlcmlmaWNhdGlvbk1ldGhvZCI6ImZhY2VwcmludF9pbnRlcm5hbCJ9XV0sImtleVByb3RlY3Rpb24iOlsiaGFyZHdhcmUiLCJzZWN1cmVfZWxlbWVudCJdLCJtYXRjaGVyUHJvdGVjdGlvbiI6WyJvbl9jaGlwIl0sImNyeXB0b1N0cmVuZ3RoIjoxMjgsImF0dGFjaG1lbnRIaW50IjpbImV4dGVybmFsIl0sInRjRGlzcGxheSI6W10sImF0dGVzdGF0aW9uUm9vdENlcnRpZmljYXRlcyI6WyJNSUlCL3pDQ0FhU2dBd0lCQWdJVVBiZGRscEVkQWROK2ZtOEpGYW5VWHVyTlp5OHdDZ1lJS29aSXpqMEVBd0l3UVRFa01DSUdBMVVFQ2d3YlZtRnVZMjl6ZVhNZ1JHRjBZU0JUWldOMWNtbDBlU0JKYm1NdU1Sa3dGd1lEVlFRRERCQldZVzVqYjNONWN5QlNiMjkwSUVOQk1DQVhEVEl3TVRFd05EQTJORFF4TjFvWUR6SXdOekF4TURJek1EWTBOREUzV2pCQk1TUXdJZ1lEVlFRS0RCdFdZVzVqYjNONWN5QkVZWFJoSUZObFkzVnlhWFI1SUVsdVl5NHhHVEFYQmdOVkJBTU1FRlpoYm1OdmMzbHpJRkp2YjNRZ1EwRXdXVEFUQmdjcWhrak9QUUlCQmdncWhrak9QUU1CQndOQ0FBUnFWaUFTaW1jcEp3Q2I1MzEvVmVrWUhmTnVSa0lQZUZrUXE3Rk55V2tGaVdQaktrMUdEU0F4SnJ1QjRHQjNxZHlUblJocFdGM0x2bTRoemJCdFpmeTNvM2d3ZGpCbUJnTlZIU01FWHpCZG9VV2tRekJCTVNRd0lnWURWUVFLREJ0V1lXNWpiM041Y3lCRVlYUmhJRk5sWTNWeWFYUjVJRWx1WXk0eEdUQVhCZ05WQkFNTUVGWmhibU52YzNseklGSnZiM1FnUTBHQ0ZEMjNYWmFSSFFIVGZuNXZDUldwMUY3cXpXY3ZNQXdHQTFVZEV3UUZNQU1CQWY4d0NnWUlLb1pJemowRUF3SURTUUF3UmdJaEFPR2pjd0pVVDdBL0VSKzVwQUNFUHJPZzc5d2JFL2g4WU1ZVWd5bXJYUjZHQWlFQTdONlUzRVdlUXdlTU9tVE9xYXZ0V0NkWUNzTUpjb3A5cDEzbDlRYm9oRG89Il0sImljb24iOiJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNBQUFBQWdDQU1BQUFCRXBJckdBQUFBTTFCTVZFVXRtYzN5K2Z5V3pPWmlzOXJLNWZJNm45Qjh2K0N3MmV6bDh2bEhwdE5Wck5iWDdQYWowdWx2dWQyOTMrK0p4dVAvLy84OUhSdnBBQUFBRVhSU1RsUC8vLy8vLy8vLy8vLy8vLy8vLy8vL0FDV3RtV0lBQUFCc1NVUkJWSGdCeGRQQkNvQXdESVBoL3lEaXNlLy90SUlRQ1pvNlJOR2R0dVdEc3RGU2cvVU9nTWlBRFFCSjZKNGlDd1M0Qmd6QnVFUUhDb0ZhK21kTStxaWpzRE1WaEJmZG9SRmFBTDRuQWU2QWVnaE9EWVBuc2FOeUx1QXFnNUFId085QVl1NUJtcUVQaG5jRm1lY3ZNNUtLUUhNQUFBQUFTVVZPUks1Q1lJST0iLCJhdXRoZW50aWNhdG9yR2V0SW5mbyI6eyJ2ZXJzaW9ucyI6WyJGSURPXzJfMCJdLCJleHRlbnNpb25zIjpbImhtYWMtc2VjcmV0Il0sImFhZ3VpZCI6IjM5YTU2NDdlMTg1MzQ0NmNhMWY2YTc5YmFlOWY1YmM3Iiwib3B0aW9ucyI6eyJwbGF0IjpmYWxzZSwicmsiOnRydWUsInVwIjp0cnVlLCJ1diI6dHJ1ZX0sIm1heE1zZ1NpemUiOjIwNDh9fSwic3RhdHVzUmVwb3J0cyI6W3sic3RhdHVzIjoiRklET19DRVJUSUZJRURfTDEiLCJlZmZlY3RpdmVEYXRlIjoiMjAxOS0wMi0xMyIsImNlcnRpZmljYXRpb25EZXNjcmlwdG9yIjoiVmFuY29zeXMgQW5kcm9pZCBBdXRoZW50aWNhdG9yIiwiY2VydGlmaWNhdGVOdW1iZXIiOiJGSURPMjAwMjAxOTAxMDkwMDEiLCJjZXJ0aWZpY2F0aW9uUG9saWN5VmVyc2lvbiI6IjEuMC4wIiwiY2VydGlmaWNhdGlvblJlcXVpcmVtZW50c1ZlcnNpb24iOiIxLjAuMCJ9XSwidGltZU9mTGFzdFN0YXR1c0NoYW5nZSI6IjIwMTktMDItMTMifSx7ImFhZ3VpZCI6IjM3ODlkYTkxLWY5NDMtNDZiYy05NWMzLTUwZWEyMDEyZjAzYSIsIm1ldGFkYXRhU3RhdGVtZW50Ijp7ImxlZ2FsSGVhZGVyIjoiaHR0cHM6Ly9maWRvYWxsaWFuY2Uub3JnL21ldGFkYXRhL21ldGFkYXRhLXN0YXRlbWVudC1sZWdhbC1oZWFkZXIvIiwiYWFndWlkIjoiMzc4OWRhOTEtZjk0My00NmJjLTk1YzMtNTBlYTIwMTJmMDNhIiwiZGVzY3JpcHRpb24iOiJORU9XQVZFIFdpbmtlbyBGSURPMiIsImF1dGhlbnRpY2F0b3JWZXJzaW9uIjoyLCJwcm90b2NvbEZhbWlseSI6ImZpZG8yIiwic2NoZW1hIjozLCJ1cHYiOlt7Im1ham9yIjoxLCJtaW5vciI6MH1dLCJhdXRoZW50aWNhdGlvbkFsZ29yaXRobXMiOlsic2VjcDI1NnIxX2VjZHNhX3NoYTI1Nl9yYXciXSwicHVibGljS2V5QWxnQW5kRW5jb2RpbmdzIjpbImNvc2UiXSwiYXR0ZXN0YXRpb25UeXBlcyI6WyJiYXNpY19mdWxsIl0sInVzZXJWZXJpZmljYXRpb25EZXRhaWxzIjpbW3sidXNlclZlcmlmaWNhdGlvbk1ldGhvZCI6InByZXNlbmNlX2ludGVybmFsIn1dXSwia2V5UHJvdGVjdGlvbiI6WyJoYXJkd2FyZSIsInNlY3VyZV9lbGVtZW50Il0sIm1hdGNoZXJQcm90ZWN0aW9uIjpbIm9uX2NoaXAiXSwiY3J5cHRvU3RyZW5ndGgiOjEyOCwiYXR0YWNobWVudEhpbnQiOlsiZXh0ZXJuYWwiLCJ3aXJlZCJdLCJ0Y0Rpc3BsYXkiOltdLCJhdHRlc3RhdGlvblJvb3RDZXJ0aWZpY2F0ZXMiOlsiXG5cbk1JSUNIVENDQWNLZ0F3SUJBZ0lDZGRVd0NnWUlLb1pJemowRUF3SXdlekVMTUFrR0ExVUVCaE1DUmxJeEV6QVJCZ05WQkFvVENrTmxjblJGZFhKdmNHVXhGekFWQmdOVkJBc1REakF3TURJZ05ETTBNakF5TVRnd01TUXdJZ1lEVlFRREV4dERaWEowUlhWeWIzQmxJRVZzYkdsd2RHbGpJRkp2YjNRZ1EwRXhHREFXQmdOVkJHRVREMDVVVWtaU0xUUXpOREl3TWpFNE1EQWVGdzB4T0RBeE1qSXlNekF3TURCYUZ3MHlPREF4TWpJeU16QXdNREJhTUhzeEN6QUpCZ05WQkFZVEFrWlNNUk13RVFZRFZRUUtFd3BEWlhKMFJYVnliM0JsTVJjd0ZRWURWUVFMRXc0d01EQXlJRFF6TkRJd01qRTRNREVrTUNJR0ExVUVBeE1iUTJWeWRFVjFjbTl3WlNCRmJHeHBjSFJwWXlCU2IyOTBJRU5CTVJnd0ZnWURWUVJoRXc5T1ZGSkdVaTAwTXpReU1ESXhPREF3V1RBVEJnY3Foa2pPUFFJQkJnZ3Foa2pPUFFNQkJ3TkNBQVR6MmpOYUtPSy9NS2RXMmZtZTF0cTZHUkV1UHV1S1c5SGdXWWdNUnJqdlpVVE9xTEFOSjNNZDVIcXYxRU4xek1kNGxXdHlmelJsYTdydjVBUkJvT29Ub3pZd05EQVBCZ05WSFJNQkFmOEVCVEFEQVFIL01CRUdBMVVkRGdRS0JBaE5uVFcwYTRFOHVqQU9CZ05WSFE4QkFmOEVCQU1DQVFZd0NnWUlLb1pJemowRUF3SURTUUF3UmdJaEFNcmhiOFNtZk5MZUxOZ2FBVm1RNkFPTWlMTkxWSFgwa0ZVTzgwQ25UMzhFQWlFQXpOQWd2NGRIK0hEaFpTZ1pXSmlhUHUvbmZaVGV1R3k0TXlkUE1xNXVyczQ9IiwiXG5NSUlFT0RDQ0E5MmdBd0lCQWdJREFJbkJNQW9HQ0NxR1NNNDlCQU1DTUhzeEN6QUpCZ05WQkFZVEFrWlNNUk13RVFZRFZRUUtFd3BEWlhKMFJYVnliM0JsTVJjd0ZRWURWUVFMRXc0d01EQXlJRFF6TkRJd01qRTRNREVrTUNJR0ExVUVBeE1iUTJWeWRFVjFjbTl3WlNCRmJHeHBjSFJwWXlCU2IyOTBJRU5CTVJnd0ZnWURWUVJoRXc5T1ZGSkdVaTAwTXpReU1ESXhPREF3SGhjTk1UZ3dNakl5TWpNd01EQXdXaGNOTWpnd01USXhNak13TURBd1dqQjBNUXN3Q1FZRFZRUUdFd0pHVWpFVE1CRUdBMVVFQ2hNS1EyVnlkRVYxY205d1pURVhNQlVHQTFVRUN4TU9NREF3TWlBME16UXlNREl4T0RBeEhUQWJCZ05WQkFNVEZFTmxjblJGZFhKdmNHVWdTV1JsWTNseklFTkJNUmd3RmdZRFZRUmhFdzlPVkZKR1VpMDBNelF5TURJeE9EQXdXVEFUQmdjcWhrak9QUUlCQmdncWhrak9QUU1CQndOQ0FBU0xWTCsxU1RKdmFFUk81V0NSK2pHY0F4THZtUEJEaVpZMU5nRkZJaHBYNk9BWkFwUVltdDZ4U2g3NFN3TSttamduc1NFY2M0QTJVZjEzOUZnWjRycFlvNElDVlRDQ0FsRXdFd1lEVlIwakJBd3dDb0FJVFowMXRHdUJQTG93U2dZSUt3WUJCUVVIQVFFRVBqQThNRG9HQ0NzR0FRVUZCekFDaGk1b2RIUndPaTh2ZDNkM0xtTmxjblJsZFhKdmNHVXVabkl2Y21WbVpYSmxibU5sTDJWalgzSnZiM1F1WTNKME1GTUdBMVVkSUFSTU1Fb3dTQVlKS29GNkFXa3BBUUVBTURzd09RWUlLd1lCQlFVSEFnRVdMV2gwZEhCek9pOHZkM2QzTG1ObGNuUmxkWEp2Y0dVdVpuSXZZMmhoYVc1bExXUmxMV052Ym1acFlXNWpaVENDQVdBR0ExVWRId1NDQVZjd2dnRlRNRCtnUGFBN2hqbG9kSFJ3T2k4dmQzZDNMbU5sY25SbGRYSnZjR1V1Wm5JdmNtVm1aWEpsYm1ObEwyTmxjblJsZFhKdmNHVmZaV05mY205dmRDNWpjbXd3Z1lhZ2dZT2dnWUNHZm14a1lYQTZMeTlzWTNJeExtTmxjblJsZFhKdmNHVXVabkl2WTI0OVEyVnlkRVYxY205d1pTVXlNRVZzYkdsd2RHbGpKVEl3VW05dmRDVXlNRU5CTEc5MVBUQXdNRElsTWpBME16UXlNREl4T0RBc2J6MURaWEowUlhWeWIzQmxMR005UmxJL1kyVnlkR2xtYVdOaGRHVlNaWFp2WTJGMGFXOXVUR2x6ZERDQmhxQ0JnNkNCZ0laK2JHUmhjRG92TDJ4amNqSXVZMlZ5ZEdWMWNtOXdaUzVtY2k5amJqMURaWEowUlhWeWIzQmxKVEl3Uld4c2FYQjBhV01sTWpCU2IyOTBKVEl3UTBFc2IzVTlNREF3TWlVeU1EUXpOREl3TWpFNE1DeHZQVU5sY25SRmRYSnZjR1VzWXoxR1VqOWpaWEowYVdacFkyRjBaVkpsZG05allYUnBiMjVNYVhOME1CRUdBMVVkRGdRS0JBaERhUWJoVEZ0amNqQU9CZ05WSFE4QkFmOEVCQU1DQVFZd0VnWURWUjBUQVFIL0JBZ3dCZ0VCL3dJQkFEQUtCZ2dxaGtqT1BRUURBZ05KQURCR0FpRUFvRWVwSE1DNVg5akJLYUdwaGNLamlkaGlOK1puejd2M1MzaGMzMS9BdW5zQ0lRREtxb2dLMlNaT1haY3Z2SENCNlVRU2FBMG5MbjRSVXd5MWd1RGl2Ylpid2c9PSIsIk1JSUVPRENDQTkyZ0F3SUJBZ0lEQUluQk1Bb0dDQ3FHU000OUJBTUNNSHN4Q3pBSkJnTlZCQVlUQWtaU01STXdFUVlEVlFRS0V3cERaWEowUlhWeWIzQmxNUmN3RlFZRFZRUUxFdzR3TURBeUlEUXpOREl3TWpFNE1ERWtNQ0lHQTFVRUF4TWJRMlZ5ZEVWMWNtOXdaU0JGYkd4cGNIUnBZeUJTYjI5MElFTkJNUmd3RmdZRFZRUmhFdzlPVkZKR1VpMDBNelF5TURJeE9EQXdIaGNOTVRnd01qSXlNak13TURBd1doY05Namd3TVRJeE1qTXdNREF3V2pCME1Rc3dDUVlEVlFRR0V3SkdVakVUTUJFR0ExVUVDaE1LUTJWeWRFVjFjbTl3WlRFWE1CVUdBMVVFQ3hNT01EQXdNaUEwTXpReU1ESXhPREF4SFRBYkJnTlZCQU1URkVObGNuUkZkWEp2Y0dVZ1NXUmxZM2x6SUVOQk1SZ3dGZ1lEVlFSaEV3OU9WRkpHVWkwME16UXlNREl4T0RBd1dUQVRCZ2NxaGtqT1BRSUJCZ2dxaGtqT1BRTUJCd05DQUFTTFZMKzFTVEp2YUVSTzVXQ1IrakdjQXhMdm1QQkRpWlkxTmdGRklocFg2T0FaQXBRWW10NnhTaDc0U3dNK21qZ25zU0VjYzRBMlVmMTM5RmdaNHJwWW80SUNWVENDQWxFd0V3WURWUjBqQkF3d0NvQUlUWjAxdEd1QlBMb3dTZ1lJS3dZQkJRVUhBUUVFUGpBOE1Eb0dDQ3NHQVFVRkJ6QUNoaTVvZEhSd09pOHZkM2QzTG1ObGNuUmxkWEp2Y0dVdVpuSXZjbVZtWlhKbGJtTmxMMlZqWDNKdmIzUXVZM0owTUZNR0ExVWRJQVJNTUVvd1NBWUpLb0Y2QVdrcEFRRUFNRHN3T1FZSUt3WUJCUVVIQWdFV0xXaDBkSEJ6T2k4dmQzZDNMbU5sY25SbGRYSnZjR1V1Wm5JdlkyaGhhVzVsTFdSbExXTnZibVpwWVc1alpUQ0NBV0FHQTFVZEh3U0NBVmN3Z2dGVE1EK2dQYUE3aGpsb2RIUndPaTh2ZDNkM0xtTmxjblJsZFhKdmNHVXVabkl2Y21WbVpYSmxibU5sTDJObGNuUmxkWEp2Y0dWZlpXTmZjbTl2ZEM1amNtd3dnWWFnZ1lPZ2dZQ0dmbXhrWVhBNkx5OXNZM0l4TG1ObGNuUmxkWEp2Y0dVdVpuSXZZMjQ5UTJWeWRFVjFjbTl3WlNVeU1FVnNiR2x3ZEdsakpUSXdVbTl2ZENVeU1FTkJMRzkxUFRBd01ESWxNakEwTXpReU1ESXhPREFzYnoxRFpYSjBSWFZ5YjNCbExHTTlSbEkvWTJWeWRHbG1hV05oZEdWU1pYWnZZMkYwYVc5dVRHbHpkRENCaHFDQmc2Q0JnSVorYkdSaGNEb3ZMMnhqY2pJdVkyVnlkR1YxY205d1pTNW1jaTlqYmoxRFpYSjBSWFZ5YjNCbEpUSXdSV3hzYVhCMGFXTWxNakJTYjI5MEpUSXdRMEVzYjNVOU1EQXdNaVV5TURRek5ESXdNakU0TUN4dlBVTmxjblJGZFhKdmNHVXNZejFHVWo5alpYSjBhV1pwWTJGMFpWSmxkbTlqWVhScGIyNU1hWE4wTUJFR0ExVWREZ1FLQkFoRGFRYmhURnRqY2pBT0JnTlZIUThCQWY4RUJBTUNBUVl3RWdZRFZSMFRBUUgvQkFnd0JnRUIvd0lCQURBS0JnZ3Foa2pPUFFRREFnTkpBREJHQWlFQW9FZXBITUM1WDlqQkthR3BoY0tqaWRoaU4rWm56N3YzUzNoYzMxL0F1bnNDSVFES3FvZ0syU1pPWFpjdnZIQ0I2VVFTYUEwbkxuNFJVd3kxZ3VEaXZiWmJ3Zz09IiwiTUlJQ0hUQ0NBY0tnQXdJQkFnSUNkZFV3Q2dZSUtvWkl6ajBFQXdJd2V6RUxNQWtHQTFVRUJoTUNSbEl4RXpBUkJnTlZCQW9UQ2tObGNuUkZkWEp2Y0dVeEZ6QVZCZ05WQkFzVERqQXdNRElnTkRNME1qQXlNVGd3TVNRd0lnWURWUVFERXh0RFpYSjBSWFZ5YjNCbElFVnNiR2x3ZEdsaklGSnZiM1FnUTBFeEdEQVdCZ05WQkdFVEQwNVVVa1pTTFRRek5ESXdNakU0TURBZUZ3MHhPREF4TWpJeU16QXdNREJhRncweU9EQXhNakl5TXpBd01EQmFNSHN4Q3pBSkJnTlZCQVlUQWtaU01STXdFUVlEVlFRS0V3cERaWEowUlhWeWIzQmxNUmN3RlFZRFZRUUxFdzR3TURBeUlEUXpOREl3TWpFNE1ERWtNQ0lHQTFVRUF4TWJRMlZ5ZEVWMWNtOXdaU0JGYkd4cGNIUnBZeUJTYjI5MElFTkJNUmd3RmdZRFZRUmhFdzlPVkZKR1VpMDBNelF5TURJeE9EQXdXVEFUQmdjcWhrak9QUUlCQmdncWhrak9QUU1CQndOQ0FBVHoyak5hS09LL01LZFcyZm1lMXRxNkdSRXVQdXVLVzlIZ1dZZ01Scmp2WlVUT3FMQU5KM01kNUhxdjFFTjF6TWQ0bFd0eWZ6UmxhN3J2NUFSQm9Pb1Rvell3TkRBUEJnTlZIUk1CQWY4RUJUQURBUUgvTUJFR0ExVWREZ1FLQkFoTm5UVzBhNEU4dWpBT0JnTlZIUThCQWY4RUJBTUNBUVl3Q2dZSUtvWkl6ajBFQXdJRFNRQXdSZ0loQU1yaGI4U21mTkxlTE5nYUFWbVE2QU9NaUxOTFZIWDBrRlVPODBDblQzOEVBaUVBek5BZ3Y0ZEgrSERoWlNnWldKaWFQdS9uZlpUZXVHeTRNeWRQTXE1dXJzND0iXSwiaWNvbiI6ImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0FBQUFBZ0NBSUFBQUQ4R08yakFBQUNxVWxFUVZSSXgyUDgvLzgvQXkwQkV3T053YWdGcEZsdzhjS0Zpckl5UjN0N1MxT3owS0RnQmZQbS8vejVrM2l6dm4zOWxwK1RhMnRsdFdUUklvVG9meGhZdFhLbGxwcTZzcndDQWlrb1JJVkh2SDM3OWo5eDROU3BVMEF0UUkxVzVoWndRYWdQenA4N1YxMVppWEF2SXhqOVp6aDU0a1JOWlJXUlB2ajk2eGNET00wek1US2lCOUc4dVhQLy9mc0hORlJBU0xDK3NYSG03Tmx1YnU0UW0zYnQzTGx1N1ZwaUxHQ0VtY3VJYWNHWlU2ZkI0Y1dRWDFBUUd4L243T0l5YWVvVWJWMGRpSXZhbWx1ZVBYdEdVU1QvK2czMkhTT0Rob1lHUklTRmhhV3BwWVdWbFJVbytPSGpoNmI2Qm9vc2dIdnF6NTgvY0RsOWZmM003Q3dJZTgrZTNhdFhycVFnbWVJb2tES3pzL1gxOUVHeS94azZPem9mUDNwRVdVYkRzQVlZUkMzdGJSd2NIRUQyaC9mdjYycHFDUmVPakNUbVpFMHRyWnk4WEFqNzhLRkR5NVl1SmQ1MFZBc1ljZXBLVFU4M05qV0JxT251N0h4dy93RStPLzdqc2dDMzE1bVptUnVibTluWjJZRnF2bnorMGxCZmh6T2cvcU83bFFtL0IrRUFtSHdMaW9vZ0NvNGNPcnhrMFdJaVBVRWdrcEZCVW5LeW1aazVoTjNUMVhYM3poMWlZb0tKY0RUQkE0cUZ1Ym10bFl1YkM4aisrdlZyVFZVMXFIUWh6UWVNQkh5aHJLeGNXRndNVVhuNjFLbjVjK2RTdjhKSlNFeTB0ckdHc0NmMDk5KzZkUXN1eGNMQ0NySDdQNUlyU1lnRGVLRlMzOVRFeDhzSFpILy85cjJ1R2hGUU42NWZoMlZQTm9xcVRDVWxwZUt5VW1neGZQcE1TV0VSTUFNdVg3YXN2N2NYSXFpbHJZWHdGcnhlZy9xT3VHWlNkRXpNM3QxN0RoMDZDUFQwcGswYk4yM2NDSTlGWUtaSno4aEU5OEhmZjM4aEREWTJkaUw5MGRIZHBhdXJpeGF3ckN5c3JlM3R1bnE2aUxUWDBOQUFUb0lzVHg0L3RuZHdpSXlPQXRZRXhGakF6YzN0NCtzTEpMOTkvUW9zRTBWRlJlM3M3UnRibW9HVkZVcWNqVFlkaDc4RkFJaEJMbE5kN2p1MUFBQUFBRWxGVGtTdVFtQ0MiLCJzdXBwb3J0ZWRFeHRlbnNpb25zIjpbeyJpZCI6ImhtYWMtc2VjcmV0IiwiZmFpbF9pZl91bmtub3duIjpmYWxzZX1dLCJhdXRoZW50aWNhdG9yR2V0SW5mbyI6eyJ2ZXJzaW9ucyI6WyJVMkZfVjIiLCJGSURPXzJfMCJdLCJleHRlbnNpb25zIjpbImhtYWMtc2VjcmV0Il0sImFhZ3VpZCI6IjM3ODlkYTkxZjk0MzQ2YmM5NWMzNTBlYTIwMTJmMDNhIiwib3B0aW9ucyI6eyJwbGF0IjpmYWxzZSwicmsiOnRydWUsImNsaWVudFBpbiI6dHJ1ZSwidXAiOnRydWV9LCJtYXhNc2dTaXplIjoyMDQ4LCJwaW5VdkF1dGhQcm90b2NvbHMiOlsxXSwidHJhbnNwb3J0cyI6WyJ1c2IiXSwiZmlybXdhcmVWZXJzaW9uIjoyfX0sInN0YXR1c1JlcG9ydHMiOlt7InN0YXR1cyI6Ik5PVF9GSURPX0NFUlRJRklFRCIsImVmZmVjdGl2ZURhdGUiOiIyMDIxLTA5LTIxIn1dLCJ0aW1lT2ZMYXN0U3RhdHVzQ2hhbmdlIjoiMjAyMS0wOS0yMSJ9LHsiYWFndWlkIjoiZmEyYjk5ZGMtOWUzOS00MjU3LThmOTItNGEzMGQyM2M0MTE4IiwibWV0YWRhdGFTdGF0ZW1lbnQiOnsibGVnYWxIZWFkZXIiOiJodHRwczovL2ZpZG9hbGxpYW5jZS5vcmcvbWV0YWRhdGEvbWV0YWRhdGEtc3RhdGVtZW50LWxlZ2FsLWhlYWRlci8iLCJhYWd1aWQiOiJmYTJiOTlkYy05ZTM5LTQyNTctOGY5Mi00YTMwZDIzYzQxMTgiLCJkZXNjcmlwdGlvbiI6Ill1YmlLZXkgNSBTZXJpZXMgd2l0aCBORkMiLCJhdXRoZW50aWNhdG9yVmVyc2lvbiI6NTAxMDAsInByb3RvY29sRmFtaWx5IjoiZmlkbzIiLCJzY2hlbWEiOjMsInVwdiI6W3sibWFqb3IiOjEsIm1pbm9yIjowfV0sImF1dGhlbnRpY2F0aW9uQWxnb3JpdGhtcyI6WyJzZWNwMjU2cjFfZWNkc2Ffc2hhMjU2X3JhdyIsImVkMjU1MTlfZWRkc2Ffc2hhNTEyX3JhdyJdLCJwdWJsaWNLZXlBbGdBbmRFbmNvZGluZ3MiOlsiY29zZSJdLCJhdHRlc3RhdGlvblR5cGVzIjpbImJhc2ljX2Z1bGwiXSwidXNlclZlcmlmaWNhdGlvbkRldGFpbHMiOltbeyJ1c2VyVmVyaWZpY2F0aW9uTWV0aG9kIjoicHJlc2VuY2VfaW50ZXJuYWwifSx7InVzZXJWZXJpZmljYXRpb25NZXRob2QiOiJwYXNzY29kZV9pbnRlcm5hbCIsImNhRGVzYyI6eyJiYXNlIjo2NCwibWluTGVuZ3RoIjo0LCJtYXhSZXRyaWVzIjo4LCJibG9ja1Nsb3dkb3duIjowfX0seyJ1c2VyVmVyaWZpY2F0aW9uTWV0aG9kIjoibm9uZSJ9XV0sImtleVByb3RlY3Rpb24iOlsiaGFyZHdhcmUiLCJzZWN1cmVfZWxlbWVudCJdLCJtYXRjaGVyUHJvdGVjdGlvbiI6WyJvbl9jaGlwIl0sImNyeXB0b1N0cmVuZ3RoIjoxMjgsImF0dGFjaG1lbnRIaW50IjpbImV4dGVybmFsIiwid2lyZWQiLCJ3aXJlbGVzcyIsIm5mYyJdLCJ0Y0Rpc3BsYXkiOltdLCJhdHRlc3RhdGlvblJvb3RDZXJ0aWZpY2F0ZXMiOlsiTUlJREhqQ0NBZ2FnQXdJQkFnSUVHMEJUOXpBTkJna3Foa2lHOXcwQkFRc0ZBREF1TVN3d0tnWURWUVFERXlOWmRXSnBZMjhnVlRKR0lGSnZiM1FnUTBFZ1UyVnlhV0ZzSURRMU56SXdNRFl6TVRBZ0Z3MHhOREE0TURFd01EQXdNREJhR0E4eU1EVXdNRGt3TkRBd01EQXdNRm93TGpFc01Db0dBMVVFQXhNaldYVmlhV052SUZVeVJpQlNiMjkwSUVOQklGTmxjbWxoYkNBME5UY3lNREEyTXpFd2dnRWlNQTBHQ1NxR1NJYjNEUUVCQVFVQUE0SUJEd0F3Z2dFS0FvSUJBUUMvandZdWhCVmxxYWlZV0VNc3JXRmlzZ0orUHRNOTFlU3JwSTRUSzdVNTNtd0NJYXdTREh5OHZVbWs1TjJLQWo5YWJ2VDlOUDVTTVMxaFFpM3VzeG9ZR29uWFFnZk82Wlh5VUE5YStLQWtxZEZuQm5seXVnU2VDT2VwOEVkWkZmc2FSRnRNamt3ejVHY3oyUHk0dklZdkNkTUhQdHdhejBiVnV6bmV1ZUlFejZUblFqRTYzUmR0Mnpid25lYndURzVaeWJlV1N3Ynp5K0JKMzRaSGNVaFBBWTg5eUpRWHVFMEl6TVpGY0VCYlBOUmJXRUNSS2dqcS8vcVQ5bm1ET0ZWbFNSQ3Qyd2lxUFN6bHV3bit2K3N1UUVCc1VqVEdNRWQyNXRLWFhUa05XMjF3SVdieGVTeVVvVFh3THZHUzZ4bHdRU2dOcGsycVhZd2Y4aVhnN1ZXWkFnTUJBQUdqUWpCQU1CMEdBMVVkRGdRV0JCUWdJdnowYk5HSmhqZ3BUb2tzeUtwUDl4djlvREFQQmdOVkhSTUVDREFHQVFIL0FnRUFNQTRHQTFVZER3RUIvd1FFQXdJQkJqQU5CZ2txaGtpRzl3MEJBUXNGQUFPQ0FRRUFqdmp1T01EU2ErSlhGQ0x5QktzeWNYdEJWWnNKNFVlM0xiYUVzUFk0TVlOL2hJUTVaTTVwN0VqZmNuTUc0Q3RZa05zZk5IYzBBaEJMZHE0NXJuVDg3cS82TzN2VUV0Tk1hZmJoVTZrdGhYN1krOVhGTjlOcG1ZeHIrZWtWWTV4T3hpOGg5SkRJZ29NUDRWQjF1UzBhdW5MMUlHcXJOb29MOW1tRm5MMmtMVlZlZTYvVlI2QzUrS1NUQ01DV3BwTXVKSVpJSTJ2OW80ZGtvWjhZN1FSalFsTGZZemQzcUd0S2J3N3hhRjFVc0cvNXhVYi9CdHdiMlgyZzRJbnBpQi95dC8zQ3BRWHBpV1gvSzRtQnZVS2lHbjA1WnNxZVkxZ3g0ZzB4TEJxY1U5cHNteVB6SytWc2d3MmplUlE1SmxLRHlxRTBoZWJmQzF0dkZ1MENDckpGY3c9PSJdLCJpY29uIjoiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDQUFBQUFmQ0FZQUFBQ0dWcytNQUFBQUFYTlNSMElBcnM0YzZRQUFBQVJuUVUxQkFBQ3hqd3Y4WVFVQUFBQUpjRWhaY3dBQUhZWUFBQjJHQVYyaUU0RUFBQWJOU1VSQlZGaEhwVmQ3VE5WMUZELzNkNTl3ZVFTSWdTOUFRQVhjRkxBUVppOWZwZVZ6MXRZL1dUWnI1V3hwYzdXNWtuTGE1akkzWjg1c3JTMm5NMnNqdFd3WlM3SVVINEg0eENuRVF4NERBWkY3NFY3dXM4ODV2OS9sSW5CdlZKL0I0UHY5bnUvNW51LzVudk01NTZmekEvUXYwSGIvSXJYM1ZGS1BvNDVjbm00aW5VSVdZd0xGUm1aUVV1d2pGRy9OMWlSSGgxRVowTlJWUnVkcXQxQmQrMm5TS3lTL09oeXMwK2xrM2UvM2tROXF2RDRaVXRhNFZWU1V1WTBlaXB5aVRoQWZvY29PUlZnRHV1dzNxS1JpQWQzcmJjRXRqVGpZSW9mNldhSHNDbXpWUFdDTXgrY2doOHRMcVdNS2FNV3NVakxxbzJSdEpJUTBvT3ptZXJwUXU0ZXNaZ3NPTmtHeEg3ZDBrZHZUVDE3czRPTVU3Vkk4WmhqZ0dhTStBcTlpRU51OFBpZjF1ZHowN013dktXZjhHbFZvQ0VZMDRQQzVXZFRhWFlGYlI4dk52TDUrM0tnZmI1eE5NeWE5UmFtSml5bmFNbEdUVnRGbHI2YmE5dStwcW5FWDR1TXVSUmdqU1lFaHJON3V0RkZlNmxxYWw3TmZrdzVpbUFHSHluUHBiazhWbVkweHN0bnB0bEZDVkNZdHpUdUJOODNRcE1MalR0ZXZkUHpTVW5KN2U4bWtqeFozOWZYYktEZmxkWnFidlUrVFVnR25CVkY2ZlEyaVBIZzRXMTZVV1V3dnpiazE2c01aRStQbjBwdno3SlNldUF5ZXM4bGNwQ21hS3VvL3ArcVdyMlVjd0lBSFdydlAwWUV6aFhBdExBYnNzSGhwN2lHYW12eWlqUDhyeXFyWFVXWDlYb293eHlBdWZOQnJwNDNQT0JGWFpsa2Y4TURSaXFjcHlvd0F3cHV6MngrZld2ei9EdGRlOXNtc3p5Z3RjUjZDMXdiZHpCbDZPbHE1V05ZWTRvR2F0aEpNcmtURXgwakFSU0hBVnMrNXJZa1FOWGIrUWdmUExzUTZnWHlJbnNyZVFmbXBtN1JWRllmTDg2bjFmaVVPa1l2U2hrVVB4dmJ1a3pveTZLMWloTTFobzNYelc2RXZTZlhBK2RwaVdHYVdkK2RvWHpMem1Hd0tZRkxDQXNSQWxQQkFoTWxDRlhVN3RCVVZQcjhIZ1ZjSkhXcStGMDBwbHIrRE1UZHJQNHp2eFkxMWtOTWh4VCtTZVRHZytkNFY1TFFKaXR5VUdKTkI4VkZac2pnWUJaTS9JSS9YQ1RrajBxeURPcEYyQVZRMTdDSWpVcC9EblQxVWtMNUY1Z2RqK3NTMXdnMWdFM2dpZ202MGZDWHpTblBYYnlBUGJJWHYrSURwRTE2VGhhSElTOXNreWhsbU1FNUYzY2ZxQUtocTJDMEU1UEgxZ1lhWGFMUERrWkcwSERKT25LV0hwNTFJMHo1U091eDhlMVdBdVp6ZEhRclRrcDhUbWpYb0krbGEwd0dac3p1YnFiTzNpZlE2QS9XN3ZWU1lzVjNtUjBKS3drS2M0V0hpQmttUjhJM0NDZ0k4N29PTDRxelQ1UCtSVUpCZWpFT2dBUEs4aFlQemF0TStlSVRwMklPOXlUUW1lcm9tUFJ4eDFxeEFjc2lsZS91YlNlRWJjV1FHWUVDZ2hjTFkySHlLam9nakgyNWhNcGpwVXYxT3VnbGk0ZWgyZVJ3ME8zMmJKamt5dUNnTnpnMHZ6bFlNU2lTczB1b280TUc3aE1PakNFYVgxeUZFMG5TdmpCenVUbkVwSzg2WjhJb3FGQUl1Ync4a2c5QXJFYVJFV1NaSStqSDRYYnA2ZzlFOUVuSlQzb2FSekROK01VSkJRREhuNTZhOG9VbUVCdXNPeEJzL041K3RKRWJQa0FGRGo4VUd2T3MvSVd2Y1NnbEdCaHZTNy9GVFlmcFdHWWREWThmUEF4V1NBMzVzVEM0cDQrTG00QWFxSW9QZVF0ZnVmSzZKaDBaaHhsYnNVWE9TbVhOaWZENVpUQWt5RG9mYmJjY2x4bkE4V05BcXhDYlJOeWtoWHhRcGFEdzY3ZlhVWWJzaUcwS2h0djJvZUl2aDhyaFFNWU9jRUFxWEcvZUkrem5nT2M1eXhyOHE4MklBTTFjL0ZMRk9wbHF1NWVGUVhyTVp6R2NWQ2pZYkxXRzVJNEJUMWV1UnJsYnh0Tk90TWl0RERFaExYSUl5bkFBdnVPRVdFM1gzTmRBZnQ5NFZnYUc0MlhJUXQwWlg2UGVDRS9xUUZlOXJLNkh4N1lVNTBLdkg3Zlc0ZlMrcTdLS0JKeHNnZ0JYNXBTQUdoMWpJclZoNXpRNnczUmZhYWhCWG0vYUNiQ1pUakNVRlVUeVdacVc5cDYyTWpKUFhWcU9yUGdNTzROdjc0R2tmK293ZnROVkJEUW5qRkpxSFN3MTdwWHZoV1c1S1pxZS9RNDlOL1VTVENBVldvUVhGSUhCSFhYZTNGUHJVRHN1R0RtdEYvaEhLVEhwZWt4aGlBT1BJK1NKcTZTNkhGNEk5WVd6a0JKVG80NmlVTXpXcDhQaXIvUmlkdUx4S1lzU2tzVjh2TGxPUXZoR1gyWWxSME9CaEJqQyt1L2dFY3ZZMEFwSzdZazQxTnhqUFNRbldGSFRGNjZVcmpnZXZCOEN1NWErbDJ2WVNSUHR1VkRvNzNoaGRNU0huVVg3dFRqc1ZaR3hBbC9XcHRpT0lFUTFnbkwyOW1YNi90UjF0bWxrWWo4VzRYK0NTaldjVURHWTFOcFMvQzdoU0txaU1MTS9sMlFtU1daNzNEZHorZ2lvOEJDRU5ZUFE0NnFua3p3WFVicXZCa3hqVVFzV2ZaRmdidW8zckFmK3dON2pPTzkwK3lueDRQaTNMKzBuWUwxU2NoRFVnQVA0Z1BWLzdJZDFxKzFIU2htdUdrSXFXUlBneXhNRnFQOEhmalRualh3WTViUWZiSmN0Nk9JektnTUhvdEYvSGUxZWdzYXhIU3FHNndmZG1RNXg4TnlURkZxQmNwMmlTb3dIUjN5azUrMzZoRjd2WEFBQUFBRWxGVGtTdVFtQ0MiLCJhdXRoZW50aWNhdG9yR2V0SW5mbyI6eyJ2ZXJzaW9ucyI6WyJVMkZfVjIiLCJGSURPXzJfMCJdLCJleHRlbnNpb25zIjpbImhtYWMtc2VjcmV0Il0sImFhZ3VpZCI6ImZhMmI5OWRjOWUzOTQyNTc4ZjkyNGEzMGQyM2M0MTE4Iiwib3B0aW9ucyI6eyJwbGF0IjpmYWxzZSwicmsiOnRydWUsImNsaWVudFBpbiI6dHJ1ZSwidXAiOnRydWV9LCJtYXhNc2dTaXplIjoxMjAwLCJwaW5VdkF1dGhQcm90b2NvbHMiOlsxXX19LCJzdGF0dXNSZXBvcnRzIjpbeyJzdGF0dXMiOiJGSURPX0NFUlRJRklFRF9MMSIsImVmZmVjdGl2ZURhdGUiOiIyMDIwLTA1LTEyIiwiY2VydGlmaWNhdGlvbkRlc2NyaXB0b3IiOiJZdWJpS2V5IFNlcmllcyA1IHdpdGggTkZDIiwiY2VydGlmaWNhdGVOdW1iZXIiOiJGSURPMjAwMjAxODA5MTgwMDEiLCJjZXJ0aWZpY2F0aW9uUG9saWN5VmVyc2lvbiI6IjEuMS4wIiwiY2VydGlmaWNhdGlvblJlcXVpcmVtZW50c1ZlcnNpb24iOiIxLjIifV0sInRpbWVPZkxhc3RTdGF0dXNDaGFuZ2UiOiIyMDIwLTA1LTEyIn0seyJhdHRlc3RhdGlvbkNlcnRpZmljYXRlS2V5SWRlbnRpZmllcnMiOlsiYmY3YmNhYTBkMGM2MTg3YThjNmFiYmRkMTZhMTU2NDBlN2M3YmRlMiIsIjc1MzMwMGQ2NWRjYzczYTM5YTdkYjMxZWYzMDhkYjlmYTBiNTY2YWUiLCJiNzUzYTBlNDYwZmIyZGM3YzdjNDg3ZTM1ZjI0Y2Y2M2IwNjUzNDdjIiwiYjZkNDRhNGI4ZDRiMDQwNzg3Mjk2OWIxZjZiMjI2MzAyMWJlNjI3ZSIsIjZkNDkxZjIyM2FmNzNjZGY4MTc4NGE2YzA4OTBmOGExZDUyN2ExMmMiXSwibWV0YWRhdGFTdGF0ZW1lbnQiOnsibGVnYWxIZWFkZXIiOiJodHRwczovL2ZpZG9hbGxpYW5jZS5vcmcvbWV0YWRhdGEvbWV0YWRhdGEtc3RhdGVtZW50LWxlZ2FsLWhlYWRlci8iLCJhdHRlc3RhdGlvbkNlcnRpZmljYXRlS2V5SWRlbnRpZmllcnMiOlsiYmY3YmNhYTBkMGM2MTg3YThjNmFiYmRkMTZhMTU2NDBlN2M3YmRlMiIsIjc1MzMwMGQ2NWRjYzczYTM5YTdkYjMxZWYzMDhkYjlmYTBiNTY2YWUiLCJiNzUzYTBlNDYwZmIyZGM3YzdjNDg3ZTM1ZjI0Y2Y2M2IwNjUzNDdjIiwiYjZkNDRhNGI4ZDRiMDQwNzg3Mjk2OWIxZjZiMjI2MzAyMWJlNjI3ZSIsIjZkNDkxZjIyM2FmNzNjZGY4MTc4NGE2YzA4OTBmOGExZDUyN2ExMmMiXSwiZGVzY3JpcHRpb24iOiJZdWJpS2V5IDVDaSIsImF1dGhlbnRpY2F0b3JWZXJzaW9uIjoyLCJwcm90b2NvbEZhbWlseSI6InUyZiIsInNjaGVtYSI6MywidXB2IjpbeyJtYWpvciI6MSwibWlub3IiOjF9XSwiYXV0aGVudGljYXRpb25BbGdvcml0aG1zIjpbInNlY3AyNTZyMV9lY2RzYV9zaGEyNTZfcmF3Il0sInB1YmxpY0tleUFsZ0FuZEVuY29kaW5ncyI6WyJlY2NfeDk2Ml9yYXciXSwiYXR0ZXN0YXRpb25UeXBlcyI6WyJiYXNpY19mdWxsIl0sInVzZXJWZXJpZmljYXRpb25EZXRhaWxzIjpbW3sidXNlclZlcmlmaWNhdGlvbk1ldGhvZCI6InByZXNlbmNlX2ludGVybmFsIn1dXSwia2V5UHJvdGVjdGlvbiI6WyJoYXJkd2FyZSIsInNlY3VyZV9lbGVtZW50IiwicmVtb3RlX2hhbmRsZSJdLCJtYXRjaGVyUHJvdGVjdGlvbiI6WyJvbl9jaGlwIl0sImNyeXB0b1N0cmVuZ3RoIjoxMjgsImF0dGFjaG1lbnRIaW50IjpbImV4dGVybmFsIiwid2lyZWQiXSwidGNEaXNwbGF5IjpbXSwiYXR0ZXN0YXRpb25Sb290Q2VydGlmaWNhdGVzIjpbIk1JSURIakNDQWdhZ0F3SUJBZ0lFRzBCVDl6QU5CZ2txaGtpRzl3MEJBUXNGQURBdU1Td3dLZ1lEVlFRREV5TlpkV0pwWTI4Z1ZUSkdJRkp2YjNRZ1EwRWdVMlZ5YVdGc0lEUTFOekl3TURZek1UQWdGdzB4TkRBNE1ERXdNREF3TURCYUdBOHlNRFV3TURrd05EQXdNREF3TUZvd0xqRXNNQ29HQTFVRUF4TWpXWFZpYVdOdklGVXlSaUJTYjI5MElFTkJJRk5sY21saGJDQTBOVGN5TURBMk16RXdnZ0VpTUEwR0NTcUdTSWIzRFFFQkFRVUFBNElCRHdBd2dnRUtBb0lCQVFDL2p3WXVoQlZscWFpWVdFTXNyV0Zpc2dKK1B0TTkxZVNycEk0VEs3VTUzbXdDSWF3U0RIeTh2VW1rNU4yS0FqOWFidlQ5TlA1U01TMWhRaTN1c3hvWUdvblhRZ2ZPNlpYeVVBOWErS0FrcWRGbkJubHl1Z1NlQ09lcDhFZFpGZnNhUkZ0TWprd3o1R2N6MlB5NHZJWXZDZE1IUHR3YXowYlZ1em5ldWVJRXo2VG5RakU2M1JkdDJ6YnduZWJ3VEc1WnliZVdTd2J6eStCSjM0WkhjVWhQQVk4OXlKUVh1RTBJek1aRmNFQmJQTlJiV0VDUktnanEvL3FUOW5tRE9GVmxTUkN0MndpcVBTemx1d24rditzdVFFQnNValRHTUVkMjV0S1hYVGtOVzIxd0lXYnhlU3lVb1RYd0x2R1M2eGx3UVNnTnBrMnFYWXdmOGlYZzdWV1pBZ01CQUFHalFqQkFNQjBHQTFVZERnUVdCQlFnSXZ6MGJOR0poamdwVG9rc3lLcFA5eHY5b0RBUEJnTlZIUk1FQ0RBR0FRSC9BZ0VBTUE0R0ExVWREd0VCL3dRRUF3SUJCakFOQmdrcWhraUc5dzBCQVFzRkFBT0NBUUVBanZqdU9NRFNhK0pYRkNMeUJLc3ljWHRCVlpzSjRVZTNMYmFFc1BZNE1ZTi9oSVE1Wk01cDdFamZjbk1HNEN0WWtOc2ZOSGMwQWhCTGRxNDVyblQ4N3EvNk8zdlVFdE5NYWZiaFU2a3RoWDdZKzlYRk45TnBtWXhyK2VrVlk1eE94aThoOUpESWdvTVA0VkIxdVMwYXVuTDFJR3FyTm9vTDltbUZuTDJrTFZWZWU2L1ZSNkM1K0tTVENNQ1dwcE11SklaSUkydjlvNGRrb1o4WTdRUmpRbExmWXpkM3FHdEtidzd4YUYxVXNHLzV4VWIvQnR3YjJYMmc0SW5waUIveXQvM0NwUVhwaVdYL0s0bUJ2VUtpR24wNVpzcWVZMWd4NGcweExCcWNVOXBzbXlQeksrVnNndzJqZVJRNUpsS0R5cUUwaGViZkMxdHZGdTBDQ3JKRmN3PT0iXSwiaWNvbiI6ImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0FBQUFBZkNBWUFBQUNHVnMrTUFBQUFBWE5TUjBJQXJzNGM2UUFBQUFSblFVMUJBQUN4and2OFlRVUFBQUFKY0VoWmN3QUFIWVlBQUIyR0FWMmlFNEVBQUFiTlNVUkJWRmhIcFZkN1ROVjFGRC8zZDU5d2VRU0lnUzlBUUFYY0ZMQVFaaTlmcGVWejF0WS9XVFpyNVd4cGM3VzVrbkxhNWpJM1o4NXNyUzJuTTJzanRXd1pTN0lVSDRINHhDbkVReDREQVpGNzRWN3VzODg1djkvbEluQnZWSi9CNFB2OW51LzVudS81bnZNNTU2ZnpBL1F2MEhiL0lyWDNWRktQbzQ1Y25tNGluVUlXWXdMRlJtWlFVdXdqRkcvTjFpUkhoMUVaME5SVlJ1ZHF0MUJkKzJuU0t5Uy9PaHlzMCtsazNlLzNrUTlxdkQ0WlV0YTRWVlNVdVkwZWlweWlUaEFmb2NvT1JWZ0R1dXczcUtSaUFkM3JiY0V0alRqWUlvZjZXYUhzQ216VlBXQ014K2NnaDh0THFXTUthTVdzVWpMcW8yUnRKSVEwb096bWVycFF1NGVzWmdzT05rR3hIN2Qwa2R2VFQxN3M0T01VN1ZJOFpoamdHYU0rQXE5aUVOdThQaWYxdWR6MDdNd3ZLV2Y4R2xWb0NFWTA0UEM1V2RUYVhZRmJSOHZOdkw1KzNLZ2ZiNXhOTXlhOVJhbUppeW5hTWxHVFZ0RmxyNmJhOXUrcHFuRVg0dU11UlJnalNZRWhyTjd1dEZGZTZscWFsN05ma3c1aW1BR0h5blBwYms4Vm1ZMHhzdG5wdGxGQ1ZDWXR6VHVCTjgzUXBNTGpUdGV2ZFB6U1VuSjdlOG1ranhaMzlmWGJLRGZsZFpxYnZVK1RVZ0duQlZGNmZRMmlQSGc0VzE2VVdVd3Z6YmsxNnNNWkUrUG4wcHZ6N0pTZXVBeWVzOGxjcENtYUt1by9wK3FXcjJVY3dJQUhXcnZQMFlFemhYQXRMQWJzc0hocDdpR2FtdnlpalA4cnlxclhVV1g5WG9vd3h5QXVmTkJycDQzUE9CRlhabGtmOE1EUmlxY3B5b3dBd3B1ejJ4K2ZXdnovRHRkZTlzbXN6eWd0Y1I2QzF3YmR6Qmw2T2xxNVdOWVk0b0dhdGhKTXJrVEV4MGpBUlNIQVZzKzVyWWtRTlhiK1FnZlBMc1E2Z1h5SW5zcmVRZm1wbTdSVkZZZkw4Nm4xZmlVT2tZdlNoa1VQeHZidWt6b3k2SzFpaE0xaG8zWHpXNkV2U2ZYQStkcGlXR2FXZCtkb1h6THptR3dLWUZMQ0FzUkFsUEJBaE1sQ0ZYVTd0QlVWUHI4SGdWY0pIV3ErRjAwcGxyK0RNVGRyUDR6dnhZMTFrTk1oeFQrU2VUR2crZDRWNUxRSml0eVVHSk5COFZGWnNqZ1lCWk0vSUkvWENUa2owcXlET3BGMkFWUTE3Q0lqVXAvRG5UMVVrTDVGNWdkaitzUzF3ZzFnRTNnaWdtNjBmQ1h6U25QWGJ5QVBiSVh2K0lEcEUxNlRoYUhJUzlza3lobG1NRTVGM2NmcUFLaHEyQzBFNVBIMWdZYVhhTFBEa1pHMEhESk9uS1dIcDUxSTB6NVNPdXg4ZTFXQXVaemRIUXJUa3A4VG1qWG9JK2xhMHdHWnN6dWJxYk8zaWZRNkEvVzd2VlNZc1YzbVIwSkt3a0tjNFdIaUJrbVI4STNDQ2dJODdvT0w0cXpUNVArUlVKQmVqRU9nQVBLOGhZUHphdE0rZUlUcDJJTzl5VFFtZXJvbVBSeHgxcXhBY3NpbGUvdWJTZUViY1dRR1lFQ2doY0xZMkh5S2pvZ2pIMjVoTXBqcFV2MU91Z2xpNGVoMmVSdzBPMzJiSmpreXVDZ056ZzB2emxZTVNpU3MwdW9vNE1HN2hNT2pDRWFYMXlGRTBuU3ZqQnp1VG5FcEs4Nlo4SW9xRkFJdWJ3OGtnOUFyRWFSRVdTWkkrakg0WGJwNmc5RTlFbkpUM29hUnpETitNVUpCUURIbjU2YThvVW1FQnVzT3hCcy9ONSt0SkViUGtBRkRqOFVHdk9zL0lXdmNTZ2xHQmh2UzcvRlRZZnBXR1lkRFk4ZlBBeFdTQTM1c1RDNHA0K0xtNEFhcUlvUGVRdGZ1Zks2SmgwWmh4bGJzVVhPU21YTmlmRDVaVEFreURvZmJiY2NseG5BOFdOQXF4Q2JSTnlraFh4UXBhRHc2N2ZYVVlic2lHMEtodHYyb2VJdmg4cmhRTVlPY0VBcVhHL2VJK3puZ09jNXl4cjhxODJJQU0xYy9GTEZPcGxxdTVlRlFYck1aekdjVkNqWWJMV0c1STRCVDFldVJybGJ4dE5PdE1pdERERWhMWElJeW5BQXZ1T0VXRTNYM05kQWZ0OTRWZ2FHNDJYSVF0MFpYNlBlQ0UvcVFGZTlySzZIeDdZVTUwS3ZIN2ZXNGZTK3E3S0tCSnhzZ2dCWDVwU0FHaDFqSXJWaDV6UTZ3M1JmYWFoQlhtL2FDYkNaVGpDVUZVVHlXWnFXOXA2Mk1qSlBYVnFPclBnTU80TnY3NEdrZitvd2Z0TlZCRFFuakZKcUhTdzE3cFh2aFdXNUtacWUvUTQ5Ti9VU1RDQVZXb1FYRklIQkhYWGUzRlByVURzdUdEbXRGL2hIS1RIcGVreGhpQU9QSStTSnE2UzZIRjRJOVlXemtCSlRvNDZpVU16V3A4UGlyL1JpZHVMeEtZc1Nrc1Y4dkxsT1F2aEdYMllsUjBPQmhCakMrdS9nRWN2WTBBcEs3WWs0MU54alBTUW5XRkhURjY2VXJqZ2V2QjhDdTVhK2wydllTUlB0dVZEbzczaGhkTVNIblVYN3RUanNWWkd4QWwvV3B0aU9JRVExZ25MMjltWDYvdFIxdG1sa1lqOFc0WCtDU2pXY1VER1kxTnBTL0M3aFNLcWlNTE0vbDJRbVNXWjczRGR6K2dpbzhCQ0VOWVBRNDZxbmt6d1hVYnF2Qmt4alVRc1dmWkZnYnVvM3JBZit3TjdqT085MCt5bng0UGkzTCswbllMMVNjaERVZ0FQNGdQVi83SWQxcSsxSFNobXVHa0lxV1JQZ3l4TUZxUDhIZmpUbmpYd1k1YlFmYkpjdDZPSXpLZ01Ib3RGL0hlMWVnc2F4SFNxRzZ3ZmRtUTV4OE55VEZGcUJjcDJpU293SFIzeWs1KzM2aEY3dlhBQUFBQUVsRlRrU3VRbUNDIn0sInN0YXR1c1JlcG9ydHMiOlt7InN0YXR1cyI6IkZJRE9fQ0VSVElGSUVEX0wxIiwiZWZmZWN0aXZlRGF0ZSI6IjIwMjAtMDUtMTIiLCJjZXJ0aWZpY2F0aW9uRGVzY3JpcHRvciI6Ill1YmlLZXkgNUNpIiwiY2VydGlmaWNhdGVOdW1iZXIiOiJVMkYxMTAwMjAxOTEwMTcwMDciLCJjZXJ0aWZpY2F0aW9uUG9saWN5VmVyc2lvbiI6IjEuMS4xIiwiY2VydGlmaWNhdGlvblJlcXVpcmVtZW50c1ZlcnNpb24iOiIxLjMifV0sInRpbWVPZkxhc3RTdGF0dXNDaGFuZ2UiOiIyMDIwLTA1LTEyIn0seyJhYWd1aWQiOiI0ZTc2OGYyYy01ZmFiLTQ4YjMtYjMwMC0yMjBlYjQ4Nzc1MmIiLCJtZXRhZGF0YVN0YXRlbWVudCI6eyJsZWdhbEhlYWRlciI6Imh0dHBzOi8vZmlkb2FsbGlhbmNlLm9yZy9tZXRhZGF0YS9tZXRhZGF0YS1zdGF0ZW1lbnQtbGVnYWwtaGVhZGVyLyIsImFhZ3VpZCI6IjRlNzY4ZjJjLTVmYWItNDhiMy1iMzAwLTIyMGViNDg3NzUyYiIsImRlc2NyaXB0aW9uIjoiSGlkZWV6IEtleSBGSURPMiBTREsiLCJhbHRlcm5hdGl2ZURlc2NyaXB0aW9ucyI6eyJydS1SVSI6IkZJRE8yIEtleSBTREsgLSDQvtGCIEhpZGVleiJ9LCJhdXRoZW50aWNhdG9yVmVyc2lvbiI6MSwicHJvdG9jb2xGYW1pbHkiOiJmaWRvMiIsInNjaGVtYSI6MywidXB2IjpbeyJtYWpvciI6MSwibWlub3IiOjB9XSwiYXV0aGVudGljYXRpb25BbGdvcml0aG1zIjpbInNlY3AyNTZyMV9lY2RzYV9zaGEyNTZfcmF3Il0sInB1YmxpY0tleUFsZ0FuZEVuY29kaW5ncyI6WyJjb3NlIl0sImF0dGVzdGF0aW9uVHlwZXMiOlsiYmFzaWNfZnVsbCJdLCJ1c2VyVmVyaWZpY2F0aW9uRGV0YWlscyI6W1t7InVzZXJWZXJpZmljYXRpb25NZXRob2QiOiJwcmVzZW5jZV9pbnRlcm5hbCJ9XSxbeyJ1c2VyVmVyaWZpY2F0aW9uTWV0aG9kIjoicHJlc2VuY2VfaW50ZXJuYWwifSx7InVzZXJWZXJpZmljYXRpb25NZXRob2QiOiJwYXNzY29kZV9pbnRlcm5hbCJ9XSxbeyJ1c2VyVmVyaWZpY2F0aW9uTWV0aG9kIjoicGFzc2NvZGVfaW50ZXJuYWwifV1dLCJrZXlQcm90ZWN0aW9uIjpbImhhcmR3YXJlIiwic2VjdXJlX2VsZW1lbnQiXSwibWF0Y2hlclByb3RlY3Rpb24iOlsib25fY2hpcCJdLCJjcnlwdG9TdHJlbmd0aCI6MTI4LCJhdHRhY2htZW50SGludCI6WyJleHRlcm5hbCIsIndpcmVkIiwid2lyZWxlc3MiLCJuZmMiLCJibHVldG9vdGgiXSwidGNEaXNwbGF5IjpbXSwiYXR0ZXN0YXRpb25Sb290Q2VydGlmaWNhdGVzIjpbIk1JSUNaRENDQWd1Z0F3SUJBZ0lVSXlsYlNFQUUxNXpTRXZ3RjByOEd3VWQvNW9Fd0NnWUlLb1pJemowRUF3SXdnWWN4RnpBVkJnTlZCQU1NRGtocFpHVmxlaUJTYjI5MElFTkJNUjh3SFFZSktvWklodmNOQVFrQkZoQnNaV2RoYkVCb2FXUmxaWG91WTI5dE1Sb3dHQVlEVlFRS0RCRklhV1JsWlhvZ1IzSnZkWEFnU1c1akxqRWlNQ0FHQTFVRUN3d1pRWFYwYUdWdWRHbGpZWFJ2Y2lCQmRIUmxjM1JoZEdsdmJqRUxNQWtHQTFVRUJoTUNWVk13SGhjTk1qRXdPREUyTVRjeU16RTRXaGNOTkRrd01UQXhNVGN5TXpFNFdqQ0JoekVYTUJVR0ExVUVBd3dPU0dsa1pXVjZJRkp2YjNRZ1EwRXhIekFkQmdrcWhraUc5dzBCQ1FFV0VHeGxaMkZzUUdocFpHVmxlaTVqYjIweEdqQVlCZ05WQkFvTUVVaHBaR1ZsZWlCSGNtOTFjQ0JKYm1NdU1TSXdJQVlEVlFRTERCbEJkWFJvWlc1MGFXTmhkRzl5SUVGMGRHVnpkR0YwYVc5dU1Rc3dDUVlEVlFRR0V3SlZVekJaTUJNR0J5cUdTTTQ5QWdFR0NDcUdTTTQ5QXdFSEEwSUFCQXFsbUFNQXo0aDVJd2ZWWndTYjRqQWk1b3Q4NUZFMGJ1dUNLczRtZnVkMjFxc281cnB1S0g0M3NLcWJyTkZRU3R4NVJTQzlibUJxZFMybHljbDM1bGFqVXpCUk1CMEdBMVVkRGdRV0JCUldJaVJWV2F5WkJuSDVCbFRuUURpR3lRNk9MVEFmQmdOVkhTTUVHREFXZ0JSV0lpUlZXYXlaQm5INUJsVG5RRGlHeVE2T0xUQVBCZ05WSFJNQkFmOEVCVEFEQVFIL01Bb0dDQ3FHU000OUJBTUNBMGNBTUVRQ0lFWlhoNzZYRmhMeEpJVDhGc0lvUUhUd2ZIQ0U4c1VzS3lQcmNMdi8zdG9NQWlCK3BqWTliSTZuS1Q2cUZ1cWdSbitiWEJBZE1lZy8ydlg4d0c0YUJ0b01BQT09IiwiXG5NSUlDTWpDQ0FkbWdBd0lCQWdJQkFqQUtCZ2dxaGtqT1BRUURBakNCaHpFWE1CVUdBMVVFQXd3T1NHbGtaV1Y2SUZKdmIzUWdRMEV4SHpBZEJna3Foa2lHOXcwQkNRRVdFR3hsWjJGc1FHaHBaR1ZsZWk1amIyMHhHakFZQmdOVkJBb01FVWhwWkdWbGVpQkhjbTkxY0NCSmJtTXVNU0l3SUFZRFZRUUxEQmxCZFhSb1pXNTBhV05oZEc5eUlFRjBkR1Z6ZEdGMGFXOXVNUXN3Q1FZRFZRUUdFd0pWVXpBZUZ3MHlNVEE0TVRZeE56STBNRFZhRncwME9UQXhNREV4TnpJME1EVmFNSUdNTVJ3d0dnWURWUVFEREJOSWFXUmxaWG9nUmtsRVR5QlNiMjkwSUVOQk1SOHdIUVlKS29aSWh2Y05BUWtCRmhCc1pXZGhiRUJvYVdSbFpYb3VZMjl0TVJvd0dBWURWUVFLREJGSWFXUmxaWG9nUjNKdmRYQWdTVzVqTGpFaU1DQUdBMVVFQ3d3WlFYVjBhR1Z1ZEdsallYUnZjaUJCZEhSbGMzUmhkR2x2YmpFTE1Ba0dBMVVFQmhNQ1ZWTXdXVEFUQmdjcWhrak9QUUlCQmdncWhrak9QUU1CQndOQ0FBUzBBY1QvaFJGVWJsRmNJcDZiaDRQMlpTcTFhamlVYWdoZWM5dWRTRkdJb1VaNDBZM0lFUGx0azJUeGJ3TS9ScFdtQ0ZyWnNBZGZ5eDIxcnZZZHBMOFJveTh3TFRBTUJnTlZIUk1FQlRBREFRSC9NQjBHQTFVZERnUVdCQlRsWjhEdjNxQUtlS2MxQzJPaU52SHpHcWcxSlRBS0JnZ3Foa2pPUFFRREFnTkhBREJFQWlBSHB0c3grNkdxdjZuYmErYlQ5Zlc3bjh4c2ZIOFJoSUs4VllGUEtFc0JaQUlnUWhPU0R4a0RrY3k5bmJQVDR4MEVtREQ5VXNMNTAxdGtTc2NmV2EwYUxidz0iXSwiaWNvbiI6ImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBSUFBQUFDQUNBWUFBQUcwT1ZGZEFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBeVJwVkZoMFdFMU1PbU52YlM1aFpHOWlaUzU0YlhBQUFBQUFBRHcvZUhCaFkydGxkQ0JpWldkcGJqMGk3N3UvSWlCcFpEMGlWelZOTUUxd1EyVm9hVWg2Y21WVGVrNVVZM3ByWXpsa0lqOCtJRHg0T25odGNHMWxkR0VnZUcxc2JuTTZlRDBpWVdSdlltVTZibk02YldWMFlTOGlJSGc2ZUcxd2RHczlJa0ZrYjJKbElGaE5VQ0JEYjNKbElEVXVNeTFqTURFeElEWTJMakUwTlRZMk1Td2dNakF4TWk4d01pOHdOaTB4TkRvMU5qb3lOeUFnSUNBZ0lDQWdJajRnUEhKa1pqcFNSRVlnZUcxc2JuTTZjbVJtUFNKb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk4eE9UazVMekF5THpJeUxYSmtaaTF6ZVc1MFlYZ3Ribk1qSWo0Z1BISmtaanBFWlhOamNtbHdkR2x2YmlCeVpHWTZZV0p2ZFhROUlpSWdlRzFzYm5NNmVHMXdQU0pvZEhSd09pOHZibk11WVdSdlltVXVZMjl0TDNoaGNDOHhMakF2SWlCNGJXeHVjenA0YlhCTlRUMGlhSFIwY0RvdkwyNXpMbUZrYjJKbExtTnZiUzk0WVhBdk1TNHdMMjF0THlJZ2VHMXNibk02YzNSU1pXWTlJbWgwZEhBNkx5OXVjeTVoWkc5aVpTNWpiMjB2ZUdGd0x6RXVNQzl6Vkhsd1pTOVNaWE52ZFhKalpWSmxaaU1pSUhodGNEcERjbVZoZEc5eVZHOXZiRDBpUVdSdlltVWdVR2h2ZEc5emFHOXdJRU5UTmlBb1RXRmphVzUwYjNOb0tTSWdlRzF3VFUwNlNXNXpkR0Z1WTJWSlJEMGllRzF3TG1scFpEb3hNakZET1VJMk9UVkJNREV4TVVVMVFrUkJSRVF3UWtKRk1VWkZSamhHUkNJZ2VHMXdUVTA2Ukc5amRXMWxiblJKUkQwaWVHMXdMbVJwWkRveE1qRkRPVUkyUVRWQk1ERXhNVVUxUWtSQlJFUXdRa0pGTVVaRlJqaEdSQ0krSUR4NGJYQk5UVHBFWlhKcGRtVmtSbkp2YlNCemRGSmxaanBwYm5OMFlXNWpaVWxFUFNKNGJYQXVhV2xrT2pFeU1VTTVRalkzTlVFd01URXhSVFZDUkVGRVJEQkNRa1V4UmtWR09FWkVJaUJ6ZEZKbFpqcGtiMk4xYldWdWRFbEVQU0o0YlhBdVpHbGtPakV5TVVNNVFqWTROVUV3TVRFeFJUVkNSRUZFUkRCQ1FrVXhSa1ZHT0VaRUlpOCtJRHd2Y21SbU9rUmxjMk55YVhCMGFXOXVQaUE4TDNKa1pqcFNSRVkrSUR3dmVEcDRiWEJ0WlhSaFBpQThQM2h3WVdOclpYUWdaVzVrUFNKeUlqOCt2cjVYSWdBQUUvOUpSRUZVZU5waUREbDZnUUVQNEFMaUJDQ2Voa3NCRXc3eC8xQ3NEZFc4RDBrTUJiQmcwUWdDQWtEOEVVbmNDVW8vUmxMRGlHNEFpZ1FPSUl1azlpOFFNNk83QUo5bWRIWC9rY1BnUHdtYVVReGhJdEZtZEhBRlpBQTNFSjhoRUJ2L2NjanJnQXlJQjJKak1sMEFEb05wREJRQUZpSUNpcUFMWUdBZGlaYi9SM1lCSTU2QXd1dEM5THh3Z0FUYlBkSERBT1lLSlNDK2gwZHpBQkM3QVBGZWJJSElpSll2Q0FZc1FBQXhFaWdQd29INEN4QnZKU1VhL3hOd0VTTytBZ1U1U3pPaWFjTHFQU1kwelZZRUVnK0dJU3hrWkdkR3BBd0dUd2ZwWkpRRmNCZjhKN004QU9uNXgwUWd0Y0d3RTdGSkdSZllTMnE5QUFMOUJMTDFUUFJDRlIwVVlVa1B5Q0FOaUU4d1VWQ2dnb0Fsc2hmcVNDMU1rTDBBY2tVak9XbUJDVnR0UTRUdGpMaGlBU1N4QnkwTklHTXQ5REFEQ0NCQzVRRTYrQXpFUEdoaTM2RHRDR1N3SElpamlLMVhHSWhNemYraGxqT2lZVzQwZmljUVI2THBTeWEzZ1lNYzVveEVKcmtLTE9ybjRLcWltZkJZRERPQWlZRXlnTzV3a1BtcXVBcFVFQkNsTUhNUjQ1QmJRTHdkdVVCK0RjVG5nZGlJZ2ZZQXVWWmdoWVdBQ0JCM2s5RzBRTWFUeVhETUw1QURRcUdjWmVRVVJVZ2doNXptRFJNMEh3OFlZRUpyZEZTUkVJL21CRkk3U1lYNVFpamRTb0xqVDVGWVBzQ0FDYllxT1lGQS9GSVRuSWJTNXRocW8xUWFPd0s1a0R1RnJTU2NRMlFMbDFRZ0J6V3ZIejI2V0FnVUZ0SkEvQVNML0Ixb3RqMEc3ZE5LUWh2OG9LaGtKYUk0SnJxVDlCUk5JeWpFL2dDeENwNG16Rm0waElZWEFBUVFxZTBCbEFZVjFLTHZRTHdmaU8vU29wdUlESHlBZURNSjVjdC9ZaFVTQWllZ2htM0dFYS9ZNHZjZlVoT01vaEQ0anlWTnlCRGI5d0dDcTRRNjNMaENvQUdMNVl4NExDZVU0ditUNG9BbFFGeFBaaG1QN3BBTGhCeUI3Z0F6SUk0bVl3UUpGekRFMGVyQzZZQ1RWTFNjQVVmM0YyOG5tOXFXNHhxZ21Jb3ZEZERDY25TenM5QWQ4SjhPbHFNN29oNWJkVXd2d0FmTjZtQUhhQTlBVS9BemNrbDRnSUxVVFduYVlXS0M5Z2tvdFp6Y0Jrd2ZPZjIrNTFTSWdqSllEWXZzQUM0aU5VdmdrZk1pMG93bW1KM0lEcGhIcE9ZbGVPUzJFV2tHTzZ4MlJYWkFPSkdhWTZtWUcrWXpRZHR3bEJTckROREdLVG01WUJvTHRGMzNud3FPSUJic3cxY2JmcUZESWVTSXp3SGNkQ3dONVpBZGdCeWNMVFMwRkRtcUg2T0h3Q2NvWFUybnlnZ2pDdml4TlJobzVQdlB1TklBUm9PQnhpMGp2QzJpRHpUcWxoUFZMMkNFUmtrWmhSWXpBL0ZHZk9VR0M0R2dBcm04RTR2Y0dpRGV4QUFaY0FSMXgwMmhSYms1am9LSGtkeXVHYTdCaWhBb3ByaTBaQ0loNFlCd0R4RnFyVW5wVFFFRUVDWGpBOFFDRFNBdWhQYTRTQ2xwUVpQam9OSFhSYlIwSEJPVnpkdk9nRG1FZkowQk1zV0Y3dmtTcEpqaUJlS1hhUEtnU25vaEEvYVpINlBCRWdBRmFBN3p3S0h1STlTVHlPTXB2V2lOQUFrMCtWbDQ3RDJMWk9jdmVnZUFIcExsL1RqVXZFUHpqQUFaTFoxME5ETlc0RkRIaXVTZUI3UU1nTVZRU3k0UzRXQmhHbVRYU0NUekZYQ29rV2ZBdjNpR3JBQ29neG9ZZzYxRlRXU1NwVFo0aUdTdkg1N2FuMkJBa0RwRUNRTzhkR3E4RXdNMk0rQ2ZYUGdQVGIxeHBLU0FZaHlHd1VKOXNIZ2VsL3V3ZFdUL0U1c0Nkak5BVmlxaEI5Ui9ocUVEY0tXSS80UmE0K3ZSUEcvQlFQNUNzOEdhSW5DT0VBY3lRTmFwZ2NCTXFNYVRETU1EWUZzNmdSRUE2NUFVWnpBTVR3RHkyMndvdXhzNUFKQzc0RXAwY0lnbnRMR0UzSXBjUWFkQVNFVnFpc01EQUhrSWdKYkRBVERQZ3NZd0JkSGt3cEhrOTlBcE1EeEFBV0NKcFFxa05nZ2pzU0IxcGxIQnE0L2VJV05pSUdGdW5RS3drdHdZb3JJNzBNY1RORUVCOEIyTHdzQkJVbWpkb3JKNUx0aGFndnV3S0Z4Rm80WUpxV01MOTZqb0JsTXNZbnVZY0ZnQ2FpRnkwaUFRRHBDZzFvdks5aC9GSXRhTmJkMFdETHlsUVpKMlJPdmp1MEY3YzBvTTVDMUNJNlh3dzdhWTZRcjZ5amxrQUVvQndUVE80N3VodmJuN05MYm5BbzdJUUdrSll1c1lyUmtHcmI5WFdNUXV3N0lqY2dDQXRseFprVEFtTUJRQXFITW5pa1ZjRDFkdjhEZ0Q5dG1Gb1JnSVU1RTZkemhySkd3RElxZHdGRVJES1JEbVltblNiOExtTDBKelU5ZEFyU1Y4QXdxREVPd0NZbGRpMnlHRUJrVzFjQXdvTUExU3p6OUc4M3dkb1FnamRXNE91Y0RVSFdTZUIwV01ESnJIbXdscFlpSFJFbGdnZ1BydWw3RElmNFBtdFEwTWtLMEIxQnc4QlEzUCtVSUxOaTFxTmJtcE1UazZnNEgwZllYVUJLQjFUMlJQajFFakwyZWdOV05yYU9oWlVJdFJHTTAraXVZR1dXamd5RllHN0p0UldLQnRmMmRvUTBRQnFjUEZEQzNBYmtIYklxQ1MvRFk5a2c5QUFQS3VMU1NMSUFvZk5hUkFKQklTSTdzUVdrU1FKVVpKbWQzd0pheGVJb2dzRUl3dWhEMEkwb05HMFVObFJROVpVWUVRQlJLSWtSSGR5Q0x5SVNxUUlnc2lxTWdLb1ljU3BGRHI5Si9oMzZZenU3UDd6Nnk3ZngvOG9MT3pPM08rbmN1Wk0yZk9odUVmSUtPWWZnVzBRRUhoUHhFQldKbWhNQ3N6TG9ReWFtbU1LUE54RHc2ZWwzNy9qaGkyQ1ZnWkEyVGdHMjJIcElIenZJdndxbE5zT1VUYUczckdkK28ra1NaZ01WVVd6L2hzOU1pTDUwRFFYVTZjaG0zd3lJLzVidEx6TzZOR3dIeXFXSTlHWHJHVGl3ckxOMGQ2QzZXdjBIakdPaXJ2WGhRSUdGRVlHMlEwZy90ZXZrQTM1U3NrYmRNTmxVUkUzVmdRc0VkelliU044aHp3K2Z3UE5FRG5hS3hDejZheVVnMHlDK0NVbGUrUlp6ZVk4WGdkcEplRVUrWkhqYlVBdXVTOXN0a0NSajJFdjBodjNMUzdiejg5MTJ1anBBOW96ODhHQVc3TjdBZFZzTWF5VG5HVHlubmtrdWNvclUrTUV1QW0vRlpJSHNRSUMrZ09PODNsT3VvUXJhYkdBTzI0UFdOZy9NZ2d2U09MdWI2REZLbGpxYlNBVVJkVk5TcW1zWEcwZU9MUTRtVzRjU1BnaWlMOUtTVGM1S0tFS2xESHQra05Ra0FKOFA3dzZQMWZDdEhFZmxCSHRCbnlTOEF6SmcxRDVxeUhhQVBydUZaaE5kcXVTOEJGSnEwTE5PTUZSUURYcVV2SU9LTkxnT3dUL0FBU3hzZzRBUWRGYm51OXc0c0EyVm5pM2UvZmNvZ25iakNLMlFZdkF1VGw2SFNJTjdBN04wcHBiU29DamtSSXlURUpQSFoyV3RKY1dRSWEwbEI0Z1oyMGpoQllJeE9RNjdpWUJla0pYRWtLVS9zNW1RQnhPaEZQZll4QStxSllIdHNFQWNJNXVneitIOHprWm9FRklSWGVBWDg3U21PTXZaVWh0Z0N4V3Z4RFFHNklyTGVSd1BKOGpQRTg3b0o5TDVSbGpyODNpYVZrVlVqQ282Tml1YWI5d2RZczVIUU1MeFF0SUl5bVY2MHB2SmNkSWxYSURtRFptVXkvTDdaUThOVUE5NnkyVUk5NTB2OXpNaUVabmwyZ3duQ2hRZTJGclNHMHpHbEl3RVNQOVlBSkJTUUlpa0lnWUVJbW8vaXNNbHhJSGtRRFhGeThEQkd4MFlsOHd3VUg5Y0FZTmx3UHpxYng1MXNJQTVhWmZ4cndQdE9Ic2JsNFVmMUl3QXZtd2d6RGhmY0V1TWYwNlRYT3NOT0hCSEFmc3FnMVhIaTV6L3dIUXhvWEJwQ0EyOHlGT2d1RjZlNUVvODdRWkxqc1F0VUZKSUE3SHp6WkFnSEQ4Ry9RVHhub1BtZkQ5TjdJcE4zeGVpdEl3aGNMbFJHYUo1NFR3ckNPUTRwV2FCTGNlSExLdVJ6bUJzSVd5NVZDOTdkcklRaXZRcWVUQUs2SmJJSDBRTDNiUlVGQWwrSjZmaG9RY01KdG5aRXBOVWtaMTJNdWZJNGlmUmRIQUxlcFdCcHpBcmhRbzBOY0YwQzhWRHprZUl3SldPWmxGUEhhR2tQc2phbndaeFhwdlc0RWRDdHVhbzRoQVp3Mk8xYzFDemd4aFVuYm53WnYveFBYelRrQytoWEt5YUdZdi8wQ056MUFCdWVidnk4bXduUE9YWnU5RkNFTzJVeGFld3dJa0oyN01QemY1U0FFL0lUa2g1RUVOa1pjZU02NXEwUkhGVllCNHdmSW42VjZIVkhoeHpQQ0dnbHJpOUdGblo1alJaYnNCYW5pcTEvaGRRbEExRWpMNDg4UkUzNGh0UUJmd3ZzaEFJRXVOT3NjLytNV2R6V003VW55SW1xaFR4empscStOVmIrVmR3WWh3QzF1dE4raHFVdnM4K01nMU9RMThBVEFKTEpQSU9rL0hPWGhlQ1M4V3k0b1ppNVhCRDA0aVNROGhJVGZ2anppNGs5MlhNYnpnV2g5Zms3YTJIdEhOOEtkcVR4U1ZHWkJ3a3lHei9Eam9vZHhRZ0x0YjZSeWNuUXBKRDdQTWFpUkYvTlZnUG1OMTVQZ1lmRXgzUVdBZWJQWUdoYUYzUGU3cU56NlZCOWthZ0I3VEJYQ3B2ak9vdURpTTZmR2ZKZE5qK0FEMUhleGtwV2dqa0t0Qy9HQkFmSHA0Y09tR2JWNWV2eStOQnZNcGtYV0VwcStwa0p5QnhpNzBsc2lESS9FM2dMenU4TXNmZ25RM3JtR1dsRkZjWHg1NkZKa0pJU2FtTVpOTDVtaWZiQ0lvdWdxOXBLRXlwSXdBODJ1bE4wTU5Bc3EreEpob1dDWjVhT1hWcGJhQTdPWGtkNk1vcUw4RUpSbUQ1TWtQNVFhMkFQTE1zemZQV3QzaHRPWm1UMlBNMmZtM1AySGc5ZHpadmJNM212TjdMM1dYdXUvR3NFZlVHK1F6a01DWlp0K0JxdVBvNjkrVHRCRlU0dFVZaU5LT3IzK29TOTFOSG12K2hDZzhmNU9QenNzWC9xRndURUZ2R2RZTjRoMW5xQlBWRm9SL2N6VUpscW9MY0o1S0VhWHJnazNTMEpLazZ4Unl2bjl0YW94dnQreitEMm9nejBqZ2ZBUFNYbHZxTDh1c3Bmb2QzSEEyaFVIM0p2YWhybFAzaUR6eGE1aXAxTUFCUXVIVHoyRHlMdzRWNUtIbVdFcVRwUUs4UkJUQUh0ais5U0pjSnQrWjM2bmxNV1hDYS9KaXZBdU5YcE1mOTZUbklYak4xb0JtSk5mOWd6UWxoUUc2Qzk5dWsvMUNCVGk2UFVSMmxpckZxazVuNy9Ub0JsdXIxSndlRno3OURRRllEWDhoVlJ5SkpLUzF2S3FuU1hsTkNlRWRhdyszVCtrZU0rOERhNzFLQVJQOTZQeS8valNxTURMZUVESFlxc0UweUVVV2dGd1VyMnVIWVhoWTJTQ3R0aTBtKzRSeHNrcWpDelR2UGFyMHJWNEZHSlp3amJQVm92amlMNXRlaldEQWx5dkhUb2t0VU5QYklDTDkxNjFXSHFwU2JjeVoyc1hGT0lXajFLeS8vNStndlltU2FXUS9WVkZWQURENnZSY3pQTnhUb3pTd2VUdGNYOVdqcEdVc0VQbmU2TVFTUUpMVEdyaG9pSW9nQ2xFRnlmR2VxUGE0UXdZVWJUYm1zamZjcDlIR2VKV0xwcXRZN3M2andxd1RQd0w4UVVCMStkZ3FkU1IrRVdhSHl1a2RxMU5XMHpSc1Y2WUJ3V1lxamR6YzR6ekdBQjg1WHVrNThKVW15VmY0TnNZNXpMMjF6UkNBU0EySmFCNlZZUnpXT0VPMGc0L0t3NWU0UEE2WGNmbXFZam5FZ20zWFdLNjllTW9BRjR6Q09ST3N6eStTMjMwVmlrejZEb0VvME1WSVVxbTRBaTFscWJYV3dGSWVWeHNlZXdHN2NoRjB0eFVMUFhDTW9sZVk0dTN4Nlo2S0FCUEw1c3c1MW9jYStpaXIzUXlUQVVieFk1QzE0QUhqdktkL2RKU2dIYWRvOEtxemIwamRuVFpEdkZnS0lSdHdvRW9YNHFML0t5a0NuQzVoSmNFL0Z5VjQxSW5vMHhnQXVKc1BJU0VZbzZOcXdCanhEOS9GUHdxNVkwZHFnbjg2ZVNTT1Y1VlJlZ01PUTVPME5GUkZZQ2svYUJ5RGN6dmJHTis0K1RRY0N4VlJYZ2c0QmgyR3R0c0ZZQWRydGQ4R2pJRnl6YTRjYzhkN2xiWnJQV1I4eHUyQ29BcFVSMXE5WlpZVnFwemFEZ21xNnkyVm4wL1RHcFFzVlVyQUFzTEwwa0dRUlVEZERIb1VDeVFyWEdLbE9NbkRDQU12VGhJQWFybkVTSmhmbkpqV1ZoUWc2aDZWM1crOXo5ZS8zR0h2aWE4WUZ1V09QcmZtMmhRV09QZ09oMnE5akliS2poT2RxbkNIMjZpdmhKTVc4MlhTdVFSWVhpdlZDdEFMWE9Dc0drQ0lqOHA4Q0JBanZ1NENqd0tpRnRrbC9PakF2ZWRvSnBhOU5DZFJnSE1GRUM2a2w5U2F4SHJTSkRrWWFKdnUySUkzd3plaDFJSjV5NGl0Lzc1UHQrUFZWUC9Qd1VJOHVKZFVMQk84N1NUdnBWbS9IMjdUZzBMQ3pZVzQwTDYxSzBBSkNvRytZejU3YmlDZEJqVFowWWQyNThyNGE3eHZLQ2Z6dmRCVmtKL0ZJQkV5dUVCQnc0TWFTZ3ZXSmZSZmJaTDlLQ05Sb0NkMjZDNmQ4aDhtQ2xaMmpla3NmRTU3eXl2K3l4WmpLYkZYRmRraVRBYWZPUStvS1NXUU5nQ1owTE9PenNxNCt1VmFwak1lVU9ZODY0N01MV2t3Zy9iRmo1VDhzMGYrbk1EcnZsM2pzY0RxdEN3VWlqZCtZa0lIaEtFQXhhTlhwM2pEclBSa1dWME1idWdtM0k4SGpiVElSRmVCMUVBL1AwMnhEYVRjdHhoc29abVpuaTlqaHlQUll2bHcwcVUxMjRVZ0lpZXp5eE9hTXY1V29DM3dHVVpYSWRTR0Iva2VCeW1pQTg3YkJYWUkraXVIOEtyb011eThadHl2dkF4Y1hQdjFxSHQ5ZHIyeHprZmcwN0w0d2cyUFZ6eUROdytpNU1tU1BwVnR1cUJjU3FzaDFOb3krVDFUU3hBdnlkWitrS1k4amVMWi9YUGJ0OWF5NHZjSThYQmJLbms0ZUVYaDVGamQ4aThTTzdlT1pKT1ptL1dzQzA4OUlKYUFlS2xpY01qdU1PeUFRcHhyaE9IUEFFNjN3VVd4NUdrZ3hQcmU2bXkvMkh1ZU16eVlyeGFqM2Rqbmh1MEh2MDhhSG5zQWlQOGFnVUFzRnJaVk0waVRPeHBOKzY1d1dxeFMvSmhpcHZuL2FMNnBOL0V2b0lncEVtejNOZzNISXZGZjkrL2x2L2lueUFGTVBhMGJaV1VSNlIya1JHSGJIQ0RsTE8xYlRDdmxubGNDamg0VFFUYmU1aVRSZVlZRTJFYVh1SDNVQWZORzllcGNHMEFFK2RBSjVQTVFMRHVGc3RqSVpueVpYQUpXempnV3JVcG85aGJsYUNQazAzZFFaQ3ViWDF1K0FZRDl3VnNWbzU0LzU2d3RBellKVHZSeWFpdTVwNnQ4QitTMmdYVUl5c0FnUGJOeHNkTUdEbWV0cE9jckZMSEdXckcyWlFHbW5iME04ZW0wU2dVTWVTVkVXUVFScXNPMXg4WktZT2N6RklES2ZnMlhscG85dUFiZnNhMjRhZ2NRVkNaRVNFY3h2SUZZVE54QmlPYzdCS0RzSHlic2k0cjlPR0xSSklkbHladXFtcGxHSDNyZGpWWEhPSUJIb2F3MkFPY2QwTWxKZ05wRXFKSUFra0lLTDBqNURqTWxjbE9scEZCN0VWWWpZT1p1dWplRmZjaWFWREZVbFdUYmRPZ2pTUzJIKzkwTXJVR01RakxBMzVmcEdPK1BPbUYwaVNMdmxWdmFxblA3OVI4VytKa0c0b25wVXlQSHlUNDI5TzZXRDNvNGp2MUp1ZjRLTWw2SjJOZlFMMXpvODkwa0tyZ0RiS29HMGp1NFVZSnpxVFpvd3ZHYmZyaDc2K2x6RVRXRE1Bdk1seXRJajRqOWQrQklRdm9TOVNrcmh1eUxoeEpqWnhWa3F3Y0NwbS9PNlZjcjIrbkxvQjJxL216UitwUE9ZK3pDNHA3NkZmZ1N5WmFlb2orUFVSTjRMaWc0QldVK3k5bEpaQkdWZzVGR2VERDdlbVJSYnpseUdoK3NSRVhiMlRaT0p4SnZmVnR3SGJ5MnoxSTZORHd0V3JmK3pSSytJMVdBQy9ZUkJvdmxVaGM1c3ZuUlNOWEN3NmNaU3QxTFdUNmQ0VUVSeWYzT0FXb3hsYzZGNVk4ZzNhaGxOMmRlM01zN0wwNnJaM251VytjWmROMXZaSTdORVAxY0xhaGlZbURFR0cwcnJENzExSEFXQ2t3a2NCQkJJSFVqMFVldkY1SGpqVERXOVloTHY0Rk1GYkI3by8vSklVQUFBQUFTVVZPUks1Q1lJSSIsImF1dGhlbnRpY2F0b3JHZXRJbmZvIjp7InZlcnNpb25zIjpbIlUyRl9WMiIsIkZJRE9fMl8wIl0sImV4dGVuc2lvbnMiOlsiaG1hYy1zZWNyZXQiXSwiYWFndWlkIjoiNGU3NjhmMmM1ZmFiNDhiM2IzMDAyMjBlYjQ4Nzc1MmIiLCJvcHRpb25zIjp7InBsYXQiOmZhbHNlLCJyayI6dHJ1ZSwiY2xpZW50UGluIjp0cnVlLCJ1cCI6dHJ1ZX0sIm1heE1zZ1NpemUiOjIwNDgsInBpblV2QXV0aFByb3RvY29scyI6WzFdLCJmaXJtd2FyZVZlcnNpb24iOjF9fSwic3RhdHVzUmVwb3J0cyI6W3sic3RhdHVzIjoiTk9UX0ZJRE9fQ0VSVElGSUVEIiwiZWZmZWN0aXZlRGF0ZSI6IjIwMjEtMDktMTMifV0sInRpbWVPZkxhc3RTdGF0dXNDaGFuZ2UiOiIyMDIxLTA5LTEzIn0seyJhYWd1aWQiOiI5MzEzMjdkZC1jODliLTQwNmMtYTgxZS1lZDcwNThlZjM2YzYiLCJtZXRhZGF0YVN0YXRlbWVudCI6eyJsZWdhbEhlYWRlciI6Imh0dHBzOi8vZmlkb2FsbGlhbmNlLm9yZy9tZXRhZGF0YS9tZXRhZGF0YS1zdGF0ZW1lbnQtbGVnYWwtaGVhZGVyLyIsImFhZ3VpZCI6IjkzMTMyN2RkLWM4OWItNDA2Yy1hODFlLWVkNzA1OGVmMzZjNiIsImRlc2NyaXB0aW9uIjoiU3dpc3NiaXQgaVNoaWVsZCBGSURPMiIsImFsdGVybmF0aXZlRGVzY3JpcHRpb25zIjp7ImRlLURFIjoiU3dpc3NiaXQgaVNoaWVsZCBGSURPMiJ9LCJhdXRoZW50aWNhdG9yVmVyc2lvbiI6NSwicHJvdG9jb2xGYW1pbHkiOiJmaWRvMiIsInNjaGVtYSI6MywidXB2IjpbeyJtYWpvciI6MSwibWlub3IiOjB9XSwiYXV0aGVudGljYXRpb25BbGdvcml0aG1zIjpbInNlY3AzODRyMV9lY2RzYV9zaGEzODRfcmF3Il0sInB1YmxpY0tleUFsZ0FuZEVuY29kaW5ncyI6WyJjb3NlIl0sImF0dGVzdGF0aW9uVHlwZXMiOlsiYmFzaWNfZnVsbCJdLCJ1c2VyVmVyaWZpY2F0aW9uRGV0YWlscyI6W1t7InVzZXJWZXJpZmljYXRpb25NZXRob2QiOiJmaW5nZXJwcmludF9pbnRlcm5hbCIsImJhRGVzYyI6eyJzZWxmQXR0ZXN0ZWRGUlIiOjAuMCwic2VsZkF0dGVzdGVkRkFSIjoyRS0wNiwibWF4VGVtcGxhdGVzIjo1LCJtYXhSZXRyaWVzIjo1LCJibG9ja1Nsb3dkb3duIjowfX1dLFt7InVzZXJWZXJpZmljYXRpb25NZXRob2QiOiJwYXNzY29kZV9leHRlcm5hbCIsImNhRGVzYyI6eyJiYXNlIjoxMCwibWluTGVuZ3RoIjo0LCJtYXhSZXRyaWVzIjowLCJibG9ja1Nsb3dkb3duIjowfX1dXSwia2V5UHJvdGVjdGlvbiI6WyJoYXJkd2FyZSIsInNlY3VyZV9lbGVtZW50Il0sIm1hdGNoZXJQcm90ZWN0aW9uIjpbIm9uX2NoaXAiXSwiY3J5cHRvU3RyZW5ndGgiOjEyOCwiYXR0YWNobWVudEhpbnQiOlsiZXh0ZXJuYWwiLCJ3aXJlZCJdLCJ0Y0Rpc3BsYXkiOlsiYW55Il0sImF0dGVzdGF0aW9uUm9vdENlcnRpZmljYXRlcyI6WyJNSUlDaVRDQ0FnNmdBd0lCQWdJVU9rbVUzNUlpY1hvVlBqZnZ3cEc3TU42dEhQVXdDZ1lJS29aSXpqMEVBd013UXpFTE1Ba0dBMVVFQmhNQ1JFVXhGREFTQmdOVkJBb01DMU4zYVhOelltbDBJRUZITVI0d0hBWURWUVFEREJWVGQybHpjMkpwZENCR1NVUlBJRkp2YjNRZ1EwRXdJQmNOTWpFeE1EQTNNRGt6TURReVdoZ1BNakExTVRFd01EY3dPVE13TkRKYU1FTXhDekFKQmdOVkJBWVRBa1JGTVJRd0VnWURWUVFLREF0VGQybHpjMkpwZENCQlJ6RWVNQndHQTFVRUF3d1ZVM2RwYzNOaWFYUWdSa2xFVHlCU2IyOTBJRU5CTUhZd0VBWUhLb1pJemowQ0FRWUZLNEVFQUNJRFlnQUV0Z09DN0lLeGlwTUo3YlZQVFQ4M09lOTB4ekhQQ2VieHlDdGcvV3JzVHJSYVNuWWlnbUpDQjgvanFCTjRPUUcyZFo1amNOc0w2U3dIb3NZRFJKYytPMXprOWk1R0VaV2YzSXI5OTJBNmR1TXNwNTFscTRmQWdhL1V6VE45L0Viem80SEFNSUc5TUIwR0ExVWREZ1FXQkJUZnh6ZzhHR3pZQWlkS0w2M3VoU2lyYVhKSUtEQitCZ05WSFNNRWR6QjFnQlRmeHpnOEdHellBaWRLTDYzdWhTaXJhWEpJS0tGSHBFVXdRekVMTUFrR0ExVUVCaE1DUkVVeEZEQVNCZ05WQkFvTUMxTjNhWE56WW1sMElFRkhNUjR3SEFZRFZRUUREQlZUZDJsemMySnBkQ0JHU1VSUElGSnZiM1FnUTBHQ0ZEcEpsTitTSW5GNkZUNDM3OEtSdXpEZXJSejFNQXdHQTFVZEV3UUZNQU1CQWY4d0RnWURWUjBQQVFIL0JBUURBZ0VHTUFvR0NDcUdTTTQ5QkFNREEya0FNR1lDTVFEc3Y0SzZOZkp2ZnZ6ZDBPeWd3Si9BQmlMdGd0SldoWFRlVWxsdGRxYTRXc09NOXR2eDYzNnY1Rkl2WlJrSzFYb0NNUUNkb1BRK2E0ZkRCRWlOdWowV3MzM3VVUWhHcnBzZVBER2ZWWG40a0VwYlRJQmVPZFZBeC8vVHJNQy9TVmIrYnNnPSJdLCJpY29uIjoiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFORUFBQURNQ0FJQUFBQmlFTkg5QUFBQUFYTlNSMElBcnM0YzZRQUFBQVJuUVUxQkFBQ3hqd3Y4WVFVQUFBQUpjRWhaY3dBQURzTUFBQTdEQWNkdnFHUUFBQ1p2U1VSQlZIaGU3WjBIZEJ6VjFZRFhEVGVhc1NrMkVFd3hZTUNBQVFPR24wRG9FQ2RBQ0tZa1FDQ2hCRWlBRUVnZ2hJUUVIQWloZHhMQVhiTGFGcTE2NzcydmV1OTlwL2VaMVgvZnpFcGExZ1dEWjZXVjl0M3pIUjBkZzNabjMvdm12dnRtNTcyeGpPSEFNYldCbmNNeDFYRWc1MVJWSFhVVE5jMXQ5b0tLdCtMekg0M011em04ZEgxRXc2bFJuU3R0Z3lzYzdtTmlpV09jMURGT0VqUGJvYUN2b2NkWDJZZE9pK3E0T0xMKzF2RFN4eU56MzQ3UGl5Mm9xR3Z0Y0JNRTJPTDE1dHRpdjg0Smd0RFcwWkZVNW5vM3Jmd1JXOGwxWWFWcnRwWWYvWFh0bkcxdGxtaTNKVTZ5Skk5WlVqR2hCUFE0OUh2VTZOeHRyY2RzclQxN2U4WDF1MHNldHhWL2tGNmVXbDdiMmRVbGlxTFhuZ1BHdnAxakdNYlYxQnFXVmZLY05mZkc4Tkl6d2hxT0R1K2N2NmZQRWpsc2lTRXNOc2JpNEN5eHZJNkFDUTMwN25hd3FQZkJnWWpod3lJR2pnN3JPSE4zM1MxaEpYKzI1VWZsbHRXM3RITWM1M1ZvLzdFUDV3aUNLSzF2L2l5OTlLR29vdlU3eWxmc2JKb1Qxb2NraTVlUjV2Q0xqYlpZU2ZUR21GQUQraDJjaStXUUNlQ0RuWjBiMW52Y3pzWkxkcFE5R2xQMFpXWlpaVk1yUlZGZWsvWVQvczVCaGdQaFBrZ3F2Q3VpYU0zdStrWGhQWE9pUml4V0dna08ySmx4NGJCem9RbHBzVkxJQVREQlVNSkt6WTBhV1JMZXN6YXM3dDQ5QlorbEZWVTB0Qnc0MjMzRE9aN25hNXZiUGtzdnVXdFA0U2s3WGZQQyt5MXhlbTZ6UTBhbDlucDdUTWdEVm9CMjhSSklzaUM4NzdRZDFmZEZGbnlWV2RiWTFnSHpBYTlWZThXa2N6RHZhT3ZvaEJydW9hakNNOFByRjBUMkk1ZGhJSWNYaFpmR2d5bG1iOUJRQzlwQmNTOUE4bHV3cC9lYzhOckhZZ3FpYzhzNnU3bzFUZk82OWMyWWRNNU5rTWxscnVkaWNpL2NWcm9vdkJ2SkN6VWpKRkpzRytiQWdDSGdpVk93eElsTHdqbzNiQzk1MFphYlVWRzN2OEp1MGpsWFMvdDdhZVUzaFpVdTM5NWdpUnpTcHdzc3J0c3dCd2VKTWhRNHMyZmcyRzExbThKTFBzbW9hR2pyMk9mVmswbm43UG5sajFxTHo5aFZOeSs4RDJrTE5Sejg5SDlwREdZL3dNUUNUU25JK1dHOVorK3EvWjI5SktHb2NuQjQyS3VYVDB3NjkxWmMzdlZoSmN2Q085QmZHalVjVG5LWWd3ZlZkcnAyTm1iNTdyYWJkeGU5bjVCWDA5THUxY3NuSnAxN05DTDN6RzNsaDBYMG8wb09DYnZYaTJJd0J3YWNBWFBpeElYaHZXdS9MdjFkZEY1S2RaTlhMNStZZE83bThOS2p2NjcxVm5Jd1kvVjdPUXptWUhBdzROeWNpS0ZqdnFxNUxiSXN2TExEcTVkUFREcTNQcUorL3M0Ty9jLzBieHA4WHdpRE9VanMrdkFhNDE2d28vM3k2SWJQcXdlOGV2bkVwSE9uUm5laUwrOXRFOTgwN1BWeUdNeTNZdE9yT2hnbm8wYlB0blc5NjNKNzlmS0pTZWRXMmdiMTZ5T2NmcmtGTzRmNVhoanl4SElXcDdnNmR1ak5Pc2FybDA5TU9yZkM0YllrZTlCVkZyOVh3V0MrSzA0QlhGcmxkRytwNTcxNitjU2tjOGZFa3VnZUtld2M1dEJ4aXVEU0NYSEU2dzBIdkNaOGpKTkN6b0doZm4rUHdYeFhET2ZpcWRlK3pUazl6MkhuTUllT044K1JyelhzNCs0UzdCd21BR0RuTUZNTmRnNHoxV0RuTE5FaGoxK0RCSnJRZGM1bzdxaDlFUmxLd09lZFl1MW11WE9HV1B2RVZ6Sy8veFJOekprZ2hwZzdlNEZQWjN4TS8zWUxLTFBXT2NNZVF5bDBRcnNubVZBdENyWDdBaXV4eUVZc3RSTkhPb2hsRG5KNUxIV3NrenJlU2EyTW8xYkZVeWZHVXllTmMzTEM3T0dVQlBMa0JISlZISFZNTExuRVJzNmJ5cHZUWnBWejQxbHFVamo5RnppUDUxcVJXd3QxdDQ2S0pWYzRTZkJwZFFKMVpqSzlMcFcrS0oyK1BJTytLb3UrTnB1NUlZZTlKWS9kbE0vZVZzRCtySUM5czVEOWVTRjdsODdtb2xuQzNVWHNmY1hvNTZZODlySU1HaFJjYkNlOWplYlhwSUZnOWpobnBDNUlZeEdRek5Edk1IQXNzcEZ3SHA4VVQ1NlpUSzFQbzYvTW9tL0laVUNtZTRxNWg4djRKeXI1NTJxRXY5UUtyOVlMYnpRSzd6UUxIN1NJSDdkS243VkovMnVYdnU2UXRuVksyN3VrSFYzU1RwMWRzNFhkM1ZKa2p4VFdMY0huZmFLUzI1akpMSXZWbllNRzlHdlZRREFibkROTzBQR3NOaStHV0dLSFRFYWRsa2l2VDJPdXpVR0o2cEZ5OW9VYS92VUc0Y05XRVdTSzZKR2RBMHJxa0pJN3FwWVFhaVdsMWRKYUU2TzFzRm83cDNWd1doZW45ZkJhcjZEMTZmVFBMZ1pGelMxN2hpUlBtVnY5dUZXOHZZQTdQbzZ5Uk9tRmgxL2JCb0laN055RWFucUpCcFhaa1hieTVIanFnbFQ2Mmh4bWN4SDNaQ1gvU3Azd2ZvdTRyVk8wOTBzWlEwcXhXNm1sMVZZV3lUUWllU2pGdzZ0anNtZHMzeXN0UXlBR0JjK2Vidm1YSmR5SjRKeFI3UG8xY2lDWTJjN3B1UTBTMnhFT2NuVWlEV01FRkN0L3JCYmViUkhEdTJWSVkyV0Uyc1JxUFdDWTdLRVZENmQ2Uk0wamEyT3FaOHpqL1dRaEhaREN3N3VrWDJEbnZoMXZla081RFFxUnRja1VWR21QbE1QUUtXN3ZsTktHbEdwS2haR1JWc0F0ck5hQm9wUFRkblpLOXhaek1JSEZ6aDBRUGIwdHRLSFovdFZaek9QbEhBeWd6bjZsaWxTN2VZMlFZY1QwUUNiRDhhMEJsZXNPN055QjhBNm1iaGhNVnpqSjllazBUUGkzTkFqV1hybUdVcUUrdzBudHV3WjI3dHZRblZ0Z0kwNk1KNi9QWVo1MzhXSGRjZ1doOWdzb3NYa1BGTWQzQ2V6Yy9qRXlYQlN4eElhdXROMVJ3TDdSS0tRTXlaMjhwbURaRGlHd2MvdEhkMjZwalR3M2hYNndsUHVzVlN4MnE2T1NCd3QzaUlHZDJ4ZGdtdzVrdUhXcDlNTmwzTFlPeVVXcDNNRnV3NDNqUUlHZDJ4ZDZobHRzSjg1Sm9VQzQ3WjFTQTYzaTZzMnN3TTU5ay9FTWQ1aVZXSk5NM1YvS2JkV0ZrN0J3NWdWMjdwdm9rNGI1VnVMa0JPcG5oZXduYldJdHpuQm1CM2J1bStqT0hSdEgzcGpMdk5ra3dLU0J3OEtaSGRpNWNZeFJGY280RzNsUk92MG5GNTgyck1BczFYc29PTXdMN053NHVuQUxyTVNwaWFpTWkraVJlNFQ5YkxLTjQ5QUNPemVPUHFvdWp5VnZ5R1hlYmhhcktGWEdPUzR3Z1owYko0cVlaeVhPUzZYL1VNMGxEOHJERXM1eGdZb2VYdHZkSmQwWDBzN3BsZHpjYUdLNWs5eVV6LzZ2WFd4ak5RVi9kUit3R0JTMWlHNEozYk1aSDdMT2ViOVVKUzVBU1k3UEdKYlpLZng2Qzk1Sjg2RGJPUUY0V3dER2RGbnpBdGwyOXRITWFGczdwYnVMdUpXaDZ4eDg1aWdDanVhMmZQYXpOcW1abWFLckk2THFvV1FQRE9MOWd0Yk5vL1VRcmF3Ry9kSElhUFcwV2d0UWFvMU9OYVZXa1pOVXpremd5RjM2QjBrY1VMWTBDamZuc2NjNjlmVVFnRitQQklKZ2MyNXVESEZlQ2dWSkxua3dzTmRIUUdkR0dSc1F3UzIxakZBemg1WDRBZG5hSysvcGxuZDN5ZHM2NWE4NnBDL2FwVS9ieEk5YnhZOWF4QTlheFBlYnhmZWF4WGQxM3RHQktjNU1CSTRjUGc1OGlyL1dDZmVWY092VDZTTWRvYm5XRUYwaWNSOXVKNi9QWnFDYkd4Z05SclFBQlF6WlVDbG1EU3U3dTZWM1c4U1hhNFducTdoSHlya0hTem1ZeEcwdTVPNHM1RzRyWURjVnNMZm1NYmZrTVRmbE1qZm1NamZrTU5mbk1OZGxJNjdWK2RITUJDM2p6VVdmNG9wTTVwd1Urdmc0OGpEYlh0MFJPSUxGT2YyYTNMd1k5RTNYQXlXY3ZVOGVDVXlTZzRvTlhybVVVSGQxU1MrNWhMdUwyYXV6bVhWcDlCbEphSFU3bERYSHg2RjEvQ3VjRkh6a280Rlk4aWdIQ1drQU9NS09nTE5pMXJEVVRpNjBvUzhZNS9oMVIwQUpGdWRRTVlIV3BWNlVUcjlVaTc3cENzUTFPUkFPS3JiMFllWGZqZUl2aXJrTjZmUko4ZVFSRGhJR2RFTjZ4TVRtTVVaTjdVdkVyQU0rRkxUODFBeXBFd1NMYytqREU4YzVxUi9uc1IrM1NzMnMrY01xQ0Rja2V0SUdsYi9YQ1RCS1FsWkQrM1JBY3h1MkdiOFl2NGNPRTUvYXJ6c0NTaEE1RjAyY25rai9wb3lMNlpVSFJQT3puRnYyNUk2b3I5VUwxK1V3SzJKSjFPTG9SUGRwZXI5RHdnU0lvSEFPK2pzU2lqbnlvalRtWlplUU02SlFabCtXZzVHNmhsSS9iSkUyNWJNbnhsRno5WGVjdGhNOXhBa2U1eGJaU0poU3dSeStsbEpGR0FqTkM5VXpCb25UMmlzL1hNYXRUcVRtdzlzWkk0dmZZV0NtaHVsM2J0eUFaYkhrN1FYc3JpNjVtemY1TGhKR1FSUFZOeHZFSDJZeGkyM2UyaEhudG1ralNKeWJFMDJjR0U4OVdNbzUreFhDN0tza2ZZSVcxU1AvdW93L1BaSFNjK3FVejlRd3ZreS9jM3FTVzJBbHowcW1mMS9GWjQrb2dxbHJ1anllc1RwS2ZidFp2RDZIUlUrUWdyZURTczd2R0RCVFNaQTR0OFJPWHB4Ty82VldnRUhRMUZwdURFckQzQkhsRDlYOGVhazBsSXpHMi9rZkEyWXFtWDduSU90RUUwYzV5S3V5bUg4MUNpN0s1SldyYnRuajZKZnYxMi9YUVpzMWczQjRZSjFlZ3NTNUZVN3lwbHptL1JhaGlUSFRPVWlaWGJ5MnJWUGFsTWVDMXBQWFIveU9BVE9WVExOenFLSkhQMWZxOXk5OTBTYTJjMmJPV1NWdHJJNVdQMmdScjg1aUZxSVpLeFl1Q0FnUzUwNk9KemNYc1pDUXVnVXpuV1BWTVNnUXR6U0tsMmJRYUR0NjdGd3dFQVRPb1NzWHF4TW9LTG5DdStVK1U3LzFJaFZQem9qeWNxMXdZUnFOM2c1ZkpRa0dnc1M1MHhPcGgwcTVxQjU1MEZUblJtVlAycER5eHhyKzNCUUt2UjEyTGhpWWZ1Y2lrQWRuSkZHUGxIUFdQbm5JVk9lR0pVL2lvUHgwRlhkMjh2alZZTDhEd0V3OVFlTGNtaVRxMFhMT1pyWno4R3B4QS9LVGxkeVoyTG5nSVhpY2U2d2MzUjVzcm5Nd1Vqdjc1U2NxdURYWXVlQmgxdWM1Y081SjdGeFFFU1J6Q0tqbmpMczF6WjFEREl1ZStBSDVkM2hzRFNxQ3hMblQ5SGxyWkkvSmR3aVBTSjZVUWZSbDYxcVl0MkxuZ29RZ2NXNTFBdlhMRWk2c1crNFZ6SFNPa0QxWnc4cUxMdjc4MVBIcmM3N3ZqcGtXZ3NTNWsrT3B6VVhjdGs2cGl6Znpld2hHOFJTNzFYL1dDeHZTR2Z3OVJMQVFKTTZoNzFzTDJDL2F4VFpUZDBRWFZVOHRyYjdiTEY2VnhhQmx3K0FjdnBGcDJna0M1OURQRlU2MGg2dnA5NVdvbnJGT1h0dmFNWDVmaVhIekhFNTEwMHVRT0hlMGZ2L2NHd0c0Znc1S3V0ZysrVUg5Y1pIZTVWN1l1ZWxsbXAwRDlOeXoxSWJ1RS81cm5mbjNDVXZhV09HbytxSkx1Q2lOV1lMdkV3NEdnc1M1QlZieTdHVHFtV28rWjBRQlM4eU5WbGI3Yjd0MFJ3RjdBdHBOa3JCRTRGUTNyVXkvYzlEOStycXZIeVNRRDVkeENRT3k2UXVxM2JJblkxaCt5Y1hEN0JVdGlRRG5jRlUzalFTSmM4RHlXUExPUWphOFIrb1RUVjdmS21zZW1FbEU5a2lQbEhObkpkT0w0VTFSdGpOMnZobjN6OEQzd0RBQll2cWRBNkN6STRtbGRyUlIraWR0WWlPclNxYnVJUXl2Sldyb29zbi9PdERldWVjbVUvQmVodWhlNXd3bXpNUHlCWlRnY1c2K2xidzBnLzVIZzFCTUtHd0FObldsRlU4bHFYN1ZJVDFaeVYyZHpaeWVTQjNucEdEdU10ODRnQ2c5NTNreFV1Q0JtZmlmVFdKQy9lL0t4SGxpNE51d3dVblFPT2VHa2c2bUVVOVY4dkVEOG9qcDh3ZzkyekdLcDVIUjRnYmt0NXJGeDhyNVcvUFlpOU9ZMDVCODVKRU9ZcUVOUFNNQTdmNW5kSjVmMTg0SVpvUjJ3ZU1jTk5tcU9Pcm5oZXpYSFZLbnFhdS9mQVBtSjBPU1ZrR3E5ajc1d3hicEx5N2hzUXB1Y3hIYXcvV0gyY3lsR2N5RmFjdzVLZFNhWkdwMUl0cDU4OFI0YW1VY2RYd2NDVjRlcTdQQ0RLQjRCWTdSV2FaenRBTnhsQTdhMDFQZjFoUHRobWxEdTJFdUFXekVZaHV4eUVZc3RLSm5QUzZ3RXBDaDU4WHM2eVNaeU1UQmFXRlFPQWZvalFYTmZXVW04M3FEQUlOZzRMWk1oeGZtVk0rZzRHbGl0QkszbWpJb3cvUUN4dHozVzhRdERjTEx0Y0p6MWZ5VEZkeXZ5emdvL3U0dTl1NHQvSk44OXNkNTdDMTU3TTI1aUp0eTBTYkQzNXNiYzVucmdSem0yaHp2SHI5WFp6RS96R0t1eXFTdnpLUTNadEtYWjlKUWFWeWFUbCtTUmwrVVJxOVBveTlJbzg1UHBjNU5vZFltVTJjbFVXY2tVYWNtVWo5SW9GYnArOUdDd1dEcUlqdXkwT3ZaeEhpTm5kczMwQzVSY1BxUzBKUy9yZURBQTBieHZuVkFBOHlHMm5GSVJQdnoxOUZvQS9YY0VUVjFTSEgyeTlHOVVsaTN0TDBMNmFodm9DNTkxQ3A5MkNwOTBBSjJTdSsxaUlmQ3Uvcis1ZjlwRXQ5cUV2L2RLTDdaS1A2clVkelNLTUw1OXM4RzRkVUc0ZS8xd2l0MXdsOXJCY2pFTDdxRVA3bUVGMnI0UDFienoxYnh2NitDVTRKL3ZJTC9UVG4zRUp3WXBkemRSZHdkYUx0dDlwcHNaa002eXRNL1NFUVdMcmFSM3EwTGdrcStJSEl1R2wybGcxSG1wL2xvb1dzbnJ5bUJHbUQzRVNDZnFLSDkxRW5aTXlxQmhaNStRZXZodFM1ZWE5Y2ZGOUhDYUpBWG9SeHMwS2svTk9wb2hJdEMxRkJhdFU0VnBWVVNTZ1dobEJOS0dhR1VFa3FKV3lsMks0V2pTc0dva2orcTVJMHEyU05LNXJDU1BxVEFpWkUwS0VQdDYwQ25od3luQjlRa0g3V0N0ZUx6MWZ3RHBkeU5PY3k2VkJwU0lMcTVZVUk3djJhZkZvTEZPUUMwaTBSbHlvWjArdFU2QVZwNWFsSmRVSVhIZzlEMG44WXZjRElZRCtVQlpQM0VFQUFWeWdOMGhzQmtuRlRRU1RJZ29OT2pTWC9XQlJnWjNpMURLbjIybXIremtJVXgrdVI0VkJSTzVyenBUWGhCNUJ3QUpVZzBjVW9DMm9ndXZGdnFNWFZOLzZ3UGFDeFo4NENJb0dBM3I5VlNXc2FRc3F0TGdoUDQzbUtZb2RNd2QwRTd4RS9NTFh4YmZpb0pPdWRnSm1HSG1RVDlqM29lQnBmQXpTUkNJWGpWMHlkNGlrYlZIWjBTbElNd0FWcVRoSGFMOXlhODZkSXV1SnpUTS85ODlOMHJkWDhKQzJVSzFGV21maVVSaWtITEhpaEpZY0Q5b0VWOHFKUzdNSTMreHEyRVUyOWVjRGxuTkFGNnRDRjVSUWI5V3IwQUZUUmo5bGYrb1JsZ1hpMnRRc1VDMDk0ck1wbmxzUlFhWnczemZMdGdDZ2d1NXd3aWlUbFJhSVhFUFVYczFrNnBQUURQSnduTmdQSVlHdFBlcC95NVJyZ3FhL3doR1ZPZjdZTFJPYjBoSU5WZGtFby9VOFVuRDhpbTcyb2RzZ0VUNFY3Qmt6UWd2K1FTL2krTFdlYVlqdG91R0ozVFR6dG9pNk5qeWV0eW1QODBpWldreXVIWmhFa0I3VGdnYUhIOThuTTEvSVowK29pSjJzNnZGd0pITURwbm9MZkM2Z1Rxbm1MdXF3NnBrZGF3ZFdZRlRNczZPYzNhaDNaeU9UZUZXbURGZWM1QVAva1dXOGx6VXVqSEtqaVl3L2FKSGx6Wm1SV3lOdGJLYVhBeS83eVFQU21lbWcvYVRka0lHN3pPNlNNc05NVGhkbkpEQnYxOGpaQTBxUFNMK01xSmFjR3JhTUg1bGdieDJtekcrK1NNcVJsaGc5YzVBSnpUcnhJdml5V2g0SDI1VGtnZFVvWURjR3RkeU1hdzVFa1lVSDVmeWE5TnBoZkU2TnBOUWFvTGF1Y0FQZFhCZkdLRms3dzJoM20xbnM4WWtvZk12WFU5aEVQeGpEV3oydWR0MG8vejJCVk9mUnVoS2RBdTJKMERqSVpBVHhRbXI4Mm0vMWJISnc4cWZZTEgzR1d3SVJ1czZza1lWcDZ0NHRlbDBndHR4aU0wQXJ5VDBBeHdEdENkbXh0REhPdEV6OXQ4eVNYQVZCOW1YcExKYS81RE1lRE1iV1MwVDlxa24rYXp4OFZScUtranNYUEFlS3FEVXhBRzJTc3lHRGd2dzdzbEY2WFNnWGh1ZjRpRlcvTEEwUEZNRmI4MmhkYTMxOERPR1VCYjZPWkJ0anZLVHE1UG94NHVaVDlyRTR0RzFTRjhEZVhRQW9hTE9rcDdyMW04SnB0ZFlxekNORnJicnd2TVlzWTRaNkJyQnlmaVlodHhaaEoxUnlIenozckIycXU0S0EzTXd6Y0RmTS93akkySW51aGUrZDVpYm1VOE5jOFFEanMzQ2JTRmZtdm5RaXR4WWp4NVJTYnpTQm4vUVlzRW93Tk13UWdaenkyK1Q0amFXSTcreEZHWVNTd085RTVDTTg4NXdEZ0wwUkRnWG1vbnowcWliODFqbjYwV1BtMFQ0L3FWY2tKdDU3UmhFZDB4aXpQZlFRYTBVeTJ0L3FkSnZDNG44TmVIWjZSemdPRWMwZzRTSGxwMmVtNEtmV011ODVzeURrYmJyUjFTNG9CU1NxZ3RyRFlnZUNqRkk2am9XaFM2ckljdDNFOTA4OXJPTHVtK1l2UlZHR3JZd00wa1pxcHpFeGptUmFHbHhVYzV5RE1TcWYvTFpEWVhzazlYOGE4MWlKKzJTV0hkc3JOZlRoOUM2NlpLQ2FXS1ZHb3B0SHlybFVQckM2R2hld1d0WC9BTWlKNUIwUVBaY1VSQzZ3bGdLZ2ZETkVEcVVEcTB2dWJGRitiN0Fqa1k0RlFFcjZJMU5UQzZTUnBhWmFQcVMyK21QdUNESncwcTBHNW5KOVBvQmlmczNINlpTSGhBTkZyZ0R1YXRpaVBQU3FZMlpERFg1YkozRkhBUGxISlBWUERQMS9DdjFBbGJHb1MzbThRUFc4VXYydEhpUERpejkvUklVRDdiK3VUWWZqbWhYMDRha0ZNRzBXSyt6R0VsV3lkM1dNa2ZVWUdDVVVTaEcxSDBmU2ttMUJKQ2hSeGNScWhRQmxRU2FoV3B1aWdWaHJZR0dpVm1PQk42ZUcxUTFOeXl4cXFlS2JzV3hDcGpjR0QvYkJBMlpOQ0IvY3AveGp2bnk0UjhlbnZOczZLOW5sYkVVaWZIVXpESlBUK051alNEdmlxTHZqNkh1VFdQdWEyQXZhdVF2YThZR2Zuck11N1JjdkNTKzEwbDkwd1Y5MXcxLzN3MS8yY1gvNktMZjhuRnYremlYNmtWL2diVUlWNnRuK1FmM3gzb1ZHanIxeHVFZnpVSWJ6UUtiellLYnpXSjd6U2poZFlmdFlxZnQwdGZ0a3ZiTzZXSUhzbldEeE1qR2RJekpPWmVYb1BzR05EOEIxa1cwdi9IYlJLVWRJdnQyTG1EWkNMbm9kMDYwQVlvNkYraTBTVTl5SCtMYmNRUmRyUW5DTlRJVVA4ZDcwVHA4S1FFdFAzQzZrVHF0RVJxVFJJRjJYRnRNblZPQ25WZUNyVXVGZTNWY0VFcWRXRXF0VDZOdVFoSVIxeXNjOG4zQmJJdmNHa0djMWtHYzNrbXN6R1RnYWszMUFNL3pHWitsTVBja012Y25NdjhKSis1RTg2SEVoYk9CRWpQVU5wSDlzZ2xiblZBMUFJM0s5SnZJZFoyZGN1M0Y3RExZQnBoTkdZZ3RKdFZ6dm1oQytlMThDQXgvc1JBZnhFb0V5ZXhJdVllR3BCOUFSaThmSUZUWXFHTldHUW5sanFJd3gxUUhoRExuU1QweXFtSjFQa3A5SFhaekVPbDNMOGFSU2hNbXhndGNMZE1RLzNxNkpjZktHRlBqQXZrUGV1ejJUbGdRaUJmc1NJTmpNMkxEcEtKdnpJVjMrUHhIaDZrWndOMDJQTmowRjJyeTJPUmZKQUlZZWpmMFNYVjBTb1htSFFIVXhrb1pLSEdPQ09KOHQ3YUJQZzE2YUV6eTUzN2ZreVlPbDE0L2RNWjF4RnEwM1VwMU1ObDNLNHVxWVZSQXpHM1VMU3hnbEhsaFJyMHFDcHczWHNBZm8xejZHRG5nb3Q5eWdmYW9kMlBpU1ZXWWwwS0RiT2MrSDRaYWp2VjdOc0k0ZVhLU1JYbVNaZWxNMUQ3WXVkQ0c4Ty9DSFNuL2pWWnpMOGFBN1hhdklaU1lUWjl0YjRNRVRzWDhvQjJlNUFFcXhPb0IwcTRQZDFTcjZuUDR6T2lnVVkzbU55WU03N2lHbEtzMzJFY090aTVtWVJlMngybFA2ZHFTNk5RVFpyOHpDQ0lGa2I3dEZYOFNSNXpBdlE0ZGc2REpJaENrMW1ZVno1WnljRWMwL1RySmgyYzltVzdkR2NCYzJMZzdobkd6czBraktvdUdpME4yVnpFNm8vMU52bjVMZDI4dHIxVHVxZUlQVGx3My9SajUyWVkrbmkzMUU3ZWxNdDgwUzYxc0twczZ1eTFWOURDdXVWZmxuQ25KSXc3QjZMN0hjTWhncDJiWVlBQmtXaXo3NnN5bWJlYnhDcFM1VTBkWHZzRUxhSkhmckNVZzVrS2RnNmpnNXh6ejQwaE5xVFIvNmdUQ2tjVjJ0UXJKdjJpRnRVclAxVEduV280RjRHZHcrak96WWtoTGtpbFgzSUpXY01LWWVvM0VsQWdSdmZLRDVkeHB5Vmk1ekFHdW5Qdzg5d1U2cmxxUG5WUUhqVjFjNzVKNTVMMFpmM1lPY3lFYzJ1VHFXZXErQ1QwYkRSVHgxWmhmR3cxbk1QMUhHYkNnN09UcWQ5WDhvbjk4ckRaemtYMnlMK0NPUVNNcmRnNURNTHdJSVpZbTBJOVhjVW5tcDNuWU42NnAxdCtBRjhyd1V3eTdoelVjMytvNWxQTXJ1ZDZlVzFYbDN4Zk1mY0Q3QnpHaSs0Y3pGdlBUNlAvN0JJeXpKNjNkbkhhdGs1cGMxRWdWeHhpNTJZWXVuTnpZNGlMMCtsWDZvUzhVY1hjWFlMYVdlMi83ZEx0aGV4Sy9IMHJ4Z3R5anBodkpUZG1NVzgwaWVXa3lmZXBOelBhUjYzaXJmbk1jZERqeUxtOUR1RFF3YzdOTUhUbkZ0bkphM09aajF2RkJrYVZUTDJmcVk3VzNtNFNyOHRsbHVQNzV6QUlFQTQ4MERkWWh1RnZaNWZVdzJ0bUt1Y1pxeUxWMXh1RUs3T1l5V2VDK1IzRG9ZT2RtMG5venMySkprNU9JQjhxWStNSFpOTFVZZzcwTFhHcmYzRUpGNmN4U3dPM094TjJiaWFoUzdEWVJsNllDcE5XdnRDdEtLWU9ySksrSTlnelZmdzV5ZlJDWS9zSTdGeElvMWR5SUFGVTk1dnkyRTlheFdiVzVQMlVhV1VzY1ZENVRSbS9Pb0dhUHo2Tyt4L0dvWU9kbXhrWUJrU2dmVERPVGFHZnJ1SmdZRFgzVVJtUU1JZEVUMVN2dkxtWUE2M25HTUxCKy9vZHlhR0RuUXRlb0w4Tm9POGh3K21QR0QzT1NkMVJ3UDYzWFd5Z05jSFVnVlgxakxWejJwY2QwaTM1N09TRDU3QnpvWVZobXlGY0JQcGxtUU05RCtqVmVpRnZCTjJxYWU1S0NEQzRtbExmYmhiaExRNno2VzhhQ09HQW9ITnU0c3pHR0VRVDg2S0p4VlppWlR4MVRUWURVNGVFQWJsUE1IOWxLMHlCczBlVWwxekMrV24wSEpoQWhJcHpobTJSdnB2VHpBb2k5c0wzUDAzOER2aW9CaXl3b3YzTFRvb25MMHFqZjE3RVFpY2xEc2pkdkNhYnJ4eDZxS3UxVjM2a1hMOWJFL29DblBQdEdoTUpLdWZtV2duSTZvdnN4Qkk3T2F1d1RiTFVydU1nRDNlUVVEWWQ2U0NQaWlXWHhaTEw0OGhqNDhnVDRxa1Q0OUYrZUd1U3FITlRxRXZTNlI5bE0vY1VzeSs0ZUtpMEN0ektJTnFteE5zcDVrWUxvMzNXSnYyMGdEMHVUdDk4TGhTY2czeCtwSU00SlpHNklJMitMSk8rUXVmeVdjSEdETVFWbWN5Vk9zWU9oekJRWG1kc2NwakhiTXBuYmk5azd5cGlmMUhDL2FxVWU3eUNmN29LN2ZLNXBVSDRxRlVNNzVFeWg1VkdWaU1EdHVNaGVGeEdxSCt2RXk3UFlBNTNHS09OZndlWlJyQTRwMi9GZWtvaVdyYjVSQ1gzY2gxdjdJUUtyVEFMZUZVSGJleGFqeloyQlpQZWFCVCszU1M4MHl5KzN5cCszQ3ArM2laQ0d0dlpKVVgweUxaZU9XRkF5UmhXaWtZVkY0V2VPekFrZVRnVmFSRzRRRmZtQnBSSHl2alRFK25EQW5jMTJDQW9uTlBMT0toZExreWo0ZnplMVMxQk1WdnNSaFNPS2dVem4wSzNVb1JRaTkzZURhekxDYldDUkx0WDE0enZYdDNNYXFCWEY2L0IvR0JJUkZ1MmM2cEhtWktIaGtMMmhQZjl1bFBhbE04ZUhSdklIVFlOZ3NVNWZaMHd6TkwvM1NSQ2tvYzVsS1R2WFErSXN3dmpROEVrd0FENjJ3RFNtS1lEbGsyRmFENUJLeDQ0SlY2dEZ5N0pvTkd6K1FNcUhCQlV6a0dKQStWTEN4dUFXUm1PL1Vjdldyc3ZRUjBKeGJReDV2aDNrTGtFbFhNL3pHTGVheEhyYUZVMjlRbzdqZ01FRE4vbHBBSWw1dFZaek5HQnUzL0psNkJ5N3Fvc0JzcHFLSEhNM1lNRHgvNENXbmxFMHF4OUtNbXRUcUFXUUY5ZzUzQUVORmdWa3B6NlpxTndWUmE5ZE9JNUpJQmZCNWtMZGk2VW81TkRLd3U5TzMvcHZZQ2R3eEhBSUdVdFkwaDVvVWE0SkowNVBIQzdwTzhOZGk0MFExRFJYU1F3WTdzeGx6bldTYUxIOEJzRHExL1hCQUxzWEFpR29ubWFHRzE3bDNSL0NYZHFJalV2WnZ6WmFINzlFaUN3YzZFV2lnZHRHaHpWSS8rMmdqOHZsZFlmWWFnNzU5Y3BnUU03RjFLaGpZMzE4SjY0ZnZtNWFuNURCc3hWOVZ0SURQdzZKWEJnNTBJbkpNM1R5V3VPZmhubURWZGswZ0Y4MHMyQndjNkZTSWphV0F1clJ2ZEt6MWJ6R3pPWlpiSGo4d2JzSEhiTzlJQUN6aTE1S2doMVc2ZjBaQVYzU1RvOStSMFh0RHpnMXgyQkJqczN1MFBXMElYZnRDSGxQMDNpUGNYc3VsVHFDSWUzd2FmQk5nUHMzS3dNYUQ5RzhjRDh0TVN0N3VxUy8rUVNic3BsVGttZ0Z0cW1MNzFOZ0oyYmZTR295TFppdHhyZUpiMWFMOXhUekYyY1RoOFhSODZIcHA0WVVuM2JmNG9KS3VldXptSSthRUg3VzJsVGNuL3M3QWc0UFNVTmZWdFB5SjVlUWF1bjFad1JaWGVYQkQzNlFBbTNNWk5lRlUraTlBYU5ETGI1dGZ5MEVGVE9YWlBGZk5naU5qRW1iOE14KzBMVDk3T0IwWE5VOHZUd1dpT2psUkJxOHFDOHUxdDZ1MWw0cm9iZlhNUmVtY21jbGtnZDZkRHZOWjlZeGVqWDh0TkNVRG0zTVlONXJWNkEwN1JQME55eUJ4aVdaalVpWWtoblVHZEFRUFRwOUFyZ2s2ZUw5OEFrb0ozVFdsbXRpVVZwekVXcDVTUmFacEUrSkR2NzViQnU2ZE0yY1V1ajhFdzFmMjh4ZTAwMnZUYUZQczRKcGR2NDlkNXBIMHo5Q0FybkFQMnhwT2VrVUw4dTR6NW9GYU42NWRoK2hLMXZObVB0UmNUMHl0RzljbFFQSXFKYjJ0TXRRYnJhMVNYdDZKUzJka3BmZFVqL2JSYy9heE0vYWhIZmF4Rmgrdmw2Zy9oS0hmOThEZjlVSmZkUUdYZFhFWHR6SG50bEZuTmVLZzJ6aEdXeHBIZmhGc3hNamZSbW1PZlg0Tk5Jc0RnWFRjeUxJZUE0THM5azdpeGlIeTdqSGkxSGdJS3pHUGlZQnFET3IwcTVCMHU1KzB2WVg1YXdrSzd1TG1MdkttUi9Wc0RlVnNEK0pKKzlKWSs5TVllOU5wdTlLcE81TElOWm4wYXZUYVpoNkZ5VlFFSFhITzVBRmR0Y3ZSbTlCS0ZxRXdTTGN6SEVuQmhpc1owNE5vNDhKWkU2STRrNk14bXhKbWsyQXgvVDRIUWdrUUtIVGsxRWkvZ2hYZjBnZ1RwSlg5Ty9NbzZDN2puT1NhN1FsL3NmNVNBUHQ1T0xiR2hZZ0JiejZtV2tOQy9CTjVqNkVUek9HVUE3QW5ES2hoVEdwMFpFZndOdnJ0b25JSmFCMzc4RGU3VnFjQkZjemtGN29iTldQMS85OXBJSmFmUk1OaUhaQkRORk1qK0NMYzlOdGlQbXdQaTEyd3dpNkp6RHpIcXdjNWlwQmp1SG1XcXdjNWlwNXFDZG83QnpHSE13bkl1blhtc1F2WHI1aEk5enNhUWxaY3dTeS92L1BRYnpYUUhuVWlEUEVhOGYyTGtWRHJjbDJZT2R3NWdBakpaSm5sWE8wUzMxdkZjdm41aDBicVYxQU9ucDRDeFd5bUlsL1Y4Rmd6a1l3Qnp3SjVZRDdWWTdCdCtzcGIxNitjU2tjNmRGZFZpaVJpMDJCZ0YvNXZkYUdNekJZS01zTnRwaXB5MlJJMnV0bmUvV2pIcjE4b2xKNXk3YVV6ZC9SenY2TTBoMThHZStMNFRCSENSZ200TzFSTHNQMjlHMk1hcitpK3ArcjE0K01lbmNyZUVseTc1MnpZa2F0c1JKRmp2ai8xb1l6TUhnWUN4eDRweUl3UlZmMTl3UldScFIxZUhWeXljbW5mdHRaTzdaMjhvV1J2UmI0aVdrS2k3cE1OOFZjQWJNaVJNWGhmZWV0N1gwbVppOHRPcG1yMTQrTWVuY08vRjVONGFWSEJQV2daSWMvQ1VhWHJGMm1JTUdoQU5uZEhOVzdHNzljVmpSUjRuNXJwWjJyMTQrTWVtY3M2RHl0N2FTczNiWHpRL3Y5UXFMWnhLWWc4Y1FMb1pjc0x2bjNOMnVaeHdseVNWVlE4TWpYcjE4WXRLNXV0YU9EOVBMYncwcldiR3R6aEl4YUltWDBXUUNwenJNUVVHaUs3dFFsWVgzSDcrdDlyYnc0aSt5S3BzN3VpUko4dXJsRTVQT0VTU1pWbDc3SjJ2dUpUdEtsNFIzdzZpTVhnVmZxOE44SzJBSWVPSVVMSEhDNFdFZEczZVcvTldlbTFOVlQ5UDd1RGdITWVtY3Fxb2RuVjJST2FXUHhoU3VEYXM5TEtJUFpVc25tS2RmT3NIbVlmYkdxT0gwSzhBV0c3VndUOCs2c0pxbmJJWDIvUEtlbmw3UGZwYk5Uem9ISVFoQ1EydjdsNWxsOTBZVW5MYWpla0Y0SDdwdWdpNmRRR0dJYXp2TVhvQVY0QVlZNGhRWGh2ZXUyVjc1WUZUQjl1eXlsbzR1VWR6SE42MUdmTU01Q0pabEt4cGFQazBwdWkreWNPM3V1cVhoM1hNamgxSG1oTm9PUVBKQnpnUC9jTm9MU1l4aDFKZ3VHRXBZcVhsUnc0ZUhkYTBMcTMwd3N2RExqT0thNWpaSVhsNmY5aFgremtGUUZGWFoyUHBWWnZtajBZVWJkcFFldjdOeGJsZ3Z1b0FDRlNJWURXK0RoOXFRQlEybURCcE1qUUhReHN6YjNiMXlSOFBHbmFWUFdndTNaNWU3V3RvWmh2R2F0Si9ZaDNNUUhNYzF0TFJINTVhOWFNL2J0S2YwN0xDNjVXSHRoNFgzV3ZZTVdxTGQzbmVGSVJ5cVBVd0lJZWdaaHdFSDVrUU13bUM2ZkhmYk9idHJiOXNEazRZOHFPR2EyenNQbk9HTTJMZHpFREFlZDNWM3AxZldmWnhaOFpTajVPYXc0clZiUzVkLzdacTd0UVhkQ2dCSGtEeUc3dkhFaEE3UTQ5RHZrY1B6dDdVY3U5VjEzcmF5VzhPS24zYVVmSlpaa1ZWVjM5UFRzODhySTN2SGZwMkQwRFNOSk1uNjF2YjRvb3IzRXd1ZWlzNzdhVVRaWlZFTloxdTdUbkVNcm5LNlQzQVNKK2hyMERHekhRcjZHbnA4dFdOd3JiVnpZMVQ5N1JHbFQ4ZmtmNWlVbjFSYzJkVGVDZlVZMk9MMTV0dmlRTTRaSWN2eTRPQmdkVk5yU25WeldHWDc1OVVENzdyY2I5WXhXK3I1MTRBRzlDaHd6T3lubm9jZS8zY2Q4MjdONkJmVi9YdXEydE5xbWwzTnJVTkRRNHFpZUYwNXVQaDI1M0RnTURld2N6aW1Oc2JHL2grOVA3K0tmS08rUmdBQUFBQkpSVTVFcmtKZ2dnPT0iLCJhdXRoZW50aWNhdG9yR2V0SW5mbyI6eyJ2ZXJzaW9ucyI6WyJVMkZfVjIiLCJGSURPXzJfMCJdLCJleHRlbnNpb25zIjpbImNyZWRQcm90ZWN0IiwiaG1hYy1zZWNyZXQiXSwiYWFndWlkIjoiOTMxMzI3ZGRjODliNDA2Y2E4MWVlZDcwNThlZjM2YzYiLCJvcHRpb25zIjp7InBsYXQiOmZhbHNlLCJyayI6dHJ1ZSwiY2xpZW50UGluIjp0cnVlLCJ1cCI6dHJ1ZSwidXYiOnRydWV9LCJtYXhNc2dTaXplIjoxMjAwLCJwaW5VdkF1dGhQcm90b2NvbHMiOlsxXSwibWF4Q3JlZGVudGlhbENvdW50SW5MaXN0IjoxNiwibWF4Q3JlZGVudGlhbElkTGVuZ3RoIjoxMjgsInRyYW5zcG9ydHMiOlsidXNiIiwibmZjIl0sImFsZ29yaXRobXMiOlt7InR5cGUiOiJwdWJsaWMta2V5IiwiYWxnIjotN30seyJ0eXBlIjoicHVibGljLWtleSIsImFsZyI6LTI1N31dLCJmaXJtd2FyZVZlcnNpb24iOjV9fSwic3RhdHVzUmVwb3J0cyI6W3sic3RhdHVzIjoiTk9UX0ZJRE9fQ0VSVElGSUVEIiwiZWZmZWN0aXZlRGF0ZSI6IjIwMjEtMDktMjcifV0sInRpbWVPZkxhc3RTdGF0dXNDaGFuZ2UiOiIyMDIxLTA5LTI3In0seyJhdHRlc3RhdGlvbkNlcnRpZmljYXRlS2V5SWRlbnRpZmllcnMiOlsiMDQ2YTdlMjMyYzAzMTg5ZGJjMmI5YjZhNzY1NzAyYjUyNjY1YmUyMSIsImMxMGJjNGM2ZjYxNGI2MzM3MWQ5Mjk1OTZlZGVkZGUzZTQ1ODQwNGQiLCI3YThmZTM3YTQyYmJmMmE1YjNlNjU3NGQ2ZjA0YmRiYzU1ZTU5MDQ3IiwiNzZlNDdiNDdlMzI4MTRhYWE2YTg3YzI4MGNmY2JkNTI3ODgxYTQwNCIsIjZjZDk5ZDhiMGFiZmE2YTQzNzgxMzhhMTQ3NWY3ZTQ2ZGYyMTdhMjUiXSwibWV0YWRhdGFTdGF0ZW1lbnQiOnsibGVnYWxIZWFkZXIiOiJodHRwczovL2ZpZG9hbGxpYW5jZS5vcmcvbWV0YWRhdGEvbWV0YWRhdGEtc3RhdGVtZW50LWxlZ2FsLWhlYWRlci8iLCJhdHRlc3RhdGlvbkNlcnRpZmljYXRlS2V5SWRlbnRpZmllcnMiOlsiMDQ2YTdlMjMyYzAzMTg5ZGJjMmI5YjZhNzY1NzAyYjUyNjY1YmUyMSIsImMxMGJjNGM2ZjYxNGI2MzM3MWQ5Mjk1OTZlZGVkZGUzZTQ1ODQwNGQiLCI3YThmZTM3YTQyYmJmMmE1YjNlNjU3NGQ2ZjA0YmRiYzU1ZTU5MDQ3IiwiNzZlNDdiNDdlMzI4MTRhYWE2YTg3YzI4MGNmY2JkNTI3ODgxYTQwNCIsIjZjZDk5ZDhiMGFiZmE2YTQzNzgxMzhhMTQ3NWY3ZTQ2ZGYyMTdhMjUiXSwiZGVzY3JpcHRpb24iOiJGZWl0aWFuIGVQYXNzIEZJRE8gU2VjdXJpdHkgS2V5IiwiYXV0aGVudGljYXRvclZlcnNpb24iOjEsInByb3RvY29sRmFtaWx5IjoidTJmIiwic2NoZW1hIjozLCJ1cHYiOlt7Im1ham9yIjoxLCJtaW5vciI6MH1dLCJhdXRoZW50aWNhdGlvbkFsZ29yaXRobXMiOlsic2VjcDI1NnIxX2VjZHNhX3NoYTI1Nl9yYXciXSwicHVibGljS2V5QWxnQW5kRW5jb2RpbmdzIjpbImVjY194OTYyX3JhdyJdLCJhdHRlc3RhdGlvblR5cGVzIjpbImJhc2ljX2Z1bGwiXSwidXNlclZlcmlmaWNhdGlvbkRldGFpbHMiOltbeyJ1c2VyVmVyaWZpY2F0aW9uTWV0aG9kIjoicHJlc2VuY2VfaW50ZXJuYWwifV1dLCJrZXlQcm90ZWN0aW9uIjpbImhhcmR3YXJlIiwic2VjdXJlX2VsZW1lbnQiLCJyZW1vdGVfaGFuZGxlIl0sImlzS2V5UmVzdHJpY3RlZCI6dHJ1ZSwiaXNGcmVzaFVzZXJWZXJpZmljYXRpb25SZXF1aXJlZCI6dHJ1ZSwibWF0Y2hlclByb3RlY3Rpb24iOlsib25fY2hpcCJdLCJhdHRhY2htZW50SGludCI6WyJleHRlcm5hbCIsIndpcmVkIl0sInRjRGlzcGxheSI6W10sImF0dGVzdGF0aW9uUm9vdENlcnRpZmljYXRlcyI6WyJNSUlCZmpDQ0FTV2dBd0lCQWdJQkFUQUtCZ2dxaGtqT1BRUURBakFYTVJVd0V3WURWUVFEREF4R1ZDQkdTVVJQSURBeU1EQXdJQmNOTVRZd05UQXhNREF3TURBd1doZ1BNakExTURBMU1ERXdNREF3TURCYU1CY3hGVEFUQmdOVkJBTU1ERVpVSUVaSlJFOGdNREl3TURCWk1CTUdCeXFHU000OUFnRUdDQ3FHU000OUF3RUhBMElBQk5CbXJScVZPeHp0VEpWTjE5dnRkcWNMN3RLUWVvbDJubk0yL3lZZ3Zrc1pucjUwU0tiVmdJRWt6SFFWT3U4MExWRUUzbFZoZU8xSGpnZ3hBbFQ2bzRXallEQmVNQjBHQTFVZERnUVdCQlJKRldRdDFidkczak02WGdtVi9JY2pOdE8vQ3pBZkJnTlZIU01FR0RBV2dCUkpGV1F0MWJ2RzNqTTZYZ21WL0ljak50Ty9DekFNQmdOVkhSTUVCVEFEQVFIL01BNEdBMVVkRHdFQi93UUVBd0lCQmpBS0JnZ3Foa2pPUFFRREFnTkhBREJFQWlBd2ZQcWdJV0lVQitRQkJhVkdzZEh5MHM1Uk14bGt6cFNYL3pTeVRabVVwUUlnQjJ3SjZuWlJNOG9YL25BNDNSaDZTSm92TTJYd0NDSC8vK0xpckJBYkIwTT0iXSwiaWNvbiI6ImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBRkFBQUFBVUNBTUFBQUF0QmtybEFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFCSFpwVkZoMFdFMU1PbU52YlM1aFpHOWlaUzU0YlhBQUFBQUFBRHcvZUhCaFkydGxkQ0JpWldkcGJqMGk3N3UvSWlCcFpEMGlWelZOTUUxd1EyVm9hVWg2Y21WVGVrNVVZM3ByWXpsa0lqOCtJRHg0T25odGNHMWxkR0VnZUcxc2JuTTZlRDBpWVdSdlltVTZibk02YldWMFlTOGlJSGc2ZUcxd2RHczlJa0ZrYjJKbElGaE5VQ0JEYjNKbElEVXVOaTFqTURFMElEYzVMakUxTmpjNU55d2dNakF4TkM4d09DOHlNQzB3T1RvMU16b3dNaUFnSUNBZ0lDQWdJajRnUEhKa1pqcFNSRVlnZUcxc2JuTTZjbVJtUFNKb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk4eE9UazVMekF5THpJeUxYSmtaaTF6ZVc1MFlYZ3Ribk1qSWo0Z1BISmtaanBFWlhOamNtbHdkR2x2YmlCeVpHWTZZV0p2ZFhROUlpSWdlRzFzYm5NNmVHMXdQU0pvZEhSd09pOHZibk11WVdSdlltVXVZMjl0TDNoaGNDOHhMakF2SWlCNGJXeHVjenBrWXowaWFIUjBjRG92TDNCMWNtd3ViM0puTDJSakwyVnNaVzFsYm5Sekx6RXVNUzhpSUhodGJHNXpPbkJvYjNSdmMyaHZjRDBpYUhSMGNEb3ZMMjV6TG1Ga2IySmxMbU52YlM5d2FHOTBiM05vYjNBdk1TNHdMeUlnZUcxc2JuTTZlRzF3VFUwOUltaDBkSEE2THk5dWN5NWhaRzlpWlM1amIyMHZlR0Z3THpFdU1DOXRiUzhpSUhodGJHNXpPbk4wVW1WbVBTSm9kSFJ3T2k4dmJuTXVZV1J2WW1VdVkyOXRMM2hoY0M4eExqQXZjMVI1Y0dVdlVtVnpiM1Z5WTJWU1pXWWpJaUI0YlhBNlEzSmxZWFJ2Y2xSdmIydzlJa0ZrYjJKbElGQm9iM1J2YzJodmNDQkRReUF5TURFMElDaE5ZV05wYm5SdmMyZ3BJaUI0YlhBNlEzSmxZWFJsUkdGMFpUMGlNakF4TmkweE1pMHpNRlF4TkRvek16b3dPQ3N3T0Rvd01DSWdlRzF3T2sxdlpHbG1lVVJoZEdVOUlqSXdNVFl0TVRJdE16QlVNRGM2TXpFNk5Ua3JNRGc2TURBaUlIaHRjRHBOWlhSaFpHRjBZVVJoZEdVOUlqSXdNVFl0TVRJdE16QlVNRGM2TXpFNk5Ua3JNRGc2TURBaUlHUmpPbVp2Y20xaGREMGlhVzFoWjJVdmNHNW5JaUJ3YUc5MGIzTm9iM0E2U0dsemRHOXllVDBpTWpBeE5pMHhNaTB6TUZReE5Ub3pNRG95Tnlzd09Eb3dNQ1lqZURrNzVwYUg1THUySU9hY3F1YWdoK21pbUMweElPVzNzdWFKaytXOGdDWWplRUU3SWlCNGJYQk5UVHBKYm5OMFlXNWpaVWxFUFNKNGJYQXVhV2xrT2pKRk56RkNSa1pEUXpZM1JqRXhSVFk1TnpoRVFUbERRa0kyTkRZelJqa3dJaUI0YlhCTlRUcEViMk4xYldWdWRFbEVQU0o0YlhBdVpHbGtPakpGTnpGQ1JrWkVRelkzUmpFeFJUWTVOemhFUVRsRFFrSTJORFl6Umprd0lqNGdQSGh0Y0UxTk9rUmxjbWwyWldSR2NtOXRJSE4wVW1WbU9tbHVjM1JoYm1ObFNVUTlJbmh0Y0M1cGFXUTZNa1UzTVVKR1JrRkROamRHTVRGRk5qazNPRVJCT1VOQ1FqWTBOak5HT1RBaUlITjBVbVZtT21SdlkzVnRaVzUwU1VROUluaHRjQzVrYVdRNk1rVTNNVUpHUmtKRE5qZEdNVEZGTmprM09FUkJPVU5DUWpZME5qTkdPVEFpTHo0Z1BDOXlaR1k2UkdWelkzSnBjSFJwYjI0K0lEd3ZjbVJtT2xKRVJqNGdQQzk0T25odGNHMWxkR0UrSUR3L2VIQmhZMnRsZENCbGJtUTlJbklpUHo0NzdKWEZBQUFBWUZCTVZFWC8vLzhFVnFJWFphdkcyT29xY0xHMnpPT2t3dDBCU0p0cWxjWFY0dSthdXRsV2hiems3UFVBTVk5SGNyS2p0TmJxOGZlQWw4YUJvc3p6OXZwZGpzR0dxdEYzbjh1VHNOU1pwYzZKc05UNSt2MHhZS251OFBmZjUvTDQ4ZmcvZnJpY3pKZ1lBQUFEQUVsRVFWUjQya1JVQ1piRElBakZYWk9ZMVRhdE5jMzliemtzU1ljM3I0TUU0Zk1CQWFENnpsOHkvOVRPZ2V0OGQ1amZONzhid00vZERDUnBSNTIxelhmb2pISjA1SUl5aEJBVVNWQU9OZEd6Qll0MmY3S0ZyZmtKYUFrSGg5RlpoY0RYSFJrVEtvOU1MaWhHYWF2SW1uVjNxeUVYMEVwcmd6LzREd1VEN2tDSFJuZDhRRk40M0dvNFVWbUREZ3phNHcyN29pemRBMitjSyt1dVVwampvMit4d2MvNDJXNTB4NUxHWWVEQnNSMEhWSXg1eDhpRjYwQ2JsYlRFRWtGcjI3Yk5EQlVWU3ExT0tWUGJFNjJiM0VIOEZxQmc1T09PRXVjMnQ4WkppcU1PdUdwK2NLamc3d1ZHY2VvenFONHB4Z1ZQUWtqRllnYlZKS0RVaERDallyYXdQNXE0RVRnQzlmSU1SSHRpdHBRY0N2Sk9FTGNiTXNRZ25jaVJrbGpweVFqdkc0NGpxQlVFVEZpQmkxUEVJeWVrT3pzVytUeTVjTEhvczVSK2RNUzFMdFNTeGYzZ1FIY3pSMkNJNGdNTnBXNElSQTFRTWE2dEo0K0M2dUh1R0U4bU5ESXlGcWcvT1AvTU1VdWVTNklxOFM5MGRBZUJKU0V5L3FLa0srQk53ejhjWVk0amI1SjZ1NGlXQ0kyQjFaNTZMVzVrRWM0aGtkTXBzdlVDNTU4NVNYMFF1YmNnTnF5ZmdERkVjVHQrNDAvMFM1Tngwd2FDdzNPS2tjT2JBNUluMEFZcDAxcGpqdzJuNjI2VURqdEh3YTI4aUh1VEtxdHJ2K3JlVzQxTlo2aUdscjd1dUxKQ2ZrRnRjdGNHMDRzZ20xZU5TK1phRG5wYVRFckdveVg1SksyaU16OHhzMG5Pd1dHY1BETjQ5cWFDZDRiekpvekRabS9hQksrRW96THcrWGhOQmlZd0hmMHNpT3UxWFBrRy96S3d2cVlLY2ZTd0RFY0gvb1VlMDdlcy9XUThySXlnMkRPWGo4dGprWmR1REIvYjhoekRsbE1NT0NTNUJFbmQ1MzRmOHRpM1VaYzRrTXMzeEx5YWZNU3NKaGRHOFhQcWpOazV0QWdPMjVmZUtDaG5WZERqL0owRk1rT3NVL3hNQnYwd0ZoWWVFR2ZWSDEzZnVEVTB5REZMYTRmYzdSbldIQmZ1VEZWMnRFbU53YWRjN2FjM1VZMmpmQmw3SFQzNmZlMzRpUU81bU5DRkZCVzA3S2pQZ3FoT0xVMDF2WjhQdWVaMkpDbEZaTjhqa1VzNjl1a2E5ZVBwNitFZkw0QUY1K055d1NiaXJIdGNCOE1sL2drd0FFamtLNjRLakhQZUFBQUFBRWxGVGtTdVFtQ0MifSwic3RhdHVzUmVwb3J0cyI6W3sic3RhdHVzIjoiRklET19DRVJUSUZJRURfTDIiLCJlZmZlY3RpdmVEYXRlIjoiMjAxOC0xMS0wMSIsImNlcnRpZmljYXRpb25EZXNjcmlwdG9yIjoiZVBhc3MgRklETyBTZWN1cml0eSBLZXkiLCJjZXJ0aWZpY2F0ZU51bWJlciI6IlUyRjEwMDAyMDE4MDIyODAwNyIsImNlcnRpZmljYXRpb25Qb2xpY3lWZXJzaW9uIjoiMS4wLjEiLCJjZXJ0aWZpY2F0aW9uUmVxdWlyZW1lbnRzVmVyc2lvbiI6IjEuMS4wIn1dLCJ0aW1lT2ZMYXN0U3RhdHVzQ2hhbmdlIjoiMjAxOC0xMS0wMSJ9LHsiYWFndWlkIjoiZTFhOTYxODMtNTAxNi00ZjI0LWI1NWItZTNhZTIzNjE0Y2M2IiwibWV0YWRhdGFTdGF0ZW1lbnQiOnsibGVnYWxIZWFkZXIiOiJodHRwczovL2ZpZG9hbGxpYW5jZS5vcmcvbWV0YWRhdGEvbWV0YWRhdGEtc3RhdGVtZW50LWxlZ2FsLWhlYWRlci8iLCJhYWd1aWQiOiJlMWE5NjE4My01MDE2LTRmMjQtYjU1Yi1lM2FlMjM2MTRjYzYiLCJkZXNjcmlwdGlvbiI6IkFUS2V5LlBybyBDVEFQMi4wIiwiYXV0aGVudGljYXRvclZlcnNpb24iOjIsInByb3RvY29sRmFtaWx5IjoiZmlkbzIiLCJzY2hlbWEiOjMsInVwdiI6W3sibWFqb3IiOjEsIm1pbm9yIjowfV0sImF1dGhlbnRpY2F0aW9uQWxnb3JpdGhtcyI6WyJzZWNwMjU2cjFfZWNkc2Ffc2hhMjU2X3JhdyJdLCJwdWJsaWNLZXlBbGdBbmRFbmNvZGluZ3MiOlsiY29zZSJdLCJhdHRlc3RhdGlvblR5cGVzIjpbImJhc2ljX2Z1bGwiXSwidXNlclZlcmlmaWNhdGlvbkRldGFpbHMiOltbeyJ1c2VyVmVyaWZpY2F0aW9uTWV0aG9kIjoiZmluZ2VycHJpbnRfaW50ZXJuYWwiLCJiYURlc2MiOnsic2VsZkF0dGVzdGVkRlJSIjowLjAsInNlbGZBdHRlc3RlZEZBUiI6MC4wLCJtYXhUZW1wbGF0ZXMiOjAsIm1heFJldHJpZXMiOjAsImJsb2NrU2xvd2Rvd24iOjB9fSx7InVzZXJWZXJpZmljYXRpb25NZXRob2QiOiJwcmVzZW5jZV9pbnRlcm5hbCJ9LHsidXNlclZlcmlmaWNhdGlvbk1ldGhvZCI6InBhc3Njb2RlX2ludGVybmFsIn1dXSwia2V5UHJvdGVjdGlvbiI6WyJoYXJkd2FyZSJdLCJpc0ZyZXNoVXNlclZlcmlmaWNhdGlvblJlcXVpcmVkIjp0cnVlLCJtYXRjaGVyUHJvdGVjdGlvbiI6WyJvbl9jaGlwIl0sImF0dGFjaG1lbnRIaW50IjpbImV4dGVybmFsIl0sInRjRGlzcGxheSI6W10sImF0dGVzdGF0aW9uUm9vdENlcnRpZmljYXRlcyI6WyJNSUlCekRDQ0FYR2dBd0lCQWdJQkFUQUtCZ2dxaGtqT1BRUURBakJpTVFzd0NRWURWUVFHRXdKVFJURVNNQkFHQTFVRUNnd0pRVlJMWlhsRFFUQXdNU0l3SUFZRFZRUUxEQmxCZFhSb1pXNTBhV05oZEc5eUlFRjBkR1Z6ZEdGMGFXOXVNUnN3R1FZRFZRUURFeEpCZFhSb1pXNTBjbVZ1WkNCRFFTQXdNREF3SUJjTk1UWXdNakkyTURneE1UQTJXaGdQTWpBMU1EQXlNalV3T0RFeE1EWmFNR0l4Q3pBSkJnTlZCQVlUQWxORk1SSXdFQVlEVlFRS0RBbEJWRXRsZVVOQk1EQXhJakFnQmdOVkJBc01HVUYxZEdobGJuUnBZMkYwYjNJZ1FYUjBaWE4wWVhScGIyNHhHekFaQmdOVkJBTVRFa0YxZEdobGJuUnlaVzVrSUVOQklEQXdNREJaTUJNR0J5cUdTTTQ5QWdFR0NDcUdTTTQ5QXdFSEEwSUFCQUpjV3FlQ3hnYTlLSmJGTzJUWmRqY2dydFpBZ2ZpOFRYS3UrdjVsY1I1Y2ViNUdKWXh5b0NqaHVlRVNMM2RkbU1Ja3BHeWhzRUV0ZkZVeUJ3c3lGVkNqRmpBVU1CSUdBMVVkRXdFQi93UUlNQVlCQWY4Q0FRQXdDZ1lJS29aSXpqMEVBd0lEU1FBd1JnSWhBUHVWUzRQbTJLRlhkVU1pNVBiL1h5K2dDUk9PdVJQWjZJNTd2V2MwRXZrQkFpRUE4YVJDblhwcEFmZkNFT1FCSjd2bGd3aWlITVhBMnRwV1grT2J2Vkt4WGJNPSIsIk1JSUJ6RENDQVhHZ0F3SUJBZ0lCQVRBS0JnZ3Foa2pPUFFRREFqQmlNUXN3Q1FZRFZRUUdFd0pUUlRFU01CQUdBMVVFQ2d3SlFWUkxaWGxEUVRBd01TSXdJQVlEVlFRTERCbEJkWFJvWlc1MGFXTmhkRzl5SUVGMGRHVnpkR0YwYVc5dU1Sc3dHUVlEVlFRREV4SkJkWFJvWlc1MGNtVnVaQ0JEUVNBd01EQXdJQmNOTVRZd01qSTJNRGd4TVRBMldoZ1BNakExTURBeU1qVXdPREV4TURaYU1HSXhDekFKQmdOVkJBWVRBbE5GTVJJd0VBWURWUVFLREFsQlZFdGxlVU5CTURBeElqQWdCZ05WQkFzTUdVRjFkR2hsYm5ScFkyRjBiM0lnUVhSMFpYTjBZWFJwYjI0eEd6QVpCZ05WQkFNVEVrRjFkR2hsYm5SeVpXNWtJRU5CSURBd01EQlpNQk1HQnlxR1NNNDlBZ0VHQ0NxR1NNNDlBd0VIQTBJQUJBSmNXcWVDeGdhOUtKYkZPMlRaZGpjZ3J0WkFnZmk4VFhLdSt2NWxjUjVjZWI1R0pZeHlvQ2podWVFU0wzZGRtTUlrcEd5aHNFRXRmRlV5QndzeUZWQ2pGakFVTUJJR0ExVWRFd0VCL3dRSU1BWUJBUUVDQVFBd0NnWUlLb1pJemowRUF3SURTUUF3UmdJaEFNcUljL1F0citqWmJuckpCN2c3VzhyL0RIbURlK0l5RnZ6d3B6ZFNyeEVYQWlFQXRYY2l4WnpuaGNEemxuSXFGcWtJSlJHbXZMOVlyNmxWb1AxWmtEZXFtams9Il0sImljb24iOiJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUpZQUFBQTlDQUlBQUFEQXVBZVlBQUFBQVhOU1IwSUFyczRjNlFBQUFBUm5RVTFCQUFDeGp3djhZUVVBQUFBSmNFaFpjd0FBRW5RQUFCSjBBZDVtSDNnQUFCR3VTVVJCVkhoZTdad0pmQlBWOXNjelMvWTAzUmNvM1hjS0JWd1JCSGtpVDU4THF4dkNFM0F0b0lJQ0JRVFoyZ0l0VWlndFZHaWhLUG9YQVIreXlQTGhBUlpaMUVkVm9Qb1FwS1cwQlZxNlpjOWtsdnhQTXJmUWxpWk5sN1FQUC9sK0xuVG1uRHVUeWZ6dXZlZmNtMGt3czlrc2NIRXZnNk8vTHU1WlVDLzh6NEJuTkw4V1lZU0l0M1k3SEdzSWVINU0vTTRzdE8vQ05rakNzd1BIYW4vNUhSZi9yMGpJNmd6KzQ1L3QvZmthdE8vQ05tZ2d4WGh3SExiTU5HTTIwZDFUYUVhQVd5NER3ekc0RXY3YVhOZ0g5Y0xDUjhaQkw4VEVJalBIeVdMQ2NZTG8ralFIcERQVHRPN2lGVXhJY25xRDM4dlA5dDZXZ1h3dWJOTlVRcEZRUURPRHE4OFNjaG52N21Lb3lsdW5BdTRubFo0dUNSMm5lVVlLaXJKYVBkcnBjamlkQVcyNWNKZ1dKeFZkUFlRMm9odGYrbDdGTlMrODUrbE1DVm1Ea1RPWk9CUEYwVFNIYkM2Y1RxZEpxUC92bGU5azBhZjhIanJwKytCSlpUK21waDQ1WERpWlRwUHdZdUlDQWhlYldWYkFtVm1qb1dTeGExYmVSWFNPaFByaXN0b1R4M0dGRENNSWpNQUpoZHYxVGR0cGpSYTVYVGlUenBIdzhyU0ZCT21CWVJpck4zSVVJeUF3QVUyWExzNUViaGZPcEJNa05KVGRxRDU4aEpCS1lFTHBOLzQ1NWNOOXpSUk5LT1RsRzc1ZzlLNTVudFBwQkFrdlRWOU1rQW9CSm1CWVRWVFdvckRVT2JTeERvWlRqakplUzNaOTFPQjBPaVFoek1NTjE2dXE5eDNDWlZKT2IvQVpNVUtvZFBNWWZMOGlLcDZqYUZJdUwxKy9qYU5NcUxZTDU5QWhDVEdCNE1yTUZJSVF3emJOcUdKeVYvRDJ5RFVMR0dNOWRFVElhRXJUTi9KR0YwNmlReEpTbGJlcWR1NjNkRUdEMFh2SU1HbElJRy8zZWVadnNzZ1ltT0FMWmZLeU5ma2N6ZkIyRjg2Z1F4SmVTVXJEY0VJQWlTaXRqdG1ZaXF4V0lsZk9aUXhxZ1pCZzYyckwxbXkyMmx6cm4wNmgvUkpTMWJWVm4rOGw1RkxPU0hrTUhDU1BpMFFPSzc3am5wS0ZScHBOREM1VGxHVnNaczJjZGR4MTBmbTBYOEtTaFJsbU0ydnBnaWIxN1NqWW1MQzBKTWFnd1VqQ1ZIbXJZdDFueU9xaXMybW5oSFM5Nm1iK0xrSXVNek9NY3NBRHNxaFFxcW9hUXVQdFlycFY2L1g0STlLZ1lBSExFVkpaK2FwYzF6RHFKTm9wWWNtU2RXWVREVGtuUnBMRzRyS1RudjEvQ0I3eVE4alEyK1ZNME9BeklZOHlLcTJBd0hFaGFhaW91TDdwUzNTd2kwNmxQUkl5V3YzTjNPM1doek1zejB5WkljNlJKQ1lTTmk4RUFTa01WSUJhcEZSK2JjVW42SGdYblVyeloyZWdiejFTZWtMazc4dTdXK1RTZTB1dlpYMUNrbTVvSDRIaE1nbklCVnNnS21lZ21xV2dORlBYT3ljek1QRVZ0TjhTaHVMU014RkQ3bjUySmpkdlMwSEJDWWxZcktlb3BZc1dSa1UxU1oyYWtaeVMrdWVmeFVKU0NOZFNyNnAvOElFSDVpYk5ycW1wZlN0eHVxZTd1OUZrSERqdzRYZW1UZDI5WisrT3IzYkk1UW83bWJLSk52VkxTSmcxYTJaeGNmR3NPZk84UGIwNE0wZVFSTzdHSEZURE5ucTk0ZDBaTStGTzRCaGVXMSsvTVNmYjE5ZmVYVzAzSlByck1HYVc1ZXJVUFY1NndkckpHb0MrSmlLcnZ0d3ZFQWxCUUZ3czloMzNwT1dKd2taM2h6UFJoait1b0owMmN1SENoZjNmSHBETDVWcWRidVo3N3lCclN5VE5uYjhwYjdOY0pvY3JVcW5VOGZGeHUzWnNCenRGR2ZmczNSdmc3Ni9UNmlSaUNWait2SHhsNy80RG5oNGVadHNhR2cxR3lnUnRVUkFlSG42aHFFaWoxcEFrV2E5U2pSazkrdWwvUE1uWHNjWFdyWi91M1BtMW05TE5hS0R1RzlEZlNmb0JiWllRbEl2ZHRocnROT1ZHL2c1UzVHNW1XRExRSXk1L0ZiSjJCaUt4V0NxWFFXRUZITVJXWkwyTHVmUG01K2JuKy9qNmduNXdvL3NQU1BqK3UyTzhDN3FDVkdvNUEyYzJ3OW5BSWhUQzZHNngySkVRdzNHUnhLSTNrSmFhTXVYdFJIOFBkNXdrbDZlbHRTb2h0Q1JQSDIrUlVLalJhRk5TbGlDckUyaGJMS1FwMDlYbDYwdFhiTGlhbkZYK3lkM3BTY085WUZtMFlRV3NwYXR5cjZabWw4S3hHVnRzM3JDT01XLyt3bzE1K2Q1ZTN0YitwNHFMaXI2dFg0dm85THFheWx0VmxsSnRwNmpyVlh6OWNjK1BWY2prTE1lS3hhTGZmdis5c0xDUXQ3Zkk5cTkybEpWWENJVkNpcUw2RCtqMzhFTVBJWWNUYUp1RUZSbjVseFlzdnZMaHFvdUw1cEV5UzF0MkJBaVBkRlhOSHdzL3VySmcxYVZaYzI3dE9ZSWNuY2VDaFIvbGJNcjE4YkhxcDFaSGhvZWZLRGlLZkRhWTlmN00ycHFiWlNXWHltMlhxaHVsWDJ6YmlnNkFWNWszUjFXbmdwZFFTR1hKS1N1UnRTWFdaYTlYS09Ud3h1dnFWUjhtelVGVzU5QUdDU0VLbG1ma1NXUUJoRVRxSHY1Z3dLdGprY01Cd2xMZWw3Z0ZFUW8za2NqdnF2V2o0RTdzaS9NWGZKU1ZzOUhYMXdkdXJscXRqb3VPUG4yeUFQbHNJNUZJUEQwOWxlN3Vkb3FIaDRkQ29VQUhDQVRUcDAvRE1ZempPSkZFZXVyTXFlTGlFdVJveXNGRGh5LytjVmtvRXRFMEhSMFI4ZFJUclF5NUhhUU5FcFpuZldhcXJoSUlDY2FvRGt0dFU4c3lFMkp4ME13cHJGYU5TVVRhYytkcURwM29yTlcySlV1VGN6WnU4clBHUDdWYUE4bHF3ZkYvSTErTFlCMXFQVysrOFpwR3E4TnhUQ2dVcDZWL2pLeE5XYnMyU3lhWHdmVkFQSjcxd1F4a2RSb09TOGlaeXo3T0phUUtzNG1SQm9jRnZQd01zanVFUmErZzJhOFRDcVdBNHdpUnZMTWVqbHF5TkdWdDlub2ZIMHYvMDJnMDhiR3hKKzNHUHd0bTY5VzBsNlNrT1NhakVXWmlrQnZ0UDNDZ3RyWUdPUm80ZmVhSHM3LytBdk1maG1FQy9RTmVHZjh5Y2pnTlJ5VXN6L3ZTV0ZHT0NVbmFvQTViMHA2V0pWUXFBNmUrd21vMW1FU3MrcW13OXZnWjVHZ3Z5OVBTSWVUNGVGdmlINlQ3MFZGUlI0NGNSRDdiZ0g0ZGtkRERYVGwyekNpWTgrRTRUalBzdXF3TnlOSEEycldab0I4L0pDUW12b1dzenNRaENTRy9MRnU1MGRJRmFVWWFHTlJqeXZQSTBVYUNrdDdHWVNvTkhWRW80eU5pTzhBSnl6VXZYNW0rS24yMWw3Y1hURW1oLy9XT2l6MTI1SkNkK2NadFlCVGxCOUtxcXFwZno1MHYrdTEzTytYOCthS1NxODBEM3NMNTgzUmFMWFJFU0ZpMi9kK1hFUENRUXlBb0t2cjl1KzlQU3FWU2xtWGRQWlN2VFptTUhNN0VJUW1ydG42dEx5bUI0WjgxYUVJK25JYXNiVWZzNDlWenlnc3N4QktwdVA3NzAvV25MWGw1bXlJVFpCTktON2ZzOVRucHF6TzhmWDFBUHhORnhjZkZIVDY0SHliZHFKSmo1T1p0R1REZ2dVRkRodzBhWXJQY1AzRFFqUGRub3dNYUNJOElmMnpvRUNORjRRU2hVcW56Tm05QkRvRWdNeXNMalB5by91cUVDZkl1K1lLWVE4MjJkSG1PVUNJM000dzRvR2ZQdCsydGtMVkswUHhFSENiTEhJZVQwcEpGYTVIVllXUlNhY3J5dE9RVks3MnQ0NmZBYkdZb1UrN0dISmlCb1JxdDBqQ01LdVFLSDM5L2Z6OC8rR2VyQlBqN1FWYUtEbWpFZ2cvbnFWVXF6Q3lRSzJTYjhwQ0VwZGV1SFRod1NDNlRRY29xa1lpbmRja29DclF1WWVYMi9mckxsd1VpRWF2WEJzMTVneC9IMmdlMEJrbFBmLytKWTFpdEhwZEo2bzZlVUowdGNqd3lXVFREOENQSGpya3BGTkFkZVF0R0VuT1M1dk1WSEtLaDF4dU5ocnE2T2xWOWZYMWRuWjJpMTdYd1FQUEREejJZMExjUFJadUVwTEM4dkdMM045K0FFY1lHbW1VZ1JtcDF1ckdqUi9uNStmR1ZuVTNyeTl3LzluM0srT2MxRE9LTVREcXc3Q1JwWFoxcWtXTllDS24wZ0hncDd1VS84SkxOek5CUVd2Rmo5SEJjSk9TTWxPY1RnL3NkekVjTzI4dmNzNVBtZmZIbDlzWlROSlBKUkp0b3lOMUJ4cHJxNnBSbFM2WlBUVVMrbHJoNTQyWlVYTitBSHY1NnJXN1VxSkVic2pOUG5qcDE3UGgzTUR0RU5WcUNwcG5JaVBDWFhud0I3VGRpejc3OXIwNSszYy9QMTJnMHhzWEU3TnZ6cjlqNEJNdFh6REZNcjlPZFBIRXNJandDVlhVeXJjU1A2L203Nm90T2tRSXZScUNPbVo5c1J6L0FMR0F0MzlObm9EUlpZR3VHTkNUUTc4V25iMzcrTDBJcXUzWG9zT2I4UmJlRVdPUnpESzFXMnljK2Z0alFJWm1aMlVvdkQwOHZyMlVweTBjTUh4NGRIWVZxMk9aMjZIMTA4R0FvYUtmdGpIcnUyZUJlZ1JxZFhpd1dYeTR1SGo5eEVzMHdrTWpBdFQwNTRnazcrakVNdS8ycnJ3SUNBbUJJMFdnMUpwb09DdzNwbDlCUEpISTRGalRGM3FnSTd4YjZaVXhLV2xUNmd0amxLM3JPZkIwNWJDRDA4aFg2K3dnRGZFbGZMMlN5UWNqaUdlTEFRS0cvcjhTdlYxbkduWFRBRWVBZUJRZjEydi9OMXhDUSt0M1h6NkRYd3dBaEVncW52TjVGc2VjMjc3NHpYYVcyckxjUk9GYjQ4OCtnSHd4cERNM01uUEV1cXRFU0pHbjVIWU9SWTU1L2R2U1ljK2ZPVXhRMWFzd0xVYkc5WVVoQU5kb0tuQTQ0TzNEc2QrTFlBcmUrOEQ5MXM0bzNRbGptTnh5aFdWWEhqNFJYdVYxWmYrWHFVVUZRZ1RMaE9CbjEyOFQza2RWc25qVm5ia0N2a01qWStLQ3d5RUdQUGdadm03ZVhscFVGQm9lRlJjWkV4TVo3Ky9WWThORmkzbjQzTjY3ZlVMajd3Qmw2OUFxZE92MDlaTzBZMElGQ3c2UENvbUlqWTN0SHhNVER5UU5Ed2tlTkdZZmNkb21LNjZQMDhyMTA2Ukpzbnp4MVdxcndDSStNTlJnc2l3WnR4VjR2dEtRUER0T3NhcHVTRkFjcncrVkMvRnVYbVNFU29kL0hDZTdWS3pWNWFYMjlDbndlbnA3WjJSdCsrczlaM3RVRkNFbnl0U21UTkNvTmJGdXpZek5vOE1GTXg5YzlNTXBvK1RBeU5qYkdUZUVHZzJwNVJUbnZxS3lxZ3Y5cnFtc3F5cEVGS0R6Nzg3TGsxRzJmZndGNUFESlphVW5DMitHaTYybjFwVEV6aGpXNTVrbXYvblBFOEwvcE5GcG9DUjVlbmhQK09RazViTkd4TmRKbXZQZnVPeEtaR01ZUjJJWTcyN2R2bjZGRGgvQXUrNkJyc0xaZXZWNW5OQmtKZ29RWlRsYjIrbERvMVBIOVB2MXNHL3hOR1BBUVRER2hEblR1RjErWjhOTExMMzc2MlJkZVBnR05XMm9MRWxwK3RxZTdhTzJsNFozRHlJdDJHc2pmc2xrbWs5RTBEYk5EbFVyVFNsRHMyQnBwTTl6ZDNVTkRRbG5XRWdvZ1NNOThkenB5dEFaY0E4akhUMmNYTGxpc3JxMmJOSEdDbTVzYnhOZVE0RjZFVUxoOTU2N25ubnR1MEtDSHdUaG4zb2Q3djltN09qMHRKaXBxUzk0blFyRjQ1T2c3SHhNMWw5QU1OOUZ1MnVsVU1Nc0kyZVk3TEpOSmN6WmtxMVFxdUkvdTdzb2R1M2J0UDJCenNkUnk3OUJtSjNEMDZQRno1eStBRXRDQUlzTWpSbzhhaVJ3T0lKZkxaOCtiSHgwYmYvSFM1ZDI3djE2NUVqME9iMm1PRkpXMVp2Vm4rWG43OXV4bWFQcmJBd2VVM2w0OUEzdUNOemc0Mk1mYlM2WFduRG1ERnBtYlRpcGdrQ0xJSDhNZkU5elYwcnNDR09MZzlkMlUvRE5VYmVMdkk0WlBHUC9TamwyN1FVTEkxeWUvOXNhMWtzc3lhUXZyVzVaK2JOMVl0eTQ3ZFdVNjFMZnV0WXlSTWo0K2JOaldMWGxvL3k1V3BLZDdLSlZtZ2FVTExsMjBFRmtkUTZmVlphL0pDQWtOUWZzTlFFT0U5dzlobGQvVjZRMFVSWU1GSnFDOEJhWXhrQVJURFJHeFNTKzBKQlk0eHBsb2ptRzdvZENzNVFGK2pHaGZOOGxlbHhrWTRBL0pLZzV6RExGNDdMaFdQdVZoT1k2R0dRREwyaW5ncHBzK1JOS1l3c0tmZi96cHJFZ3FnWG85L1FOZW5UZ1JPVnJpME9IREd6YmMrWklYTkZOb1NUcDlDNy9TeExmZzIwa2VOTEllOEw1TXBxdFhyL0lXUGFqTHN2MFQrdk83U0VLWWoxdVVvMHlXMzdKajJPNHJjQmttdUF5T3NWd0dmMjBBd3pDUUxKZ2dpd2V2N1IrSHk5K1NCMDBiV2l2a2lzY0xDckxYMzNsVUVKcTJDUTYybk1NRVo3TllPRFByQUh5cTBpSXIwbFlwbFc1d3A3VjYzZVRKayt3c1BVSWZoU1kxZlhwaVFjRUpaTkdvb1lsVVZsYnl1NDNSNlhRbUZoclhuYStETFZ1OGlNRHd6TXhzMkQ1OStvZVNQeS9QVFpydDRlbk9lOUVDMjRXeGlicWl5ekNSNTYyT0EyL0E1aDF0eldzSHprRDVqQndldFFZTlRhbkxWMzZ6ZDU5VUtvSGhaZk9talFrSmZYajczYXhhdldibnJxOGxVZ204cjVxYTJ1K1BIZlgyc2F3elZGWlZQdjdFUDd5OXZZd0d3OTlIakVoSlhySmx5OWJzbkU4VWJuY1c3ZTRHK3ZTZ1J4NVo4M0U2Mm05RWNYSEpmUThPOVBIMUFZMmh3NXd2UEN0WHlKR3ZKZDZiOFVIUmI3L3QyN3RicjlPKytlYTBHN2NxaFlRUUo3RFJJMGQrOFA2ZGVjalNaY2tIRGgzR0NjTFQzWDNhMU1Sbm4zbWF0Ly95eTYvTFY2eWtHQVlYWU9OZmZySHhtcDlGUWhDeG9kZisxWUQ3QytNcTJ1bFUzbmhyNnJjSER5b1VDclZhL2NacmsxT1RseUZIbDJPVjBOcGQyb2Y5WXp0eTV2OWxidDJxam8xUGdHa29ETkFtaWlyODZVeVhmUzV4TjVZVzJwRzdiUC9ZdjZSK3dLcU1OYVNReERFTThoRVk2N3BSUHdERlFoZU9ZekFhd3lPaVpkWlB2aUQxT0gzaWVIaDRPTy9xRnB3U0ovN2F3SVFTa2trSXNhRGxzS0ZEdWxjL3dOVUwyMHl2MEFpUlNBUVNxdXBWUnc3dDY5OS9BSEowRTY1ZTJEYlNWNjJ1S0MycnE2Mi9YbkdqVDUvNGJ0Y1BjUFhDdG5IdTNIbWFvYUVMTWd3YkZocml2SytjT1k1THduc2UxMEI2anlNUS9EL2V4TGc4Ui80c1FBQUFBQUJKUlU1RXJrSmdnZz09IiwiYXV0aGVudGljYXRvckdldEluZm8iOnsidmVyc2lvbnMiOlsiVTJGX1YyIiwiRklET18yXzAiLCJGSURPXzJfMV9QUkUiXSwiZXh0ZW5zaW9ucyI6WyJjcmVkQmxvYiIsImNyZWRQcm90ZWN0IiwiaG1hYy1zZWNyZXQiXSwiYWFndWlkIjoiZTFhOTYxODM1MDE2NGYyNGI1NWJlM2FlMjM2MTRjYzYiLCJvcHRpb25zIjp7InBsYXQiOmZhbHNlLCJyayI6dHJ1ZSwiY2xpZW50UGluIjpmYWxzZSwidXAiOnRydWUsInV2Ijp0cnVlLCJiaW9FbnJvbGwiOnRydWUsInVzZXJWZXJpZmljYXRpb25NZ210UHJldmlldyI6dHJ1ZSwidXZCaW9FbnJvbGwiOnRydWUsImNyZWRNZ210Ijp0cnVlLCJjcmVkZW50aWFsTWdtdFByZXZpZXciOnRydWV9LCJtYXhNc2dTaXplIjoyMDQ4LCJwaW5VdkF1dGhQcm90b2NvbHMiOlsxXSwibWF4Q3JlZGVudGlhbENvdW50SW5MaXN0IjoyMCwibWF4Q3JlZGVudGlhbElkTGVuZ3RoIjoxMjgsInRyYW5zcG9ydHMiOlsidXNiIl0sImFsZ29yaXRobXMiOlt7InR5cGUiOiJwdWJsaWMta2V5IiwiYWxnIjotN30seyJ0eXBlIjoicHVibGljLWtleSIsImFsZyI6LTh9XSwiZmlybXdhcmVWZXJzaW9uIjoxMDAxM319LCJzdGF0dXNSZXBvcnRzIjpbeyJzdGF0dXMiOiJGSURPX0NFUlRJRklFRF9MMSIsImVmZmVjdGl2ZURhdGUiOiIyMDE5LTEwLTA5IiwidXJsIjoiaHR0cHM6Ly9hdXRoZW50cmVuZC5jb20vYXRrZXktcHJvLyIsImNlcnRpZmljYXRpb25EZXNjcmlwdG9yIjoiRklETzIgQXV0aGVudGljYXRvciIsImNlcnRpZmljYXRlTnVtYmVyIjoiRklETzIwMDIwMTkxMDA4MDAxIiwiY2VydGlmaWNhdGlvblBvbGljeVZlcnNpb24iOiIxLjEuMSIsImNlcnRpZmljYXRpb25SZXF1aXJlbWVudHNWZXJzaW9uIjoiMS4zIn1dLCJ0aW1lT2ZMYXN0U3RhdHVzQ2hhbmdlIjoiMjAxOS0xMC0wOSJ9LHsiYXR0ZXN0YXRpb25DZXJ0aWZpY2F0ZUtleUlkZW50aWZpZXJzIjpbIjMyNTI2ZjczZGZjYTEyZGE5YzFkODdkNmUwYWRiNjRlODQzZjczZGEiXSwibWV0YWRhdGFTdGF0ZW1lbnQiOnsibGVnYWxIZWFkZXIiOiJodHRwczovL2ZpZG9hbGxpYW5jZS5vcmcvbWV0YWRhdGEvbWV0YWRhdGEtc3RhdGVtZW50LWxlZ2FsLWhlYWRlci8iLCJhdHRlc3RhdGlvbkNlcnRpZmljYXRlS2V5SWRlbnRpZmllcnMiOlsiMzI1MjZmNzNkZmNhMTJkYTljMWQ4N2Q2ZTBhZGI2NGU4NDNmNzNkYSJdLCJkZXNjcmlwdGlvbiI6IlRydXN0S2V5IEczMjAgVTJGIEF1dGhlbnRpY2F0b3IiLCJhdXRoZW50aWNhdG9yVmVyc2lvbiI6MSwicHJvdG9jb2xGYW1pbHkiOiJ1MmYiLCJzY2hlbWEiOjMsInVwdiI6W3sibWFqb3IiOjEsIm1pbm9yIjoxfV0sImF1dGhlbnRpY2F0aW9uQWxnb3JpdGhtcyI6WyJzZWNwMjU2cjFfZWNkc2Ffc2hhMjU2X3JhdyJdLCJwdWJsaWNLZXlBbGdBbmRFbmNvZGluZ3MiOlsiZWNjX3g5NjJfcmF3Il0sImF0dGVzdGF0aW9uVHlwZXMiOlsiYmFzaWNfZnVsbCJdLCJ1c2VyVmVyaWZpY2F0aW9uRGV0YWlscyI6W1t7InVzZXJWZXJpZmljYXRpb25NZXRob2QiOiJwcmVzZW5jZV9pbnRlcm5hbCJ9LHsidXNlclZlcmlmaWNhdGlvbk1ldGhvZCI6ImZpbmdlcnByaW50X2ludGVybmFsIn1dXSwia2V5UHJvdGVjdGlvbiI6WyJoYXJkd2FyZSIsInJlbW90ZV9oYW5kbGUiXSwibWF0Y2hlclByb3RlY3Rpb24iOlsib25fY2hpcCJdLCJjcnlwdG9TdHJlbmd0aCI6MjU2LCJhdHRhY2htZW50SGludCI6WyJleHRlcm5hbCJdLCJ0Y0Rpc3BsYXkiOltdLCJhdHRlc3RhdGlvblJvb3RDZXJ0aWZpY2F0ZXMiOlsiTUlJQ3BUQ0NBa3FnQXdJQkFnSUJBVEFLQmdncWhrak9QUVFEQWpDQnJ6RUxNQWtHQTFVRUJoTUNTMUl4RVRBUEJnTlZCQWdNQ0ZObGIzVnNMVk5wTVJNd0VRWURWUVFIREFwSFlXNW5ibUZ0TFVkMU1SY3dGUVlEVlFRS0RBNWxWMEpOSUVOdkxpd2dUSFJrTGpFaU1DQUdBMVVFQ3d3WlFYVjBhR1Z1ZEdsallYUnZjaUJCZEhSbGMzUmhkR2x2YmpFY01Cb0dBMVVFQXd3VFpWZENUU0JEUVNCRFpYSjBhV1pwWTJGMFpURWRNQnNHQ1NxR1NJYjNEUUVKQVJZT2FXNW1iMEJsTFhkaWJTNWpiMjB3SGhjTk1UZ3dOekF5TURVek1UTTVXaGNOTWpNd056QXhNRFV6TVRNNVdqQ0JyekVMTUFrR0ExVUVCaE1DUzFJeEVUQVBCZ05WQkFnTUNGTmxiM1ZzTFZOcE1STXdFUVlEVlFRSERBcEhZVzVuYm1GdExVZDFNUmN3RlFZRFZRUUtEQTVsVjBKTklFTnZMaXdnVEhSa0xqRWlNQ0FHQTFVRUN3d1pRWFYwYUdWdWRHbGpZWFJ2Y2lCQmRIUmxjM1JoZEdsdmJqRWNNQm9HQTFVRUF3d1RaVmRDVFNCRFFTQkRaWEowYVdacFkyRjBaVEVkTUJzR0NTcUdTSWIzRFFFSkFSWU9hVzVtYjBCbExYZGliUzVqYjIwd1dUQVRCZ2NxaGtqT1BRSUJCZ2dxaGtqT1BRTUJCd05DQUFRSWZxSGlzaTBvTy9leU9xU2FEcnI5aXRHMkl5bUJrSG5TREdRSUlZbVQrdnFBOEFnTzgxbW9tYzJMZDVQR3BFTjZtdUU1NHdQSFFqdmMveUNpaDh1Mm8xVXdVekFTQmdOVkhSTUJBZjhFQ0RBR0FRSC9BZ0VBTUIwR0ExVWREZ1FXQkJTM0ovZnhpQXYyMmlyZEJzOThTT0RoRjdrVS9qQUxCZ05WSFE4RUJBTUNBUVl3RVFZSllJWklBWWI0UWdFQkJBUURBZ0FITUFvR0NDcUdTTTQ5QkFNQ0Ewa0FNRVlDSVFEYzQxTEZLNExKQ0JVMlZWS0l6N1o2c3hQaFVFa2g4bkxTTEs2SVhka1A1d0loQUllS1ZPWmNoYVZPNWFGN2ZiZFhvU3JjeXkxWVllVWVQTG9qY0tJOWZYODQiXSwiaWNvbiI6ImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBR1lBQUFBN0NBWUFBQUNKei85TEFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBeVpwVkZoMFdFMU1PbU52YlM1aFpHOWlaUzU0YlhBQUFBQUFBRHcvZUhCaFkydGxkQ0JpWldkcGJqMGk3N3UvSWlCcFpEMGlWelZOTUUxd1EyVm9hVWg2Y21WVGVrNVVZM3ByWXpsa0lqOCtJRHg0T25odGNHMWxkR0VnZUcxc2JuTTZlRDBpWVdSdlltVTZibk02YldWMFlTOGlJSGc2ZUcxd2RHczlJa0ZrYjJKbElGaE5VQ0JEYjNKbElEVXVOaTFqTVRFeElEYzVMakUxT0RNeU5Td2dNakF4TlM4d09TOHhNQzB3TVRveE1Eb3lNQ0FnSUNBZ0lDQWdJajRnUEhKa1pqcFNSRVlnZUcxc2JuTTZjbVJtUFNKb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk4eE9UazVMekF5THpJeUxYSmtaaTF6ZVc1MFlYZ3Ribk1qSWo0Z1BISmtaanBFWlhOamNtbHdkR2x2YmlCeVpHWTZZV0p2ZFhROUlpSWdlRzFzYm5NNmVHMXdQU0pvZEhSd09pOHZibk11WVdSdlltVXVZMjl0TDNoaGNDOHhMakF2SWlCNGJXeHVjenA0YlhCTlRUMGlhSFIwY0RvdkwyNXpMbUZrYjJKbExtTnZiUzk0WVhBdk1TNHdMMjF0THlJZ2VHMXNibk02YzNSU1pXWTlJbWgwZEhBNkx5OXVjeTVoWkc5aVpTNWpiMjB2ZUdGd0x6RXVNQzl6Vkhsd1pTOVNaWE52ZFhKalpWSmxaaU1pSUhodGNEcERjbVZoZEc5eVZHOXZiRDBpUVdSdlltVWdVR2h2ZEc5emFHOXdJRU5ESURJd01UVWdLRmRwYm1SdmQzTXBJaUI0YlhCTlRUcEpibk4wWVc1alpVbEVQU0o0YlhBdWFXbGtPalkxTkRZM1JFWkdOVEF3UWpFeFJUWTVSakV6UmpWQlJqaEdRamd6T0RNeUlpQjRiWEJOVFRwRWIyTjFiV1Z1ZEVsRVBTSjRiWEF1Wkdsa09qWTFORFkzUlRBd05UQXdRakV4UlRZNVJqRXpSalZCUmpoR1FqZ3pPRE15SWo0Z1BIaHRjRTFOT2tSbGNtbDJaV1JHY205dElITjBVbVZtT21sdWMzUmhibU5sU1VROUluaHRjQzVwYVdRNk5qVTBOamRFUmtRMU1EQkNNVEZGTmpsR01UTkdOVUZHT0VaQ09ETTRNeklpSUhOMFVtVm1PbVJ2WTNWdFpXNTBTVVE5SW5odGNDNWthV1E2TmpVME5qZEVSa1UxTURCQ01URkZOamxHTVROR05VRkdPRVpDT0RNNE16SWlMejRnUEM5eVpHWTZSR1Z6WTNKcGNIUnBiMjQrSUR3dmNtUm1PbEpFUmo0Z1BDOTRPbmh0Y0cxbGRHRStJRHcvZUhCaFkydGxkQ0JsYm1ROUluSWlQejZYcUFTWEFBQVFjMGxFUVZSNDJ1eGNCMWhVeHhZZWxrVjZFUVVSQlNuQ0xrUVRqZTA5RXhFRk5TOEdFOVRQUkkxR0FSc29kb29STkFJV0VEVVdGTEdpYU5RazFzUmd3UXFhS0lqUnA5S0xZaERCS0tFcUxPOGNtTTBiTGhkMkYwdFVkcjd2ZkhQdjdOeTVjODgvWjA2Wm1WVWxyMEd5TkRPM2E2MnZmeGlvK0hIeGsxdEVtWWpLUHd4SUs4ajhnTDRHd3VzL2dNUlpkM09MV3pvd3F2OGdLUCtDN0NlZ1VkZ1BmWDE5VWxsWnFRdlhPaUExeDVVUzgrb0IwWUVzQkdnR3Z0L2MzTHh5ZS9UT0hGMDlQYzEvOSs1alZsMVZKWUh5ZjRIVVhHbkp3QWhlTVNqL2dReDFpTGVxcXFySzNQbnowbjgrRVNzNXNHKy9iV3BLaXBuM3pKbnB0RStSVUZjb1Q1dUR2c3ZVQVFvSGVsOHBNWW9EWWdUWkdxQXhlRy8vam4zSjl1am93clRVVklzRnZuNGtOemVYZ09RUUFLbHNzSk9UMnYyOCsycFFiUzVJelNvWm9DRFFrVUJtUUVsQXZVOStZVld0QkVZK1VNWkJ0aHFvamJxNk9sa1NISHhuMEpEQm5aY0dod2kvMzcrL1h0MXBYbDdrRXhlWGxLRWZmU1NDMjFJZ093RG5MZzhnOVlCbTBtd0FabzF5S21zYUVBdWdXTGlNUmxENmZ2QkI0ZFZyMSs1cmFXdUpCdzkwYWdBS3BzMlJrVVNvSmhTNURCdDJIMjYxZ2RieGdJSkEzK1lCQlZNUS9ONVJLVEg4Z0toU3hSNk16TlhSMFNGck4yeTRKUmFMN0FPK1hraE9uenJWNVBNOWUvVWkwVEc3QzNwMmY5KzRyQlNGaHJpQzFCd0NobHZBOVNhZ0lUSzZjQkNrWnJoU1l1cUQwaFd5UzNUcTBuYjU5Tk84MzVJU0MvUHUzYlVmNU9Ra0V4Uk1WNjljSVljUEhqSU9DMS81MzlxUkkxQmQ1N3pyMWdKcU5IQkJ5UUlhQnZRN1UrWUtJQTVUU2t3ZElCclVTVVJuVVdoa1pGUzFkY2YyZEUwdExiSGZmQitTZVBXcVF1MmhUM1BxN0pscVQvL2dnc0xlWDFhbzZocGFjcXBVVXgwVENOSlJCa0QwaHV2THpQZWdYcktIMzBwYXJNUUFLUDBnU3daYXFLS2lJblR6OE1nK254QmZFWGM2VHZ6eDRDRUtnNExwdzM3OVNQS0RpdlNLSWJOTWVFQzVqbjRPTUgwZWdvSUZrUDhHV1FSVEI2MjBKUzFTWWdBUVBjaENnYWJVM2x0WmxZT2ptUGVvcUtpekwwZ0ptTUlLdDJuU3ZqM3hYUmhRRksvYm95YjVRWGxienMrVlFOOEFoUUVRVlR4R0FmWW5CWnRocEFyTjU2UVdBd3lBOGlrZG9hYXFRaUh4OGZWTkd6TjJqSGw0MkVyMTZKMDdpVVFpVWF3VEtpcGt6Tml4a2g2anZkSzNwRHkxZlZwZHc2MXlEbWdTTURsTmhsK0Q0WjE5ck1vQzZnUFBTZDdxcVF3QU1RRTZBSmVIRUpUM3VuVXIvdTNxbFJ4YmthM05rRUdEMUhkczM2NHdLRmJXVmlSaTUrNzhoLzA5eXlKdVZYSkJlVUlsY29Bc1VPaVVoalk0RzJmckNlVDUxa29NZ0lIMUpnS0ZBeGxvYW1xU3BjdVgzK25uME04bWFNa1NWYkNpRkg0eFN0clVhZE9xakFhTnk5bVRXbVl0cVdsbzlnSk5CMmJmVjZSZGFsYWpCYWRKaS80Q0VpdmF6bXN2TVFCS1o4aE9BMjFGVUJ3SE9ENjhjaTBwWDFJakVROXljbTRXS04yNmR5ZVJlMy9JdVc3M2VmWHVsQWFnNUFPTlFGK2tPY3lFWjdJaFc4d1VZY1I2N1Zzak1UU0lPSWQrcEthQmdVSE4rbzBSZHpwWldOaDk3ZWRQenA4N3AvREx0TFMwaVBlYzJSV1ZQVndManFhWG1QTlVpUUx5QWVZK2ZwNlBBcWxSbzdHekxreXhDN1I3N0kwR0JrREJTTzBXb081NFAzTFVxSHRCSWNGYWUySmlETU5EdzBoWldabkNMK3J2NkVpK25QTjF4cVpzRFlzbmxkWGNkU0RVSDVPQmNXZGYxSWNCT0gwaHU4aDhZeTcxYlVyZk9HQUFFQzNJRmdITlJUWFEzdFQwMmRidDJ6SUZBb0VJVGVEcnlja0t2NkMxb1NHWjc3K2dPS1dqUTFuOHZUSVRIa2N4RE0xZ1lGakZpLzQ0QUdlVDFKeW5LUno5bnpjS0dBQmxJR1NiZ2F6UmZKM3E2Wms1WTZaM3U0ajE2N1UzUm13azFWVlZDamZ1T253NGNabzRPelV5dmNhMnZLcUJ0WllJNUFHTVNuNVpId2ZBR0VCMkI2Z2RNeEI2d0R1dnYvYkFBQ0N0cWJXRlZoZXhzYkVwM2JFcitrRmVYcDZWbjQ4UHljeklWTGpSRGgwNkVMOUYzeFNlVnVzaXVGbFlZY2o1dVJ3b0FFTXFyMkx0Qk1EQktIUU1VL1FyVU4vWDNiZEJZTkMwdEVQek5TQXdNTlYxeEhETDBHWEwxV0oyNzFiY3hCTUl5UGdKRXlUMnd5ZG5iRXVwdEtscWFBTmpGSE1LTUNYelZYNGtnSU5LZnloVE5BMzZzT2wxQjhZTlRXRTlQVDJTbUh5dDJHdWFwOTZKMkZpRkd4S0p4V1J1d0RkNSswck5ESEtlUE5YbS9QeUlXbmpSd0pBYW9reHlBWU42QnEwaEJ6ZDM5NXloTGk2ZFJycTZrcG9hK2ZqWHFsVXI0amw5K2xPdC9xUHpEcVNWV3ZJODloMlFOd0R5VU1sdUJaVS9icmlETEJtVWZxdnpDZkVabXpaRVdNczdsYTFjdmFybWlFYWZxdnNsejlRNFAySG9mU29BOHJPU3pjMzAvTFB1NXVKUzdRcVVFdmNKRTl2UDgvV3BhdHUyclZ3TmJJMktVbkd4MHNyaUZDZFJuMEVKeWdzSXlTeEZSeTgxSlVYcmw1K1Bad1lzWGlSWEE3ZHYzU1pGNXc1WWQ5QlZLMmVLY1NYVFhNbmVGK2RnT21PNENYZXpnQ0dRN3psMW1vazhvUmNNYW00L2VDeHI0UTFWZGxFTHZXNkhsNlhzcmN3NzRjanhJblZiYTlIMEhaR1ptM09HVThlRjFHM28wS2ZmaW4yWkFmVjJjK3JaUW5ZQ3lJQVdlVUdkR0NqSFZWRmNkT01hTTRWQTkwamRja1FVMUwzSDB6Lzhmb3d6YXRBaURKZDBnN29Gbkhwb0ZNMEMwbU9LZytzRk1XRktRM00ycHJLeWtrejM4bEpkRWhKTU5EUTBaREtwdkx5Y1JJYUdXSDVpclp2TEZIOEk1UDRTQjFVMmtCRmxPdnBpL1hqcW9KZmZpVEpjbithRGVlcE5wdld3RG9hTGZxTGxHSkl5cGVVc1dXT1VDU2dRSncxZ2JoY09zOFdRZlVBZFcra3o3YVVoTHFZZXZtczJCWjl0dnlOZmRCa1IvUE5zM0JtamdnY1A3bmpQbWlrWGw4N0V4WkZPZVFsdGRGc0pXQWtKQlIvQ3VCblNJQUtLQXNvR2VnWlVDWlFPdEFiSWtKRklOdlhrdFBFT1NpeFA4ejA0OVZEaXhyTnFFMGIxWXlqWHBOSW9UUnNwc0NKcWFVcVREZ1dXVFFNNURyVTB2Y3VwaDV0THBOdXQySTMwK2cyQUFhbEJVZk9wOWNJbVQ3R1o2TzVlYkNzU3ljWFFaVUZCMnJPNmFLU3dvVEtnVlFxQ2dsSjJFOE0xZEJRTEtZTndsT0lvMll2MWdIa1pwRzZKZ0pmaDJIM20rZ1J6TFlaMzZETDNuMUhKazRac3BCc0dEVGp0UFlaM1BnRktwZkU5Tm1rMEFjelpKb0NaUkhPTUU1NWsyMnRzUFFiWFhpNFdGUldwcmd3TmU3UjArYkxhNVY5WnFhQ2dnSnlLWGkvdTFrNnppQ2tlQzFMakxDY29nMm04RHNGQVM4OFJxQTAxVEtUSmthUEhwTWtVbm05SDI5SGhTRUVvMVM5U2c0ZWRVanlZNngrQjhkbU5BY05jOTJhdUpXeklCOTR0WVBxSURQK0ZEeGlvaHdIZFQrZ3RUcDJWck5ybUJRYWtCajhDbzdMUHRtM1pZbUZpMGo1ejlKZ3hjbzM0M2RHN2lJdEdya1FvcUFma0pnQkhRd1lvbW5SQVNQczBHcGgwRGdpakJuOHdWZTgxQWd6NzRWK1J1Z1V5VEtqMzRqaHQ5S0x2dElLTUhUVGh6RFVYbUpGUWZ3OVFFcDNXQ0czekMrd25wdzl0NkRWS1BodCtzb2ZuMVpnK1NqZk83K0VZR0hxTnJtQUNPQmhEQzBYZnhtM0NoSGJ6L1h6bDhtMncvdkxGZ1VidTcraXgyMlJ3R2xvbzQ5SFJ6SHliZzBvWVBzSU5DRGRYZk1zWi9ZMEJJNmI1VktZc0doaFhRNW5FMVVkdWpHVWFEL1YrYlFLWVhyU1BVbW5EL1FnN2dNNDNNWTBsQUdVdzkwSTZsYW93a3ZxSU1UWmtUbVYvbTIzWU1QZzIyckhIZjhsUXhMY3BQTGZmeWxTbm5tL2pBMUpqMzhSajdDNUwxQzN4VklKR1VTbkNJeHFqZ0htUlREMWNNbUFYdm16aG85RTZrMXBKQ01nV2VuMk5NM0xSSXByWWlMVHdBUk5LbFR5ZTdjbWoxcE0vME8vUWxuVWp3RndBU3FXbU1qdDQrbEpUR2xNTWZGTWxCVnFhdEpvRUJxU21RanI2RmdVRWlKeWNuUEw3T1RqSUJjN2FOV3VFMHl3cVdPV01JcndSd0dsTVdZazQ4emx1NHZzUktJaWFwaUw0Z0FQc0EzQ1B5dm9TVTRRbTZRVG0vaWpVeWFIWGlTeUFsSUdtOUI1QlA4enBUMnZPUGVvZjlGa1dVbGRBbXREcTlLTlRvNUN4QkhGUXhORSszbUFIQmZwY3pIMFVVMS8yVk1ieGJmWlEzMFlRQkw0Tk9xRHkrRGFidzBJc1A3YldaWTlST0hCR0tadWVNZGNwOEVGOWdOQnBEQVE2RDlUWStnazduYUh5ZDJYdTF6UFhpUndyaWwzWlhNUFRQbGRpL21TdWNaTUl1M0pvdzB5UlV0MldSUFdqVkxMWnVpUHA5UldvSXdXTlZmN3E4dTRyUTkvbU1mZzJ4bUI1M1o0eDAxdHUzOFl5TDhGUXA3NXZFMGJQdHpTWUFabnJQakQ2RmdDcE04WkJPNkJ4UUoyYkFLWVBNOUxSYkQvRlNGY21oN2t1ekJ5L2c2Yy92TUJRaXkrRVVkeVlwQ2V0blJzeDBaTTVVN1laUjFxNC9vNjJYTUNBMUR5QXpKZjZOcmJ1a3lZVjI5all5TzNiekt6djJ4anl6T2VFS25oV2F2RGppNEVSR1VEM3FjOFNUUTBKTmwybS9vZDB1cFNtRFZUcGswYWtSdW84Ym9KNnBYSUFrd2o5eUtWQXN2c0cwdWgweXpYbFR6VUNqTlNDS3VVNHFtelNWV1FuSnFLYjhMZHZzMks1WEEraGJ4TUh2czI3UmhxUG1PSnhJRFZPSEgyUlNPMzZUQTd6cktqdXdGVEVzWElJWmVwbHptdnhYVHQ1dWhQUDQ1dXNhNlRyWEdETUtLa3hFb2tPYjNmb3d4ODBndkFoTS9vVG1HZHZVSCtIVGZ2Z3ViK1llMWI1Q3hUYXUyeHBabzVoRGx5M0VWNjhsSkN4YnUxYTYrLzI3SlVkS1FYbmRNZSsvUVhMN2hvYk04dk5PTkxlNWU2T29hWmtWNm9rTmFsU2ZFejlrWnZ3TVU5NWZDQmtvZ1dyQTdqQlFrWTUyek8rVWg3VWU5aUlYOVdSR2QzY2xBL1A1Zk04MDVYRzJrcmg5elJ1bUluOGYzZG83WmlDT3NYTTcyMllLZTZad3B2S0FSejB3djF0UmFMU2ZkOGZVSGQySENBRUtaTDVuSjI5SFptd2FrOWExSTBuN0J3WUJNQUVLb1A4RFZOenpzZmdmSnFKdnMzSjJOaU1nRVh5K3phUHp1MjNCTitHbFJCZm1OTHNsRER3ekRMTmVRaWtCbU5hc2Jna2NEWDVXdjdVU1pOTkxsNjRJUE01WExmWjl1T3hySUNiOWRadDBITjJWRzdTZUg2SlFTc05UY0c5RlJVVlpPYjBHWUxncFNHSytUWld1dmZrOUcyVUV0TU1xVUZuRG5jNUdueC84T0R0eTVjUzdNQmFrK3ZaMWV2V2xlNlV2S2RWOGxTaXdsaFI0dWZaU1FOVFluOGFObW5ISFErb0U2SHRReTBDR0FvT2htczJ0bTNidHZyQ3BZU3lZUjhQMVUxTGszbStpQmdiRzVNVmU0K2xoQ1NWc1dHWVhjQzg4YzBBUkorSlkzSFRXVkszV1QzdFRaT1k1ejBjaTJzbmx3b0xDMVZYaDRjWEJpOWJLcmR2azN4c3I2aXJETjlHRGxBK28xNDNGeFQwQ1hBUmF1Q2JDTXB6QXdPNlJrSmpUbFZSa1pzdHpjek1Na2Q5OFhuVEx4UUl5RVEzTitJeHlhT2kvZDFMZVp5Zkk0RFo2bklBWWdMMEE2azdkV2JLRFRiU2FYSExtMnhRdktoei9oZ0c4QldKeFNWNzkrL1RjQjR3VVBpSXg3ZkJKZW9WWWFHa2Rldlc2VitORzk4eEp6dGJvNlBudWxzYWxsM1o1UUE4a3JHNEVVQ3d2MjQwcEtQUCtSbkRObmcwOEdDTHRjcDRFcDZwejBxNWMwZm4xTW1UNlFzREF1cjlpTnRvWjgrZFN3NGZPL3JYMGNOSGNnWTQ5TytNb0dCWTQ4OHpNZjVVK1V1VFB3QWc0Z0ZGZXVSd0N3OG9PS1hhdnkyZ3ZEQ0pvVkx6RVdUSHBiN05aSGNQazRUNCtOci9obGtXdW9LVWxaYW1lRXgwczM3NDhDR0dSVEJramxJV2dtcyt3UFRhamUwY3BZMzZvUVorcTNma2tQTmFYSVRDWStibmxlWnkwK0JndFBSekoyZm5nb0JGZ2NZSjhRbkVkY1R3UXArNTg1NGVQWEpFcWd0d0Fjd0RBTG5CbWFLUXVld0NGUG8yMTZtRWNQOGtEb0ZGMjN6Snl6aUo5allDWTBKOUczM1FOYW5sWmVYVjN0T24yNVdVMVA2bEMwYUI4ZjltMWdNbzFUeFRGZW9aREk5TG83ZTRISXVHQVBlOEp2NnBnanNBOHJ2U3dXeUdiOE1weGdNM1V3Q1FIQm5XVmpBRmp5OGhVS2k4dm4xYi9zWHZWUU9EQmdXdVJlQnFJcHBtc3dHUVhYTDZKV2dRNEc0VzdtSVlib2JEazJoWnlwRE04NEdEZTZ0dy9ka2ZRRkVvekVJM0I1NWtRalZ6QUpDZHlsalphNUFBbkJpcVcvQWtXZ0ZwZ2VsL0Fnd0FuYllxUThyZ3RNOEFBQUFBU1VWT1JLNUNZSUk9In0sInN0YXR1c1JlcG9ydHMiOlt7InN0YXR1cyI6IkZJRE9fQ0VSVElGSUVEX0wxIiwiZWZmZWN0aXZlRGF0ZSI6IjIwMjAtMTItMjEiLCJjZXJ0aWZpY2F0aW9uRGVzY3JpcHRvciI6IlRydXN0S2V5IFNvbHV0aW9ucyBUMzIwIFUyRiBBdXRoZW50aWNhdG9yIiwiY2VydGlmaWNhdGVOdW1iZXIiOiJVMkYxMTAwMjAyMDA4MTQwMDQiLCJjZXJ0aWZpY2F0aW9uUG9saWN5VmVyc2lvbiI6IjEuMy43IiwiY2VydGlmaWNhdGlvblJlcXVpcmVtZW50c1ZlcnNpb24iOiIxLjAuMCJ9LHsic3RhdHVzIjoiTk9UX0ZJRE9fQ0VSVElGSUVEIiwiZWZmZWN0aXZlRGF0ZSI6IjIwMjAtMDgtMTAifV0sInRpbWVPZkxhc3RTdGF0dXNDaGFuZ2UiOiIyMDIwLTEyLTIxIn0seyJhYWd1aWQiOiIwODk4NzA1OC1jYWRjLTRiODEtYjZlMS0zMGRlNTBkY2JlOTYiLCJtZXRhZGF0YVN0YXRlbWVudCI6eyJsZWdhbEhlYWRlciI6Imh0dHBzOi8vZmlkb2FsbGlhbmNlLm9yZy9tZXRhZGF0YS9tZXRhZGF0YS1zdGF0ZW1lbnQtbGVnYWwtaGVhZGVyLyIsImFhZ3VpZCI6IjA4OTg3MDU4LWNhZGMtNGI4MS1iNmUxLTMwZGU1MGRjYmU5NiIsImRlc2NyaXB0aW9uIjoiV2luZG93cyBIZWxsbyBIYXJkd2FyZSBBdXRoZW50aWNhdG9yIiwiYXV0aGVudGljYXRvclZlcnNpb24iOjEsInByb3RvY29sRmFtaWx5IjoiZmlkbzIiLCJzY2hlbWEiOjMsInVwdiI6W3sibWFqb3IiOjEsIm1pbm9yIjowfV0sImF1dGhlbnRpY2F0aW9uQWxnb3JpdGhtcyI6WyJyc2FfZW1zYV9wa2NzMV9zaGEyNTZfcmF3Il0sInB1YmxpY0tleUFsZ0FuZEVuY29kaW5ncyI6WyJjb3NlIl0sImF0dGVzdGF0aW9uVHlwZXMiOlsiYXR0Y2EiXSwidXNlclZlcmlmaWNhdGlvbkRldGFpbHMiOltbeyJ1c2VyVmVyaWZpY2F0aW9uTWV0aG9kIjoiZXllcHJpbnRfaW50ZXJuYWwifV0sW3sidXNlclZlcmlmaWNhdGlvbk1ldGhvZCI6InBhc3Njb2RlX2ludGVybmFsIn1dLFt7InVzZXJWZXJpZmljYXRpb25NZXRob2QiOiJmaW5nZXJwcmludF9pbnRlcm5hbCJ9XSxbeyJ1c2VyVmVyaWZpY2F0aW9uTWV0aG9kIjoiZmFjZXByaW50X2ludGVybmFsIn1dXSwia2V5UHJvdGVjdGlvbiI6WyJoYXJkd2FyZSJdLCJpc0tleVJlc3RyaWN0ZWQiOmZhbHNlLCJtYXRjaGVyUHJvdGVjdGlvbiI6WyJzb2Z0d2FyZSJdLCJhdHRhY2htZW50SGludCI6WyJpbnRlcm5hbCJdLCJ0Y0Rpc3BsYXkiOltdLCJhdHRlc3RhdGlvblJvb3RDZXJ0aWZpY2F0ZXMiOlsiTUlJRjlUQ0NBOTJnQXdJQkFnSVFYYll3VGd5L0o3OUp1TWhwVUI1ZHl6QU5CZ2txaGtpRzl3MEJBUXNGQURDQmpERUxNQWtHQTFVRUJoTUNWVk14RXpBUkJnTlZCQWdUQ2xkaGMyaHBibWQwYjI0eEVEQU9CZ05WQkFjVEIxSmxaRzF2Ym1ReEhqQWNCZ05WQkFvVEZVMXBZM0p2YzI5bWRDQkRiM0p3YjNKaGRHbHZiakUyTURRR0ExVUVBeE10VFdsamNtOXpiMlowSUZSUVRTQlNiMjkwSUVObGNuUnBabWxqWVhSbElFRjFkR2h2Y21sMGVTQXlNREUwTUI0WERURTBNVEl4TURJeE16RXhPVm9YRFRNNU1USXhNREl4TXpreU9Gb3dnWXd4Q3pBSkJnTlZCQVlUQWxWVE1STXdFUVlEVlFRSUV3cFhZWE5vYVc1bmRHOXVNUkF3RGdZRFZRUUhFd2RTWldSdGIyNWtNUjR3SEFZRFZRUUtFeFZOYVdOeWIzTnZablFnUTI5eWNHOXlZWFJwYjI0eE5qQTBCZ05WQkFNVExVMXBZM0p2YzI5bWRDQlVVRTBnVW05dmRDQkRaWEowYVdacFkyRjBaU0JCZFhSb2IzSnBkSGtnTWpBeE5EQ0NBaUl3RFFZSktvWklodmNOQVFFQkJRQURnZ0lQQURDQ0Fnb0NnZ0lCQUorbitibkt0L0pISVJDL29JL3hna2dzWWRQelAwZ3B2ZHVEQTJHYlJ0dGgrTDRXVXlvWktHQnc3dXo1YmpqUDhBcWw0WUV4eWpSM0VaUTRMcW5aQ2hNcG9Db2ZiZURSNE1qQ0UxVEd3V2doR3BTMG1NM0d0V0Q5WGlNRTRyRTJLMFZXM3BkTjBDTHprWWJ2WmJzMndRVEZmRTYyeU5RaURqeUhGV0FaNEJRSDRlV2E4d3JETVV4SUFuZVVDcFU2ekN3TStsNlFoNG9oWDA2M0JIelhsVFNUYzFmRHNpUGFLdU1NaldqSzl2cDVVSEZQYStkTUFXcjZPbGpRWlBGSWczYVo0Y1VmelM5eStuNzdIczFOWFBCbjZFNERiNjc5ejREVGhJWHlvS2VaVHYxYWFXT1dsL2V4c0RMR3QybVRNVHl5a1ZWOHVEMWVSallyaUZwbW9SRHdKS0FFTU9mYVVSYXJ6cDdoa2E5VE9FbEd5RDJnT1Y0RnNjcjJNeEFZQ3l3TG1PTHpBNFZEU1lMdUtBaFBTcDd5YXdFVDMwQXZZMUhSZk13QnhldFNxV1AyK3laUk5ZSmxIcG9yNVFUdVJEZ3pSK1plaithV3g2cldOWXg0M2tMdGhvemVWSjNRQ3NENWlFSS9PWmxtV241V1lmN084TEIvMUE3c2NyWXY0NEZEOGNrM1oraHhYcGtrbEFzakpNc0haYTltQnFoK1ZSMUFpY1g0dVpHOG0xNng2NVpVMnVVcEJhM3JuOENUTm13MTdaSE9pdVNXSnRTOStQclpWQThsamdmNFFnQTFnNk5QT0VpTEcyZm44R20rcjVBays5dHF2NzJLRGQyRlBCSjdYeDRzdFlqL1dqTlB0RVVoVzRyY0xLM2t0TGZjeTZlYTdSb2N3NXk1QWdNQkFBR2pVVEJQTUFzR0ExVWREd1FFQXdJQmhqQVBCZ05WSFJNQkFmOEVCVEFEQVFIL01CMEdBMVVkRGdRV0JCUjZqQXJPTDBoaUYrS1UwYTVWd1ZMc2NYU2tWakFRQmdrckJnRUVBWUkzRlFFRUF3SUJBREFOQmdrcWhraUc5dzBCQVFzRkFBT0NBZ0VBVzRpb28xK0o5VldDMFVudFNCWGNYUm0xZVBUVmFtdHN4VnkvR3BQNEVtSmQzVWI1M0p6TkJmWWRnZlVMNTFDcHBTM1pZNkJvYWdCK0Rxb0EyR2JTTCs3c0ZHSEJsNWthNkZOZWxyd3NINlZWdzR4Vi84a2xJam1xT3lmYXRQWXN6MHNVZFpldityZWVpR3BLVm9Ycks2QkRuVVUyNy9tZ1B0ZW01WUtXdkhCL3Nvb2ZVckxLelpWM1dmR2R4OXpCcjhWMHhXNnZPM0NLYXFrcVU5eTZFc1F3MzRuN2VKQ2JFVlZROFZkRmQ5aVYxcG1Yd2FCQWZCd2t2aVBUS0VQOUNtK3piRklPTHIzVjNDTDloSmorZ2tUVXVYV2xKSjZ3VlhFRzVpNHJJYkxBVjU5VXJXNExvblArc2VxdldNSllVRnh1L25pRjBSM2ZTR00rTlUxMUR0QlZraFJadDF1MGtGaFpxakR6MWRXeWZUL043SGtlM1dzRHFVRnNCaSs4U0V3OTByV3gyYVVrTHZLbzgzb1U0TXg0bmErMkkzbDlGMmEyVk5HazRLN2wzYTAwZzUxbWlQaXEwRGEwanF3MzBQYUxsdVRNVEdZNStSblpWaDUwSkQ2bmsrRWEzd1JrVThhaVlGbnBJeGZLQlo3MndobVlZYS9lZ2o5SUtlcXBSMHZ1TGViYlUwZkpCZjg4MEsxaldEM1o1U0Z5SlhvMDU3TXYwT1B3NW10dHl0RTU4NVpJeTVKc2FSWGxzT29XR1JYRTNrVVQvTUtSMVVvQWdSNTRjOEJzaCs5RHEyd3FJSzltUm4xNXp2QkRleUhHNitjenVyTG9wemlPVWVXb2t4Wk4xc3lyRWRLbGhGb1BZYXZtNnQrUHpJY3BkeFp3SEErVjNqTEpQZkk9Il0sImljb24iOiJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUVnQUFBQklDQVlBQUFCVjdiTkhBQUFDa1VsRVFWUjQydXlhaTNHRE1BeUdReWVnR3pBQ25hQ01rQkhvQmhraG5TQWowQTJTRGFBVDBFNlFiRUEzY09YVzZYRXBCdG5JbU12OXV0T2xseGpGL3FLSExUZFJTbTBnZG5rQUFnQUNJQUFDSUFBQ0lBQUNJQWdBQVJBQUFSQUFBUkFBQVJCRUFGQ1NKSU5La3BMdVNUdFNaYlF6NzZXMjV6aEtrcEZXUGJ0YXo2UTc1dlB1b2x1dVBtcXhsWksyeWk3NnM5UnpuamxwTjJLN0NyRldhVUFITlMwSFQwQXR3M1lwRFNqeGJkb1B1YXppRzN1azU3OWN2SWRlV3NiUUQ3TDdOQVlvV3BLbUx5OGNodWVPNXJlQjdLS0tyUW5RSmREWW45QUpaSGM1UUJUN2VuSU5ZMmhqeHJxSXRzdkpXU2R4RnhLdVlsT2xXSm1FNnpQUGNzSnVON1dGaUY3bWU1RE9Bd3M0T3laeUc2VE9zci9LUXppRGFKbS9tY3kyVjFWMCtUMEplWHhxcWxyV0M5bUdHeTNPNnd3RmFJMFNkUitFTWc5QUVBQUNJQUJ5cVZpWmIrL3ByZ0ZkTjZxYjMwNmozbFRXczBCSjc2UWp3MGt0TyszYWQ2MFBRaE1yZk05WXdxSzdsVVBlNGorL09SNDBjRGFxSmVKK3hvODBKc1dpaDFXVEJBY2I4eXNLcmIrVGZvd1FLeTN2NTV3YkJrazQ5RkpiUXVzcXI0c25hZEw5aEV0WEMzbk8xRzFIRzZVZnhJajVvRG5KbEhQT1ZWQWVyV0dtdllReHdjNzBoaVRoN0JpZHkzLzNaRkU2aXN4ZjhlcE5oVUNsNG41ZnRZcVdLek1QM0lJcXVhRm5xdVhPMHNaMXluL1JXcTY5U3VLNkdkUFhPUmZTejRIUG5rMWJOWE8wK1VaemU1SHFLSW9kTll3bkhWVmNPVWl2TmNTdHhqNENHRlloV0FXZ1hnbXVGNEp6ZE1objZ3RFVtMURwbUZ5Vlk3SXZRcWVUUmRvZDJ2MkY4bE5uL2djcFcrclVzT2k5bUFtRndsU28zUHc5SlEzcCs4YmhnbkFNa1BNNjEzQnhPQlFxYzJGRUI0U21QUVNBQUFpQUFBaUFBQWlBQUFpQUlBQUVRQUFFUUFBRVFQY28zd0lNQURPWGdGaE9UZ2h1QUFBQUFFbEZUa1N1UW1DQyIsImF1dGhlbnRpY2F0b3JHZXRJbmZvIjp7InZlcnNpb25zIjpbIkZJRE9fMl8wIl0sImFhZ3VpZCI6IjA4OTg3MDU4Y2FkYzRiODFiNmUxMzBkZTUwZGNiZTk2Iiwib3B0aW9ucyI6eyJwbGF0Ijp0cnVlLCJyayI6dHJ1ZSwidXAiOnRydWV9LCJtYXhDcmVkZW50aWFsQ291bnRJbkxpc3QiOjEwMCwibWF4Q3JlZGVudGlhbElkTGVuZ3RoIjozMiwidHJhbnNwb3J0cyI6WyJpbnRlcm5hbCJdLCJhbGdvcml0aG1zIjpbeyJ0eXBlIjoicHVibGljLWtleSIsImFsZyI6LTI1N31dLCJtaW5QSU5MZW5ndGgiOjQsImZpcm13YXJlVmVyc2lvbiI6MTkwNDJ9fSwic3RhdHVzUmVwb3J0cyI6W3sic3RhdHVzIjoiRklET19DRVJUSUZJRURfTDEiLCJlZmZlY3RpdmVEYXRlIjoiMjAyMC0wOC0wNSIsImNlcnRpZmljYXRpb25EZXNjcmlwdG9yIjoiV2luZG93cyBIZWxsbyBIYXJkd2FyZSBBdXRoZW50aWNhdG9yIiwiY2VydGlmaWNhdGVOdW1iZXIiOiJGSURPMjAwMjAxOTA0MTgwMDIiLCJjZXJ0aWZpY2F0aW9uUG9saWN5VmVyc2lvbiI6IjEuMy42IiwiY2VydGlmaWNhdGlvblJlcXVpcmVtZW50c1ZlcnNpb24iOiIxLjEuMCJ9XSwidGltZU9mTGFzdFN0YXR1c0NoYW5nZSI6IjIwMjAtMDgtMDUifSx7ImFhZ3VpZCI6ImVlMDQxYmNlLTI1ZTUtNGNkYi04Zjg2LTg5N2ZkNjQxODQ2NCIsIm1ldGFkYXRhU3RhdGVtZW50Ijp7ImxlZ2FsSGVhZGVyIjoiaHR0cHM6Ly9maWRvYWxsaWFuY2Uub3JnL21ldGFkYXRhL21ldGFkYXRhLXN0YXRlbWVudC1sZWdhbC1oZWFkZXIvIiwiYWFndWlkIjoiZWUwNDFiY2UtMjVlNS00Y2RiLThmODYtODk3ZmQ2NDE4NDY0IiwiZGVzY3JpcHRpb24iOiJGZWl0aWFuIGVQYXNzIEZJRE8yLU5GQyBBdXRoZW50aWNhdG9yIiwiYXV0aGVudGljYXRvclZlcnNpb24iOjEsInByb3RvY29sRmFtaWx5IjoiZmlkbzIiLCJzY2hlbWEiOjMsInVwdiI6W3sibWFqb3IiOjEsIm1pbm9yIjowfV0sImF1dGhlbnRpY2F0aW9uQWxnb3JpdGhtcyI6WyJzZWNwMjU2cjFfZWNkc2Ffc2hhMjU2X3JhdyJdLCJwdWJsaWNLZXlBbGdBbmRFbmNvZGluZ3MiOlsiY29zZSJdLCJhdHRlc3RhdGlvblR5cGVzIjpbImJhc2ljX2Z1bGwiXSwidXNlclZlcmlmaWNhdGlvbkRldGFpbHMiOltbeyJ1c2VyVmVyaWZpY2F0aW9uTWV0aG9kIjoicHJlc2VuY2VfaW50ZXJuYWwifV1dLCJrZXlQcm90ZWN0aW9uIjpbImhhcmR3YXJlIiwic2VjdXJlX2VsZW1lbnQiXSwibWF0Y2hlclByb3RlY3Rpb24iOlsib25fY2hpcCJdLCJjcnlwdG9TdHJlbmd0aCI6MTI4LCJhdHRhY2htZW50SGludCI6WyJleHRlcm5hbCJdLCJ0Y0Rpc3BsYXkiOltdLCJhdHRlc3RhdGlvblJvb3RDZXJ0aWZpY2F0ZXMiOlsiTUlJQmZqQ0NBU1dnQXdJQkFnSUJBVEFLQmdncWhrak9QUVFEQWpBWE1SVXdFd1lEVlFRRERBeEdWQ0JHU1VSUElEQXlNREF3SUJjTk1UWXdOVEF4TURBd01EQXdXaGdQTWpBMU1EQTFNREV3TURBd01EQmFNQmN4RlRBVEJnTlZCQU1NREVaVUlFWkpSRThnTURJd01EQlpNQk1HQnlxR1NNNDlBZ0VHQ0NxR1NNNDlBd0VIQTBJQUJOQm1yUnFWT3h6dFRKVk4xOXZ0ZHFjTDd0S1Flb2wybm5NMi95WWd2a3NabnI1MFNLYlZnSUVrekhRVk91ODBMVkVFM2xWaGVPMUhqZ2d4QWxUNm80V2pZREJlTUIwR0ExVWREZ1FXQkJSSkZXUXQxYnZHM2pNNlhnbVYvSWNqTnRPL0N6QWZCZ05WSFNNRUdEQVdnQlJKRldRdDFidkczak02WGdtVi9JY2pOdE8vQ3pBTUJnTlZIUk1FQlRBREFRSC9NQTRHQTFVZER3RUIvd1FFQXdJQkJqQUtCZ2dxaGtqT1BRUURBZ05IQURCRUFpQXdmUHFnSVdJVUIrUUJCYVZHc2RIeTBzNVJNeGxrenBTWC96U3lUWm1VcFFJZ0Iyd0o2blpSTThvWC9uQTQzUmg2U0pvdk0yWHdDQ0gvLytMaXJCQWJCME09IiwiTUlJQjJEQ0NBWDZnQXdJQkFnSVFGWjk3d3MySkdQRW9hNU5JK3A4ejFqQUtCZ2dxaGtqT1BRUURBakJMTVFzd0NRWURWUVFHRXdKRFRqRWRNQnNHQTFVRUNnd1VSbVZwZEdsaGJpQlVaV05vYm05c2IyZHBaWE14SFRBYkJnTlZCQU1NRkVabGFYUnBZVzRnUmtsRVR5QlNiMjkwSUVOQk1DQVhEVEU0TURRd01UQXdNREF3TUZvWUR6SXdORGd3TXpNeE1qTTFPVFU1V2pCTE1Rc3dDUVlEVlFRR0V3SkRUakVkTUJzR0ExVUVDZ3dVUm1WcGRHbGhiaUJVWldOb2JtOXNiMmRwWlhNeEhUQWJCZ05WQkFNTUZFWmxhWFJwWVc0Z1JrbEVUeUJTYjI5MElFTkJNRmt3RXdZSEtvWkl6ajBDQVFZSUtvWkl6ajBEQVFjRFFnQUVuZkFLYmp2TVgxRXkxYjZrK1dRUWROVk10OUpnR1d5SjNQdk00QlNLNVhxVGZvKyswb0FqLzR0bnd5SUwwSEZCUjlTdCtrdGpxU1hEZmppWEF1cnM4Nk5DTUVBd0hRWURWUjBPQkJZRUZOR2htRTJCZjhPNWEvWUhaNzFRRXY2UVJmRlVNQThHQTFVZEV3RUIvd1FGTUFNQkFmOHdEZ1lEVlIwUEFRSC9CQVFEQWdFR01Bb0dDQ3FHU000OUJBTUNBMGdBTUVVQ0lRQzNzVDFsQmpHZUYreEtUcHpWMUtZVTJja2FoVGQ0bUxKeXpZT2hhSHY0aWdJZ0QySllrZnlINVE0QnBvOHJyb08wSXQ3b1lqRjJrZ3kvZVNaM1U5R2xhcXc9IiwiTUlJQjJEQ0NBWDZnQXdJQkFnSVFHQlVyUWJkRHJtMjBGWm5Ec1gyQ0JUQUtCZ2dxaGtqT1BRUURBakJMTVFzd0NRWURWUVFHRXdKVlV6RWRNQnNHQTFVRUNnd1VSbVZwZEdsaGJpQlVaV05vYm05c2IyZHBaWE14SFRBYkJnTlZCQU1NRkVabGFYUnBZVzRnUmtsRVR5QlNiMjkwSUVOQk1DQVhEVEU0TURRd01UQXdNREF3TUZvWUR6SXdORGd3TXpNeE1qTTFPVFU1V2pCTE1Rc3dDUVlEVlFRR0V3SlZVekVkTUJzR0ExVUVDZ3dVUm1WcGRHbGhiaUJVWldOb2JtOXNiMmRwWlhNeEhUQWJCZ05WQkFNTUZFWmxhWFJwWVc0Z1JrbEVUeUJTYjI5MElFTkJNRmt3RXdZSEtvWkl6ajBDQVFZSUtvWkl6ajBEQVFjRFFnQUVzRllFRWhpSnVxcW5NZ1FqU2lpdkJqVjdER0NUZjRYQkJIL0I3dXZac0t4WFNoRjBMOHVESVNXVXZjRXhpeFJzNmdCM29sZFNyam94Nkw4VDk0Tk96cU5DTUVBd0hRWURWUjBPQkJZRUZFdTloeVlSclJ5Snp3Ull2bkRTQ0l4ckZpTzNNQThHQTFVZEV3RUIvd1FGTUFNQkFmOHdEZ1lEVlIwUEFRSC9CQVFEQWdFR01Bb0dDQ3FHU000OUJBTUNBMGdBTUVVQ0lESFNiMm1iTkRBVU5YdnBQVTBvV0tlTnllMGZRMmw5RDAxQVIyK3NMWmRoQWlFQW8zd3o2ODRJRk1Wc0NDUm11SnF4SDZGUVJFU05xZXp1bzFFK0trR3hXdU09Il0sImljb24iOiJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUZBQUFBQVVDQU1BQUFBdEJrcmxBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQkhacFZGaDBXRTFNT21OdmJTNWhaRzlpWlM1NGJYQUFBQUFBQUR3L2VIQmhZMnRsZENCaVpXZHBiajBpNzd1L0lpQnBaRDBpVnpWTk1FMXdRMlZvYVVoNmNtVlRlazVVWTNwcll6bGtJajgrSUR4NE9uaHRjRzFsZEdFZ2VHMXNibk02ZUQwaVlXUnZZbVU2Ym5NNmJXVjBZUzhpSUhnNmVHMXdkR3M5SWtGa2IySmxJRmhOVUNCRGIzSmxJRFV1Tmkxak1ERTBJRGM1TGpFMU5qYzVOeXdnTWpBeE5DOHdPQzh5TUMwd09UbzFNem93TWlBZ0lDQWdJQ0FnSWo0Z1BISmtaanBTUkVZZ2VHMXNibk02Y21SbVBTSm9kSFJ3T2k4dmQzZDNMbmN6TG05eVp5OHhPVGs1THpBeUx6SXlMWEprWmkxemVXNTBZWGd0Ym5NaklqNGdQSEprWmpwRVpYTmpjbWx3ZEdsdmJpQnlaR1k2WVdKdmRYUTlJaUlnZUcxc2JuTTZlRzF3UFNKb2RIUndPaTh2Ym5NdVlXUnZZbVV1WTI5dEwzaGhjQzh4TGpBdklpQjRiV3h1Y3pwa1l6MGlhSFIwY0RvdkwzQjFjbXd1YjNKbkwyUmpMMlZzWlcxbGJuUnpMekV1TVM4aUlIaHRiRzV6T25Cb2IzUnZjMmh2Y0QwaWFIUjBjRG92TDI1ekxtRmtiMkpsTG1OdmJTOXdhRzkwYjNOb2IzQXZNUzR3THlJZ2VHMXNibk02ZUcxd1RVMDlJbWgwZEhBNkx5OXVjeTVoWkc5aVpTNWpiMjB2ZUdGd0x6RXVNQzl0YlM4aUlIaHRiRzV6T25OMFVtVm1QU0pvZEhSd09pOHZibk11WVdSdlltVXVZMjl0TDNoaGNDOHhMakF2YzFSNWNHVXZVbVZ6YjNWeVkyVlNaV1lqSWlCNGJYQTZRM0psWVhSdmNsUnZiMnc5SWtGa2IySmxJRkJvYjNSdmMyaHZjQ0JEUXlBeU1ERTBJQ2hOWVdOcGJuUnZjMmdwSWlCNGJYQTZRM0psWVhSbFJHRjBaVDBpTWpBeE5pMHhNaTB6TUZReE5Eb3pNem93T0Nzd09Eb3dNQ0lnZUcxd09rMXZaR2xtZVVSaGRHVTlJakl3TVRZdE1USXRNekJVTURjNk16RTZOVGtyTURnNk1EQWlJSGh0Y0RwTlpYUmhaR0YwWVVSaGRHVTlJakl3TVRZdE1USXRNekJVTURjNk16RTZOVGtyTURnNk1EQWlJR1JqT21admNtMWhkRDBpYVcxaFoyVXZjRzVuSWlCd2FHOTBiM05vYjNBNlNHbHpkRzl5ZVQwaU1qQXhOaTB4TWkwek1GUXhOVG96TURveU55c3dPRG93TUNZamVEazc1cGFINUx1MklPYWNxdWFnaCttaW1DMHhJT1czc3VhSmsrVzhnQ1lqZUVFN0lpQjRiWEJOVFRwSmJuTjBZVzVqWlVsRVBTSjRiWEF1YVdsa09qSkZOekZDUmtaRFF6WTNSakV4UlRZNU56aEVRVGxEUWtJMk5EWXpSamt3SWlCNGJYQk5UVHBFYjJOMWJXVnVkRWxFUFNKNGJYQXVaR2xrT2pKRk56RkNSa1pFUXpZM1JqRXhSVFk1TnpoRVFUbERRa0kyTkRZelJqa3dJajRnUEhodGNFMU5Pa1JsY21sMlpXUkdjbTl0SUhOMFVtVm1PbWx1YzNSaGJtTmxTVVE5SW5odGNDNXBhV1E2TWtVM01VSkdSa0ZETmpkR01URkZOamszT0VSQk9VTkNRalkwTmpOR09UQWlJSE4wVW1WbU9tUnZZM1Z0Wlc1MFNVUTlJbmh0Y0M1a2FXUTZNa1UzTVVKR1JrSkROamRHTVRGRk5qazNPRVJCT1VOQ1FqWTBOak5HT1RBaUx6NGdQQzl5WkdZNlJHVnpZM0pwY0hScGIyNCtJRHd2Y21SbU9sSkVSajRnUEM5NE9uaHRjRzFsZEdFK0lEdy9lSEJoWTJ0bGRDQmxibVE5SW5JaVB6NDc3SlhGQUFBQVlGQk1WRVgvLy84RVZxSVhaYXZHMk9vcWNMRzJ6T09rd3QwQlNKdHFsY1hWNHUrYXV0bFdoYnprN1BVQU1ZOUhjcktqdE5icThmZUFsOGFCb3N6ejl2cGRqc0dHcXRGM244dVRzTlNacGM2SnNOVDUrdjB4WUtudThQZmY1L0w0OGZnL2ZyaWN6SmdZQUFBREFFbEVRVlI0MmtSVUNaYkRJQWpGWFpPWTFUYXROYzM5Ynprc1NZYzNyNE1FNGZNQkFhRDZ6bDh5LzlUT2dldDhkNWpmTjc4YndNL2REQ1JwUjUyMXpYZm9qSEowNUlJeWhCQVVTVkFPTmRHekJZdDJmN0tGcmZrSmFBa0hoOUZaaGNEWEhSa1RLbzlNTGloR2FhdkltblYzcXlFWDBFcHJnei80RHdVRDdrQ0hSbmQ4UUZONDNHbzRVVm1ERGd6YTR3MjdvaXpkQTIrY0srdXVVcGpqbzIreHdjLzQyVzUweDVMR1llREJzUjBIVkl4NXg4aUY2MENibGJURUVrRnIyN2JOREJVVlNxMU9LVlBiRTYyYjNFSDhGcUJnNU9PT0V1YzJ0OFpKaXFNT3VHcCtjS2pnN3dWR2Nlb3pxTjRweGdWUFFrakZZZ2JWSktEVWhEQ2pZcmF3UDVxNEVUZ0M5ZklNUkh0aXRwUWNDdkpPRUxjYk1zUWduY2lSa2xqcHlRanZHNDRqcUJVRVRGaUJpMVBFSXlla096c1crVHk1Y0xIb3M1UitkTVMxTHRTU3hmM2dRSGN6UjJDSTRnTU5wVzRJUkExUU1hNnRKNCtDNnVIdUdFOG1OREl5RnFnL09QL01NVXVlUzZJcThTOTBkQWVCSlNFeS9xS2tLK0JOd3o4Y1lZNGpiNUo2dTRpV0NJMkIxWjU2TFc1a0VjNGhrZE1wc3ZVQzU1ODVTWDBRdWJjZ05xeWZnREZFY1R0KzQwLzBTNU54MHdhQ3czT0trY09iQTVJbjBBWXAwMXBqancybjYyNlVEanRId2EyOGlIdVRLcXRydityZVc0MU5aNmlHbHI3dXVMSkNma0Z0Y3RjRzA0c2dtMWVOUytaYURucGFURXJHb3lYNUpLMmlNejh4czBuT3dXR2NQRE40OXFhQ2Q0YnpKb3pEWm0vYUJLK0Vvekx3K1hoTkJpWXdIZjBzaU91MVhQa0cvekt3dnFZS2NmU3dERWNIL29VZTA3ZXMvV1E4ckl5ZzJET1hqOHRqa1pkdURCL2I4aHpEbGxNTU9DUzVCRW5kNTM0Zjh0aTNVWmM0a01zM3hMeWFmTVNzSmhkRzhYUHFqTms1dEFnTzI1ZmVLQ2huVmREai9KMEZNa09zVS94TUJ2MHdGaFllRUdmVkgxM2Z1RFUweURGTGE0ZmM3Um5XSEJmdVRGVjJ0RW1Od2FkYzdhYzNVWTJqZkJsN0hUMzZmZTM0aVFPNW1OQ0ZGQlcwN0tqUGdxaE9MVTAxdlo4UHVlWjJKQ2xGWk44amtVczY5dWthOWVQcDYrRWZMNEFGNStOeXdTYmlySHRjQjhNbC9na3dBRWprSzY0S2pIUGVBQUFBQUVsRlRrU3VRbUNDIiwiYXV0aGVudGljYXRvckdldEluZm8iOnsidmVyc2lvbnMiOlsiVTJGX1YyIiwiRklET18yXzAiLCJGSURPXzJfMV9QUkUiXSwiZXh0ZW5zaW9ucyI6WyJjcmVkUHJvdGVjdCIsImhtYWMtc2VjcmV0Il0sImFhZ3VpZCI6ImVlMDQxYmNlMjVlNTRjZGI4Zjg2ODk3ZmQ2NDE4NDY0Iiwib3B0aW9ucyI6eyJwbGF0IjpmYWxzZSwicmsiOnRydWUsImNsaWVudFBpbiI6ZmFsc2UsInVwIjp0cnVlLCJjcmVkZW50aWFsTWdtdFByZXZpZXciOnRydWV9LCJtYXhNc2dTaXplIjoxMDI0LCJwaW5VdkF1dGhQcm90b2NvbHMiOlsxXSwibWF4Q3JlZGVudGlhbENvdW50SW5MaXN0Ijo2LCJtYXhDcmVkZW50aWFsSWRMZW5ndGgiOjk2LCJ0cmFuc3BvcnRzIjpbIm5mYyIsInVzYiJdLCJhbGdvcml0aG1zIjpbeyJ0eXBlIjoicHVibGljLWtleSIsImFsZyI6LTd9XX19LCJzdGF0dXNSZXBvcnRzIjpbeyJzdGF0dXMiOiJGSURPX0NFUlRJRklFRF9MMSIsImVmZmVjdGl2ZURhdGUiOiIyMDE4LTEwLTI2IiwiY2VydGlmaWNhdGlvbkRlc2NyaXB0b3IiOiJGZWl0aWFuIGVQYXNzIEZJRE8yLU5GQyBBdXRoZW50aWNhdG9yIiwiY2VydGlmaWNhdGVOdW1iZXIiOiJGSURPMjAwMjAxODA5MjkwMDIiLCJjZXJ0aWZpY2F0aW9uUG9saWN5VmVyc2lvbiI6IjEuMy40IiwiY2VydGlmaWNhdGlvblJlcXVpcmVtZW50c1ZlcnNpb24iOiIxLjEuMCJ9XSwidGltZU9mTGFzdFN0YXR1c0NoYW5nZSI6IjIwMTgtMTAtMjYifSx7ImFhaWQiOiIwMDY2IzAwMDIiLCJtZXRhZGF0YVN0YXRlbWVudCI6eyJsZWdhbEhlYWRlciI6Imh0dHBzOi8vZmlkb2FsbGlhbmNlLm9yZy9tZXRhZGF0YS9tZXRhZGF0YS1zdGF0ZW1lbnQtbGVnYWwtaGVhZGVyLyIsImFhaWQiOiIwMDY2IzAwMDIiLCJkZXNjcmlwdGlvbiI6IkNBUFkgVUFGIiwiYXV0aGVudGljYXRvclZlcnNpb24iOjEsInByb3RvY29sRmFtaWx5IjoidWFmIiwic2NoZW1hIjozLCJ1cHYiOlt7Im1ham9yIjoxLCJtaW5vciI6MX1dLCJhdXRoZW50aWNhdGlvbkFsZ29yaXRobXMiOlsic2VjcDI1NnIxX2VjZHNhX3NoYTI1Nl9kZXIiXSwicHVibGljS2V5QWxnQW5kRW5jb2RpbmdzIjpbImVjY194OTYyX3JhdyJdLCJhdHRlc3RhdGlvblR5cGVzIjpbImJhc2ljX3N1cnJvZ2F0ZSJdLCJ1c2VyVmVyaWZpY2F0aW9uRGV0YWlscyI6W1t7InVzZXJWZXJpZmljYXRpb25NZXRob2QiOiJmaW5nZXJwcmludF9pbnRlcm5hbCJ9XV0sImtleVByb3RlY3Rpb24iOlsiaGFyZHdhcmUiLCJ0ZWUiXSwibWF0Y2hlclByb3RlY3Rpb24iOlsidGVlIl0sImF0dGFjaG1lbnRIaW50IjpbImludGVybmFsIl0sInRjRGlzcGxheSI6WyJhbnkiXSwidGNEaXNwbGF5Q29udGVudFR5cGUiOiJ0ZXh0L3BsYWluIiwidGNEaXNwbGF5UE5HQ2hhcmFjdGVyaXN0aWNzIjpbeyJ3aWR0aCI6MzIsImhlaWdodCI6MzIsImJpdERlcHRoIjoxLCJjb2xvclR5cGUiOjMsImNvbXByZXNzaW9uIjowLCJmaWx0ZXIiOjAsImludGVybGFjZSI6MCwicGx0ZSI6W3siciI6MjU1LCJnIjoyNTUsImIiOjI1NX1dfV0sImF0dGVzdGF0aW9uUm9vdENlcnRpZmljYXRlcyI6W10sImljb24iOiJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNBQUFBQWdDQUlBQUFEOEdPMmpBQUFLbjJsRFExQnBZMk1BQUVqSGxaWUhVSlBaRnNmdjk2VTNXa0xvRUhvVHBCTkFlZzFkT3RnSVNZQlFRa2dJS2paVUZsZGdMYWlJZ0xLZ2l4UUYxd0xJV2hBTHRrWEFBdFlOc2lpbzYyTEJoc3Ard0NQdXZwazNiL1prem5kL2MrYmNjOCs5dVhmbUR3QjVrQzBVWnNBS0FHUUtja1FSL2w2TXVQZ0VCdTR4Z0FBQitSa0FGVFpITFBRTUR3OEdpTTJOLzdSM2Q1QnN4RzVhVE5jQy84NFV1VHd4QndBb0hPRWtycGlUaWZCeHhEczVRbEVPQUNqRWdmN3lIT0UwbHlOTUV5RU5JbnhvbWxObXVYT2FrMmI1MWt4T1ZJUTN3cU1BNE1sc3RpZ0ZBTkpiSk03STVhUWdkY2cwaEswRVhMNEFZUitFM1RpcGJDN0NCUWpQeTh6TW11WWpDSnNrL2ExT3lqOXFKc2xxc3RrcE1wN2R5NHpoZmZoaVlRWjc1Yjg4anY5dm1SbVN1VFgwRVNlbmlnSWlwc2ZwYzB2UENwS3hJQ2swYkk3NTNKbjhHVTZWQkVUUE1VZnNuVERIWExaUGtHeHVSbWp3SENmei9WaXlPam1zcURrV1pVWEk2dlBFdnBGenpCWjlXMHVTSHUwcFc1ZkhrdFhNUzQyS25lTmNma3pvSEl2VEk0Tys1WGpMNGlKSmhLem5aSkdmYkkrWjRyL3RpOCtTNWVla1JnWEk5c2orMWh0UEhDZnJnY3Z6OFpYRkJkR3lIR0dPbDZ5K01DTmNscy9MOEpmRnhibVJzcms1eUdYN05qZGNkajVwN01Ed09RYVJ3QWJZQVd0Z0JXSnplQ3VtN3pUd3poS3VGUEZUVW5NWW5zaXI0VEZZQW83bFBJYU5sVFVUZ09rM09Qc1h2eG1jZVZzUUhmOHRsbzJzN2ZRYmNoY1BmNHNsQ2dGbzNRVUF2ZnBiekZBWEFQa1NBTnFsSElrb2R6YUdudjVnQUJISUF4cFFBOXJJSFRJQkZraDNEc0FGZUFCZkVBakNRQlNJQjBzQkI2U0NUQ0FDeThGcXNCNFVnbUt3RGV3Q0ZhQWE3QWYxNERBNEN0ckFLWEFPWEFMWFFDKzREZTRES1JnQno4RTRlQWNtSVFqQ1FSU0lDcWxCT3BBaFpBN1pRRXpJRGZLRmdxRUlLQjVLaEZJZ0FTU0JWa01ib1dLb0ZLcUFhcUFHNkdmb0pIUU91Z0wxUVhlaElXZ01lZzE5Z2xFd0dhYkJXckFSUEI5bXdwNXdFQndGTDRGVDRHdzREeTZBdDhEbGNDMThDRzZGejhIWDROdXdGSDRPVDZBQWlvU2lvM1JSRmlnbXloc1Zoa3BBSmFORXFMV29JbFFacWhiVmpPcEFkYU51b3FTb0Y2aVBhQ3lhaW1hZ0xkQXU2QUIwTkpxRHprYXZSWmVnSzlEMTZGYjBCZlJOOUJCNkhQMFZROEZvWXN3eHpoZ1dKZzZUZ2xtT0tjU1VZZW93SnpBWE1iY3hJNWgzV0N5V2pqWEdPbUlEc1BIWU5Pd3FiQWwyTDdZRjI0bnR3dzVqSjNBNG5Cck9IT2VLQzhPeGNUbTRRdHdlM0NIY1dWdy9iZ1QzQVUvQzYrQnQ4SDc0Qkx3QXZ3RmZobS9FbjhIMzQ1L2lKd2tLQkVPQ015R013Q1dzSkd3bEhDQjBFRzRRUmdpVFJFV2lNZEdWR0VWTUk2NG5saE9iaVJlSkQ0aHZTQ1NTSHNtSnRKREVKK1dUeWtsSFNKZEpRNlNQWkNXeUdkbWJ2SmdzSVc4aEh5UjNrdStTMzFBb0ZDT0tCeVdCa2tQWlFtbWduS2M4b255UW84cFp5ckhrdUhMcjVDcmxXdVg2NVY3S0UrUU41VDNsbDhybnlaZkpINU8vSWY5Q2dhQmdwT0N0d0ZaWXExQ3BjRkpoUUdGQ2thcG9yUmltbUtsWW90aW9lRVZ4VkFtblpLVGtxOFJWS2xEYXIzUmVhWmlLb3VwVHZha2M2a2JxQWVwRjZnZ05Tek9tc1docHRHTGFZVm9QYlZ4WlNkbE9PVVo1aFhLbDhtbGxLUjFGTjZLejZCbjByZlNqOUR2MFR5cGFLcDRxUEpYTktzMHEvU3J2VlRWVVBWUjVxa1dxTGFxM1ZUK3BNZFI4MWRMVnRxdTFxVDFVUjZ1YnFTOVVYNjYrVC8yaStnc05tb2FMQmtlalNPT294ajFOV05OTU0wSnpsZVoremV1YUUxcmFXdjVhUXEwOVd1ZTFYbWpUdFQyMDA3UjNhcC9SSHRPaDZyanA4SFYyNnB6VmVjWlFabmd5TWhqbGpBdU1jVjFOM1FCZGlXNk5iby91cEo2eFhyVGVCcjBXdllmNlJIMm1mckwrVHYwdS9YRURIWU1RZzlVR1RRYjNEQW1HVE1OVXc5MkczWWJ2all5TllvMDJHYlVaalJxckdyT004NHliakIrWVVFemNUYkpOYWsxdW1XSk5tYWJwcG50TmU4MWdNM3V6VkxOS3N4dm1zTG1ET2Q5OHIzbmZQTXc4cDNtQ2ViWHpCaXpJRnA0V3VSWk5Ga09XZE10Z3l3MldiWll2NXh2TVQ1aS9mWDczL0s5VzlsWVpWZ2VzN2xzcldRZGFiN0R1c0g1dFkyYkRzYW0wdVdWTHNmV3pYV2ZiYnZ2S3p0eU9aN2ZQYnRDZWFoOWl2OG0reS82TGc2T0R5S0haWWN6UndESFJzY3B4Z0VsamhqTkxtSmVkTUU1ZVR1dWNUamw5ZEhad3puRSs2dnluaTRWTHVrdWp5K2dDNHdXOEJRY1dETHZxdWJKZGExeWxiZ3kzUkxjZjNhVHV1dTVzOTFyM3h4NzZIbHlQT28rbm5xYWVhWjZIUEY5NldYbUp2RTU0dmZkMjlsN2ozZW1EOHZIM0tmTHA4Vlh5amZhdDhIM2twK2VYNHRma04rNXY3Ny9LdnpNQUV4QVVzRDFnZ0tYRjRyQWFXT09Cam9GckFpOEVrWU1pZ3lxQ0hnZWJCWXVDTzBMZ2tNQ1FIU0VQUWcxREJhRnRZU0NNRmJZajdHRzRjWGgyK0M4THNRdkRGMVl1ZkJKaEhiRTZvanVTR3Jrc3NqSHlYWlJYMU5hbys5RW0wWkxvcmhqNW1NVXhEVEh2WTMxaVMyT2xjZlBqMXNSZGkxZVA1OGUzSitBU1loTHFFaVlXK1M3YXRXaGtzZjNpd3NWM2xoZ3ZXYkhreWxMMXBSbExUeStUWDhaZWRpd1JreGliMkpqNG1SM0dybVZQSkxHU3FwTEdPZDZjM1p6blhBL3VUdTRZejVWWHludWE3SnBjbWp5YTRwcXlJMlVzMVQyMUxQVUYzNXRmd1grVkZwQlduZlkrUFN6OVlQcFVSbXhHU3lZK016SHpwRUJKa0M2NGtLV2R0U0tyVDJndUxCUktzNTJ6ZDJXUGk0SkVkV0pJdkVUY25rTkR4TTUxaVlua084bFFybHR1WmU2SDVUSExqNjFRWENGWWNYMmwyY3JOSzUvbStlWDl0QXE5aXJPcWE3WHU2dldyaDlaNHJxbFpDNjFOV3R1MVRuOWR3YnFSZlAvOCt2WEU5ZW5yZjkxZ3RhRjB3OXVOc1JzN0NyUUs4Z3VHdi9QL3JxbFFybEJVT0xESlpWUDE5K2p2K2QvM2JMYmR2R2Z6MXlKdTBkVmlxK0t5NHM4bG5KS3JQMWovVVA3RDFKYmtMVDFiSGJidTI0YmRKdGgyWjd2Nzl2cFN4ZEs4MHVFZElUdGFkekoyRnUxOHUydlpyaXRsZG1YVnU0bTdKYnVsNWNIbDdYc005bXpiODdraXRlSjJwVmRsUzVWbTFlYXE5M3U1ZS92M2VleHJydGFxTHE3KzlDUC94OEVhLzVyV1dxUGFzdjNZL2JuN254eUlPZEQ5RS9PbmhqcjF1dUs2THdjRkI2WDFFZlVYR2h3YkdobzFHN2Myd1UyU3ByRkRpdy8xSHZZNTNONXMwVnpUUW04cFBnS09TSTQ4K3pueDV6dEhnNDUySFdNZWF6NXVlTHpxQlBWRVVTdlV1ckoxdkMyMVRkb2UzOTUzTXZCa1Y0ZEx4NGxmTEg4NWVFcjNWT1ZwNWROYnp4RFBGSnlaT3B0M2RxSlQyUG5pWE1xNTRhNWxYZmZQeDUyL2RXSGhoWjZMUVJjdlgvSzdkTDdicy92c1pkZkxwNjQ0WHpsNWxYbTE3WnJEdGRicjl0ZFAvR3IvNjRrZWg1N1dHNDQzMm51ZGVqdjZGdlNkNlhmdlAzZlQ1K2FsVzZ4YjEyNkgzdTY3RTMxbmNHRHhnSFNRT3poNk4rUHVxM3U1OXlidjV6L0FQQ2g2cVBDdzdKSG1vOXJmVEg5cmtUcElUdy81REYxL0hQbjQvakJuK1BudjR0OC9qeFE4b1R3cGU2cnp0R0hVWnZUVW1OOVk3N05GejBhZUM1OVB2aWo4US9HUHFwY21MNC8vNmZIbjlmRzQ4WkZYb2xkVHIwdmVxTDA1K05idWJkZEUrTVNqZDVudkp0OFhmVkQ3VVArUitiSDdVK3lucDVQTFArTStsMzh4L2RMeE5lanJnNm5NcVNraFc4U2VrUUlveE9Ia1pBQmVId1NBRWc4QXRSY0E0cUpaalR4ajBLeXVueUh3djNoV1I4K1lBd0Q3RVMwZWxROUFNREpXSW02RXNMd0hBT0dJUjNrQTJOWlc1djh4Y2JLdHpXd3RVaHNpVGNxbXB0NGcyaEJuQ3NDWGdhbXB5YmFwcVM5MVNMUDNBT2g4TjZ2TnAwMzVQQUNxTTEyY1BhQ1IvOThhK1MrWXp3ZDFqR2lEZFFBQUFDQmpTRkpOQUFCNkpnQUFnSVFBQVBvQUFBQ0E2QUFBZFRBQUFPcGdBQUE2bUFBQUYzQ2N1bEU4QUFBQUJtSkxSMFFBL3dEL0FQK2d2YWVUQUFBQUNYQklXWE1BQUFzU0FBQUxFZ0hTM1g3OEFBQUFCM1JKVFVVSDRnY05CQzBNK1llcS9BQUFBSGQwUlZoMFVtRjNJSEJ5YjJacGJHVWdkSGx3WlNBNFltbHRBQW80WW1sdENpQWdJQ0FnSURRd0NqTTROREkwT1RSa01EUXdOREF3TURBd01EQXdNREF3TURNNE5ESTBPVFJrTURReU5UQXdNREF3TURBd01EQXhNR1EwTVdRNFkyUTVPR1l3TUdJeU1EUmxPVGd3TURrNU9BcGxZMlk0TkRJM1pRcW1VOE9PQUFBTVJucFVXSFJTWVhjZ2NISnZabWxzWlNCMGVYQmxJR2xqWXdBQVdNT3RtV3VXNUtnUmhmOXJGVjRDQkJBUXkrRVY1M2ovRy9DSGxOVlYzWmxqZTN5c0dsb3BDVUVRajNzdm11dWZjMTcvNEVqUzJoWE9NVmZUV0VNTk9vUEUrNVl1M1RWWEtaSnJGZ21sRlN0ZFFxaWJmOExwWkUrVHpHVzlOR3FxcVlZY1N5Z2h6L0E2L3J6K2Q0Y3o2L1VhL1Q1V2t2WExzcjk1WEgrdmU0eWF0ZFNrNmJrc3Ivc3FsK1p6VzlmellPVG5QQU1MRGxYcWM1MWU1eUNwVmp3WHZ1NWJlMDJRTDl4NXUvRjUwT2ZYQTYwLzczK3RsUHUvOVYvNTUwQ1p5RHltcHYzTTBNSWtDTEdLMXZ0NitKZEZvU3IyMTVkRk03N3VwM0RwWnRXbSszbVF2eDVzdXBNUytucWhmUTAwQ2RCUy83by9YcFpLdS9TdkxLcC9iYWwrc1BTNkg5VDNCNzlGNS90b0dmdFAzaWxEVnZ1ZncvOS95NlAvWWlCY09HdjVjeW55ZFQyMVZjbXR5TmYxL1M5NXAwTTlqeUxYMjRPdGtuZjJ0L3YyaXRTZjl4dFJhYVc4RDBRSjUvUkt1Si8zczhhYzgvZ3c4V1RpK1Q2UXF2R1d2VnRVYzdhUy83eFAwanBwNHU4REVmUmNTbnE3VDU1L1docCtIYVhrK0Q1UTA1THRGdzU5djlDMWthTDE3VDRyS0pyMzIwQWs0U2pwM1Jkbm9KenlmbDlhTFVVK09Wc0pzMzRJODZvL1UrUG5Db3dWZkxBb255WGs5aDVOb3ZiSmQvaTB0RTlSNHhGaEx1OHY2QzRmQmpvZ2wrVkRRcDV5L0FINlB3ZWFoT2h0eVJTdzR0UHlZV2tQMUgyYUdWNTV5eVB0TExtWDhEWlFDTWY4eEVDSjN5a2U5T01lbUlnM1d2MVZKam1wTTdpUmtBWU10UXYyZzhNZUNqckJ5cUNsSnRreWhlRVNRNlhiOGI4SThzZmhhWjFuTjUzZHZCWTF0RThkYTN5Y25tdzlSWno2K3RSUE1lTmUyaUE1NzVXcCthZU9CT1VoVVcrM0MwYmJoNjRLeWFoZmZSNGZmUVBFR2ZCVXZoK0tvVkc4Y1QrNEpDeEQxc3QvREpERzgrS3hPbmNHT3Roem9sRjRxZkRTQVRkdEIrcFkzRkVOMUZmRmtvWlZqUUhhZU9rSEJqQW1OZDd2aVlFNkwzVmVHcncwZUduTVExZ0hGQisrT1NTOGVHbngrNVRhNXZjZXQ5SElCOXJBM1ZSL3hGT1IzakVtbXRFOFJDazBPckNNRTdXWWRqaU9qeVJxSkxRUjY0a1FqWGZoeEZoSnlJalpzVEVJSmtlakUrYkd6aHlkem9QejRJeUZjWEplbkJmbnpYbHpkdnA3aDcxWW1vUWpyakp0QlJHbE9iNXQ2S2RJRzRTTVo0Vm56QzZWZTVVWFlWNGhkSUtJRUVJc25hS1Z3Y3ZNS1BoRDhJV2NJT0VEOFhJbmRRcURyRlNDRldrckpDWUIxV2tlRHJZbjVWbWxhRlBkSVRWdUdEY1lQWFd1Qjllem9qWjRZUi9LbmlHNUVXMmxERktnR21pTE9obmhRRTQrd0FiU2hJekptUUV6Q1pmeFVTYVNHVXZ6ekNFeldNWW5KMHV5YnpKdGhZS0FLZ1NqcEU3bVdDZ0ZNVnBZT3pWSk1TbXBST3UwUWFHREpvV2xGc0pkQ1BQOXh4SlY2cTNDRkV1VTZLbjJvSFZjNUI3eXpGYlE3cmQwVkNLak93VllKcHhhcnFSRVpmYWFGa2ppQ0NRU0JoU29URnlOWjRpek9xQ2p1bEJQekZxOUlWc0dDZXloa1Q4dG4xTHVKUE1PclhHTnRhMXpQYmptbmJacmFDU2prYnNtK01oWXB6SFRvV1JEcUZqamQrYzNEcmZKYnlZeFh1Z3hoczZ5T3BaMVVxS3pwRTdaZEZLZ2Q4Qy80NHUrWnVoK0FzMGY2bndrQzZQRUF3dVVPbFZENXpGTzlYREc4WU1JemtnR1NrZmxwVEFMZVlRR1FkcnRNSHNOODVRWm1Uc1pkSjAvRXZUb3pjVVNGMzVaOUZ0ay9KbzhYL3pHSFp0MDJJSkZtL0NoSThPdUhyWU42bEhEeGdkN2IrclNnbE4zVHBZN3lPQmt0ZU1ySHlrNHkvWjlxaHN2aVY0a0NNQ3NPS0JpczFGY2d3ZXJuamNqaFh6L0Y3TURveXZHTm1Qc2VHdGFqTHV4dUJvcHF5aXdTQlROa2RxSjBsT1VTZHZBOUlGcW9URUpPaElBb0hWeWVoYUFvRkNaVUFlRmh6NUJlZmVZMjdqZ2tnVTZiQ1lGSGFKRVNDcVdvaEhPQUMxR0xHTkZWbldxN2NoWkZMTkYxUm0xZWRRaEdNbzk3MWVzWUVQTk1jSnpzVGFMdGU5SWJzWHFOVFp3aEVLUEtKVFlXbyt0ZTJ5TDM5NGZ4TWtsbW81b0ZxOW9nOXhkSzFKaHNVdVBIZGYwV29HakhVbU4ySEhvaURtT05PSmdtWU1CQjVhTTFlTUJJRklnVGlnN3pqcml4RDl6empoeDhBSzFGbFc4NnNFd2k0UTZMZ2JiQ1BLTmRSdWZiTXR4azFCN1czU2k0V2xmMFpVTEh2anc2THZMamFYNG5zSVQwcHlzQXpUQU9rSUYvalhXRERsMW5EbTM4SktJVkRuNlNLVHh1N3ZJV3BCT0Y0QkxBQ3RKbGlWTmtlUUhMRjF5WHV4S3ArUStKSzlPZGxGaDlDMUtzM3BKbWFnR2g4SVpHWHFYSTZoMTBIWWp3TFJzVWl0VnhnQjFUZGh0U1VzdWpSUnFIVHRXRnNEa0VtTlVQQzltUzBBVHFnY0RVeEdrbm5RYndMRURJaUlqS2Foc011aEhSc2lCdHBtTS9SSTZvY3NsYzFWQWM4ckNMNnVxTEdaZW03d2thOURQZ21GQWVCVktSbGdnVU43RkxZcXpFbmVBS3lGZmRGNjRoZkpkZzBJZ2xUUGh3MFZ4Y0haSnh6YlJsTVFHdUo4VEhWTUNtMVAxbEVaTGlaQmxiRVh5WENuYlRubTFSUEtuQWtDWGhpaWNrb3F2ZExZQmlOT2tmU2ZkQmxsa0JCcDhZVE5WMUdtTE9UWElwalVzYXJPQlB1VU9rakdURFZidXdCM0Q5Sm9USzRWWVBMSGdOSlMwN0QyTjNRaG9UU2lxTkZuUjNPbEtpd2hUTG9sRVRVQk0ybkkyb2pRWUNTUWhQakU1ejUzTThDMHdJMUpPODRISWd6MTRsaVRVZmxFWGt6VGQyQU5WWWJ1TWdrY3hoWExIZnFhRHVxRERqTHpNcldjS25Bb0RPTmc0RkRDNXJNM1dXNjZqMEVFQ1ZLVkRiWGlwVnBRbkx6Y1lxK1dScWVQY2dFZUtCVm1JU3pzQ25iNDkxZHlaQ0RzZzlubmxlOFBBeUFPektjQk1WUE1jUFpOU21XNTVHYkZZYktVUUFWdDNKaFVlcmtUdjQ4cnM2L0I4dmVDaFdFQjJvQjZzZ0F1QmcwSmxGcEtnU0tXdUFYVmdyUkJHaUxVWEhGYU9STS9OQ1RJN0kySGJoNndwaExxQXdrV2hWdTNzZEJ4eGlQU3ZsQklzWGhvcDJDb2lkSTVpZ0l3aE9HMGN4cXVsODFidk5HZWdnZHVHMGRnaHpFUUR4ZWJTc3RqMnJOckttbFpBcHNKT3NleXhDcEFQZzhjQ0FTQzFzS0dRV2IxZkdNTU9Qdk9vZzZNWUpyaFViQ295Q2RlU1RGWTFRUzM1QlAxc0xyZVJQY3hrMVBnK1h6Z1dXemE1bENwWGVGMnJrY1Iwb3JJVmV0YTJKeHVvcEdZZDFVeW01TWJLSFlsUWRURHg2Snpkc2JQcTdINmhYUnY0alhZWWFINDRaYk1CMzVOc3dPT09VbkFnSFRVRzBTTmJOcUVoMzZPVmlrUWd2bFJ6eHc3RUtLbEQwUXgyR1RFL1g0WW1ZUUp0VU80VjU1eDFWUVhZMVZ0bEEwdWFKZmdGbnRCZEczMU5lclZtVjdVTmJHV3RSTGFpdnlvQVh3ZUZCTERXMldpSFZOaXRVRUwxNk5jTkFtNmVBdzRJbUZ4OUYxUlp2WkFTN1dpS0JrbTFPQmNnRWtBNkFOZ3prRkFiVlFwOXJrYXF0N3dwOWt3byswQWRIZWNLZm1IVGxNYlZxbmxqeU1iZUZEVFl6UUJ0TTR6MTNhakwxbWR2VUgzRGhXMzRiRk1CRE80dGtHdnh5bkp2Vy9VaU9MdDVnamNONFl4MlE2NGhONkFXMUdmc3phQVBRTHNiVkg2S3hjQVNFQWRKMVNnNjZxUVV0ekx0dXV1UStCb1N5dkNtNFFoanMydHRZQmhKaGJvejgwa1NOR09YWlFPc0g5ME5GclJKbCtuVmx1WUxraFdEK0d6M1Rib3NGanJNSFkybnlOc0ZyYkxsaDJMaEM1cHBCNkFwZkJwTW1Ta3FxcHdDYkZjdm5jblFLbmlna3pTazJlNVkxUnRFMG1idUFDdzlEREV6ZTRmMFlaUStLTE94RFVhZmZhSUVWODVYWDVENWhqczJ0SDhTR0l2T1p3aGtiRUYxOVlFTUdYSEJWeG5HbnlCOXd2ZDlzMExLMUtqa21FWnAvVUtmWVhpMUFiQ1JkVzFnRGJWTmZTKzJNOUNxOFRJb1Bmb29qTFQ1Y2RJc2ptbmpDSjZ4a0xZczRBTEh3VFNIK2FGUzk0Sm9acGV6VVJSYVVRNWdmSEZJRDBZQVNOSmlMNERzQjI1bnlZT1ZrUTJaWGZWTTE2UTJFQ1FrU0ZxempUbmhEeVl6QkVxYk9HT0NGbk1Nbll3MFdjaUVzQ1o0Qm5Ib0JCVFFyWFg2YU5jNmUrZ3drRzFwc2hoa2FQTEZibWtCOXd1K3dZK0dIUUJSM3Fzc3ZGWEswZ1dLTXg1dVdFMWh4YzFBcGdoaTRrNjRWdmVCNzFHLzdFSm02OGd2VkxBcERENFhpbWM1NnNBN094dm9NZ3h1WjdZN0UzMVQwa1hBQmxhbURYaHRhR1JubjVRaE9CL1dQdDlld1l0TkFrQ0p5SUF4MFZpay9pS2VZR3JmZ0NiZ01ueGNHMmpkQ04rOWJDSVQyaWF3MjZFK253anB3bjVpRjQvb2hlaU9sc0VsMFJ4SThneUJRRHRla09GdzIrV3F5L1VFRGFYWjZOVElPcVFPTlZBZFpQR09raCsxT3VHa1VCb09ORi9VeU03RDk1cGdKR1hyZnJIeE9wK2I0NDhQRDEvZmlFUTU3ZzhRWU5kOVo1WDdheURjL3ZSZ2VWK2ZwZi84eEJyRGovOEg4T05lK0UvM3J6OGYvUFo5Kzl2STI3TCsrdEplWGwvTzhueXVFVERQUUtLdlQycXZyOURsOWJHa1BOL0owYWNwZlRqL2RnRCtMRElsK2MyeU1SNmZRS3ZIa1o1ZTN4K3IzRDZDN3V0OW4zNzNlWFY5bG9ZNE9xY1pUZ3gvZklyL0doa0t2cy90MjAvRDJlU005bTFSK0l2aitoY1Q5VG9SQXJQM2xRQUFBQ1YwUlZoMFVtRjNJSEJ5YjJacGJHVWdkSGx3WlNCcGNIUmpBQXBwY0hSakNpQWdJQ0FnSUNBd0NzRFcvR1lBQUFlY1NVUkJWRWpIclZaYmJKeFhFWjQ1Ly9rdmU4bXVkKzFkcjJNN2R1ekd1VFNoaWRLRXBpRnBCQ1VSRW9RS2FGVUVSUlZDb2srZ1ZqeENIM2ppQWZIQ0V3OG9TQ0JCS3dqUW9wYVdGQXBOUSt2Z0pzM0ZjWnlMTDdHOWErL052M2YvKzMvTzhIRFdibWdyVkM3bjZUOXo1ajl6WnVhYitRYUpTQkl3aEZqS3VicWZNclJTMWdRQUlrQ0UvMzF4U2NRUWJ5dzdQM2w5c2VaRUd1SjlnK2x2UHRSdjZ0ci94UVpuaUUwbitzRkxjN1luaUVoaitLZkpaaXpwbWVOREcwcVNBT0ZmakJFQUFoQUIzQ1ZYd3ZmcE1BQjQ0V0sxMW83eUtmNzVmVDJIUmpQWmhQYjI3YlhyRlFjUmhDUUFZQWlJUUFTMC9qT3V4MURKTjRSM0w3VmxmaVF1ekxjMXhDY09sYjcyNE9hbmp3ODlNSnBwK2VLZHVSWUFhQXlKYUxibWxWY0RSRUFBQWhCU2hyRkVCTnVMeW5hZ1BCQ1NJaUhsdWpVaWlvU01wZVR6RGI5c0Ixc0wxcEd4cmxnU1ozaHNlLzZsUy9WYlZSY0FhdTN3UjYvTXo5Vjl4bkQvVVBxcFl3T1dydjNzemFWclplZnhnNlZUWjh0Tkp6cTVyK2Z4ZzMxVEZlZUhmNXc5TXBiNytpZjZBZURsSzdYbng1ZWZPamJBSzNib0JtS2trQUJBQmdRQTIwdkpIMzlsdTZFeEFIaHVmUG55Z3JNcG9jV0NYcjNhM0pLM3ZyQy90K21LaFViNDB6ZVc1aHRCTnNHZlA3K3lkekF6bExkYXZyeTY2Q2pVVEpYZHBpdDZNeWF6M1ZnUTlLUjFsUllBMERVMldrZ081aTB2Rk9NemE3a1UvOTduaHI5eHRDK2hzeHNySGdCWW5QbVI1SXc5YzN4d3JEY1JDL2p6VkNOdDhlR2VSTFVWclhreEFDdzJnNEdjMlo4eldSQkxJTEIwZG5kK1ZHNWpTZHQ2azQ4ZEtPN3NTeDhaeXhrY2c1Z1ViSUtZSGoxUS9OVE83aWNlTEJrY1oycytBSXdXRWcwbmFqaFJMR1RaRGdmemxzRVpSOFNOdDI4c2pTRUFiTEw0ZHorN2RYa3RPRE5aSDU5WkN5TFNWRDRKa2diYjFwc0VnSUZjb2pkak5KMFlBTVpLaWRNVHNtS0hhWXV2dXZFOXhRUUE4S1RCQU1FSnhQdHdSa1NJK1BMbDZxbXpaZHNUMlFRM2RKVFVPVEk0S3FkTnpsS201Z1Noa0RSU1NPcWNMVGFEcE1HRXBORmlBZ0JZUHFYckRDdDJxQW9LQUJZYS9yZC9lZjBYYjVYZFVQenE3UldEc3ljUGw1NDlPV3h5OWg0SzE3MldSRUlTMTFBUTlXV043aFNmYi9nM1Y3eVVxUTNtTFFCZy9Ua3ptK1RYeWs3TGo3bUdBSEJwb1hWaHJxMHp0cklXckxUQ1QrL0tmL25qZlNPRlpCUVRBZ0lBUS9SQzJRcGlBSEJEMlhEaVRSYlhFQzFkRytxMjV1citsY1gyUU03c1NSc0F3QVp5MWxDM1ZXMUZwODR1QmJHWXFib3ZYNjUzcC9uZUxXay9rcElnaytBQU1GVjIyb0hRR0tqQ2pnUzlQdFVFZ0xkdXJkWmFZVi9XVUduYlZrcFc3UEI2eFZVSmtFUWNBQjdhM25WcG9UMCswNXBjbW80RTJaNFk3ckYyOUtXbmw5MlVxWjI3YVpzNi91SGRPdGRRM1NJa0pBMzJ5cFhHOUxKYlhZc1l3OTBES1JXNjBVSUNBQ0xSU1FBUmNBQjRlRmYzeE56YXVadHJRY3dra2M3d3ljTjlBTEMxeHhvdFdKTmxaMkt1ZGVMZW5CQTBYWEVVVEJNNjI5MmYrdXUwelJtT0ZxMVA3c2dyQTBQZENVdG5ZU3kzOWlTVUpsYzk2enNuaGw4c1ZhOHVPZ21EZldaUDk4Nit0SkNrYSt6cDQxdCsvWStWWXNaNDlQN2k1SkpUYllWRXhCQ0NtTDU2cUcrMG1LeTFveS91TDFpNnBraWxOMnZrVW56TkV3TjVDd0FRa0t0MnFERjhaRi94a1gzdjlXZU5JUkZzN3JLKzlmQVdKZHd6c0dualZCSVpuSDNwL3Q1MVRIY2dibWpNRFdWL3pzeFluSlFIeWhFQ0lFbUlxSURPRUR0eUF0V2tFWkdJaEFSZFEwUmdpQXF5c1NSdFhYbHAxZi9kaFdxMUZSN2IzZ1VBVXBMR2tHMzBic2JVbjhEdVloWjFGME5FQUlhb1VCVEc1SVdpVS9PSWlLQ012WHVuL2R0M2Focml4d2JTRzBURS8wTUdSQUFZekJ0N0JsSzZ4dTUrQndEa1UvcEl3WHhnSkt1QzJRa0RFYWs0c0gvTHYvUUJ3b0lQREFaRUpJZzRZK29JRUJBQXBhVC9ndGtWWnVBakRCOE1FV3F0OEcvVERSVkhvZzdIMG5xTFZkdHFLK3dvQUJBQlE2aTN3MW83N0FCaG5hNkRTSzY2RVJFMW5MQWR4S0JJLy95c1hiR0RNNU4xRlUzMUlseVBpZHA2WVR3eGE3dWgyQmd2eG1kc1YvVmdCRVhYQUhDdDdQeG1Zam1XOU1aMDg5cFNHd0M0RzRxMkx4NDcwTGZxaGhmbTE2Ykt6c205aGRNVHk0V01zYTJZVEJxOGJQczNWN3dkcGVURk82M1p1bmRpZCtIMmlydDNTMmF4R2ZUbnpOZk8xZytPWkN0MmFPbnM4RDA1THhJcFU3TzkyT1JNSlpVbERXMUx0L1g5RjI0dHJZYmwxYUEzYXp4M3ZySi9PTnViTWVjYmdSZkptWnJmMzJXMkE3R3RtT3BKbTFjV1dsNGtBV0RYNXRTZFJuQjBMRit4dytXMWNIZC9HZ0RhZ1VpYnZHS0h1c1pVMEZqTGo4ZEtxV2RQanY3OTFtcmRpU3pPVW9hMnVjdThkM1BLMHBtbE01T3pvWjZFcVRPTjRXZ3hlWFBGTFdVTUFPQWFJNExSWXBJekxLU05iRUwzSWpGYjllWWJmcTBkYWhxcTVIR0RzOStmcjJ3dEpFcFowOUpSRXZYbnpMOU1OVXlPc1lUYlZUZHRhbjRraUtEaGhBTjUwd3RsSnFFRGdKQzB5ZEpldkxoaTZreGpEQUJtYTk2QmtjeDlnNW1mbjFzc1pVMkxzdzU0NzlTOTB4TVZQeEtMVGUrMWF6VWlldk5HczlvS1ptdnUrWm5WZWp0bytaSHRSUXNOYjluMlg3MVNqV0pKUlBWMkVFVGl6R1N0MmdxYVRraEVUU2RzZVJFUnpkZmRaZHRYd2crcGd3K3RLYlZ1VjkyRnBuOTBMSytHbjQ5VStxcVNKWkZxbjZxa0pYWFlrWUFRT2lNaklvU3gxRlgzV1M4eEtRbHhRNldEYjFyL1FvQi9BcVpJR1hMM3pUaEVBQUFBYkdWWVNXWk5UUUFxQUFBQUNBQUVBUm9BQlFBQUFBRUFBQUErQVJzQUJRQUFBQUVBQUFCR0FTZ0FBd0FBQUFFQUFnQUFoMmtBQkFBQUFBRUFBQUJPQUFBQUFBQUFBRWdBQUFBQkFBQUFTQUFBQUFFQUFxQUNBQVFBQUFBQkFBQUVUYUFEQUFRQUFBQUJBQUFDb3dBQUFBQU95UDVmQUFBQUpYUkZXSFJrWVhSbE9tTnlaV0YwWlFBeU1ERTRMVEEzTFRFelZEQTBPalExT2pFeUt6QXdPakF3NmhaTzBnQUFBQ1YwUlZoMFpHRjBaVHB0YjJScFpua0FNakF4T0Mwd055MHhNMVF3TkRvME5Ub3hNaXN3TURvd01KdEw5bTRBQUFBWWRFVllkR1Y0YVdZNlJYaHBaa2x0WVdkbFRHVnVaM1JvQURZM05TQUpBTXdBQUFBWWRFVllkR1Y0YVdZNlJYaHBaa2x0WVdkbFYybGtkR2dBTVRFd01RWW5OcThBQUFBU2RFVllkR1Y0YVdZNlJYaHBaazltWm5ObGRBQTNPTW5VZXljQUFBQW9kRVZZZEdsall6cGpiM0I1Y21sbmFIUUFRMjl3ZVhKcFoyaDBJRUZ3Y0d4bElFbHVZeTRzSURJd01UZ3ZUQVZCQUFBQUYzUkZXSFJwWTJNNlpHVnpZM0pwY0hScGIyNEFSR2x6Y0d4aGVSY2JsYmdBQUFBQVNVVk9SSzVDWUlJPSJ9LCJzdGF0dXNSZXBvcnRzIjpbeyJzdGF0dXMiOiJOT1RfRklET19DRVJUSUZJRUQiLCJlZmZlY3RpdmVEYXRlIjoiMjAxOC0wOC0xNyJ9XSwidGltZU9mTGFzdFN0YXR1c0NoYW5nZSI6IjIwMTgtMDgtMTcifSx7ImFhaWQiOiI0ZTRlIzQwMTAiLCJtZXRhZGF0YVN0YXRlbWVudCI6eyJsZWdhbEhlYWRlciI6Imh0dHBzOi8vZmlkb2FsbGlhbmNlLm9yZy9tZXRhZGF0YS9tZXRhZGF0YS1zdGF0ZW1lbnQtbGVnYWwtaGVhZGVyLyIsImFhaWQiOiI0ZTRlIzQwMTAiLCJkZXNjcmlwdGlvbiI6IkFuZHJvaWQgRmluZ2VycHJpbnQiLCJhdXRoZW50aWNhdG9yVmVyc2lvbiI6MjU2LCJwcm90b2NvbEZhbWlseSI6InVhZiIsInNjaGVtYSI6MywidXB2IjpbeyJtYWpvciI6MSwibWlub3IiOjF9LHsibWFqb3IiOjEsIm1pbm9yIjowfV0sImF1dGhlbnRpY2F0aW9uQWxnb3JpdGhtcyI6WyJzZWNwMjU2cjFfZWNkc2Ffc2hhMjU2X3JhdyJdLCJwdWJsaWNLZXlBbGdBbmRFbmNvZGluZ3MiOlsiZWNjX3g5NjJfcmF3Il0sImF0dGVzdGF0aW9uVHlwZXMiOlsiYmFzaWNfc3Vycm9nYXRlIl0sInVzZXJWZXJpZmljYXRpb25EZXRhaWxzIjpbW3sidXNlclZlcmlmaWNhdGlvbk1ldGhvZCI6ImZpbmdlcnByaW50X2ludGVybmFsIiwiYmFEZXNjIjp7InNlbGZBdHRlc3RlZEZSUiI6MC4wLCJzZWxmQXR0ZXN0ZWRGQVIiOjAuMCwibWF4VGVtcGxhdGVzIjowLCJtYXhSZXRyaWVzIjo1LCJibG9ja1Nsb3dkb3duIjozMH19XV0sImtleVByb3RlY3Rpb24iOlsiaGFyZHdhcmUiLCJ0ZWUiXSwibWF0Y2hlclByb3RlY3Rpb24iOlsidGVlIl0sImF0dGFjaG1lbnRIaW50IjpbImludGVybmFsIl0sInRjRGlzcGxheSI6WyJhbnkiXSwidGNEaXNwbGF5Q29udGVudFR5cGUiOiJ0ZXh0L3BsYWluIiwiYXR0ZXN0YXRpb25Sb290Q2VydGlmaWNhdGVzIjpbXSwiaWNvbiI6ImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBRWdBQUFCSUNBWUFBQUJWN2JOSEFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBeVJwVkZoMFdFMU1PbU52YlM1aFpHOWlaUzU0YlhBQUFBQUFBRHcvZUhCaFkydGxkQ0JpWldkcGJqMGk3N3UvSWlCcFpEMGlWelZOTUUxd1EyVm9hVWg2Y21WVGVrNVVZM3ByWXpsa0lqOCtJRHg0T25odGNHMWxkR0VnZUcxc2JuTTZlRDBpWVdSdlltVTZibk02YldWMFlTOGlJSGc2ZUcxd2RHczlJa0ZrYjJKbElGaE5VQ0JEYjNKbElEVXVNeTFqTURFeElEWTJMakUwTlRZMk1Td2dNakF4TWk4d01pOHdOaTB4TkRvMU5qb3lOeUFnSUNBZ0lDQWdJajRnUEhKa1pqcFNSRVlnZUcxc2JuTTZjbVJtUFNKb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk4eE9UazVMekF5THpJeUxYSmtaaTF6ZVc1MFlYZ3Ribk1qSWo0Z1BISmtaanBFWlhOamNtbHdkR2x2YmlCeVpHWTZZV0p2ZFhROUlpSWdlRzFzYm5NNmVHMXdQU0pvZEhSd09pOHZibk11WVdSdlltVXVZMjl0TDNoaGNDOHhMakF2SWlCNGJXeHVjenA0YlhCTlRUMGlhSFIwY0RvdkwyNXpMbUZrYjJKbExtTnZiUzk0WVhBdk1TNHdMMjF0THlJZ2VHMXNibk02YzNSU1pXWTlJbWgwZEhBNkx5OXVjeTVoWkc5aVpTNWpiMjB2ZUdGd0x6RXVNQzl6Vkhsd1pTOVNaWE52ZFhKalpWSmxaaU1pSUhodGNEcERjbVZoZEc5eVZHOXZiRDBpUVdSdlltVWdVR2h2ZEc5emFHOXdJRU5UTmlBb1RXRmphVzUwYjNOb0tTSWdlRzF3VFUwNlNXNXpkR0Z1WTJWSlJEMGllRzF3TG1scFpEcEJSa0l6TVRJMlJrRTRNVUl4TVVVMU9VSXhNVVpGTmpoQ1JqSTNNakl5TkNJZ2VHMXdUVTA2Ukc5amRXMWxiblJKUkQwaWVHMXdMbVJwWkRwQlJrSXpNVEkzTUVFNE1VSXhNVVUxT1VJeE1VWkZOamhDUmpJM01qSXlOQ0krSUR4NGJYQk5UVHBFWlhKcGRtVmtSbkp2YlNCemRGSmxaanBwYm5OMFlXNWpaVWxFUFNKNGJYQXVhV2xrT2tGR1FqTXhNalpFUVRneFFqRXhSVFU1UWpFeFJrVTJPRUpHTWpjeU1qSTBJaUJ6ZEZKbFpqcGtiMk4xYldWdWRFbEVQU0o0YlhBdVpHbGtPa0ZHUWpNeE1qWkZRVGd4UWpFeFJUVTVRakV4UmtVMk9FSkdNamN5TWpJMElpOCtJRHd2Y21SbU9rUmxjMk55YVhCMGFXOXVQaUE4TDNKa1pqcFNSRVkrSUR3dmVEcDRiWEJ0WlhSaFBpQThQM2h3WVdOclpYUWdaVzVrUFNKeUlqOCtwRC96QmdBQURCQkpSRUZVZU5yc1hBVndGTXNXN1VDQ0U0SUZDdzRCQ2dudUJDbjhRM0FLZDNkM0x5Z2NDcWR3VCtIdXJvVUdKMEJ3S2R6ZDByOVBGM2VxcDNmMmtmZDQyZDN3OWxSMVlMdDdabWZ1M0w1eWJzOTZNRE9TaTlaQnRQK0psb245dDNCRHRLMml6UlR0c2RXRTJxSzlFbzMveDl1cm43SXdJY2d0R0pzR21UQVAwUktMOWxTMGFNd05GZUdpK1VZWGZ3YUxGdWlXaHcyZ1BEL3c1NXBvL201NVdPSTZCUFJSdE5odVdWamlreWZVeUZuZm5qWnRXbGF5WkVtV0xWczI1dS92eitMRWljTTQ1K3pidDIvc3hvMGJMRFEwbEIwOWVsVCs2eVJJMmJ4eHRJZW9XN2N1MzdsekovL3g0d2VQQ0k0ZE84WmJ0bXpwREUvMnhxRUNxbHk1TXI5NDhTTC9wM2o4K0RGdjBhS0ZRd1hrOFZOQTNwR3BwNTZlbm16Tm1qV3NXclZxOHZQcjE2L1orZlBuMmZIang5blZxMWRsZS9EZ0FYdjM3aDE3OCtZTjgvYjJadkhpeFdNcFU2WmtPWExrWUZtelptWEZpaFZqeFlzWGw4ZGpmbEJRRUFzTEM0dnNKZlkyMGpXb2RPblMvTldyVjFJRFpzNmN5Y1ZOV3M2TEhUczI5L1B6NDBJWVBGMjZkRndJeUhKZStmTGwrYjU5Ky9qdDI3ZDVvMGFOdUllSFI5UmNZdEdpUmVNVktsVGd1M2J0NHIxNjlUS05wVTZkbXJkcDA0YXZXcldLbnp0M2pndk5zVnhTd2xoem9TMTg2OWF0dkUrZlBqeDc5dXpHT1JJbFNzUjc5T2pCczJUSkVwbENpandCeFkwYmx4Y3BVc1Q0bkNCQkFubVRaODZjNGI4RGFNNllNV040aWhRcC9nd2pqU2M5ZWZKay92bno1MS9lL1B2Mzc3bXdRZnpseTVjUjhuQWJObXpnQlFzV2pMcEd1bCsvZm16SWtDRk0yQmViTWNRMmh3NGRZaGN1WEdBaElTRk1lQ2dtQk1UQ3c4TmxpeDgvUGt1Y09ERUxDQWlRY1ZKZ1lDQVRHbW41UGNIQndXemd3SUZNYUZmVU1OTGlocmp3VURaUEhKb3hhZElrWHFoUW9YOTAza3laTWtsN1poVXFmUHo0a1RkczJORDFOVWdFZ1d6WnNtWE15OHZMNklOYkh6ZHVISnM5ZXpZVEhzM29UNUlrQ1JOTFJFYlVHVEprWUw2K3ZySmZHSGlwVFhmdTNKSHVYeGh5ZHZueVpkUDNORzNhbEhYdjNsMXFtQXFFQmZwY2w5R2dKazJhMkR6WnBVdVhtZ3lxV0RhOGE5ZXVmUC8rL2Z6VHAwOFJOczRpOWVDelpzMlNibDc5enQ2OWU1dnNHNXlBU3hwcHVHNGQ0aWtiNDlHalIrZkNIbkdoVGZ4M2dkQ2dkZXZXeHJrUk54MDhlTkFZUjNqaGNnSmF2bnk1S1NYSWx5K2ZNVmE0Y0dFdTFON3lacDg4ZWNKUG5EakJ4YkxrRXlkTzVDTkhqdVJqeDQ3bEN4WXM0THQzNytZM2I5NjBLeWljVTBUbnh2ZmdPT0Q2OWV1dUphQmt5WklaRncwM0xXeUtNUVl0MHZIMjdWcytaY29VWHJac1dic1JzOXB5NXN6SnUzWHJ4b1hYc3hUVXdvVUxqYmxZdmtEdDJyVmRSMERDeFJvWG16dDNicU1ma2E0T3BCdjJncnhVcVZMSnVLWk1tVEk4VDU0OFBHblNwRFp6TUk3NFI0Y0lGK1R4bUlPbExISTlIaU5HRE5jUWtQQTI4aUpWU2dKUFhNV1hMMTk0alJvMVRNY2g5MnJmdnIxTU9lN2Z2eS9ucUlEeEZWNk1yMTI3bG5mczJKRUxyMmNjQysxREdxTGkrZlBuUEhQbXpISWNHb1EweE9rQ3lwVXJsN3c0MkF0NzNndzJDVW1vR3MvQXh2d2RMd1pnUG82RFVhWnpZWG5wc1JZY0JzWmNRb09nN3JBN3lNYnhHY3RETjhMcURmWHYzMThtb2ZZQUxhQm1EemkrYjkrK3BuT3FlUGp3SVk4Vks1YnpiVkRNbURHbDUwSGtqTThpMk9OZnYzNDFMUkgwVVhhL2NlTkdtNXZGMHBveFl3YXZWS2tTanhNbmp1bjh5TktSOEk0ZlAxNG1xVHEyYjk5dWFFbVhMbDFNWTRpem5DNGdWWVh4eFBTYktGcTBxREcrWjg4ZUc4M3ExS21URkJ6TlNaTW1EVy9Rb0lHME4yQU85WlFFTmc3YW9lTGF0V3M4WWNLRWNoeFp2Z3FSQzdwT0hIVDQ4R0hUeGVGRzdkbUpMVnUyeUlpYXhtdldyR21adTFHR3YzTGxTc1BnSXVCY3ZIaXhhUTVpSlZyaTRKOVUvS2FoL25jRXRHYk5HdE5Gd2MzYXN3L3dXT3F4TUxvUkJaYWFtbUxveEQ0eGt5b0JoM2pMYVFMeThmR1Jkc0JlMEZhblRoM1QyTkdqUjAzTFUwMFBDRWVPSE9IejVzMlRRb2Q5MGdGTnBlQ3laOCtlcGpHUkVNditxbFdybXV5VTB3UWtzblBUQmU3WXNjTVlLMUdpaEkweFZvMnd6aXhDTUdxUVNhMWt5Wkw4eXBVcnBybGhZV0dHbDlLdkFXRUgraW5xUG52MnJQTUV0SGZ2WHVQQzRLR29IOFM4eWdqQ215SDJvWEY0R0JYejU4ODN4VldJdGxldlhzMkhEUnZHdmJ5OFpQKzBhZE5NeDhCbTBUSEl2UWlob2FGR3JBVWdPVllkZ1VNRmhQZ0hRSUpKZllpRHdzUERUVGNUR0Job2pLOWJ0ODQwQmcyZ01kMExFVkM5c0xKbjA2ZFBsLzA1Y3VRdzlkZXFWVXYybnp4NVVuNVdIWUxEQklRWWFNS0VDYnhjdVhKR1g3Tm16V3h1cm1MRmlzYjRuRGx6VEdOejU4NDF4cEROL3hXYU4yOHU1MEVvS29vVksyWmo3Skdlb0E5aEFrRHBoME1GcEtzdHFGUWQxYXRYdDZzZDZwS0VjVlZ4K3ZScHVienUzcjFyNmtjQ2kvbElSQW4zN3QyVGZkN2UzcWE1eU5YUUh4SVNJdTJZMDl4OGdRSUY1QTNwc1V1cFVxV01PWU1HRGJKMHlXajE2OWMzamNHenFSVVIxWk1oL2FBa1Z3WE9vV3NoakQ3NkdqZHViTkppaHdwSXR3bEVlV2JNbU5HWU0zVG9VQnRhQXNzVFkzbno1aldOZ1l6WHZ3UHB4dE9uVDQwNTBGVDBUNTA2MVpSN3FZYVpBTG9FeDZkUG45NDVBb0s3VllHTFZzZlZtd0J1M2JyRjQ4ZVBMOGNDQWdKTTlDdksweGpEY3NET0Q0UU1xS2ZCNk1NSnFBa3VhQTk0TjlWVFloN09xektYQ0NhZG1tcUE0Z0RBeTJEbmhybzA5QUFTT1JQeE9UQ3MzNzkvTjQzREUySE1DcytlUFRNSkNKNFFjeEVlRUxadDJ5YjdrSDhSUU9VNlZVRHdZb2g2MWRvNG90aEhqeDdaMkJ4S2JER3Vod0dVdDhIUVJwVFVSOUFKQnBFQWdlTWNXRllFYUpnVksrbVVaQldHMHlxdlFxSkpjOEFlNnFDWWhScUVCTUt0YmR1Mk1nelFvMmpDNE1HRDVYeDRNYjJhUVF3bkFDUHRWQUhCSUVPVHJOaEJkVmVISGdZZ3VpWlgvS3RXcFVvVm1UTG9teGd3aGdSVzVidlJ0MmpSSXFOdjlPalJ6aE1RMU5kcWt3R1NVbFFpU0xQMGFnUzhEcEZzeEI5RCsrQUJZY2dSNXlCTzBubG9uVGJSY3o2RUcraERVR2xGdXpoY1FQQWs0SnNKQ095dzc0ZkdzVXhRTTllVFVteU53VGlXRjR6M1h3SEdtVklLTkN4Wk5URUd5VVlBellFK2xKMElhZ25LS1VzTTZveGdEdmFGK2hEaTZ3UWFBSU5PYzBDeld1SEZpeGNtMmxiMWdxaS80VmgvZjMvVFBpVGF3UWJRSEdJdG5jNG9xb2tnYWxhYk4yKzJ1VGw0SmtvNHJSSlczSHlIRGgzazB3YU40ZXZyeTRPQ2dtUmRYd1c4SThWUmFsUHRFeVhHd1ByMTYxMkRjb1VOd2RLeEF1aFJlcXA2aVJwQWp2YXJQWTRvNVJDUW9ldHpzTndJdEFVR2RneWN0MHNJNk5TcFV6YUNPWERnZ0x3NWxYMUVNS2VpWGJ0MnhqaU1LYmhxQkhmUU1MWG1qaVdsN3VDQThWYS9IelF1Z1d4ZzU4NmRUUnlVVXdVRVFhaUV2TzYrNjlXcloxT05RQTJkT0dTVmVGTUIwa3pkZks3Vy85V0tDaGx1Z1BaUlI2VG03ekFCZ2ZvWU1HQ0FrUzVRQTkyaGwzdUFWcTFhR1RkaGI5Y0hBVXVTemdmcXdpckFSR21hb0c2TGNjbE5uS0Eva0Z4YVJjQXdwclRwRWhHelhsdEhXSUF5RFphSENoUVZkVUlPY1pNVmhRdHRkVmtCWVlPM0ZVQlhZS2NIelFQRHArNzdRVzVHWkpnVmxVTGNUc3FVS1kwOERwdW9hSzc2TUg2REhJdDhBY0dEcUlBbmdXQ29xRWR6OUxRRTBURHRvcWN0TEdpVTlDSXU4dlQwbEgwVTh5RGlwbUJWTmVDL3dmMDRab21oK29DY0tILysvS1orVkRwMENnUWJxYkQ3VE9XT0lBREVRZWhUNXlkUG5sejJnZnFnYXFwTzJDTkovWTBLaHVNM2t1TnBZcDhRWEw1VkFaRFNBTjNtMEc0UU5ZZkRUbjMwMFI0aTJDOThSb0JwVlNCd2FRRWh3OWM1SVpXdlZyZXU2RnYwcUd3TkQvZmh3d2REMDNTS2xrZ3pFaUlZaFNqektnSUlOSldHb0dvb09CeGFLbGFsWTZRV05BYWFnb0F5dEY0OFJGeEVLUVUwTkVxK3F6Rml4QWg1MDJydGpHaVNGU3RXMkNYV0VEbGI3ZEJRalR2WkxTU2tVZkp0SDN1N1llSFYxTndLV0xKa2lURUh5U2dLZndSS09JY1BIMjdhSVlJc2Z0T21UYVk4TDhvS0NHNGU5S2tWMU1vRGRyOWV1blRKcGc2bThqdWtVUWcwLzZWMHd2a0N3cVluSko5cWdSRXVIS1VmTlFKWDh6VjRLL0p5cWthaGZQM0h2dFJMWGtzdFNZUC9nVmZUK1dyYXhrTENnZkFRWGYvUmJ6MWJlYnRSbzBiWkZCZUpydzRPRHBhVldBaFYzK0RweUxlZTM0a1d6MWx2N3VQTlptRndtWitmSC9QeDhXRWkrNWR2UCtQL0lpU1Fiemc3RWUvZFAwM3hpNSttd0UvaTNIZkx3Uzd1UTBCcjNYS3dpN1h1SDFpeUQva0RTeERLQzlGcXVPVmhneG8vWldQQS9TTnZGai95NXFGSnpmMHpnZHJQQlA1ZmdBRUFiTWozMHczdnN4Y0FBQUFBU1VWT1JLNUNZSUk9Iiwic3VwcG9ydGVkRXh0ZW5zaW9ucyI6W3siaWQiOiJmaWRvLnVhZi5hbmRyb2lkLmtleV9hdHRlc3RhdGlvbiIsImRhdGEiOiJ7XCJhdHRlc3RhdGlvblJvb3RDZXJ0aWZpY2F0ZXNcIjpbXCJNSUlDaXpDQ0FqS2dBd0lCQWdJSkFLSUZudEVPUTF0WE1Bb0dDQ3FHU000OUJBTUNNSUdZTVFzd0NRWURWUVFHRXdKVlV6RVRNQkVHQTFVRUNBd0tRMkZzYVdadmNtNXBZVEVXTUJRR0ExVUVCd3dOVFc5MWJuUmhhVzRnVm1sbGR6RVZNQk1HQTFVRUNnd01SMjl2WjJ4bExDQkpibU11TVJBd0RnWURWUVFMREFkQmJtUnliMmxrTVRNd01RWURWUVFERENwQmJtUnliMmxrSUV0bGVYTjBiM0psSUZOdlpuUjNZWEpsSUVGMGRHVnpkR0YwYVc5dUlGSnZiM1F3SGhjTk1UWXdNVEV4TURBME16VXdXaGNOTXpZd01UQTJNREEwTXpVd1dqQ0JtREVMTUFrR0ExVUVCaE1DVlZNeEV6QVJCZ05WQkFnTUNrTmhiR2xtYjNKdWFXRXhGakFVQmdOVkJBY01EVTF2ZFc1MFlXbHVJRlpwWlhjeEZUQVRCZ05WQkFvTURFZHZiMmRzWlN3Z1NXNWpMakVRTUE0R0ExVUVDd3dIUVc1a2NtOXBaREV6TURFR0ExVUVBd3dxUVc1a2NtOXBaQ0JMWlhsemRHOXlaU0JUYjJaMGQyRnlaU0JCZEhSbGMzUmhkR2x2YmlCU2IyOTBNRmt3RXdZSEtvWkl6ajBDQVFZSUtvWkl6ajBEQVFjRFFnQUU3bDFleCtIQTIyMERwbjdtdGh2c1RXcGRhbWd1RC85L1NRNTlkeDlFSW0yOXNhLzZGc3ZIcmNWMzBsYWNxcmV3TFZRQlhUNURLeXFPMTA3c1NIVkJwS05qTUdFd0hRWURWUjBPQkJZRUZNaXQ2WGRNUmNPanp3MFdFT1I1UXpvaFdqRFBNQjhHQTFVZEl3UVlNQmFBRk1pdDZYZE1SY09qencwV0VPUjVRem9oV2pEUE1BOEdBMVVkRXdFQi93UUZNQU1CQWY4d0RnWURWUjBQQVFIL0JBUURBZ0tFTUFvR0NDcUdTTTQ5QkFNQ0EwY0FNRVFDSURVaG8rK0xORVllbk5WZzh4MVlpU0JxM0tObFFmWU5uczZLR1l4bVNHQjdBaUJOQy9OUjJUQjhmVnZhTlRRZHFFY2JZNldGWlR5dFR5U241MDJ2UVgzeHZ3PT1cIixcIk1JSUZZRENDQTBpZ0F3SUJBZ0lKQU9qNkdXTVUwdm9ZTUEwR0NTcUdTSWIzRFFFQkN3VUFNQnN4R1RBWEJnTlZCQVVURUdZNU1qQXdPV1U0TlROaU5tSXdORFV3SGhjTk1UWXdOVEkyTVRZeU9EVXlXaGNOTWpZd05USTBNVFl5T0RVeVdqQWJNUmt3RndZRFZRUUZFeEJtT1RJd01EbGxPRFV6WWpaaU1EUTFNSUlDSWpBTkJna3Foa2lHOXcwQkFRRUZBQU9DQWc4QU1JSUNDZ0tDQWdFQXI3YkhnaXV4cHdIc0s3UXVpOHhVRm1Pcjc1Z3ZNc2QvZFRFRERKZFNTeHRmNkFuN3h5cXBSUjkwUEwyYWJ4TTFkRXFsWG5mMnRxdzFOZTRYd2w1amxSZmRuSkxtTjBwVHkvNGxqNC83dHYwU2szaWlLa3lwbkVVdFI2V2ZNZ0gwUVpmS0hNMStkaSt5OVRGUnR2NnkvLzByYitUK1c4YTluc05ML2dnam5hcjg2NDYxcU8wck9zMmNYanAza09HMUZFSjVNVm1GbUJHdG5yS3BhNzNYcFh5VHFSeEIvTTBuMW4vVzluR3FDNEZTWWEwNFQ2TjVSSVpHQk4yejJNVDVJS0diRmxiQzhVclcwRHhXN0FZSW1RUWNIdEdsL20wMFFMVld1dEhRb1ZKWW5GUGxYVGNIWXZBU0x1K1JoaHNiRG14TWdKSjBtY0RwdnNDNFBqdkIrVHh5d0VsZ1M3MHZFMFhtTEQrT0p0dnNCc2xIWnZQQktDT2RUME1TK3RnU09JZmdhK3oxWjFnNytEVmFnZjdxdXZtYWc4amZQaW95S3Z4bksvRWdzVFVWaTJnaHpxOHdtMjd1ZC9tSU03QVkycUVPUlI4R28zVFZCNEh6V1FncFpydDNpNU1JbENhWTUwNEx6U1JpaWdIQ3pBUGxId3MrVzByQjVOK2VyNS8ycEpLbmZCU0RpQ2lGQVZ0Q0xPWjdnTGlNbTBqaE8yQjZ0VVhISS8rTVJQankwMmk1OWxJTk1SUmV2NTZHS3RjZDlxTy8wa1VKV2RaVGRBMlhvUzgyaXhQdlp0WFFwVXB1TDEyYWIrOUVhREs4WjRSSEpZWWZDVDNRNXZOQVhhaVdRKzhQVFdtMlFnQlIvYmt3U1djK05wVUZnTlBOOVB2UWk4V0VnNVVtQUdNQ0F3RUFBYU9CcGpDQm96QWRCZ05WSFE0RUZnUVVObUhoQUh5SUJRbFJpMFJzUi84YVRNbnFUeEl3SHdZRFZSMGpCQmd3Rm9BVU5tSGhBSHlJQlFsUmkwUnNSLzhhVE1ucVR4SXdEd1lEVlIwVEFRSC9CQVV3QXdFQi96QU9CZ05WSFE4QkFmOEVCQU1DQVlZd1FBWURWUjBmQkRrd056QTFvRE9nTVlZdmFIUjBjSE02THk5aGJtUnliMmxrTG1kdmIyZHNaV0Z3YVhNdVkyOXRMMkYwZEdWemRHRjBhVzl1TDJOeWJDOHdEUVlKS29aSWh2Y05BUUVMQlFBRGdnSUJBQ0RJdzQxTDNLbFhHMGFNaVMvL2NxckcrRVNoSFVHbzhITnN3MzBXMWtKdGpuNlVCd1JNNmpubWl3ZkJQYjhWQTkxY2hiMnZzc0F0WDJ6YlR2cUJKOStMQlBHQ2R3L0U1M1JiZjg2cWh4S2FpQUhPanB2QXk1WTNtMDBtcUMwdy9ad3ZqdTF0d2I0dmhMYUo1TmtVSllzVVM3cm1KS0hIQm5FVExpOEdGcWlFc3FUV3BHLzZpYllDdjdyWURCSkRjUjlXNjJCVzlqZklvQlFjeFVDVUpvdU1QSDI1bExOY0RjMXNzcXZDMnY3aVVnSTlMZW9NMXNOb3ZxUG1RVWlHOXJIbGkxdlh4ekN5YU1UandmdGtKTGtmNjcyNERGaHVLdWcyaklUVjBRa1h2YUpXRjRuVWFIT1ROQTR1SlU5V0R2WkxJMWo4M0ErL3huQUpVdWNJdi96R0oxQU1IMmJvSHFGOENZMTZMcHNZZ0J0NnRLeHhXSDAwWGN5RENkVzJLbEJDZXFiUVBjc0ZtV3lXdWd4ZGNla2hZc0FXeW9TZjgxOE5Vc1pkQldCYVIvT3VrWHJOTGZrUTc5SXlab2haYnZhYk8vWCtNVlQzcnJpQW9LYzhvRTJVd3M2REYrNjBQVjcvV0lQak52WHlTZHFzcEltU043OG1mbHhEcXdMcVJCWWtBM0k3NXFwcExHRzlycDdVQ2RSanhNbDhaREJsZCs3eXZIVmd0MWNWekp4OXhueUdDQzIzVWFpY01EU1hZckI0STRXSFhQR2p4aFp1Q3VQQkxUZE9MVThZUnZNWWRFdlllYldITXB2d0dDRjZiQXgzSkJwSWVPUTF3REI1eTBVU2ljVjNZZ1lHbWkrTlpmaEE0VVJTaDc3WWQ2dXVKT0pFTlJhTlZUemtcIl19IiwiZmFpbF9pZl91bmtub3duIjpmYWxzZX1dfSwic3RhdHVzUmVwb3J0cyI6W3sic3RhdHVzIjoiTk9UX0ZJRE9fQ0VSVElGSUVEIiwiZWZmZWN0aXZlRGF0ZSI6IjIwMTgtMDUtMTkifV0sInRpbWVPZkxhc3RTdGF0dXNDaGFuZ2UiOiIyMDE4LTA1LTE5In0seyJhYWd1aWQiOiI3M2JiMGNkNC1lNTAyLTQ5YjgtOWM2Zi1iNTk0NDViZjcyMGIiLCJtZXRhZGF0YVN0YXRlbWVudCI6eyJsZWdhbEhlYWRlciI6Imh0dHBzOi8vZmlkb2FsbGlhbmNlLm9yZy9tZXRhZGF0YS9tZXRhZGF0YS1zdGF0ZW1lbnQtbGVnYWwtaGVhZGVyLyIsImFhZ3VpZCI6IjczYmIwY2Q0LWU1MDItNDliOC05YzZmLWI1OTQ0NWJmNzIwYiIsImRlc2NyaXB0aW9uIjoiWXViaUtleSA1IEZJUFMgU2VyaWVzIiwiYXV0aGVudGljYXRvclZlcnNpb24iOjUwNDAwLCJwcm90b2NvbEZhbWlseSI6ImZpZG8yIiwic2NoZW1hIjozLCJ1cHYiOlt7Im1ham9yIjoxLCJtaW5vciI6MH1dLCJhdXRoZW50aWNhdGlvbkFsZ29yaXRobXMiOlsic2VjcDI1NnIxX2VjZHNhX3NoYTI1Nl9yYXciLCJlZDI1NTE5X2VkZHNhX3NoYTUxMl9yYXciXSwicHVibGljS2V5QWxnQW5kRW5jb2RpbmdzIjpbImNvc2UiXSwiYXR0ZXN0YXRpb25UeXBlcyI6WyJiYXNpY19mdWxsIl0sInVzZXJWZXJpZmljYXRpb25EZXRhaWxzIjpbW3sidXNlclZlcmlmaWNhdGlvbk1ldGhvZCI6InByZXNlbmNlX2ludGVybmFsIn1dLFt7InVzZXJWZXJpZmljYXRpb25NZXRob2QiOiJwcmVzZW5jZV9pbnRlcm5hbCJ9LHsidXNlclZlcmlmaWNhdGlvbk1ldGhvZCI6InBhc3Njb2RlX2V4dGVybmFsIiwiY2FEZXNjIjp7ImJhc2UiOjY0LCJtaW5MZW5ndGgiOjYsIm1heFJldHJpZXMiOjgsImJsb2NrU2xvd2Rvd24iOjB9fV0sW3sidXNlclZlcmlmaWNhdGlvbk1ldGhvZCI6InBhc3Njb2RlX2V4dGVybmFsIiwiY2FEZXNjIjp7ImJhc2UiOjY0LCJtaW5MZW5ndGgiOjYsIm1heFJldHJpZXMiOjgsImJsb2NrU2xvd2Rvd24iOjB9fV0sW3sidXNlclZlcmlmaWNhdGlvbk1ldGhvZCI6Im5vbmUifV1dLCJrZXlQcm90ZWN0aW9uIjpbImhhcmR3YXJlIiwic2VjdXJlX2VsZW1lbnQiXSwibWF0Y2hlclByb3RlY3Rpb24iOlsib25fY2hpcCJdLCJjcnlwdG9TdHJlbmd0aCI6MTI4LCJhdHRhY2htZW50SGludCI6WyJleHRlcm5hbCIsIndpcmVkIl0sInRjRGlzcGxheSI6W10sImF0dGVzdGF0aW9uUm9vdENlcnRpZmljYXRlcyI6WyJNSUlESGpDQ0FnYWdBd0lCQWdJRUcwQlQ5ekFOQmdrcWhraUc5dzBCQVFzRkFEQXVNU3d3S2dZRFZRUURFeU5aZFdKcFkyOGdWVEpHSUZKdmIzUWdRMEVnVTJWeWFXRnNJRFExTnpJd01EWXpNVEFnRncweE5EQTRNREV3TURBd01EQmFHQTh5TURVd01Ea3dOREF3TURBd01Gb3dMakVzTUNvR0ExVUVBeE1qV1hWaWFXTnZJRlV5UmlCU2IyOTBJRU5CSUZObGNtbGhiQ0EwTlRjeU1EQTJNekV3Z2dFaU1BMEdDU3FHU0liM0RRRUJBUVVBQTRJQkR3QXdnZ0VLQW9JQkFRQy9qd1l1aEJWbHFhaVlXRU1zcldGaXNnSitQdE05MWVTcnBJNFRLN1U1M213Q0lhd1NESHk4dlVtazVOMktBajlhYnZUOU5QNVNNUzFoUWkzdXN4b1lHb25YUWdmTzZaWHlVQTlhK0tBa3FkRm5Cbmx5dWdTZUNPZXA4RWRaRmZzYVJGdE1qa3d6NUdjejJQeTR2SVl2Q2RNSFB0d2F6MGJWdXpuZXVlSUV6NlRuUWpFNjNSZHQyemJ3bmVid1RHNVp5YmVXU3dienkrQkozNFpIY1VoUEFZODl5SlFYdUUwSXpNWkZjRUJiUE5SYldFQ1JLZ2pxLy9xVDlubURPRlZsU1JDdDJ3aXFQU3psdXduK3Yrc3VRRUJzVWpUR01FZDI1dEtYWFRrTlcyMXdJV2J4ZVN5VW9UWHdMdkdTNnhsd1FTZ05wazJxWFl3ZjhpWGc3VldaQWdNQkFBR2pRakJBTUIwR0ExVWREZ1FXQkJRZ0l2ejBiTkdKaGpncFRva3N5S3BQOXh2OW9EQVBCZ05WSFJNRUNEQUdBUUgvQWdFQU1BNEdBMVVkRHdFQi93UUVBd0lCQmpBTkJna3Foa2lHOXcwQkFRc0ZBQU9DQVFFQWp2anVPTURTYStKWEZDTHlCS3N5Y1h0QlZac0o0VWUzTGJhRXNQWTRNWU4vaElRNVpNNXA3RWpmY25NRzRDdFlrTnNmTkhjMEFoQkxkcTQ1cm5UODdxLzZPM3ZVRXROTWFmYmhVNmt0aFg3WSs5WEZOOU5wbVl4citla1ZZNXhPeGk4aDlKRElnb01QNFZCMXVTMGF1bkwxSUdxck5vb0w5bW1Gbkwya0xWVmVlNi9WUjZDNStLU1RDTUNXcHBNdUpJWklJMnY5bzRka29aOFk3UVJqUWxMZll6ZDNxR3RLYnc3eGFGMVVzRy81eFViL0J0d2IyWDJnNElucGlCL3l0LzNDcFFYcGlXWC9LNG1CdlVLaUduMDVac3FlWTFneDRnMHhMQnFjVTlwc215UHpLK1ZzZ3cyamVSUTVKbEtEeXFFMGhlYmZDMXR2RnUwQ0NySkZjdz09Il0sImljb24iOiJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNBQUFBQWZDQVlBQUFDR1ZzK01BQUFBQVhOU1IwSUFyczRjNlFBQUFBUm5RVTFCQUFDeGp3djhZUVVBQUFBSmNFaFpjd0FBSFlZQUFCMkdBVjJpRTRFQUFBYk5TVVJCVkZoSHBWZDdUTlYxRkQvM2Q1OXdlUVNJZ1M5QVFBWGNGTEFRWmk5ZnBlVnoxdFkvV1RacjVXeHBjN1c1a25MYTVqSTNaODVzclMybk0yc2p0V3daUzdJVUg0SDR4Q25FUXg0REFaRjc0Vjd1czg4NXY5L2xJbkJ2VkovQjRQdjludS81bnUvNW52TTU1NmZ6QS9RdjBIYi9JclgzVkZLUG80NWNubTRpblVJV1l3TEZSbVpRVXV3akZHL04xaVJIaDFFWjBOUlZSdWRxdDFCZCsyblNLeVMvT2h5czArbGszZS8za1E5cXZENFpVdGE0VlZTVXVZMGVpcHlpVGhBZm9jb09SVmdEdXV3M3FLUmlBZDNyYmNFdGpUallJb2Y2V2FIc0NtelZQV0NNeCtjZ2g4dExxV01LYU1Xc1VqTHFvMlJ0SklRMG9Pem1lcnBRdTRlc1pnc09Oa0d4SDdkMGtkdlRUMTdzNE9NVTdWSThaaGpnR2FNK0FxOWlFTnU4UGlmMXVkejA3TXd2S1dmOEdsVm9DRVkwNFBDNVdkVGFYWUZiUjh2TnZMNSszS2dmYjV4Tk15YTlSYW1KaXluYU1sR1RWdEZscjZiYTl1K3BxbkVYNHVNdVJSZ2pTWUVock43dXRGRmU2bHFhbDdOZmt3NWltQUdIeW5QcGJrOFZtWTB4c3RucHRsRkNWQ1l0elR1Qk44M1FwTUxqVHRldmRQelNVbko3ZThta2p4WjM5ZlhiS0RmbGRacWJ2VStUVWdHbkJWRjZmUTJpUEhnNFcxNlVXVXd2emJrMTZzTVpFK1BuMHB2ejdKU2V1QXllczhsY3BDbWFLdW8vcCtxV3IyVWN3SUFIV3J2UDBZRXpoWEF0TEFic3NIaHA3aUdhbXZ5aWpQOHJ5cXJYVVdYOVhvb3d4eUF1Zk5CcnA0M1BPQkZYWmxrZjhNRFJpcWNweW93QXdwdXoyeCtmV3Z6L0R0ZGU5c21zenlndGNSNkMxd2JkekJsNk9scTVXTllZNG9HYXRoSk1ya1RFeDBqQVJTSEFWcys1cllrUU5YYitRZ2ZQTHNRNmdYeUluc3JlUWZtcG03UlZGWWZMODZuMWZpVU9rWXZTaGtVUHh2YnVrem95NksxaWhNMWhvM1h6VzZFdlNmWEErZHBpV0dhV2QrZG9Yekx6bUd3S1lGTENBc1JBbFBCQWhNbENGWFU3dEJVVlByOEhnVmNKSFdxK0YwMHBscitETVRkclA0enZ4WTExa05NaHhUK1NlVEdnK2Q0VjVMUUppdHlVR0pOQjhWRlpzamdZQlpNL0lJL1hDVGtqMHF5RE9wRjJBVlExN0NJalVwL0RuVDFVa0w1RjVnZGorc1Mxd2cxZ0UzZ2lnbTYwZkNYelNuUFhieUFQYklYditJRHBFMTZUaGFISVM5c2t5aGxtTUU1RjNjZnFBS2hxMkMwRTVQSDFnWWFYYUxQRGtaRzBIREpPbktXSHA1MUkwejVTT3V4OGUxV0F1WnpkSFFyVGtwOFRtalhvSStsYTB3R1pzenVicWJPM2lmUTZBL1c3dlZTWXNWM21SMEpLd2tLYzRXSGlCa21SOEkzQ0NnSTg3b09MNHF6VDVQK1JVSkJlakVPZ0FQSzhoWVB6YXRNK2VJVHAySU85eVRRbWVyb21QUnh4MXF4QWNzaWxlL3ViU2VFYmNXUUdZRUNnaGNMWTJIeUtqb2dqSDI1aE1wanBVdjFPdWdsaTRlaDJlUncwTzMyYkpqa3l1Q2dOemcwdnpsWU1TaVNzMHVvbzRNRzdoTU9qQ0VhWDF5RkUwblN2akJ6dVRuRXBLODZaOElvcUZBSXVidzhrZzlBckVhUkVXU1pJK2pINFhicDZnOUU5RW5KVDNvYVJ6RE4rTVVKQlFESG41NmE4b1VtRUJ1c094QnMvTjUrdEpFYlBrQUZEajhVR3ZPcy9JV3ZjU2dsR0JodlM3L0ZUWWZwV0dZZERZOGZQQXhXU0EzNXNUQzRwNCtMbTRBYXFJb1BlUXRmdWZLNkpoMFpoeGxic1VYT1NtWE5pZkQ1WlRBa3lEb2ZiYmNjbHhuQThXTkFxeENiUk55a2hYeFFwYUR3NjdmWFVZYnNpRzBLaHR2Mm9lSXZoOHJoUU1ZT2NFQXFYRy9lSSt6bmdPYzV5eHI4cTgySUFNMWMvRkxGT3BscXU1ZUZRWHJNWnpHY1ZDalliTFdHNUk0QlQxZXVScmxieHROT3RNaXREREVoTFhJSXluQUF2dU9FV0UzWDNOZEFmdDk0VmdhRzQyWElRdDBaWDZQZUNFL3FRRmU5cks2SHg3WVU1MEt2SDdmVzRmUytxN0tLQkp4c2dnQlg1cFNBR2gxaklyVmg1elE2dzNSZmFhaEJYbS9hQ2JDWlRqQ1VGVVR5V1pxVzlwNjJNakpQWFZxT3JQZ01PNE52NzRHa2Yrb3dmdE5WQkRRbmpGSnFIU3cxN3BYdmhXVzVLWnFlL1E0OU4vVVNUQ0FWV29RWEZJSEJIWFhlM0ZQclVEc3VHRG10Ri9oSEtUSHBla3hoaUFPUEkrU0pxNlM2SEY0STlZV3prQkpUbzQ2aVVNeldwOFBpci9SaWR1THhLWXNTa3NWOHZMbE9RdmhHWDJZbFIwT0JoQmpDK3UvZ0VjdlkwQXBLN1lrNDFOeGpQU1FuV0ZIVEY2NlVyamdldkI4Q3U1YStsMnZZU1JQdHVWRG83M2hoZE1TSG5VWDd0VGpzVlpHeEFsL1dwdGlPSUVRMWduTDI5bVg2L3RSMXRtbGtZajhXNFgrQ1NqV2NVREdZMU5wUy9DN2hTS3FpTUxNL2wyUW1TV1o3M0RkeitnaW84QkNFTllQUTQ2cW5rendYVWJxdkJreGpVUXNXZlpGZ2J1bzNyQWYrd043ak9POTAreW54NFBpM0wrMG5ZTDFTY2hEVWdBUDRnUFYvN0lkMXErMUhTaG11R2tJcVdSUGd5eE1GcVA4SGZqVG5qWHdZNWJRZmJKY3Q2T0l6S2dNSG90Ri9IZTFlZ3NheEhTcUc2d2ZkbVE1eDhOeVRGRnFCY3AyaVNvd0hSM3lrNSszNmhGN3ZYQUFBQUFFbEZUa1N1UW1DQyIsImF1dGhlbnRpY2F0b3JHZXRJbmZvIjp7InZlcnNpb25zIjpbIlUyRl9WMiIsIkZJRE9fMl8wIiwiRklET18yXzFfUFJFIl0sImV4dGVuc2lvbnMiOlsiY3JlZFByb3RlY3QiLCJobWFjLXNlY3JldCJdLCJhYWd1aWQiOiI3M2JiMGNkNGU1MDI0OWI4OWM2ZmI1OTQ0NWJmNzIwYiIsIm9wdGlvbnMiOnsicGxhdCI6ZmFsc2UsInJrIjp0cnVlLCJjbGllbnRQaW4iOmZhbHNlLCJ1cCI6dHJ1ZSwiY3JlZGVudGlhbE1nbXRQcmV2aWV3Ijp0cnVlfSwibWF4TXNnU2l6ZSI6MTIwMCwicGluVXZBdXRoUHJvdG9jb2xzIjpbMiwxXSwibWF4Q3JlZGVudGlhbENvdW50SW5MaXN0Ijo4LCJtYXhDcmVkZW50aWFsSWRMZW5ndGgiOjEyOCwidHJhbnNwb3J0cyI6WyJ1c2IiXSwiYWxnb3JpdGhtcyI6W3sidHlwZSI6InB1YmxpYy1rZXkiLCJhbGciOi03fSx7InR5cGUiOiJwdWJsaWMta2V5IiwiYWxnIjotOH1dLCJtaW5QSU5MZW5ndGgiOjYsImZpcm13YXJlVmVyc2lvbiI6MzI4NzA2LCJjZXJ0aWZpY2F0aW9ucyI6eyJGSVBTLUNNVlAtMiI6MiwiRklQUy1DTVZQLTItUEhZIjozfX19LCJzdGF0dXNSZXBvcnRzIjpbeyJzdGF0dXMiOiJGSURPX0NFUlRJRklFRF9MMSIsImVmZmVjdGl2ZURhdGUiOiIyMDIxLTAyLTE4IiwiY2VydGlmaWNhdGlvbkRlc2NyaXB0b3IiOiJZSyA1IEZJUFMiLCJjZXJ0aWZpY2F0ZU51bWJlciI6IkZJRE8yMDAyMDIxMDExODAwNCIsImNlcnRpZmljYXRpb25Qb2xpY3lWZXJzaW9uIjoiMS4zLjciLCJjZXJ0aWZpY2F0aW9uUmVxdWlyZW1lbnRzVmVyc2lvbiI6IjEuMyJ9XSwidGltZU9mTGFzdFN0YXR1c0NoYW5nZSI6IjIwMjEtMDItMTgifSx7ImFhZ3VpZCI6IjE0OWEyMDIxLThlZjYtNDEzMy05NmI4LTgxZjhkNWI3ZjFmNSIsIm1ldGFkYXRhU3RhdGVtZW50Ijp7ImxlZ2FsSGVhZGVyIjoiaHR0cHM6Ly9maWRvYWxsaWFuY2Uub3JnL21ldGFkYXRhL21ldGFkYXRhLXN0YXRlbWVudC1sZWdhbC1oZWFkZXIvIiwiYWFndWlkIjoiMTQ5YTIwMjEtOGVmNi00MTMzLTk2YjgtODFmOGQ1YjdmMWY1IiwiZGVzY3JpcHRpb24iOiJTZWN1cml0eSBLZXkgYnkgWXViaWNvIHdpdGggTkZDIiwiYXV0aGVudGljYXRvclZlcnNpb24iOjUwMjAwLCJwcm90b2NvbEZhbWlseSI6ImZpZG8yIiwic2NoZW1hIjozLCJ1cHYiOlt7Im1ham9yIjoxLCJtaW5vciI6MH1dLCJhdXRoZW50aWNhdGlvbkFsZ29yaXRobXMiOlsic2VjcDI1NnIxX2VjZHNhX3NoYTI1Nl9yYXciLCJlZDI1NTE5X2VkZHNhX3NoYTUxMl9yYXciXSwicHVibGljS2V5QWxnQW5kRW5jb2RpbmdzIjpbImNvc2UiXSwiYXR0ZXN0YXRpb25UeXBlcyI6WyJiYXNpY19mdWxsIl0sInVzZXJWZXJpZmljYXRpb25EZXRhaWxzIjpbW3sidXNlclZlcmlmaWNhdGlvbk1ldGhvZCI6Im5vbmUifSx7InVzZXJWZXJpZmljYXRpb25NZXRob2QiOiJwcmVzZW5jZV9pbnRlcm5hbCJ9LHsidXNlclZlcmlmaWNhdGlvbk1ldGhvZCI6InBhc3Njb2RlX2ludGVybmFsIiwiY2FEZXNjIjp7ImJhc2UiOjY0LCJtaW5MZW5ndGgiOjQsIm1heFJldHJpZXMiOjgsImJsb2NrU2xvd2Rvd24iOjB9fV1dLCJrZXlQcm90ZWN0aW9uIjpbImhhcmR3YXJlIiwic2VjdXJlX2VsZW1lbnQiXSwibWF0Y2hlclByb3RlY3Rpb24iOlsib25fY2hpcCJdLCJjcnlwdG9TdHJlbmd0aCI6MTI4LCJhdHRhY2htZW50SGludCI6WyJleHRlcm5hbCIsIndpcmVkIiwid2lyZWxlc3MiLCJuZmMiXSwidGNEaXNwbGF5IjpbXSwiYXR0ZXN0YXRpb25Sb290Q2VydGlmaWNhdGVzIjpbIk1JSURIakNDQWdhZ0F3SUJBZ0lFRzBCVDl6QU5CZ2txaGtpRzl3MEJBUXNGQURBdU1Td3dLZ1lEVlFRREV5TlpkV0pwWTI4Z1ZUSkdJRkp2YjNRZ1EwRWdVMlZ5YVdGc0lEUTFOekl3TURZek1UQWdGdzB4TkRBNE1ERXdNREF3TURCYUdBOHlNRFV3TURrd05EQXdNREF3TUZvd0xqRXNNQ29HQTFVRUF4TWpXWFZpYVdOdklGVXlSaUJTYjI5MElFTkJJRk5sY21saGJDQTBOVGN5TURBMk16RXdnZ0VpTUEwR0NTcUdTSWIzRFFFQkFRVUFBNElCRHdBd2dnRUtBb0lCQVFDL2p3WXVoQlZscWFpWVdFTXNyV0Zpc2dKK1B0TTkxZVNycEk0VEs3VTUzbXdDSWF3U0RIeTh2VW1rNU4yS0FqOWFidlQ5TlA1U01TMWhRaTN1c3hvWUdvblhRZ2ZPNlpYeVVBOWErS0FrcWRGbkJubHl1Z1NlQ09lcDhFZFpGZnNhUkZ0TWprd3o1R2N6MlB5NHZJWXZDZE1IUHR3YXowYlZ1em5ldWVJRXo2VG5RakU2M1JkdDJ6YnduZWJ3VEc1WnliZVdTd2J6eStCSjM0WkhjVWhQQVk4OXlKUVh1RTBJek1aRmNFQmJQTlJiV0VDUktnanEvL3FUOW5tRE9GVmxTUkN0MndpcVBTemx1d24rditzdVFFQnNValRHTUVkMjV0S1hYVGtOVzIxd0lXYnhlU3lVb1RYd0x2R1M2eGx3UVNnTnBrMnFYWXdmOGlYZzdWV1pBZ01CQUFHalFqQkFNQjBHQTFVZERnUVdCQlFnSXZ6MGJOR0poamdwVG9rc3lLcFA5eHY5b0RBUEJnTlZIUk1FQ0RBR0FRSC9BZ0VBTUE0R0ExVWREd0VCL3dRRUF3SUJCakFOQmdrcWhraUc5dzBCQVFzRkFBT0NBUUVBanZqdU9NRFNhK0pYRkNMeUJLc3ljWHRCVlpzSjRVZTNMYmFFc1BZNE1ZTi9oSVE1Wk01cDdFamZjbk1HNEN0WWtOc2ZOSGMwQWhCTGRxNDVyblQ4N3EvNk8zdlVFdE5NYWZiaFU2a3RoWDdZKzlYRk45TnBtWXhyK2VrVlk1eE94aThoOUpESWdvTVA0VkIxdVMwYXVuTDFJR3FyTm9vTDltbUZuTDJrTFZWZWU2L1ZSNkM1K0tTVENNQ1dwcE11SklaSUkydjlvNGRrb1o4WTdRUmpRbExmWXpkM3FHdEtidzd4YUYxVXNHLzV4VWIvQnR3YjJYMmc0SW5waUIveXQvM0NwUVhwaVdYL0s0bUJ2VUtpR24wNVpzcWVZMWd4NGcweExCcWNVOXBzbXlQeksrVnNndzJqZVJRNUpsS0R5cUUwaGViZkMxdHZGdTBDQ3JKRmN3PT0iXSwiaWNvbiI6ImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0FBQUFBZkNBWUFBQUNHVnMrTUFBQUFBWE5TUjBJQXJzNGM2UUFBQUFSblFVMUJBQUN4and2OFlRVUFBQUFKY0VoWmN3QUFIWVlBQUIyR0FWMmlFNEVBQUFiTlNVUkJWRmhIcFZkN1ROVjFGRC8zZDU5d2VRU0lnUzlBUUFYY0ZMQVFaaTlmcGVWejF0WS9XVFpyNVd4cGM3VzVrbkxhNWpJM1o4NXNyUzJuTTJzanRXd1pTN0lVSDRINHhDbkVReDREQVpGNzRWN3VzODg1djkvbEluQnZWSi9CNFB2OW51LzVudS81bnZNNTU2ZnpBL1F2MEhiL0lyWDNWRktQbzQ1Y25tNGluVUlXWXdMRlJtWlFVdXdqRkcvTjFpUkhoMUVaME5SVlJ1ZHF0MUJkKzJuU0t5Uy9PaHlzMCtsazNlLzNrUTlxdkQ0WlV0YTRWVlNVdVkwZWlweWlUaEFmb2NvT1JWZ0R1dXczcUtSaUFkM3JiY0V0alRqWUlvZjZXYUhzQ216VlBXQ014K2NnaDh0THFXTUthTVdzVWpMcW8yUnRKSVEwb096bWVycFF1NGVzWmdzT05rR3hIN2Qwa2R2VFQxN3M0T01VN1ZJOFpoamdHYU0rQXE5aUVOdThQaWYxdWR6MDdNd3ZLV2Y4R2xWb0NFWTA0UEM1V2RUYVhZRmJSOHZOdkw1KzNLZ2ZiNXhOTXlhOVJhbUppeW5hTWxHVFZ0RmxyNmJhOXUrcHFuRVg0dU11UlJnalNZRWhyTjd1dEZGZTZscWFsN05ma3c1aW1BR0h5blBwYms4Vm1ZMHhzdG5wdGxGQ1ZDWXR6VHVCTjgzUXBNTGpUdGV2ZFB6U1VuSjdlOG1ranhaMzlmWGJLRGZsZFpxYnZVK1RVZ0duQlZGNmZRMmlQSGc0VzE2VVdVd3Z6YmsxNnNNWkUrUG4wcHZ6N0pTZXVBeWVzOGxjcENtYUt1by9wK3FXcjJVY3dJQUhXcnZQMFlFemhYQXRMQWJzc0hocDdpR2FtdnlpalA4cnlxclhVV1g5WG9vd3h5QXVmTkJycDQzUE9CRlhabGtmOE1EUmlxY3B5b3dBd3B1ejJ4K2ZXdnovRHRkZTlzbXN6eWd0Y1I2QzF3YmR6Qmw2T2xxNVdOWVk0b0dhdGhKTXJrVEV4MGpBUlNIQVZzKzVyWWtRTlhiK1FnZlBMc1E2Z1h5SW5zcmVRZm1wbTdSVkZZZkw4Nm4xZmlVT2tZdlNoa1VQeHZidWt6b3k2SzFpaE0xaG8zWHpXNkV2U2ZYQStkcGlXR2FXZCtkb1h6THptR3dLWUZMQ0FzUkFsUEJBaE1sQ0ZYVTd0QlVWUHI4SGdWY0pIV3ErRjAwcGxyK0RNVGRyUDR6dnhZMTFrTk1oeFQrU2VUR2crZDRWNUxRSml0eVVHSk5COFZGWnNqZ1lCWk0vSUkvWENUa2owcXlET3BGMkFWUTE3Q0lqVXAvRG5UMVVrTDVGNWdkaitzUzF3ZzFnRTNnaWdtNjBmQ1h6U25QWGJ5QVBiSVh2K0lEcEUxNlRoYUhJUzlza3lobG1NRTVGM2NmcUFLaHEyQzBFNVBIMWdZYVhhTFBEa1pHMEhESk9uS1dIcDUxSTB6NVNPdXg4ZTFXQXVaemRIUXJUa3A4VG1qWG9JK2xhMHdHWnN6dWJxYk8zaWZRNkEvVzd2VlNZc1YzbVIwSkt3a0tjNFdIaUJrbVI4STNDQ2dJODdvT0w0cXpUNVArUlVKQmVqRU9nQVBLOGhZUHphdE0rZUlUcDJJTzl5VFFtZXJvbVBSeHgxcXhBY3NpbGUvdWJTZUViY1dRR1lFQ2doY0xZMkh5S2pvZ2pIMjVoTXBqcFV2MU91Z2xpNGVoMmVSdzBPMzJiSmpreXVDZ056ZzB2emxZTVNpU3MwdW9vNE1HN2hNT2pDRWFYMXlGRTBuU3ZqQnp1VG5FcEs4Nlo4SW9xRkFJdWJ3OGtnOUFyRWFSRVdTWkkrakg0WGJwNmc5RTlFbkpUM29hUnpETitNVUpCUURIbjU2YThvVW1FQnVzT3hCcy9ONSt0SkViUGtBRkRqOFVHdk9zL0lXdmNTZ2xHQmh2UzcvRlRZZnBXR1lkRFk4ZlBBeFdTQTM1c1RDNHA0K0xtNEFhcUlvUGVRdGZ1Zks2SmgwWmh4bGJzVVhPU21YTmlmRDVaVEFreURvZmJiY2NseG5BOFdOQXF4Q2JSTnlraFh4UXBhRHc2N2ZYVVlic2lHMEtodHYyb2VJdmg4cmhRTVlPY0VBcVhHL2VJK3puZ09jNXl4cjhxODJJQU0xYy9GTEZPcGxxdTVlRlFYck1aekdjVkNqWWJMV0c1STRCVDFldVJybGJ4dE5PdE1pdERERWhMWElJeW5BQXZ1T0VXRTNYM05kQWZ0OTRWZ2FHNDJYSVF0MFpYNlBlQ0UvcVFGZTlySzZIeDdZVTUwS3ZIN2ZXNGZTK3E3S0tCSnhzZ2dCWDVwU0FHaDFqSXJWaDV6UTZ3M1JmYWFoQlhtL2FDYkNaVGpDVUZVVHlXWnFXOXA2Mk1qSlBYVnFPclBnTU80TnY3NEdrZitvd2Z0TlZCRFFuakZKcUhTdzE3cFh2aFdXNUtacWUvUTQ5Ti9VU1RDQVZXb1FYRklIQkhYWGUzRlByVURzdUdEbXRGL2hIS1RIcGVreGhpQU9QSStTSnE2UzZIRjRJOVlXemtCSlRvNDZpVU16V3A4UGlyL1JpZHVMeEtZc1Nrc1Y4dkxsT1F2aEdYMllsUjBPQmhCakMrdS9nRWN2WTBBcEs3WWs0MU54alBTUW5XRkhURjY2VXJqZ2V2QjhDdTVhK2wydllTUlB0dVZEbzczaGhkTVNIblVYN3RUanNWWkd4QWwvV3B0aU9JRVExZ25MMjltWDYvdFIxdG1sa1lqOFc0WCtDU2pXY1VER1kxTnBTL0M3aFNLcWlNTE0vbDJRbVNXWjczRGR6K2dpbzhCQ0VOWVBRNDZxbmt6d1hVYnF2Qmt4alVRc1dmWkZnYnVvM3JBZit3TjdqT085MCt5bng0UGkzTCswbllMMVNjaERVZ0FQNGdQVi83SWQxcSsxSFNobXVHa0lxV1JQZ3l4TUZxUDhIZmpUbmpYd1k1YlFmYkpjdDZPSXpLZ01Ib3RGL0hlMWVnc2F4SFNxRzZ3ZmRtUTV4OE55VEZGcUJjcDJpU293SFIzeWs1KzM2aEY3dlhBQUFBQUVsRlRrU3VRbUNDIiwiYXV0aGVudGljYXRvckdldEluZm8iOnsidmVyc2lvbnMiOlsiVTJGX1YyIiwiRklET18yXzAiLCJGSURPXzJfMV9QUkUiXSwiZXh0ZW5zaW9ucyI6WyJjcmVkUHJvdGVjdCIsImhtYWMtc2VjcmV0Il0sImFhZ3VpZCI6IjE0OWEyMDIxOGVmNjQxMzM5NmI4ODFmOGQ1YjdmMWY1Iiwib3B0aW9ucyI6eyJwbGF0IjpmYWxzZSwicmsiOnRydWUsImNsaWVudFBpbiI6dHJ1ZSwidXAiOnRydWUsImNyZWRlbnRpYWxNZ210UHJldmlldyI6dHJ1ZX0sIm1heE1zZ1NpemUiOjEyMDAsInBpblV2QXV0aFByb3RvY29scyI6WzFdLCJtYXhDcmVkZW50aWFsQ291bnRJbkxpc3QiOjgsIm1heENyZWRlbnRpYWxJZExlbmd0aCI6MTI4LCJ0cmFuc3BvcnRzIjpbIm5mYyIsInVzYiJdLCJhbGdvcml0aG1zIjpbeyJ0eXBlIjoicHVibGljLWtleSIsImFsZyI6LTd9LHsidHlwZSI6InB1YmxpYy1rZXkiLCJhbGciOi04fV19fSwic3RhdHVzUmVwb3J0cyI6W3sic3RhdHVzIjoiRklET19DRVJUSUZJRURfTDEiLCJlZmZlY3RpdmVEYXRlIjoiMjAyMC0wNS0xMiIsImNlcnRpZmljYXRpb25EZXNjcmlwdG9yIjoiU2VjdXJpdHkgS2V5IE5GQyBieSBZdWJpY28iLCJjZXJ0aWZpY2F0ZU51bWJlciI6IkZJRE8yMDAyMDE5MTAxNzAwNCIsImNlcnRpZmljYXRpb25Qb2xpY3lWZXJzaW9uIjoiMS4xLjEiLCJjZXJ0aWZpY2F0aW9uUmVxdWlyZW1lbnRzVmVyc2lvbiI6IkZJRE8yMDAyMDEifV0sInRpbWVPZkxhc3RTdGF0dXNDaGFuZ2UiOiIyMDIwLTA1LTEyIn0seyJhYWlkIjoiMDA1MiMwMDAyIiwibWV0YWRhdGFTdGF0ZW1lbnQiOnsibGVnYWxIZWFkZXIiOiJodHRwczovL2ZpZG9hbGxpYW5jZS5vcmcvbWV0YWRhdGEvbWV0YWRhdGEtc3RhdGVtZW50LWxlZ2FsLWhlYWRlci8iLCJhYWlkIjoiMDA1MiMwMDAyIiwiZGVzY3JpcHRpb24iOiJpLVNwcmludCBBbmRyb2lkIEZpbmdlclByaW50IFVBRiBBdXRoZW50aWNhdG9yIiwiYXV0aGVudGljYXRvclZlcnNpb24iOjEsInByb3RvY29sRmFtaWx5IjoidWFmIiwic2NoZW1hIjozLCJ1cHYiOlt7Im1ham9yIjoxLCJtaW5vciI6MH1dLCJhdXRoZW50aWNhdGlvbkFsZ29yaXRobXMiOlsic2VjcDI1NnIxX2VjZHNhX3NoYTI1Nl9yYXciXSwicHVibGljS2V5QWxnQW5kRW5jb2RpbmdzIjpbImVjY194OTYyX3JhdyJdLCJhdHRlc3RhdGlvblR5cGVzIjpbImJhc2ljX3N1cnJvZ2F0ZSJdLCJ1c2VyVmVyaWZpY2F0aW9uRGV0YWlscyI6W1t7InVzZXJWZXJpZmljYXRpb25NZXRob2QiOiJmaW5nZXJwcmludF9pbnRlcm5hbCJ9XV0sImtleVByb3RlY3Rpb24iOlsic29mdHdhcmUiXSwibWF0Y2hlclByb3RlY3Rpb24iOlsic29mdHdhcmUiXSwiYXR0YWNobWVudEhpbnQiOlsiaW50ZXJuYWwiXSwidGNEaXNwbGF5IjpbImFueSJdLCJ0Y0Rpc3BsYXlDb250ZW50VHlwZSI6InRleHQvcGxhaW4iLCJ0Y0Rpc3BsYXlQTkdDaGFyYWN0ZXJpc3RpY3MiOlt7IndpZHRoIjozMjAsImhlaWdodCI6NDgwLCJiaXREZXB0aCI6MTYsImNvbG9yVHlwZSI6MiwiY29tcHJlc3Npb24iOjAsImZpbHRlciI6MCwiaW50ZXJsYWNlIjowfV0sImF0dGVzdGF0aW9uUm9vdENlcnRpZmljYXRlcyI6W10sImljb24iOiJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUs0QUFBQTlDQVlBQUFBMC9sSURBQUFBQ1hCSVdYTUFBQXNUQUFBTEV3RUFtcHdZQUFBS1RXbERRMUJRYUc5MGIzTm9iM0FnU1VORElIQnliMlpwYkdVQUFIamFuVk4zV0pQM0ZqN2Y5MlVQVmtMWThMR1hiSUVBSWlPc0NNZ1FXYUlRa2dCaGhCQVNRTVdGaUFwV0ZCVVJuRWhWeElMVkNraWRpT0tnS0xoblFZcUlXb3RWWERqdUg5eW50WDE2NyszdCs5Zjd2T2VjNS96T2VjOFBnQkVTSnBIbW9tb0FPVktGUERyWUg0OVBTTVRKdllBQ0ZVamdCQ0FRNXN2Q1p3WEZBQUR3QTNsNGZuU3dQL3dCcjI4QUFnQncxUzRrRXNmaC80TzZVQ1pYQUNDUkFPQWlFdWNMQVpCU0FNZ3VWTWdVQU1nWUFMQlRzMlFLQUpRQUFHeDVmRUlpQUtvTkFPejBTVDRGQU5pcGs5d1hBTmlpSEtrSUFJMEJBSmtvUnlRQ1FMc0FZRldCVWl3Q3dNSUFvS3hBSWk0RXdLNEJnRm0yTWtjQ2dMMEZBSGFPV0pBUFFHQUFnSmxDTE13QUlEZ0NBRU1lRTgwRElFd0RvRERTditDcFgzQ0Z1RWdCQU1ETGxjMlhTOUl6RkxpVjBCcDM4dkRnNGlIaXdteXhRbUVYS1JCbUNlUWluSmViSXhOSTV3Tk16Z3dBQUJyNTBjSCtPRCtRNStiazRlWm01Mnp2OU1XaS9tdndieUkrSWZIZi9yeU1BZ1FBRUU3UDc5cGY1ZVhXQTNESEFiQjF2MnVwV3dEYVZnQm8zL2xkTTlzSm9Gb0swSHI1aTNrNC9FQWVucUZReUR3ZEhBb0xDKzBsWXFHOU1PT0xQdjh6NFcvZ2kzNzIvRUFlL3R0NjhBQnhta0NacmNDamcvMXhZVzUycmxLTzU4c0VRakZ1OStjai9zZUZmLzJPS2RIaU5MRmNMQldLOFZpSnVGQWlUY2Q1dVZLUlJDSEpsZUlTNlg4eThSK1cvUW1UZHcwQXJJWlB3RTYyQjdYTGJNQis3Z0VDaXc1WTBuWUFRSDd6TFl3YUM1RUFFR2MwTW5uM0FBQ1R2L21QUUNzQkFNMlhwT01BQUx6b0dGeW9sQmRNeGdnQUFFU2dnU3F3UVFjTXdSU3N3QTZjd1IyOHdCY0NZUVpFUUF3a3dEd1FRZ2JrZ0J3S29SaVdRUmxVd0RyWUJMV3dBeHFnRVpyaEVMVEJNVGdONStBU1hJSHJjQmNHWUJpZXdoaThoZ2tFUWNnSUUyRWhPb2dSWW83WUlzNElGNW1PQkNKaFNEU1NnS1FnNllnVVVTTEZ5SEtrQXFsQ2FwRmRTQ1B5TFhJVU9ZMWNRUHFRMjhnZ01vcjhpcnhITVpTQnNsRUQxQUoxUUxtb0h4cUt4cUJ6MFhRMEQxMkFscUpyMFJxMEhqMkF0cUtuMFV2b2RYUUFmWXFPWTREUk1RNW1qTmxoWEl5SFJXQ0pXQm9teHhaajVWZzFWbzgxWXgxWU4zWVZHOENlWWU4SUpBS0xnQlBzQ0Y2RUVNSnNncENRUjFoTVdFT29KZXdqdEJLNkNGY0pnNFF4d2ljaWs2aFB0Q1Y2RXZuRWVHSTZzWkJZUnF3bTdpRWVJWjRsWGljT0UxK1RTQ1FPeVpMa1Rnb2hKWkF5U1F0SmEwamJTQzJrVTZRKzBoQnBuRXdtNjVCdHlkN2tDTEtBckNDWGtiZVFENUJQa3Z2SncrUzNGRHJGaU9KTUNhSWtVcVNVRWtvMVpUL2xCS1dmTWtLWm9LcFJ6YW1lMUFpcWlEcWZXa2x0b0haUUwxT0hxUk0wZFpvbHpac1dROHVrTGFQVjBKcHBaMm4zYUMvcGRMb0ozWU1lUlpmUWw5SnI2QWZwNSttRDlIY01EWVlOZzhkSVlpZ1pheGw3R2FjWXR4a3ZtVXltQmRPWG1jaFVNTmN5RzVsbm1BK1liMVZZS3ZZcWZCV1J5aEtWT3BWV2xYNlY1NnBVVlhOVlA5VjVxZ3RVcTFVUHExNVdmYVpHVmJOUTQ2a0oxQmFyMWFrZFZidXBOcTdPVW5kU2oxRFBVVitqdmwvOWd2cGpEYktHaFVhZ2hraWpWR08zeGhtTklSYkdNbVh4V0VMV2NsWUQ2eXhybUUxaVc3TDU3RXgyQmZzYmRpOTdURk5EYzZwbXJHYVJacDNtY2MwQkRzYXg0UEE1Mlp4S3ppSE9EYzU3TFFNdFB5MngxbXF0WnExK3JUZmFldHErMm1MdGN1MFc3ZXZhNzNWd25VQ2RMSjMxT20wNjkzVUp1amE2VWJxRnV0dDF6K28rMDJQcmVla0o5Y3IxRHVuZDBVZjFiZlNqOVJmcTc5YnYwUjgzTURRSU5wQVpiREU0WS9ETWtHUG9hNWhwdU5Id2hPR29FY3RvdXBIRWFLUFJTYU1udUNidWgyZmpOWGdYUG1hc2J4eGlyRFRlWmR4clBHRmlhVExicE1Ta3hlUytLYzJVYTVwbXV0RzAwM1RNek1nczNLellyTW5zampuVm5HdWVZYjdadk52OGpZV2xSWnpGU29zMmk4ZVcycFo4eXdXV1RaYjNySmhXUGxaNVZ2VlcxNnhKMWx6ckxPdHQxbGRzVUJ0WG13eWJPcHZMdHFpdG02M0VkcHR0M3hUaUZJOHAwaW4xVTI3YU1lejg3QXJzbXV3RzdUbjJZZllsOW0zMnp4M01IQklkMWp0ME8zeHlkSFhNZG14d3ZPdWs0VFREcWNTcHcrbFhaeHRub1hPZDh6VVhwa3VReXhLWGRwY1hVMjJuaXFkdW4zckxsZVVhN3JyU3RkUDFvNXU3bTl5dDJXM1UzY3c5eFgyciswMHVteHZKWGNNOTcwSDA4UGRZNG5ITTQ1Mm5tNmZDODVEbkwxNTJYbGxlKzcwZVQ3T2NKcDdXTUczSTI4UmI0TDNMZTJBNlBqMWwrczdwQXo3R1BnS2ZlcCtIdnFhK0l0ODl2aU4rMW42WmZnZjhudnM3K3N2OWovaS80WG55RnZGT0JXQUJ3UUhsQWIyQkdvR3pBMnNESHdTWkJLVUhOUVdOQmJzR0x3dytGVUlNQ1ExWkgzS1RiOEFYOGh2NVl6UGNaeXlhMFJYS0NKMFZXaHY2TU13bVRCN1dFWTZHendqZkVINXZwdmxNNmN5MkNJamdSMnlJdUI5cEdaa1grWDBVS1NveXFpN3FVYlJUZEhGMDl5eldyT1JaKzJlOWp2R1BxWXk1Tzl0cXRuSjJaNnhxYkZKc1kreWJ1SUM0cXJpQmVJZjRSZkdYRW5RVEpBbnRpZVRFMk1ROWllTnpBdWRzbWpPYzVKcFVsblJqcnVYY29ya1g1dW5PeTU1M1BGazFXWkI4T0lXWUVwZXlQK1dESUVKUUx4aFA1YWR1VFIwVDhvU2JoVTlGdnFLTm9sR3h0N2hLUEpMbW5WYVY5ampkTzMxRCttaUdUMFoxeGpNSlQxSXJlWkVaa3JrajgwMVdSTmJlck0vWmNka3RPWlNjbEp5alVnMXBsclFyMXpDM0tMZFBaaXNya3cza2VlWnR5aHVUaDhyMzVDUDVjL1BiRld5RlROR2p0Rkt1VUE0V1RDK29LM2hiR0Z0NHVFaTlTRnJVTTk5bS91cjVJd3VDRm55OWtMQlF1TEN6MkxoNFdmSGdJcjlGdXhZamkxTVhkeTR4WFZLNlpIaHA4Tko5eTJqTHNwYjlVT0pZVWxYeWFubmM4bzVTZzlLbHBVTXJnbGMwbGFtVXljdHVydlJhdVdNVllaVmtWZTlxbDlWYlZuOHFGNVZmckhDc3FLNzRzRWE0NXVKWFRsL1ZmUFY1YmRyYTNrcTN5dTNyU091azYyNnM5MW0vcjBxOWFrSFYwSWJ3RGEwYjhZM2xHMTl0U3Q1MG9YcHE5WTdOdE0zS3pRTTFZVFh0Vzh5MnJOdnlvVGFqOW5xZGYxM0xWdjJ0cTdlKzJTYmExci9kZDN2ekRvTWRGVHZlNzVUc3ZMVXJlRmRydlVWOTlXN1M3b0xkanhwaUc3cS81bjdkdUVkM1Q4V2VqM3VsZXdmMlJlL3JhblJ2Yk55dnY3K3lDVzFTTm8wZVNEcHc1WnVBYjlxYjdacDN0WEJhS2c3Q1FlWEJKOSttZkh2alVPaWh6c1BjdzgzZm1YKzM5UWpyU0hrcjBqcS9kYXd0bzIyZ1BhRzk3K2lNbzUwZFhoMUh2cmYvZnU4eDQyTjF4eldQVjU2Z25TZzk4Zm5rZ3BQanAyU25ucDFPUHozVW1keDU5MHo4bVd0ZFVWMjlaMFBQbmo4WGRPNU10MS8zeWZQZTU0OWQ4THh3OUNMM1l0c2x0MHV0UGE0OVIzNXcvZUZJcjF0djYyWDN5KzFYUEs1MDlFM3JPOUh2MDMvNmFzRFZjOWY0MXk1ZG4zbTk3OGJzRzdkdUp0MGN1Q1c2OWZoMjl1MFhkd3J1VE54ZGVvOTRyL3krMnYzcUIvb1A2biswL3JGbHdHM2crR0RBWU0vRFdRL3ZEZ21IbnY2VS85T0g0ZEpIekVmVkkwWWpqWStkSHg4YkRScTk4bVRPaytHbnNxY1R6OHArVnY5NTYzT3I1OS85NHZ0THoxajgyUEFMK1l2UHY2NTVxZk55NzZ1cHJ6ckhJOGNmdk01NVBmR20vSzNPMjMzdnVPKzYzOGU5SDVrby9FRCtVUFBSK21QSHA5QlA5ejduZlA3OEwvZUU4L3NsMHA4ekFBQUFCR2RCVFVFQUFMR09mUHRSa3dBQUFDQmpTRkpOQUFCNkpRQUFnSU1BQVBuL0FBQ0E2UUFBZFRBQUFPcGdBQUE2bUFBQUYyK1NYOFZHQUFBYWhrbEVRVlI0MnV5ZGVaaGxWWFgyZjJ1Zk85U3RxaTZxZW02bVptajRtb2JFK0JHUk1TSkRDSk1RQ1lvZ0NrSEZLWUlHSVFvbU9BUWt3U2lScUlnQ1JpTUVHVVFrWUFRUlpBb05DQi9JNU5EZEFxR2JucnU2cXV2ZWU4NWUzeDk3M2E1VHA4NnR1bFZVUXpyUFhjOXpuKzQrd3o1N2VQZGE3MXByNzkyaXFyU2xMVnVidUhZWHRLVU4zTGEwcFEzY3RyU2xEZHkydElIYmxyYTBnZHVXdHJTQjI1WTJjTnZTbGpadzI5S1dObkRiMGhhZ01OWk5FWmtIOUFKSitqS3dFbGd6aWUvdGJ1OXJxaXdIUEovNnh2WkFWK3FaVnlNQ2JBSitQODV6MDREOWdIMkFSY0JNb05QdURRSHJnZDhCandNUEE3OGU3OE5kVWNUbHUrNUJiNkZBc2hXbjFRV0tUdlVkQ2tjZzdBQ1VnZGgrbTBUNUduQmIzcnVLNE9YVmZmK0VweCtmT0hDQm5ZR2ZBc1hNOWNlQlA3RkJiVlUrQ0Z4bVlFcC8vMnJnQTZsclh3ZU9tTUsrWHd3YzBPVGVUT0JzNE4zQS9CYkwyd1RjQzF3Ty9QaC91V0xyVTdneEVYa3JtWUZyaUJmdWJnYmMxNU1xUEFEOHN3RTMvWHNUOFBFSmZHYzc0UE5BS1ZQT2Z3T2Z6bWowVXM3M1hzMnYxS1JPYndidUI4NmZBR2dCS2pheGJnVytCL1RrUGVSUi9oY3NYem9QZU91d0JoMzlteUxMT0xWVXdlU3p3T0hBM3Bucm53WnVORE0vbm56UnRGdFdQZ3lzR0RYbVV5dmxuR3U3R2ZCbWpmRmViQk9xMUVUWkFKd0N6QWJlbHJVK1hTNmlKTEkxZ3pjQ2pzbTUvanp3bFBWUFh3czA3SFVEN2hCd3BtbW5OQWk2Z1M4Qng0N3ovaEZtaXJQeVRlQkhMZGJ6Q1dEMUpKeEpBWjdKdVg1SkU5RCtBcmdPZU14NHZEZSt2Y2pBK1k0YzJuUTQ4RGZBaFNObVJxV0w2WVVDZzk1dnJjQ3RBRE55S09KQndNYi8wYzVaU2g0MVUvK0Z6UFZqZ0JPQkh6UjVyOVBBblpYZjJtQzNLaDhGN3B1aU51OENISlZ6L1IrQmM1dTg4eFJ3UGZCdDRQdkEzSno2L1l1QkhZQkZuVjFqS09xdFJ1Tm1HL0RML3dtZ25RaHdBZjdCQm56L25BRy9FMWliODg0NXdKNDVWT0JEVFo1dkpzVXBiUE1mNWRDSEpjQUZMYng3dDlHYm16S093Z3lRdzRCclBVcEpISHQyZGhPUGppYk1BL1lBZGpReld3U3FGcUg1UGZCc0RuVnFWV1phMlRzQjA2Mk5pUUZ0RGJBTStNMEVva0ZKTG5XZm5Nd0g5cktJVVkrVnM4YjYvVmZwQ2I4bGdGdTN5TUJEcVZCUm8xSi9tK09zN2RGRWcxMXVrWXFKbXZ5cGtqazUxMTRDYWkyK2Y2dFJpVjBCRllHQ0lzRHVJTlJRRHVycFkyRm5GNFBKNXJFL0RuaS9SVGQ2eHloN3RUbkVWd0UvYkxFKyt3Sm5BWWNZM3g1TGxodmwrelp3ZTg3OXM4MkNlcHRVMDNNczdMMHB5aWJBVjVwWTNBaDRKM0FHSWN6WTNhUk9LNEdmRzNXOGMwc0FGK0JKQSttbG1lc2ZNUk82T0hYdG40d2ZwdVdaRmpYYmxwUThnRFkwMWRJVzNvK0JQd01xQ0Y0RXZPSmlkQ01vODBwbFRwbzloM3JndGhYZ0N1RFVGdXMydzN5R1k0RWJET3pyeG5qK0hPQ2lDVmlrdWNBSjlydlNyRWVjdXI4d3g2Sm1KMzEyNHQrVTg5d2lRbGp6VDFxbzB5eWJMQ2NDMzdWSnVIYXFnWXZOc0tQVFlSTHJ1QzhEQjF0SHZNc0dOMnQ2UGdqMFQrS2I5U2tFN25OTkFIT2JUYXE3Z0EzamxKRnIyZ29pbkxQOWZMWXJkVERnRXlUdysxT2JhTDZYckUrMkljVExzMkc3dnpEZ0g5ZkViSjlzTkMwckc0eDJESnBtN0RGcTBwRjU3djJFcE1vWFg2Vmx5NzZ6anpuZGVaWnRtVkdoQXJCRGpvTjhLckRBTlB1YXFRWnVZaHoxWVViR01BOEEzbXVhOTVLYzk3NWtabVl5c3AzeG84bWtxSmRudE95anhpVVg1bWlKbTRBWHpBbDUya0kvUzYyTWw3UGFMMUlRQkMrS1F6aHAxbHdXZFhZemtDUklLUC85T1FOM25wbkUxYWx3M1M3QWFjQW5NbU55TlBEMkhGUGNEZng5NXRwR20zZzNXbDBiWU84d2tKd01mQ3JEN3o4SWZCVVlzSDh2Tmg0ZTIwUTZMUFA4TXFOSmtxSUR6MlEwK3ZVNW9MM1ZGTnNqS2NVMTIrak5lZVozTkdRL293MG5Na2FNV01iYTVTc3k1Z1Q4c0huUzJZRjUyRDZhRGFQc1Q4ZzZqU2UzNTJqclFkTzZrOUVJaDFxSHBlVlk0SllKbEZjMTBDNnpnWG9BdUtjQXorR0VXSUpEZHVsT3U3Tnp1VUkxMElUVGphdW01VStCbjZxQUtLZ2x2d1ZBRlVUT3pabjBQODRKT1I0UDNKeTVkcHFxZm9mR2VEcVhwdzYvYUVCSk8xdDdrQitMTDFsNzB4R1VLeG1aNWN6S0ZUbjNMeEdMSVBtTW1yYTY5V2hJNUdUYmVCendvOG1tZk1lU3I1dEtQekxqcU0zUDRaUWZiQkcwakJGV204ckl5YTJtZ1M1cndhRnBhTVVHdjl2SExNdVFJdjhKY2dub0F6WHZ1V1h0U2o0eGR3YzBERkdmS0xoR2VrbEFrUUh2QkhXQ1duS2lwZ2tPb2NzVlNhcTFLOEtrbFduaHRqampleEtnclRib01pdG9QazAwT0laclZmWEdRa2VKN2huVFVWVldyRjZKOTU2aU9BbzRuRmZFKzRjeTdYSWovSkNHb2dyZzc4eVoySVc4WjYySk84bW9lTDM4RE9GdmFnS3g2SWgxQzBLWXZBV1ZEVVhQNmFCUG1HVnR5RmthSnEyZmF1Q3FPV1dQNUhpZmFia1krSy9YMFJuYjNGM09PYUlvb2w2dlEwZzAzRytXNHdSQ05tMGkwcEdnYjhQTGtjQ25FTDUwOTdyVkhOWFR5ODdsRG1xcXF5Tmxzd0tNSGFpNHExSDVtbnE1VDBXV0theEsxT05GNk4xdUh2SGcwUHFOcTljY29vQ3Z4NmhQeEN6ZkNMUG9WYjhOK2kwUlVWY0tmbG1wcTVPZW1kT0ppa1hpSk1hdmVvWEVlNXlBRTNvOHVxZW9uajEyUnhrSXRaVk8xZUg0bUlLZ1I0R2tGWXozK00vVXhEaUxCcUJtQVZRTER0THFvbks1SUJlbjd1NlB5RzVOZkpKeFY0ZU5qVnpWSlYxZFhlZDBkM2RmbGFVY0lrSWN4dzhQRGc1ZWxQZHVWMWNYenJWTVdaOVgxUTJUcEFxYm5jRmlzVWk1WEthL3Y1LzE2OWRUcjlkZk1ONzNPZUNQb2lqYXQ3ZTNkNjhvaWhZQjI1cVpMRFV2Mm9GS1VhUDRVaFY1eVh1OTdxRmlrYjFuem1FZ1NSNFVrUmdvSkJMWW9GUGQzU2xmc1pkZkFWN29SSmNJOHF5TG91Y3IwN2Y1VmJHdjV6ZmUrdzIxYXBYNjRKREcvUU5vSEk5b3Vqam5vMm1kRkRzcmxDcGxJb21LenJudEpVbm1ldSszQmViMTl2WE5WYS96UmRqUklUdHBjTkMycE95YmRhZ1ZQYVlTSWd2akRYUXNzS2VNR0Y3dEtKY3JlMDhLdUFzV0xCaTN0cVZTNmVwaXNYaVVlY0ZwV1M4aVozcnZhNU9kR0trSmNxYUkvSHpTS2xlRWVyM08wTkFRM250NmUzdnA3dTZtVnF0UnJWWVpHaHJhTkRBdzhDRHc0THg1OHlnV2l6am5wcW5xUE8vOURzQmVxdnJId0VFaU1qK3Rkd0lkOEZRaithejMvcFpuWWRQeW5tbnNXTzU0dnFwY2d1cjVDblFJSUFtcDFRdXpKZENVdlZHb3E2ZWV4Q0R5b2dxTG80N1NEWFNVYnl4T20xYVZlS1MxMU1oQnllSFF3ejI4Vy9IN2tmanRRU3RoUGduVFpzellqSFhWTFJBTkh5MDdaT21WQktVd0lSTStjdHhaTUttb1FxbFVhZ1ZVVkt2VkszS0FleC93ZUI0NEozSHNrd0FVQ29WSmdUYU9ZNGFHaGxJMnpCTkZFWlZLaGM3T1RsU1ZEUnMyc0dIREJwSWt3VG1IcXZhcmFyLzMvbmxWdmN2cTNLT3FKNm5xSlVCdm82ZExYcWtXMkgwSS80WmE0aCs2Y3Zudk9YLzdCU1RDQlQ1T1hwVEVueVhLd2lUeUxheFAxZTB0Z3ZMbm9HZUw2bWtXNFVoM1lKZkcvaHZKWms2cE9SQVlBZlkxRmcxSW1Ob2xveU9NNkZRWHFPaWNTUUUzUGRnVGpPWFJKUGI0cW5ocXZWNm5YQzRqSWkyQlgwUklrb1Nob1NGVUZSSHBzQkRWTkxVQ1ZOVUJ0L2YwOUR6VzNkMk5pQ0FpRGZCdUJub2pSaHJIOFRmak9ONEFYT3RzYmQ5Z0FRcERDdUozVFZRZktneFZxZld2aDQ0T25JdStnZmZYb0g0ZlVmWVYxVGRhK0dzKzBBZFNHZ1BMYndKK2dPcCs2ZGl5S0YrVlJOK2RNOURMZ0NjUmZnTXNFZVFsWUltUDVFV1VWMXlpcDI5QjRHYWQ3MEVWdmdzTWpVK2FjM3NnQXYzWnBJQnJUc3hrZ1R1bGhxa0IxdjcrZnVJNG50QjdsVXFsd2FkRlZmK1cwVXNzWndDUGlRanIxcTFEVmFsVUtrUlJ0RmtETytmdzNsT3YxMUhWbndKcm5kTFhpSlZSRjZRUWxUdWRjT3kwNlVqaXFXM2NpTGdJY1c0STlmZEtWTGhYbkVQQ1BPZ1ZaUjc0WFJUZFUxWDNSM2dMbzFQQ2k0QWpGTFZZcnV3bEllYWJsbFVPOTFGQi9rTWQvVHJDZFpmZ0dOVmpWTFYzQzFLRlphTkNyZWlGNHFMbElUaWl6UVlJdkVkelZ0R3BURElCTVJHQWJQSFFnQWkxV20waWsybFlGV3phUkxsY0J0aWtxcjhDM3BKNTVDamdVMG1TVkd1MUd0NTdCZ1lHTm12Y2hnWjJ6alUwZmk4aHF4VTZNUUdmUk5SalhiSHZOajBzS0pVN2F1aWJFU21vZXRVa0VXQUk3eCtNb29JWFYwQkUxa21JRFQvajBkc1VqNnJmUlQzWG1hWk55NTZwSk1SK09VcmhIOVJGL3g2RmNpMCtyS2dCd2lkeHcrTHMxWnp5ZVZCRlhEVFpJWHFJa1ZuQ0N2Qk9qZVBMeEVXNEtMOWNueVJvRW9OcUNaRkNDdUVGMCtMeDFnemNnU1JKOE42MzdOQ040Q3hKUXJWYWJXamR1M0tBKzMrQXk1SWsrUkNnRFpxUXBTT3FTcTFXSTRxaWM0RU9IVll0Uk9vSDZ5cFA3QmhGRklTT212YzNCeXFRaW1lcjM3MWVqNWVoaW9qRFJXR2MxUFlUYUVqQjNwQUQzTFE2NnN0cDRsSWZKOFRVUU1IN0VJWHdTUkxjK1NoQ0lyZVRpQnlmUyttODRtMnNYVkdIWTdRVGs5c0lLd2pUWFBjY1ZiMUJxN1dYeU9sUEVRRVJwQkQ5b1loOEQ5V0tBVmNJR2N1MzAyU0p3TllDM0JOVmRVOG1sL0t0QXpjbFNkSnZYUFZmZ1U4U05raW01VXpDWnM0dlczdzNteXV2QUc5VTFiUGpPRDR4Y0VvQkFhZEsxZkhEVGQ2L3VDbXBvNG11ODBueWxJUkYxK2xNMUlYcS9SbnF2ZmVxRFpJQklqaEFvcWhMUkk3T0lWMVB3MlpldnpJSFZvZXE2Zzk4YkpxMVlZSkZRZ1pOZFFIZWYxODFOOTdlbFRiVFBrNWFqL2JJaU1qUU1sV3VFZFdQcEI3Wkh1RldRaGJ4aVNiRjdFM2lyMVVaanFPSEpLSmN3aGpyV3JZVzRQNjF5S3VpelBlbE9tRVo4R2xWL1dyT2MyK1ZzREZ3dWFvdVpYZ1hSSitxN2lBaU82ZTFoamV6WEVwMGhTL0lCVFdmVUUxaVNCTFUrNityNmtHWjhrOERka1hrR2drRHVRNklFSmtKN0tQZXYxZEg1dTBCL2x0RWZwYUtIVHlvcW5GbTdNNEFYa0RrdXhMMjhZRklEN0M3cWg2UDZ2dlVqOXJOMEpCdkVkYkVQZ3Bja3NxRXRRamVFZVB5ZDZwNktDUFhnYndSZUpDUXJieUhzQURJQVR1cTZrR292azFITHdDNkN1ZStOZFozdHhxTysycG9Sc1BVTmpKbnFucDVITWZUQ2Z2cDhtUXVvM2M1akxheEluaVJwWVZFMzZWUllVbEpIUE9MWmVweGpLcS96Z2J4akF3bFBZaGhUVHhnM25OSFBsZzBBVDZHU0ZyN1A0dnFOU0R2eTR6akZ3anJuMWVZMnVvQjVveUVvVzRBNlFyZkhPSDhMV0tTaS9YRmpXamJhbFRmcnFvM0JmQksybHE5dzM3alJYTC9UVVErcE9Oc2VTcU14dzFibEx4eUpydStvSE9LZ2R2Vm9CaHhIRzhPcHdHZlM1SmtNV0dYN3dHVEtMZmY0NzZ2em4wTzAzSkZFV1pIUlJMMXFLcXE4Z0Y4ZlFub0o3QzB1SXdSKzh5QTl6bUlQb2x6dDRZTWdpSytNUjc2Y1EyUmtEL1BsTmxEYXNWZXByei9BUGNwOFA4RUhDcWp2eXM1VWFGcE9YUXBnN1VJaVVaZy9objEvbURSK0lzYTRzeUZzVUpNcVRxdUFMbEVYUEhMcmNTanhnU3ViMzJqMzNPbXZSb3ZPTUxTd2NuSUZZUXRNbE8xeTdERzhCSkM0amltV056YzBiZXI2dTJxZWlCaENlRytxcm9iWVkxc0phV1pZc0t5d1ZVaThwVFY3emJFL1haMDJGOHpUcFgrdmZQeDkwVDFCSVhETkVRSXBtZktyd01iWGRDV2p3djgySXZjb3M1dEhLMkFBZGdvNk51ZDk2Y292TWZvUlY5S2ExYUJEUzdRb2djUXVVbEY3bEVCNStNUG9IcXh3b0hHdStzdVRMeTdaSFJjOWpNR1hyVXhmV3kwZG92QlJhaEVhUml1UVAzcFR2MVhSUFZFaFVNMDdCalpodUZsa2xWZ25RczA1WFlWdVZZbGVxbGxUVDlXSUgrOFROVUUxaHBzOXNwSGVKU3ZnMFJSUktsVUlvNWpraVFaRVQyd3YzZXI2a3pUWEkydDZVUEFXaEY1UlVScW0rc3VCVFJ5ZEFGSnVZQjN3ajl1dHdzTEs1MzBKd214Vi9BMW5JOFJWYnhDSXE3VGk1dHRnMWcwYmJRcHhJV1RWeUxWV01UNHN5dUJpeENnRWpra3FUR1VlSnNjaXZNZXIxQjNoUmxHYlRwdHdnOEtyQ3o2ZUpXWU9mY2llSWx3UGdhdjFGMDBUWkVLc0tuZzQzN0h4SUlKa1FnZEZuMFpLbFlvUmlVVXBaNGtKRWxNVWV0RUljVEJrTmRHSFdjenZPcHNBRmhlOFBIYXFORmVpWkNvakV2UmorTWZlV0RxcVVJamRkckNZaHk4OXlNMGVPT2RSbnowdFpJV3dtb2JtY2hPMXRUeXZxR05nMXkrNU5lOFpmcE1EdWlieWF4aW1VMWF6NXJzUVF2MVVCUWhFbUhJZTByT1VWUWx0ajUzSWhTY3cwVVJpU28zcjNpWk1wNkQrNmJURlVVTUp2RklibWxXSlJLaDdCd0MxUHp3TXlYbmNDNmk2dU5HZmZyenZQWU81M0FJUStyeFRaUmFTUndiZmN6dHExZnpjcTNHazRPRHpPL3M0c2paYzltNTBvVVQ0ZmViaGhoS1lpb2k3RkxwcEI5WlhSQlpIZXJsbXpxQWxTZ2lJYXpkbUxUR2JVVXJpc2dJOEdZQm10VzB6YlRnWk1EYm1CQjU1VGVTQnRsNnFlcG1yZHNBY1FQSWpleGNzL28ybmhuV3VCRWVrS1JPa3FuSHpGS1pvMmZONWNqcGZYUTdTSHhDQVVjc0RoVkhKTUtMMVNGdVcvVUt2OXl3Z1owcm5melo5RDcyN095a000cFlseVFzcmNiZ0N0eTNkaVczdnJJY2dKMHFGZDQ1Wnk1djZlM0RKekhWb00wMmE4QlY5UnIzckYzRHk5VXF6d3owYndiZkRoMFY5dXFleG5FeloxQlNHTEs2SzZCeFdBZlZWWWk0WTgxcUJoUFBuMDd2WTV1b1FHemhOUkdoNWoyUkNPdmltQXVYTHVHNXdjRlJmYlJ0UndjRmhKZXJROVExTExBL2NmWnNqcGsxbHhlcVExUzlaMkZYOStiRFVnbytEcWYraUZDS2l2eGs3VHJ1V2JPS2xiVVFLbnhoMCtDV0FXNmFOb3cxNksyOG53VmRIaWdid01tYklHT1ZtMzAyYjczRENGRG1VSnNzdUZ0cDc4S3VMczZmdnhNVkVaNGFHTUM1Q0kvanNmNzEzTGxtVlhvbk1BQjdkSFl4cjF6aXlZRUJWdGFhYnp3K3RHODZwODJkeTV4aW1hcUxXRjJ2YytlYVZkeXhhaVdyNnMzZmUxTlBEek1MUlJaMGRUT3RVS1RpSEFzN3lrd3ZGUGpocXBWODlhVVhBWmpmMGNHaXppNTI2NnhRODhxTDFTcEh6cGpPdENqaTgwdVg4dXRORTlzWE1MTllZazFjeDZ1R0NUUnJEZ1VSZkJLenNLdVR5RG11ZWZsbDdsaTlxaldsbHgyRVZnZUVzTkd0V1d5d2c3Q2U5YlhnQUVYQzJvUFpoQjBLcysxWG1Pb1BaWUhkcWt3dkZwbFhLamU3dlJ0aEc5RitFeTEzdTNLWjgzYWN6eWx6dDJWbWNkUkt2bjBKWHYzaGpIM1VGRHQxZEhEc2pKbmpkN1FJWGRHRVVzSmZJK3dLSDFONkN3VzJMWmNuaE05WEE5d3pqQ05sdHpPWENYdk1mclFsd0pNakIxb2dmNjM5MWxuV2F5STdHZzVpZEpyMXRaSkY1cTBmTWtYbGJVUFk4ckxKa2kzckNKbkMxME51SUd6R2JNZ2ZNenJkUGk0ZG5HcmdScFlKV1pLSlIzN0JQTnVGcjFIbkhHWlU3VVRDZnJBMzI1OGRFeWpqZDYxb2hxMUV6clArMk44VXgxeGEyMWYzV3NndkNJZVJ2SzdBaGJBZFpGTnFWdTF0bmZhaGhnTksyT0g1QUdIZjJXY3pDWVpzTmtVSVc3VC9iOFBLQWg4ajdQcTltNUNlYkFiY1pvUHpUc0xxcjA5WUhmNHpsWERZaDNDNHlUckMrb1JMQ1NsS0NPc1d2bVBXNDlaTWttS2UxZXRvRzR4TFRkT2RSVGh2NGpyQ0Z2Y3ZNWElML3pIQVNZU2RBWThiUFpoSk9QbXlKMlhKN2lla1NVOUl2WHRFU0NMd3VQWER0azNhZTZXRm1wb3Q3SjV2ei95U3NLUDYwTXo5SXdnTFpoNno5bVBXNkt6TWN5YzNFaUNFaGU4ZkkrelV2Wit3MkFiRHdadnNtNWNTenBMNGYvYjNBd25uYjJTemFTZlptRzFSNEVMSXY2c040bUtHajFkeWhITUtWZ0x2SVJ6SitTTGhUSUVHSWJ1TGtjZnVSQmFZL3FzVS8xUENJdW92RUhZVVowbm1vZmJNY1lSQS9ONkVZSGREYnJNeXI3T092dDZBT3RONDRKV0VFOGNmQmI1aDVtd3U0U3lGVyt5ZEsyMkNMc3hNME5XbXFROG1IR1NoMXQ2emJWQldXQjgwNnZ3dGUrWUI0SDAyNFB2WXRWbFdqaG9JVGszUmg2TXRDZkk1d2s2VHhRYXNQR0o0bEpXeDJNcEx5d3dMeGYzVTJ2VVZTMzQwanBBOXhkNzlad1BoWDFyZHo4MEpuZDNQOEdtYis2WGFmajdEaDhXOFlrbU0rWlpZZXRrU1U5OHc0RjVzNVhha01uUHIwOVJtU3dJWDROK3RZMWZhWUdDZHJvdzhodWNOZHUxNCsvY3RqRHdqSzdMR052Ym03MkxQWHpUR3R3OU9nWHVkL1hsRDZ2N05CcUJTeXFsTUNFdm0wcG0vOU9tUkZ4c0ZTc3NUREo4YzAyaEhtanZ1YXRjK2s3cDJyRjFyQVA1ZmJBS2sxMEhzeC9DSk5oOUpnVGh0aFg1Sk9DUWp6V1ByakR4TktDMm5BNnVzck8ra3RQbTVqRDZGNTE0REZhWVJyOG9wNytPbWROTHlFK0RhRkhmVmxNSnB5Rzh5Rk96bmhHTU5OZ2RkN0wzR0JEdmNZdWh6eGdQdVZEbFA1eG5IdkRqVndJTk1hOTJYR2Z6ZldZZi9rUHpOVXBvWk5NeEVOazN3cGJUUzcrejlhc1paZklqaDAyelcyYXplSmgwMXkyaXZQekNnMzJ6M2xMQVo4QTh5OWZwSlRsM3ZTRjE3dEJIbE1rMVRKcVE0bDJmYTNOQTJ0eGlsZVpwd0tzMDNHVDZKSnJIN2pYY0toQk1RNzg3cGs2dk5RZnNZdzJlMXZSZjRRM3YzSmxNU2FwVEltOExabG5BNFIwdjBNNk53bFB6RERMUFBwUmMyUEd0OWRKS0IraFR6bThZOXNYS3FnTHZlZ0xFaVUyRWhmL0dHcGdDVFpFSmJIWm5HYW91WnJCZE5ZNUR6dlUwNUFQTmpkRENtbWE1UDlkRy9wc3B2dEdGZ3ZBaWEvVmxOdGJkWlc4b1dCVGdBK0RzenB6dWtOUGlUUnEwYTM3N0tKa0V6V1dudnpqS1RmNFpwNlhYV3JnYUF2bXZ0Nm1qU0R6UUphM1l5Y3MxeUsvMlJWLzQxREsrUFBnVDQ2MVlBTjFYQWpYTEt1OHVjc2YxU1d2Y05oQVBlR3BwcXJXbU5kTGlraDlHSDNMVVNEMDVhQUZDci9mQ3c4ZDhmMEdUclNFNjlOTVV4RjZjY1J6SUFrM0hxdU55Y21yS1ovQXNJUnlUTm5JQTJ6TFl0dHZvMWpzZTZMWWV6bG96L25wcWp4ZGVZbzl4SlNGbHZZMDdzYnljNFRvV2M5dDlrYlR6SGxOOVBYa3ZnaW5WME9ncitnTTJtbTgxcnJoRU9hcnM1VmJucnpYRzdnSERZM0lmdGVrZXFJNFNSNjBlYkRmaVBUSnMxTk5JcHBzRzZjMERkbTZucjA4YXJseHFkdVlLd0c3akJhMk9qSWhlWjVtdWMxcDBkcUxyeHZFSGptSmVaUmx1VzBsTFRjc2JBbVZVNDBPS2N2elhRLzl5ZXVkRDY3Q2JqbFhQTkVmMG9vM2ZYdnN2QXVkaVV3c2xXNzhUZVBkc2lFeGRaUFk4eForeS9yTzQzRXhZVjNVazRldlVLVTBKcWY3L04rcmFVb2xlTk5yaWNtSEk2TFBta1JRenVNNy9pUWNMS3RIc01BMTluL0pNeXh5YS9FM1RPS2paajlzb0IxVmxXc2Z2TUFjb3VXUDVMQS9rZEZ2WjZUeW9rMVd2OGVjNDRJYm56ek9QK2ZPbzNLeFZ5T3k1akhjN0sxSFZYY3pBZlp2Zy83TmpSQnZRaDYrQXJVbVhPc1crbTkzOHRzQUUvMWNwNnhEaC9KZVB4bjV5cC83Ym1OSldOUTk5dXZPOHlSdTc0UGRBaUk0K1lSdnhrRSsyOUQrSEV4c2VONTU2YWVXNnVUY1lIclcxWE0vTE1yb05zZ2p4Q09IbXpFYjU4cTRVU2YyR1QrbWlHRDZwcnRDSDdQeENkeWNnRTFUeUw0ejVpbkxzaGI3T0pjZEJyRmNkdHkwamdxamxpYlptWW5HdFJuR0tyd0MyMCsyektwR0VtdTlwZDBiSzh3U3pzWDFsY3UvV3pCOW9hZDhxazIvaGJYN3NyV3BiRGpNNmNQbEY4U2h1Z2JkbWF6VnRiMnRJR2JsdmEwZ1p1VzlyU0JtNWIyc0J0UzF0ZVIvbi9Bd0NPNDFMQkNqejA4d0FBQUFCSlJVNUVya0pnZ2c9PSJ9LCJzdGF0dXNSZXBvcnRzIjpbeyJzdGF0dXMiOiJGSURPX0NFUlRJRklFRF9MMSIsImVmZmVjdGl2ZURhdGUiOiIyMDE4LTA4LTAxIiwiY2VydGlmaWNhdGlvbkRlc2NyaXB0b3IiOiJGSURPIEwxIENsaWVudC9BdXRoZW50aWNhdG9yIENvbWJvIiwiY2VydGlmaWNhdGVOdW1iZXIiOiJVQUYxMDAwMjAxODAyMjEwMDEiLCJjZXJ0aWZpY2F0aW9uUG9saWN5VmVyc2lvbiI6IjEuMy4yIiwiY2VydGlmaWNhdGlvblJlcXVpcmVtZW50c1ZlcnNpb24iOiIxLjAuMCJ9XSwidGltZU9mTGFzdFN0YXR1c0NoYW5nZSI6IjIwMTgtMDgtMDEifSx7ImFhZ3VpZCI6IjNiMWFkYjk5LTBkZmUtNDZmZC05MGI4LTdmNzYxNGE0ZGUyYSIsIm1ldGFkYXRhU3RhdGVtZW50Ijp7ImxlZ2FsSGVhZGVyIjoiaHR0cHM6Ly9maWRvYWxsaWFuY2Uub3JnL21ldGFkYXRhL21ldGFkYXRhLXN0YXRlbWVudC1sZWdhbC1oZWFkZXIvIiwiYWFndWlkIjoiM2IxYWRiOTktMGRmZS00NmZkLTkwYjgtN2Y3NjE0YTRkZTJhIiwiZGVzY3JpcHRpb24iOiJHb1RydXN0IElkZW0gS2V5IEZJRE8yIEF1dGhlbnRpY2F0b3IiLCJhdXRoZW50aWNhdG9yVmVyc2lvbiI6MiwicHJvdG9jb2xGYW1pbHkiOiJmaWRvMiIsInNjaGVtYSI6MywidXB2IjpbeyJtYWpvciI6MSwibWlub3IiOjB9XSwiYXV0aGVudGljYXRpb25BbGdvcml0aG1zIjpbInNlY3AyNTZyMV9lY2RzYV9zaGEyNTZfcmF3Il0sInB1YmxpY0tleUFsZ0FuZEVuY29kaW5ncyI6WyJjb3NlIl0sImF0dGVzdGF0aW9uVHlwZXMiOlsiYmFzaWNfZnVsbCJdLCJ1c2VyVmVyaWZpY2F0aW9uRGV0YWlscyI6W1t7InVzZXJWZXJpZmljYXRpb25NZXRob2QiOiJwcmVzZW5jZV9pbnRlcm5hbCJ9XSxbeyJ1c2VyVmVyaWZpY2F0aW9uTWV0aG9kIjoicGFzc2NvZGVfaW50ZXJuYWwiLCJjYURlc2MiOnsiYmFzZSI6MTAsIm1pbkxlbmd0aCI6NCwibWF4UmV0cmllcyI6OCwiYmxvY2tTbG93ZG93biI6MH19XV0sImtleVByb3RlY3Rpb24iOlsiaGFyZHdhcmUiLCJzZWN1cmVfZWxlbWVudCJdLCJtYXRjaGVyUHJvdGVjdGlvbiI6WyJvbl9jaGlwIl0sImNyeXB0b1N0cmVuZ3RoIjoxMjgsImF0dGFjaG1lbnRIaW50IjpbImV4dGVybmFsIl0sInRjRGlzcGxheSI6W10sImF0dGVzdGF0aW9uUm9vdENlcnRpZmljYXRlcyI6WyJNSUlCenpDQ0FYYWdBd0lCQWdJQ0FTQXdDZ1lJS29aSXpqMEVBd0l3T3pFZ01CNEdBMVVFQXd3WFIyOVVjblZ6ZENCR1NVUlBNaUJTYjI5MElFTkJJREV4RnpBVkJnTlZCQW9NRGtkdlZISjFjM1JKUkNCSmJtTXVNQ0lZRHpJd01Ua3hNakEwTURZMU9UUXdXaGdQTWpBMU1UQTBNRGN3TXpBMU1EQmFNRHN4SURBZUJnTlZCQU1NRjBkdlZISjFjM1FnUmtsRVR6SWdVbTl2ZENCRFFTQXhNUmN3RlFZRFZRUUtEQTVIYjFSeWRYTjBTVVFnU1c1akxqQlpNQk1HQnlxR1NNNDlBZ0VHQ0NxR1NNNDlBd0VIQTBJQUJBNW1qWXNqb3dBSTBqbnBpLy9DSjNLbnpoR2JUVW1zdE5XcU43OGlvRzFDVEs5Z1BnUGw5VWlGT0pPL3YrRmZGSytQeHYxMGM2MDRkdmxJREFiS3craWpaakJrTUJJR0ExVWRFd0VCL3dRSU1BWUJBZjhDQVFBd0RnWURWUjBQQVFIL0JBUURBZ0VHTUIwR0ExVWREZ1FXQkJTZ1d0WTBuRWNtUG1HREx1Q3djZUtlSlBTY296QWZCZ05WSFNNRUdEQVdnQlNnV3RZMG5FY21QbUdETHVDd2NlS2VKUFNjb3pBS0JnZ3Foa2pPUFFRREFnTkhBREJFQWlBa3JMTTVWM0RuRDBYY1ZVRlcrTk1GY0JaQ08xRnh5WXo0VmtQSDNBN0tHUUlnSGF5VGZVODhvSUVpTU5heDEzdGdaYW9oaE1BWEVNanFUeUl0YmNUVDhRYz0iLCJNSUlCcVRDQ0FVK2dBd0lCQWdJQkFUQUtCZ2dxaGtqT1BRUURBakE3TVNBd0hnWURWUVFEREJkSGIxUnlkWE4wSUVaSlJFOHlJRkp2YjNRZ1EwRWdNVEVYTUJVR0ExVUVDZ3dPUjI5VWNuVnpkRWxFSUVsdVl5NHdJQmNOTWpFd016QXlNRFl4T0RRNFdoZ1BNakExTVRBeU1qTXdOakU0TkRoYU1Ec3hJREFlQmdOVkJBTU1GMGR2VkhKMWMzUWdSa2xFVHpJZ1VtOXZkQ0JEUVNBeE1SY3dGUVlEVlFRS0RBNUhiMVJ5ZFhOMFNVUWdTVzVqTGpCWk1CTUdCeXFHU000OUFnRUdDQ3FHU000OUF3RUhBMElBQkl6a01kdE5adDBaT3pPK3UxZjJFS1pSU25maHZ5d2Job25CRjlOU1BxMldHN251UmkveXZaOGxEandwNWRhclE2T2RaZytIcWJTU2VYSlh3N1VwY2xTalFqQkFNQThHQTFVZEV3UUlNQVlCQWY4Q0FRQXdEZ1lEVlIwUEFRSC9CQVFEQWdFR01CMEdBMVVkRGdRV0JCUmpXeFRvMUVxMzNacnhmTERXc3NkZGJEL3ZaVEFLQmdncWhrak9QUVFEQWdOSUFEQkZBaUIrRTA5R3ptY1lsTTk1cVQvYWZuUFU5cTZYSm14T1NLV0FSTzUra2dVbldnSWhBSWE5bjVwNDB0Y0dmbWVGNi9XdllvakFOdXlrUXFoVms4V25mZzE1UzY5ciIsIk1JSUJ6VENDQVhPZ0F3SUJBZ0lKQUxTM1NpYkdEWFRQTUFvR0NDcUdTTTQ5QkFNQ01Ec3hJREFlQmdOVkJBTU1GMGR2VkhKMWMzUWdSa2xFVHpJZ1VtOXZkQ0JEUVNBeE1SY3dGUVlEVlFRS0RBNUhiMVJ5ZFhOMFNVUWdTVzVqTGpBZUZ3MHhPVEV5TURRd05qVTVOREJhRncwME9URXhNall3TmpVNU5EQmFNRHN4SURBZUJnTlZCQU1NRjBkdlZISjFjM1FnUmtsRVR6SWdVbTl2ZENCRFFTQXhNUmN3RlFZRFZRUUtEQTVIYjFSeWRYTjBTVVFnU1c1akxqQlpNQk1HQnlxR1NNNDlBZ0VHQ0NxR1NNNDlBd0VIQTBJQUJBNW1qWXNqb3dBSTBqbnBpLy9DSjNLbnpoR2JUVW1zdE5XcU43OGlvRzFDVEs5Z1BnUGw5VWlGT0pPL3YrRmZGSytQeHYxMGM2MDRkdmxJREFiS3craWpZREJlTUF3R0ExVWRFd0VCL3dRQ01BQXdEZ1lEVlIwUEFRSC9CQVFEQWdFR01CMEdBMVVkRGdRV0JCU2dXdFkwbkVjbVBtR0RMdUN3Y2VLZUpQU2NvekFmQmdOVkhTTUVHREFXZ0JTZ1d0WTBuRWNtUG1HREx1Q3djZUtlSlBTY296QUtCZ2dxaGtqT1BRUURBZ05JQURCRkFpQXhvVnM2cWo3RFgyeGl4Q2pqY0RVZHhCVEptU1RMYjBmMXJSR3dyQUJ6VFFJaEFQdDBQMzJxekFlZXBGNC8vdGd6eHFOb0trV0RjYVBQU1hyZyt4enJsVkh3Il0sImljb24iOiJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNBQUFBQWpDQVlBQUFEMTdnaGFBQUFBQkdkQlRVRUFBTEdPZlB0Umt3QUFBQ0JqU0ZKTkFBQ0hEd0FBakE4QUFQMVNBQUNCUUFBQWZYa0FBT21MQUFBODVRQUFHY3h6UElWM0FBQUtMMmxEUTFCSlEwTWdVSEp2Wm1sc1pRQUFTTWVkbG5kVVZOY1doOCs5ZDNxaHpURFNHWHFUTGpDQTlDNGdIUVJSR0dZR0dNb0F3d3hOYklpb1FFUVJFUUZGa0tDQUFhT2hTS3lJWWlFb3FHQVBTQkJRWWpDS3FLaGtSdFpLZkhsNTcrWGw5OGU5MzlwbjczUDMyWHVmdFM0QUpFOGZMaThGbGdJZ21TZmdCM280MDFlRlI5Q3gvUUFHZUlBQnBnQXdXZW1wdmtIdXdVQWtMemNYZXJySUNmeUwzZ3dCU1B5K1planBUNmVELzAvU3JGUytBQURJWDhUbWJFNDZTOFQ1SWs3S0ZLU0s3VE1pcHNZa2lobEdpWmt2U2xERWNtS09XK1NsbjMwVzJWSE03R1FlVzhUaW5GUFp5V3d4OTRoNGU0YVFJMkxFUjhRRkdWeE9wb2h2aTFnelNaak1GZkZiY1d3eWg1a09BSW9rdGdzNHJIZ1JtNGlZeEE4T2RCSHhjZ0J3cExndk9PWUxGbkN5Qk9KRHVhU2tadk81Y2ZFQ3VpNUxqMjVxYmMyZ2UzSXlremdDZ2FFL2s1WEk1TFBwTGluSnFVeGVOZ0NMWi80c0dYRnQ2YUlpVzVwYVcxb2FtaG1aZmxHby83cjROeVh1N1NLOUN2amNNNGpXOTRmdHIveFM2Z0JneklwcXMrc1BXOHgrQURxMkFpQjMvdytiNWlFQUpFVjlhNy94eFhsbzRubUpGd2hTYll5Tk16TXpqYmdjbHBHNG9ML3JmenI4RFgzeFBTUHhkcitYaCs3S2lXVUtrd1IwY2QxWUtVa3BRajQ5UFpYSjR0QU4venpFL3pqd3IvTllHc2lKNWZBNVBGRkVxR2pLdUx3NFVidDViSzZBbThLamMzbi9xWW4vTU94UFdweHJrU2oxbndBMXlnaEkzYUFDNU9jK2dLSVFBUko1VU56MTMvdm1ndzhGNHBzWHBqcXhPUGVmQmYzN3JuQ0orSkhPamZzYzV4SVlUR2NKK1JtTGErSnJDZENBQUNRQkZjZ0RGYUFCZElFaE1BTld3Qlk0QWpld0F2aUJZQkFPMWdJV2lBZkpnQTh5UVM3WURBcEFFZGdGOW9KS1VBUHFRU05vQVNkQUJ6Z05Mb0RMNERxNENlNkFCMkFFaklQbllBYThBZk1RQkdFaE1rU0I1Q0ZWU0FzeWdNd2dCbVFQdVVFK1VDQVVEa1ZEY1JBUEVrSzUwQmFvQ0NxRktxRmFxQkg2RmpvRlhZQ3VRZ1BRUFdnVW1vSitoZDdEQ0V5Q3FiQXlyQTBid3d6WUNmYUdnK0UxY0J5Y0J1ZkErZkJPdUFLdWc0L0I3ZkFGK0RwOEJ4NkJuOE96Q0VDSUNBMVJRd3dSQnVLQytDRVJTQ3pDUnpZZ2hVZzVVb2UwSUYxSUwzSUxHVUdta1hjb0RJcUNvcU1NVWJZb1QxUUlpb1ZLUTIxQUZhTXFVVWRSN2FnZTFDM1VLR29HOVFsTlJpdWhEZEEyYUMvMEtuUWNPaE5kZ0M1SE42RGIwSmZRZDlEajZEY1lESWFHMGNGWVlUd3g0WmdFekRwTU1lWUFwaFZ6SGpPQUdjUE1ZckZZZWF3QjFnN3JoMlZpQmRnQzdIN3NNZXc1N0NCMkhQc1dSOFNwNHN4dzdyZ0lIQStYaHl2SE5lSE80Z1p4RTdoNXZCUmVDMitEOThPejhkbjRFbnc5dmd0L0F6K09ueWRJRTNRSWRvUmdRZ0poTTZHQzBFSzRSSGhJZUVVa0V0V0oxc1FBSXBlNGlWaEJQRTY4UWh3bHZpUEprUFJKTHFSSWtwQzBrM1NFZEo1MGovU0tUQ1pya3gzSkVXUUJlU2U1a1h5Ui9KajhWb0lpWVNUaEpjR1cyQ2hSSmRFdU1TanhRaEl2cVNYcEpMbFdNa2V5WFBLazVBM0phU204bExhVWl4UlRhb05VbGRRcHFXR3BXV21LdEttMG4zU3lkTEYway9SVjZVa1pySXkyakpzTVd5WmY1ckRNUlpreENrTFJvTGhRV0pRdGxIcktKY280RlVQVm9YcFJFNmhGMUcrby9kUVpXUm5aWmJLaHNsbXlWYkpuWkVkb0NFMmI1a1ZMb3BYUVR0Q0dhTytYS0M5eFdzSlpzbU5KeTVMQkpYTnlpbktPY2h5NVFybFd1VHR5NytYcDhtN3lpZks3NVR2a0h5bWdGUFFWQWhReUZRNHFYRktZVnFRcTJpcXlGQXNWVHlqZVY0S1Y5SlVDbGRZcEhWYnFVNXBWVmxIMlVFNVYzcTk4VVhsYWhhYmlxSktnVXFaeVZtVktsYUpxcjhwVkxWTTlwL3FNTGt0M29pZlJLK2c5OUJrMUpUVlBOYUZhclZxLzJyeTZqbnFJZXA1NnEvb2pEWUlHUXlOV28weWpXMk5HVTFYVFZ6TlhzMW56dmhaZWk2RVZyN1ZQcTFkclRsdEhPMHg3bTNhSDlxU09uSTZYVG81T3M4NURYYkt1ZzI2YWJwM3ViVDJNSGtNdlVlK0EzazE5V045Q1AxNi9TditHQVd4Z2FjQTFPR0F3c0JTOTFIb3BiMm5kMG1GRGtxR1RZWVpocytHb0VjM0l4eWpQcU1Qb2hiR21jWVR4YnVOZTQwOG1GaVpKSnZVbUQweGxURmVZNXBsMm1mNXFwbS9HTXFzeXUyMU9ObmMzMzJqZWFmNXltY0V5enJLRHkrNWFVQ3g4TGJaWmRGdDh0TFN5NUZ1MldFNVphVnBGVzFWYkRUT29ESDlHTWVPS05kcmEyWHFqOVducmR6YVdOZ0tiRXphLzJCcmFKdG8yMlU0dTExbk9XVjYvZk14TzNZNXBWMnMzWWsrM2o3WS9aRC9pb09iQWRLaHplT0tvNGNoMmJIQ2NjTkp6U25BNjV2VEMyY1NaNzl6bVBPZGk0N0xlNWJ3cjR1cmhXdWphN3liakZ1Slc2ZmJZWGQwOXpyM1pmY2JEd21PZHgzbFB0S2UzNTI3UFlTOWxMNVpYbzlmTUNxc1Y2MWYwZUpPOGc3d3J2Wi80NlB2d2ZicDhZZDhWdm50OEg2N1VXc2xiMmVFSC9Mejg5dmc5OHRmeFQvUC9QZ0FUNEI5UUZmQTAwRFF3TjdBM2lCSVVGZFFVOUNiWU9iZ2srRUdJYm9nd3BEdFVNalF5dERGMExzdzFyRFJzWkpYeHF2V3Jyb2NyaEhQRE95T3dFYUVSRFJHenE5MVc3MTA5SG1rUldSQTV0RVpuVGRhYXEyc1YxaWF0UFJNbEdjV01PaG1Oamc2TGJvcit3UFJqMWpGblk3eGlxbU5tV0M2c2Zhem5iRWQyR1h1S1k4Y3A1VXpFMnNXV3hrN0cyY1h0aVp1S2Q0Z3ZqNS9tdW5BcnVTOFRQQk5xRXVZUy9SS1BKQzRraFNXMUp1T1NvNU5QOFdSNGlieWVGSldVckpTQlZJUFVndFNSTkp1MHZXa3pmRzkrUXpxVXZpYTlVMEFWL1V6MUNYV0ZXNFdqR2ZZWlZSbHZNME16VDJaSlovR3krckwxczNka1QrUzQ1M3k5RHJXT3RhNDdWeTEzYys3b2VxZjF0UnVnRFRFYnVqZHFiTXpmT0w3Slk5UFJ6WVROaVp0L3lEUEpLODE3dlNWc1MxZStjdjZtL0xHdEhsdWJDeVFLK0FYRDIyeTMxV3hIYmVkdTc5OWh2bVAvamsrRjdNSnJSU1pGNVVVZmlsbkYxNzR5L2FyaXE0V2RzVHY3U3l4TER1N0M3T0x0R3RydHNQdG9xWFJwVHVuWUh0ODk3V1gwc3NLeTEzdWo5bDR0WDFaZXM0K3dUN2h2cE1Lbm9uTy81djVkK3o5VXhsZmVxWEt1YXExV3F0NVJQWGVBZldEd29PUEJsaHJsbXFLYTk0ZTRoKzdXZXRTMjEyblhsUi9HSE00NC9MUSt0TDczYThiWGpRMEtEVVVOSDQvd2pvd2NEVHphMDJqVjJOaWsxRlRTRERjTG02ZU9SUjY3K1kzck41MHRoaTIxcmJUV291UGd1UEQ0czIranZ4MDY0WDJpK3lUalpNdDNXdDlWdDFIYUN0dWg5dXoybVk3NGpwSE84TTZCVXl0T2RYZlpkclY5Yi9UOWtkTnFwNnZPeUo0cE9VczRtMzkyNFZ6T3VkbnpxZWVuTDhSZEdPdU82bjV3Y2RYRjJ6MEJQZjJYdkM5ZHVleCsrV0t2VSsrNUszWlhUbCsxdVhycUd1TmF4M1hMNisxOUZuMXRQMWo4ME5adjJkOSt3K3BHNTAzcm0xMER5d2ZPRGpvTVhyamxldXZ5YmEvYjErK3N2RE13RkRKMGR6aHllT1F1Kys3a3ZhUjdMKzluM0o5L3NPa2grbUhoSTZsSDVZK1ZIdGY5cVBkajY0amx5SmxSMTlHK0owRlBIb3l4eHA3L2xQN1RoL0g4cCtTbjVST3FFNDJUWnBPbnA5eW5iajViL1d6OGVlcnorZW1DbjZWL3JuNmgrK0s3WHh4LzZadFpOVFAra3Y5eTRkZmlWL0t2anJ4ZTlycDcxbi8yOFp2a04vTnpoVy9sM3g1OXgzalgrejdzL2NSODVnZnNoNHFQZWgrN1BubC9lcmlRdkxEd0cvZUU4L3MzQkNrZUFBQUFDWEJJV1hNQUFBN0VBQUFPeEFHVkt3NGJBQUFBSVhSRldIUkRjbVZoZEdsdmJpQlVhVzFsQURJd01UZzZNRFU2TWpnZ01UWTZOREk2TVRUOWh3cmZBQUFJSFVsRVFWUllSNTFYQzFCVTV4WCtkbGxnUWQ0UFVSQWZpU2hhTkcxaTdCaHRtMDVLVWtuVFdCK05RYTBZRzJPRGxqb09HazFpTzUxcU5HUWNrOW9rUkpzMDRJdzZwdU4wVEV4VGFPc1lTN1NTcGhwZjFLQVZCUlpoV1I0cklMdDdiNy96Mzd2c1FoYUMvUzcvc3Z6M3ZNLzV6L214NkFTR0NaMlAvRmdzOHBmNjZJTmZqTVY0T1d4WXpkL0RnK1pYWUVIbEo1L2p2Z1diOE9qcUhXaHNjYW45TzFVdUdGNEVoTVFVM3RyaFJ0N3FsM0dxc2hwSWlBRjhQcURyTnBZVjVPSDFGMWNnSmpvcUtGTENJK0lITjJ4NEVUQ1YvM3piSDVBOGNSRk9WVjhDUmljRFVaRkFOSmZWaXZJREZhajY5eGVLVGlra2o2YlJGSDF3NVlKQkl0RGY2ajlWbnNhOFozYlFXeThRUzYrdDVqdDN0NHJBMXMwRjJMenFjV09QNkwxYXA0eUtHRGZHM0NFR0M0UVlFQXlOangrMTE1djBLWSt1MTVHV3B5TW5YOGMwV1V0MVpEK2hJK2xoZldIUlR0M3I5Wm5VQmhwWGJkVFBJVncvanhHNlk4MFdjNWR5ZlFHNXdSaTBCdktMZDJOLzJRZk1jeXhnWjVnRmt1K1dkb3ljT0FaViszK051elBUakgzQ3Rmc2RPTllXMDFFZndwREFIWTFQQi8rMklXTmZLZUtYekRjSUI4Q2lNVkhCMWZ2Mkg0OWhaV0VKTU1JT3hJemdEdTNUV1A0ZFhUVEVodkpYaXJEMHNUa0dNZEZUZlFaMTMxNEFYM2NqRmJNdStDbFFoYWhpN3VYVGdzamtpUmh6N0JEc09kbnFEVmdmRnFheUx3SmZYRy9DN0NXL3dzM0x6RjlLb2xHZThxYW5WeWxmdTNZaFhudStRRWdWdk0ydGFKajNGRHFyanRMSFZPN1kxTDVFd0lkMnFyWlFSTHo2TlBZOTNHOUdiTzRpWkI0dEozbVlNcS9QQU11NEg5SERDSzV3UTdHUFhqZTFZc2FEOTZMaW5SZVlpV2doVTNDc2ZnN08wdGZvYXd5RlJDdEJ1Z3E1QzJIV1JHUldIWWJ1OVRFeTg2RnI3YVJMNG5zeGlXSnBuQzBwQTFuT2MwcVdNcSsreWNXejNBTkVtc3A3YnNNV2JzWEhIKzNDNmZlMjlTbHZlL2NRTGxqaTRDcDlpLzZta0ZtVWk4OXVyamFNM0xvZGszeDFpUHJtZllpZVBSUFp2aHNZdWIyRUtXZ210NGVVT25saTRXbXRnK1ptU2drVkFZZXpEYU56bGdKcFNUeERYcVNQVGtMOVgzY3JBa0gzeWM5dzQ0Y3I0R211VWVFV01ZWTMzYXJRRW45Y2dQU0RieGpFUkFlRmg5bXNMQ1BXa1luYWpCbndOVFNSTDR3R3RXTnlWeU9zVVhZelFTSk9NcUdXeHY3Q1ZKaTRObXNlcnN5YUJhMzVKcFZMMVF1TEY3MW9nSDNhMXpDcHJyYWY4cEszanlCK2FqNWk2TkRyYkU1KzJNYW0wMWl2aW9KUm5MTE1GQ2lvUFdQVExBc0Y5MGtwc2xIOEprZFJ3dTFVUWliOHBRSVR6djRONFpucGl1NUU5VVZFNU9Sanc1YTlRQnhURmhHT3drMEJ3K1FJRzlMN0kyQ0E2QXhTN0VjWTdHU1VFcElpNjBicTloM0kxdXN4SXZjNzZ2MzFteTVNbTdjQjMzcWtDQjVoVDQ0akU0OGlqNWhORFBrS0JBd1lCTW91dFhncTZGWEt4bWZWdnFCOWNTSEczck1NNXk1ZUF6S1luckJRUGdid1pmY0dTY0ZBeUFGU2o4VWdiMzExRHk1YVl1QStlQWpXOUJUajlJaUJicDZrTHM0SHZ5WnBZRUVZT2dYc1RBTVpCTUlrM2l1WjFraGN1ZXNCTlA1aUhWT1R5SG5Ed1NSR2Q3TlpPVndvTGx5QWpUOWJRQ040eENncU10eG9UbjVJN1JoRkdFREFBRTR2dFFaQVRMTEtZMkhuNnZiQXcwa25QVUIyZGEwWFdrTUw3djE2RnRwcTM4UEw2L1BaaUdpUU1QR1hQVndpRTRDU3d5Y1lRUkVnVjRnaU5Eb2NQM2s4alc0bXZWNVRwOEVkbDRES0QzYmkwME5iRVc4MksxY252VGZIZGJBMCtTNlM1QWxHL3dpRXFBR2JtbXlHYWprTkdqcFYxMHY3N1c1TWFqK0hoNzZScGVqYWVUZVl0ZmdGdlBIN0k3eWtSQ21lWUlqa3I0NUFpQnFRcnFXaGgrSjYyRXdia0xCeUphYnFIVWhhRXhoTVQvOXlEeExHUFk2VC82cGhEK0FFRlcyc3FjNWJScnNWREIwQkNYMVFEZGc0cWZ6SWRyRzNUNzhIRVZPbVlISnpFMGJ0NWFnMjhkYkJTbGdtek1mZXNnK0JkRTVFdVRkSUZDVU5uQ2NseGN0TVNtNVR0aEhGL2xGV0dsWHFtV1AxaFUzazhqVUgvbnppakx4Q1dFSWl4cDloMTd2d2Q5aFNPQ3VJMDU5ZlFjb0RxL0RNdWwyOE16RGNmcTl2OHpUY2FNYVNSZCtGZnZVd2lwYm5LWHFCdDFFR0VndDNRR3FVQVpHUjlGakdyNEFGcERNVmN4YytoeWsvS0VhZHcybnNFMjI4Rjh4Yy9DSm1QbFFJWjF1SGVXK2dDQzk1RzF1Uk0zazg2aS90eDc0ZGEwd084cnhaemdrYUQyL2ROZG9ZcmlLZ003SFFlTHNpK201RXVTdCt3NHIrQjVCcUNwVktGbythMi9EVForY2psUzMycGEzdkFvbEJWelNwbVhZMzUzc2NqdjV1QTNMblREZjJpYTRUcDFEL3lGSjR1aHBZeU1sVWFreFFMMGUzTFQ0Rms5cDRzeVpNQTlSWGxCMDVnZVViT0lhbG95V2FUVVp3aTkxTkdsV01qRmR6VC9KTWJOdThISnVlRHR5SXZjMU8zSmk3RExjK3JlQ0JUU08xVFhHSTF4N2NST3lNN3lIejQ4T3cwQW5aVndZSVkvQzlzTGhrSDE1NXFZeURoVWN3aXFOWnZlT1NPdW4xc09zNThjUlRqK0hBemlLRHdVVGpUOWJCVlY1S3hYR2t0bE9wOFBtb3VoVVI5alJrVkI3Z1JlVitnMWpxVGVUS2hTUVV2SnBQbi8za0ZsN0o1eHJYOEtsUHF1OVozMStuTzFyYVRDb0R6bGYzOENwdTUxVThVYTlCSnRkWS9STFhCZjU5SHJHNnM3VE1wSlJyZi85ci9KY01rSWp3cHcvVjUydjExRG1yZFF2L0wzai8rR2Ztcm9IT2l1UDZmMkt6cUNSYUthekJlSzV4K2tXa2NTOUtieWhZYjFJS1JLNnhnakhvL3dWRHdjT3JWYjNrK2V4eGhqdUZnWmFoSTJJa3owMkl1VDhYWTk3ZkI5dElLVDZWdkVGaGRKNGhJU0lDTmphdGZSNDFHYVBRZmZZczFZN3VVNjR4ejlZSU8rNnErZ1RqLy9taG9WeDhDN0NHaGtUZ1RuRDc4bi8xcTlNZlpzNGpHZXBVaGpxZXVVN1NuYnYybWhSM2hqc3lRR05oK2pQby91aVlYcGVYcnp1S3RnVDlOeG42LzcraDhIL1ZRQ2lJa0tGeUhSckEvd0M0ZStPK1oxY240UUFBQUFCSlJVNUVya0pnZ2c9PSIsImF1dGhlbnRpY2F0b3JHZXRJbmZvIjp7InZlcnNpb25zIjpbIlUyRl9WMiIsIkZJRE9fMl8wIl0sImV4dGVuc2lvbnMiOlsiaG1hYy1zZWNyZXQiXSwiYWFndWlkIjoiM2IxYWRiOTkwZGZlNDZmZDkwYjg3Zjc2MTRhNGRlMmEiLCJvcHRpb25zIjp7InBsYXQiOmZhbHNlLCJyayI6dHJ1ZSwiY2xpZW50UGluIjp0cnVlLCJ1cCI6dHJ1ZX0sIm1heE1zZ1NpemUiOjEwMjQsInBpblV2QXV0aFByb3RvY29scyI6WzFdfX0sInN0YXR1c1JlcG9ydHMiOlt7InN0YXR1cyI6IkZJRE9fQ0VSVElGSUVEX0wyIiwiZWZmZWN0aXZlRGF0ZSI6IjIwMjEtMDMtMDUiLCJjZXJ0aWZpY2F0aW9uRGVzY3JpcHRvciI6IkdvVHJ1c3QgSWRlbSBLZXkiLCJjZXJ0aWZpY2F0ZU51bWJlciI6IkZJRE8yMDAyMDIxMDMwNTAwMSIsImNlcnRpZmljYXRpb25Qb2xpY3lWZXJzaW9uIjoiMS4zIiwiY2VydGlmaWNhdGlvblJlcXVpcmVtZW50c1ZlcnNpb24iOiIxLjQifSx7InN0YXR1cyI6IkZJRE9fQ0VSVElGSUVEX0wxIiwiZWZmZWN0aXZlRGF0ZSI6IjIwMTktMTItMDQiLCJjZXJ0aWZpY2F0aW9uRGVzY3JpcHRvciI6IkdvVHJ1c3QgSWRlbSBLZXkiLCJjZXJ0aWZpY2F0ZU51bWJlciI6IkZJRE8yMDAyMDE5MTEyMjAwMSIsImNlcnRpZmljYXRpb25Qb2xpY3lWZXJzaW9uIjoiMS4wLjAiLCJjZXJ0aWZpY2F0aW9uUmVxdWlyZW1lbnRzVmVyc2lvbiI6IjEuMC4wIn1dLCJ0aW1lT2ZMYXN0U3RhdHVzQ2hhbmdlIjoiMjAyMS0wMy0wNSJ9LHsiYWFpZCI6IjRlNGUjNDAxMSIsIm1ldGFkYXRhU3RhdGVtZW50Ijp7ImxlZ2FsSGVhZGVyIjoiaHR0cHM6Ly9maWRvYWxsaWFuY2Uub3JnL21ldGFkYXRhL21ldGFkYXRhLXN0YXRlbWVudC1sZWdhbC1oZWFkZXIvIiwiYWFpZCI6IjRlNGUjNDAxMSIsImRlc2NyaXB0aW9uIjoiU2Ftc3VuZyBQYXNzIiwiYXV0aGVudGljYXRvclZlcnNpb24iOjI1NiwicHJvdG9jb2xGYW1pbHkiOiJ1YWYiLCJzY2hlbWEiOjMsInVwdiI6W3sibWFqb3IiOjEsIm1pbm9yIjowfV0sImF1dGhlbnRpY2F0aW9uQWxnb3JpdGhtcyI6WyJzZWNwMjU2cjFfZWNkc2Ffc2hhMjU2X3JhdyJdLCJwdWJsaWNLZXlBbGdBbmRFbmNvZGluZ3MiOlsiZWNjX3g5NjJfcmF3Il0sImF0dGVzdGF0aW9uVHlwZXMiOlsiYmFzaWNfc3Vycm9nYXRlIl0sInVzZXJWZXJpZmljYXRpb25EZXRhaWxzIjpbW3sidXNlclZlcmlmaWNhdGlvbk1ldGhvZCI6ImZpbmdlcnByaW50X2ludGVybmFsIiwiYmFEZXNjIjp7InNlbGZBdHRlc3RlZEZSUiI6MC4wLCJzZWxmQXR0ZXN0ZWRGQVIiOjAuMCwibWF4VGVtcGxhdGVzIjowLCJtYXhSZXRyaWVzIjo1LCJibG9ja1Nsb3dkb3duIjozMH19XV0sImtleVByb3RlY3Rpb24iOlsiaGFyZHdhcmUiLCJ0ZWUiXSwibWF0Y2hlclByb3RlY3Rpb24iOlsic29mdHdhcmUiXSwiYXR0YWNobWVudEhpbnQiOlsiaW50ZXJuYWwiXSwidGNEaXNwbGF5IjpbImFueSJdLCJ0Y0Rpc3BsYXlDb250ZW50VHlwZSI6InRleHQvcGxhaW4iLCJhdHRlc3RhdGlvblJvb3RDZXJ0aWZpY2F0ZXMiOltdLCJpY29uIjoiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFFZ0FBQUJJQ0FZQUFBQlY3Yk5IQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUF5UnBWRmgwV0UxTU9tTnZiUzVoWkc5aVpTNTRiWEFBQUFBQUFEdy9lSEJoWTJ0bGRDQmlaV2RwYmowaTc3dS9JaUJwWkQwaVZ6Vk5NRTF3UTJWb2FVaDZjbVZUZWs1VVkzcHJZemxrSWo4K0lEeDRPbmh0Y0cxbGRHRWdlRzFzYm5NNmVEMGlZV1J2WW1VNmJuTTZiV1YwWVM4aUlIZzZlRzF3ZEdzOUlrRmtiMkpsSUZoTlVDQkRiM0psSURVdU15MWpNREV4SURZMkxqRTBOVFkyTVN3Z01qQXhNaTh3TWk4d05pMHhORG8xTmpveU55QWdJQ0FnSUNBZ0lqNGdQSEprWmpwU1JFWWdlRzFzYm5NNmNtUm1QU0pvZEhSd09pOHZkM2QzTG5jekxtOXlaeTh4T1RrNUx6QXlMekl5TFhKa1ppMXplVzUwWVhndGJuTWpJajRnUEhKa1pqcEVaWE5qY21sd2RHbHZiaUJ5WkdZNllXSnZkWFE5SWlJZ2VHMXNibk02ZUcxd1BTSm9kSFJ3T2k4dmJuTXVZV1J2WW1VdVkyOXRMM2hoY0M4eExqQXZJaUI0Yld4dWN6cDRiWEJOVFQwaWFIUjBjRG92TDI1ekxtRmtiMkpsTG1OdmJTOTRZWEF2TVM0d0wyMXRMeUlnZUcxc2JuTTZjM1JTWldZOUltaDBkSEE2THk5dWN5NWhaRzlpWlM1amIyMHZlR0Z3THpFdU1DOXpWSGx3WlM5U1pYTnZkWEpqWlZKbFppTWlJSGh0Y0RwRGNtVmhkRzl5Vkc5dmJEMGlRV1J2WW1VZ1VHaHZkRzl6YUc5d0lFTlROaUFvVFdGamFXNTBiM05vS1NJZ2VHMXdUVTA2U1c1emRHRnVZMlZKUkQwaWVHMXdMbWxwWkRwQlJrSXpNVEkyUmtFNE1VSXhNVVUxT1VJeE1VWkZOamhDUmpJM01qSXlOQ0lnZUcxd1RVMDZSRzlqZFcxbGJuUkpSRDBpZUcxd0xtUnBaRHBCUmtJek1USTNNRUU0TVVJeE1VVTFPVUl4TVVaRk5qaENSakkzTWpJeU5DSStJRHg0YlhCTlRUcEVaWEpwZG1Wa1JuSnZiU0J6ZEZKbFpqcHBibk4wWVc1alpVbEVQU0o0YlhBdWFXbGtPa0ZHUWpNeE1qWkVRVGd4UWpFeFJUVTVRakV4UmtVMk9FSkdNamN5TWpJMElpQnpkRkpsWmpwa2IyTjFiV1Z1ZEVsRVBTSjRiWEF1Wkdsa09rRkdRak14TWpaRlFUZ3hRakV4UlRVNVFqRXhSa1UyT0VKR01qY3lNakkwSWk4K0lEd3ZjbVJtT2tSbGMyTnlhWEIwYVc5dVBpQThMM0prWmpwU1JFWStJRHd2ZURwNGJYQnRaWFJoUGlBOFAzaHdZV05yWlhRZ1pXNWtQU0p5SWo4K3BEL3pCZ0FBREJCSlJFRlVlTnJzWEFWd0ZNc1c3VUNDRTRJRkN3NEJDZ251QkNuOFEzQUtkM2QzTHlnY0NxZHdUK0h1cm9VR0owQndLZHpkMHI5UEYzZXFwM2Yya2ZkNDJkM3c5bFIxWUx0N1ptZnUzTDV5YnM5Nk1ET1NpOVpCdFArSmxvbjl0M0JEdEsyaXpSVHRzZFdFMnFLOUVvMy94OXVybjdJd0ljZ3RHSnNHbVRBUDBSS0w5bFMwYU13TkZlR2krVVlYZndhTEZ1aVdodzJnUEQvdzU1cG8vbTU1V09JNkJQUlJ0Tmh1V1ZqaWt5ZlV5Rm5mbmpadFdsYXlaRW1XTFZzMjV1L3Z6K0xFaWNNNDUremJ0Mi9zeG8wYkxEUTBsQjA5ZWxUKzZ5UkkyYnh4dEllb1c3Y3UzN2x6Si8veDR3ZVBDSTRkTzhaYnRtenBERS8yeHFFQ3FseTVNcjk0OFNML3AzajgrREZ2MGFLRlF3WGs4Vk5BM3BHcHA1NmVubXpObWpXc1dyVnE4dlByMTYvWitmUG4yZkhqeDluVnExZGxlL0RnQVh2MzdoMTc4K1lOOC9iMlp2SGl4V01wVTZaa09YTGtZRm16Wm1YRmloVmp4WXNYbDhkamZsQlFFQXNMQzR2c0pmWTIwaldvZE9uUy9OV3JWMUlEWnM2Y3ljVk5XczZMSFRzMjkvUHo0MElZUEYyNmRGd0l5SEplK2ZMbCtiNTkrL2p0MjdkNW8wYU51SWVIUjlSY1l0R2lSZU1WS2xUZ3UzYnQ0cjE2OVRLTnBVNmRtcmRwMDRhdldyV0tuenQzamd2TnNWeFN3bGh6b1MxODY5YXR2RStmUGp4Nzl1ekdPUklsU3NSNzlPakJzMlRKRXBsQ2lqd0J4WTBibHhjcFVzVDRuQ0JCQW5tVFo4NmM0YjhEYU02WU1XTjRpaFFwL2d3ampTYzllZkprL3ZuejUxL2UvUHYzNzdtd1Fmemx5NWNSOG5BYk5temdCUXNXakxwR3VsKy9mbXpJa0NGTTJCZWJNY1EyaHc0ZFloY3VYR0FoSVNGTWVDZ21CTVRDdzhObGl4OC9Qa3VjT0RFTENBaVFjVkpnWUNBVEdtbjVQY0hCd1d6Z3dJRk1hRmZVTU5MaWhyandVRFpQSEpveGFkSWtYcWhRb1g5MDNreVpNa2w3WmhVcWZQejRrVGRzMk5EMU5VZ0VnV3pac21YTXk4dkw2SU5iSHpkdUhKczllellUSHMzb1Q1SWtDUk5MUkViVUdUSmtZTDYrdnJKZkdIaXBUWGZ1M0pIdVh4aHlkdm55WmRQM05HM2FsSFh2M2wxcW1BcUVCZnBjbDlHZ0prMmEyRHpacFV1WG1neXFXRGE4YTlldWZQLysvZnpUcDA4Uk5zNGk5ZUN6WnMyU2JsNzl6dDY5ZTV2c0c1eUFTeHBwdUc0ZDRpa2I0OUdqUitmQ0huR2hUZngzZ2RDZ2Rldld4cmtSTngwOGVOQVlSM2poY2dKYXZueTVLU1hJbHkrZk1WYTRjR0V1MU43eVpwODhlY0pQbkRqQnhiTGtFeWRPNUNOSGp1Ump4NDdsQ3hZczRMdDM3K1kzYjk2MEt5aWNVMFRueHZmZ09PRDY5ZXV1SmFCa3laSVpGdzAzTFd5S01RWXQwdkgyN1ZzK1pjb1VYclpzV2JzUnM5cHk1c3pKdTNYcnhvWFhzeFRVd29VTGpibFl2a0R0MnJWZFIwREN4Um9YbXp0M2JxTWZrYTRPcEJ2MmdyeFVxVkxKdUtaTW1USThUNTQ4UEduU3BEWnpNSTc0UjRjSUYrVHhtSU9sTEhJOUhpTkdETmNRa1BBMjhpSlZTZ0pQWE1XWEwxOTRqUm8xVE1jaDkycmZ2cjFNT2U3ZnZ5L25xSUR4RlY2TXIxMjdsbmZzMkpFTHIyY2NDKzFER3FMaStmUG5QSFBtekhJY0dvUTB4T2tDeXBVcmw3dzQyQXQ3M2d3MkNVbW9Hcy9BeHZ3ZEx3WmdQbzZEVWFaellYbnBzUlljQnNaY1FvT2c3ckE3eU1ieEdjdEROOExxRGZYdjMxOG1vZllBTGFCbUR6aStiOSsrcG5PcWVQandJWThWSzViemJWRE1tREdsNTBIa2pNOGkyT05mdjM0MUxSSDBVWGEvY2VOR201dkYwcG94WXdhdlZLa1NqeE1uanVuOHlOS1I4STRmUDE0bXFUcTJiOTl1YUVtWExsMU1ZNGl6bkM0Z1ZZWHh4UFNiS0ZxMHFERytaODhlRzgzcTFLbVRGQnpOU1pNbURXL1FvSUcwTjJBTzlaUUVOZzdhb2VMYXRXczhZY0tFY2h4WnZncVJDN3BPSEhUNDhHSFR4ZUZHN2RtSkxWdTJ5SWlheG12V3JHbVp1MUdHdjNMbFNzUGdJdUJjdkhpeGFRNWlKVnJpNEo5VS9LYWgvbmNFdEdiTkd0TkZ3YzNhc3cvd1dPcXhNTG9SQlphYW1tTG94RDR4a3lvQmgzakxhUUx5OGZHUmRzQmUwRmFuVGgzVDJOR2pSMDNMVTAwUENFZU9IT0h6NXMyVFFvZDkwZ0ZOcGVDeVo4K2VwakdSRU12K3FsV3JtdXlVMHdRa3NuUFRCZTdZc2NNWUsxR2loSTB4Vm8yd3ppeENNR3FRU2Exa3laTDh5cFVycHJsaFlXR0dsOUt2QVdFSCtpbnFQbnYyclBNRXRIZnZYdVBDNEtHb0g4Uzh5Z2pDbXlIMm9YRjRHQlh6NTg4M3hWV0l0bGV2WHMySERSdkd2Ynk4WlArMGFkTk14OEJtMFRISXZRaWhvYUZHckFVZ09WWWRnVU1GaFBnSFFJSkpmWWlEd3NQRFRUY1RHQmhvaks5YnQ4NDBCZzJnTWQwTEVWQzlzTEpuMDZkUGwvMDVjdVF3OWRlcVZVdjJueng1VW41V0hZTERCSVFZYU1LRUNieGN1WEpHWDdObXpXeHVybUxGaXNiNG5EbHpUR056NTg0MXhwRE4veFdhTjI4dTUwRW9Lb29WSzJaajdKR2VvQTloQWtEcGgwTUZwS3N0cUZRZDFhdFh0NnNkNnBLRWNWVngrdlJwdWJ6dTNyMXI2a2NDaS9sSVJBbjM3dDJUZmQ3ZTNxYTV5TlhRSHhJU0l1MlkwOXg4Z1FJRjVBM3BzVXVwVXFXTU9ZTUdEYkoweVdqMTY5YzNqY0d6cVJVUjFaTWgvYUFrVndYT29Xc2hqRDc2R2pkdWJOSmlod3BJdHdsRWVXYk1tTkdZTTNUb1VCdGFBc3NUWTNuejVqV05nWXpYdndQcHh0T25UNDA1MEZUMFQ1MDYxWlI3cVlhWkFMb0V4NmRQbjk0NUFvSzdWWUdMVnNmVm13QnUzYnJGNDhlUEw4Y0NBZ0pNOUN2SzB4akRjc0RPRDRRTXFLZkI2TU1KcUFrdWFBOTROOVZUWWg3T3F6S1hDQ2FkbW1xQTRnREF5MkRuaHJvMDlBQVNPUlB4T1RDczM3OS9ONDNERTJITUNzK2VQVE1KQ0o0UWN4RWVFTFp0MnliN2tIOFJRT1U2VlVEd1lvaDYxZG80b3RoSGp4N1oyQnhLYkRHdWh3R1V0OEhRUnBUVVI5QUpCcEVBZ2VNY1dGWUVhSmdWSyttVVpCV0cweXF2UXFKSmM4QWU2cUNZaFJxRUJNS3RiZHUyTWd6UW8yakM0TUdENVh4NE1iMmFRUXduQUNQdFZBSEJJRU9Uck5oQmRWZUhIZ1lndWlaWC9LdFdwVW9WbVRMb214Z3doZ1JXNWJ2UnQyalJJcU52OU9qUnpoTVExTmRxa3dHU1VsUWlTTFAwYWdTOERwRnN4QjlEKytBQlljZ1I1eUJPMG5sb25UYlJjejZFRytoRFVHbEZ1emhjUVBBazRKc0pDT3l3NzRmR3NVeFFNOWVUVW15TndUaVdGNHozWHdIR21WSUtOQ3haTlRFR3lVWUF6WUUrbEowSWFnbktLVXNNNm94Z0R2YUYraERpNndRYUFJTk9jMEN6V3VIRml4Y20ybGIxZ3FpLzRWaC9mMy9UUGlUYXdRYlFIR0l0bmM0b3Fva2dhbGFiTjIrMnVUbDRKa280clJKVzNIeUhEaDNrMHdhTjRldnJ5NE9DZ21SZFh3VzhJOFZSYWxQdEV5WEd3UHIxNjEyRGNvVU53ZEt4QXVoUmVxcDZpUnBBanZhclBZNG81UkNRb2V0enNOd0l0QVVHZGd5Y3Qwc0k2TlNwVXphQ09YRGdnTHc1bFgxRU1LZWlYYnQyeGppTUtiaHFCSGZRTUxYbWppV2w3dUNBOFZhL0h6UXVnV3hnNTg2ZFRSeVVVd1VFUWFpRXZPNis2OVdyWjFPTlFBMmRPR1NWZUZNQjBremRmSzdXLzlXS0NobHVnUFpSUjZUbTd6QUJnZm9ZTUdDQWtTNVFBOTJobDN1QVZxMWFHVGRoYjljSEFVdVN6Z2Zxd2lyQVJHbWFvRzZMY2NsTm5LQS9rRnhhUmNBd3ByVHBFaEd6WGx0SFdJQXlEWmFIQ2hRVmRVSU9jWk1WaFF0dGRWa0JZWU8zRlVCWFlLY0h6UVBEcCs3N1FXNUdaSmdWbFVMY1RzcVVLWTA4RHB1b2FLNzZNSDZESEl0OEFjR0RxSUFuZ1dDb3FFZHo5TFFFMFREdG9xY3RMR2lVOUNJdTh2VDBsSDBVOHlEaXBtQlZOZUMvd2YwNFpvbWgrb0NjS0gvKy9LWitWRHAwQ2dRYnFiRDdUT1dPSUFERVFlaFQ1eWRQbmx6MmdmcWdhcXBPMkNOSi9ZMEtodU0za3VOcFlwOFFYTDVWQVpEU0FOM20wRzRRTllmRFRuMzAwUjRpMkM5OFJvQnBWU0J3YVFFaHc5YzVJWld2VnJldTZGdjBxR3dORC9maHd3ZEQwM1NLbGtnekVpSVloU2p6S2dJSU5KV0dvR29vT0J4YUtsYWxZNlFXTkFhYWdvQXl0RjQ4UkZ4RUtRVTBORXErcXpGaXhBaDUwMnJ0akdpU0ZTdFcyQ1hXRURsYjdkQlFqVHZaTFNTa1VmSnRIM3U3WWVIVjFOd0tXTEpraVRFSHlTZ0tmd1JLT0ljUEgyN2FJWUlzZnRPbVRhWThMOG9LQ0c0ZTlLa1YxTW9EZHI5ZXVuVEpwZzZtOGp1a1VRZzAvNlYwd3ZrQ3dxWW5KSjlxZ1JFdUhLVWZOUUpYOHpWNEsvSnlxa2FoZlAzSHZ0UkxYa3N0U1lQL2dWZlQrV3JheGtMQ2dmQVFYZi9SYnoxYmVidFJvMGJaRkJlSnJ3NE9EcGFWV0FoVjMrRHB5TGVlMzRrV3oxbHY3dVBOWm1Gd21aK2ZIL1B4OFdFaSs1ZHZQK1AvSWlTUWJ6ZzdFZS9kUDAzeGk1K213RS9pM0hmTHdTN3VRMEJyM1hLd2k3WHVIMWl5RC9rRFN4REtDOUZxdU9WaGd4by9aV1BBL1NOdkZqL3k1cUZKemYwemdkclBCUDVmZ0FFQWJNajMwdzN2c3hjQUFBQUFTVVZPUks1Q1lJST0iLCJzdXBwb3J0ZWRFeHRlbnNpb25zIjpbeyJpZCI6ImZpZG8udWFmLmFuZHJvaWQua2V5X2F0dGVzdGF0aW9uIiwiZGF0YSI6IntcImF0dGVzdGF0aW9uUm9vdENlcnRpZmljYXRlc1wiOltcIk1JSUNpekNDQWpLZ0F3SUJBZ0lKQUtJRm50RU9RMXRYTUFvR0NDcUdTTTQ5QkFNQ01JR1lNUXN3Q1FZRFZRUUdFd0pWVXpFVE1CRUdcXG5BMVVFQ0F3S1EyRnNhV1p2Y201cFlURVdNQlFHQTFVRUJ3d05UVzkxYm5SaGFXNGdWbWxsZHpFVk1CTUdBMVVFQ2d3TVIyOXZaMnhsXFxuTENCSmJtTXVNUkF3RGdZRFZRUUxEQWRCYm1SeWIybGtNVE13TVFZRFZRUUREQ3BCYm1SeWIybGtJRXRsZVhOMGIzSmxJRk52Wm5SM1xcbllYSmxJRUYwZEdWemRHRjBhVzl1SUZKdmIzUXdIaGNOTVRZd01URXhNREEwTXpVd1doY05Nell3TVRBMk1EQTBNelV3V2pDQm1ERUxcXG5NQWtHQTFVRUJoTUNWVk14RXpBUkJnTlZCQWdNQ2tOaGJHbG1iM0p1YVdFeEZqQVVCZ05WQkFjTURVMXZkVzUwWVdsdUlGWnBaWGN4XFxuRlRBVEJnTlZCQW9NREVkdmIyZHNaU3dnU1c1akxqRVFNQTRHQTFVRUN3d0hRVzVrY205cFpERXpNREVHQTFVRUF3d3FRVzVrY205cFxcblpDQkxaWGx6ZEc5eVpTQlRiMlowZDJGeVpTQkJkSFJsYzNSaGRHbHZiaUJTYjI5ME1Ga3dFd1lIS29aSXpqMENBUVlJS29aSXpqMERcXG5BUWNEUWdBRTdsMWV4K0hBMjIwRHBuN210aHZzVFdwZGFtZ3VELzkvU1E1OWR4OUVJbTI5c2EvNkZzdkhyY1YzMGxhY3FyZXdMVlFCXFxuWFQ1REt5cU8xMDdzU0hWQnBLTmpNR0V3SFFZRFZSME9CQllFRk1pdDZYZE1SY09qencwV0VPUjVRem9oV2pEUE1COEdBMVVkSXdRWVxcbk1CYUFGTWl0NlhkTVJjT2p6dzBXRU9SNVF6b2hXakRQTUE4R0ExVWRFd0VCL3dRRk1BTUJBZjh3RGdZRFZSMFBBUUgvQkFRREFnS0VcXG5NQW9HQ0NxR1NNNDlCQU1DQTBjQU1FUUNJRFVobysrTE5FWWVuTlZnOHgxWWlTQnEzS05sUWZZTm5zNktHWXhtU0dCN0FpQk5DL05SXFxuMlRCOGZWdmFOVFFkcUVjYlk2V0ZaVHl0VHlTbjUwMnZRWDN4dnc9PVwiXX0iLCJmYWlsX2lmX3Vua25vd24iOmZhbHNlfV19LCJzdGF0dXNSZXBvcnRzIjpbeyJzdGF0dXMiOiJOT1RfRklET19DRVJUSUZJRUQiLCJlZmZlY3RpdmVEYXRlIjoiMjAxOC0wNS0xOSJ9XSwidGltZU9mTGFzdFN0YXR1c0NoYW5nZSI6IjIwMTgtMDUtMTkifSx7ImF0dGVzdGF0aW9uQ2VydGlmaWNhdGVLZXlJZGVudGlmaWVycyI6WyIzYzIyYjU5N2YzMGU4Njg5ZWQyNDYwZjlkZmU5OWI3NTEwMzI5MmY2Il0sIm1ldGFkYXRhU3RhdGVtZW50Ijp7ImxlZ2FsSGVhZGVyIjoiaHR0cHM6Ly9maWRvYWxsaWFuY2Uub3JnL21ldGFkYXRhL21ldGFkYXRhLXN0YXRlbWVudC1sZWdhbC1oZWFkZXIvIiwiYXR0ZXN0YXRpb25DZXJ0aWZpY2F0ZUtleUlkZW50aWZpZXJzIjpbIjNjMjJiNTk3ZjMwZTg2ODllZDI0NjBmOWRmZTk5Yjc1MTAzMjkyZjYiXSwiZGVzY3JpcHRpb24iOiJSZWRzeXMgVTJGIEF1dGhlbnRpY2F0b3IiLCJhdXRoZW50aWNhdG9yVmVyc2lvbiI6MSwicHJvdG9jb2xGYW1pbHkiOiJ1MmYiLCJzY2hlbWEiOjMsInVwdiI6W3sibWFqb3IiOjEsIm1pbm9yIjowfV0sImF1dGhlbnRpY2F0aW9uQWxnb3JpdGhtcyI6WyJzZWNwMjU2cjFfZWNkc2Ffc2hhMjU2X3JhdyJdLCJwdWJsaWNLZXlBbGdBbmRFbmNvZGluZ3MiOlsiZWNjX3g5NjJfcmF3Il0sImF0dGVzdGF0aW9uVHlwZXMiOlsiYmFzaWNfZnVsbCJdLCJ1c2VyVmVyaWZpY2F0aW9uRGV0YWlscyI6W1t7InVzZXJWZXJpZmljYXRpb25NZXRob2QiOiJwcmVzZW5jZV9pbnRlcm5hbCJ9XV0sImtleVByb3RlY3Rpb24iOlsiaGFyZHdhcmUiLCJzZWN1cmVfZWxlbWVudCJdLCJtYXRjaGVyUHJvdGVjdGlvbiI6WyJvbl9jaGlwIl0sImF0dGFjaG1lbnRIaW50IjpbIndpcmVsZXNzIiwibmZjIl0sInRjRGlzcGxheSI6W10sImF0dGVzdGF0aW9uUm9vdENlcnRpZmljYXRlcyI6WyJNSUlEQWpDQ0FxaWdBd0lCQWdJSkFNRVZzcGVFc0dpS01Bb0dDQ3FHU000OUJBTUNNSUhiTVFzd0NRWURWUVFHRXdKRlV6RWNNQm9HQTFVRUNBd1RRMjl0ZFc1cFpHRmtJR1JsSUUxaFpISnBaREVQTUEwR0ExVUVCd3dHVFdGa2NtbGtNUzB3S3dZRFZRUUtEQ1JTWldSemVYTWdVMlZ5ZG1samFXOXpJR1JsSUZCeWIyTmxjMkZ0YVdWdWRHOGdVMHd4SXpBaEJnTlZCQXNNR2xOdmJIVmphVzl1WlhNZ1EyaHBjQ0I1SUZSaGNtcGxkR0Z6TVE4d0RRWURWUVFEREFaU1pXUnplWE14T0RBMkJna3Foa2lHOXcwQkNRRVdLWFZ6ZFdkbGJpNVRiMngxWTJsdmJtVnpRMGhKVUhsa1pVVnRhWE5wYjI1QWNtVmtjM2x6TG1Wek1CNFhEVEU0TVRBeE1UQTRNRFkxTTFvWERUSXpNVEF4TURBNE1EWTFNMW93Z2RzeEN6QUpCZ05WQkFZVEFrVlRNUnd3R2dZRFZRUUlEQk5EYjIxMWJtbGtZV1FnWkdVZ1RXRmtjbWxrTVE4d0RRWURWUVFIREFaTllXUnlhV1F4TFRBckJnTlZCQW9NSkZKbFpITjVjeUJUWlhKMmFXTnBiM01nWkdVZ1VISnZZMlZ6WVcxcFpXNTBieUJUVERFak1DRUdBMVVFQ3d3YVUyOXNkV05wYjI1bGN5QkRhR2x3SUhrZ1ZHRnlhbVYwWVhNeER6QU5CZ05WQkFNTUJsSmxaSE41Y3pFNE1EWUdDU3FHU0liM0RRRUpBUllwZFhOMVoyVnVMbE52YkhWamFXOXVaWE5EU0VsUWVXUmxSVzFwYzJsdmJrQnlaV1J6ZVhNdVpYTXdXVEFUQmdjcWhrak9QUUlCQmdncWhrak9QUU1CQndOQ0FBUWdHdW1TZDViZDlwd0xzMzJYV1NOYkhGQ1FkR2drQ0JMdVNISm5lWFFjRUtDQldSQzJ5TTBNYS9qZXl2V1M4WlRoRWhOb1R1b0cwSEtER3dDL3BmQ0VvMU13VVRBZEJnTlZIUTRFRmdRVVBDSzFsL01PaG9udEpHRDUzK21iZFJBeWt2WXdId1lEVlIwakJCZ3dGb0FVUENLMWwvTU9ob250SkdENTMrbWJkUkF5a3ZZd0R3WURWUjBUQVFIL0JBVXdBd0VCL3pBS0JnZ3Foa2pPUFFRREFnTklBREJGQWlCWmVEOWo2b1VLTVowa1cwbURDbkhxS3BsWmJXZVRTeEd6dlNSZjlKc2Y4d0loQU1mOGQxMHlseklZdWxmaXUwT250NXNJVzUvUkVtZTBWd1B4OU9iaExBVHoiXSwiaWNvbiI6ImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBTWdBQUFESUNBWUFBQUN0V0s2ZUFBQUFBWE5TUjBJQXJzNGM2UUFBQUFSblFVMUJBQUN4and2OFlRVUFBQUFKY0VoWmN3QUFEc1FBQUE3RUFaVXJEaHNBQUNidVNVUkJWSGhlN1owSmdCMVZtYmJmdXZ2dDduUzZPM3NDSkFJU0FoRlJCQlVFbE1WQVlDS1JnWUNKRWNLd2lvem9ET3FBcUd3am03SW9obVg0ZFlSQlFCSFpRUWlLd0k4Q2lvSVFJQ3lKQ2RsN1grNWFOZTk3NnQ3TzdhUlRoSkEwdi83Zms1eGJkYXRPblRwVjliM25mTitwcXR0ZVFHQVl4cURFS2xQRE1BYkJCR0lZRVpoQURDTUNFNGhoUkdBQ01Zd0lUQ0NHRVlFSnhEQWlNSUVZUmdRbUVNT0l3QVJpR0JHWVFBd2pBaE9JWVVSZ0FqR01DRXdnaGhHQkNjUXdJakNCR0VZRUpoRERpTUFFWWhnUm1FQU1Jd0lUaUdGRVlBSXhqQWhNSUlZUmdRbkVNQ0l3Z1JoR0JDWVF3NGpBQkdJWUVaaEFEQ01DRTRoaFJHQUNNWXdJVENDR0VZRUp4REFpTUlFWVJnUW1FTU9Jd0FSaUdCR1lRQXdqQWhPSVlVUmdBakdNQ0V3Z2hoR0JDY1F3SWpDQkdFWUVKaEREaU1BRVloZ1JtRUFNSXdJVGlHRkVZQUl4akFoTUlJWVJnUW5FTUNJd2dSaEdCQ1lRdzRqQUJHSVlFWmhBRENNQ0U0aGhSR0FDTVl3SVRDQ0dFWUVKeERBaU1JRVlSZ1FtRU1PSXdBUmlHQkdZUUF3akFoT0lZVVJnQWpHTUNFd2doaEdCQ2NRd0lqQ0JHRVlFSmhERGlNQUVZaGdSbUVBTUl3SVRpR0ZFWUFJeGpBaE1JSVlSZ1FuRU1DSXdnUmhHQkY1QUt2TmJGQlZhWm9xN2I0RFBWQzdsRUxTdlF0QzVERjUzQjN5ZlMrTnh4REoxaU5lUFFibDVEQkxaNGYycTFmYWFWMUo1SHBOaERDVmJUQ0JWQTY1T2M0dWZnZi9YUjVCNFpRRzh4YzhoV0xNS3NUeU5uWXFKSlppUFZsODFlTlhBbHhxS1RGeFhiRzZBdDgydUNIYmNENWh5RUJKVFA2M0ZEZ2t0eHMrQW55WVlZMnV6eFFTUzYxMEovL0ZiVUhycVZpUmVlQXJKSEEyZlZwM0tjbVdta3VJeENvUEtDSHdhZDZXZjhLUU1FbEE1VG1FQmduSTVYRXpCbEF2cWVaaTIzUkhCZmljZ2Z1QXBpR2VhK2dWakdGdVRMU0tRc2grZ3VPcFZwRnNtVUJIMWJwa0tEWHBiVVhqaldYalAzUWI4NFVZaytuekU2N2dpbG9ZWHB3SWtoa28zNE5YVXdzMjZhbkc5bjFRbEtSYXFoVDFRdVJ2b203d2JFcDg1RDZrUGYwWTVFV1AzNDdOcnFycHpockdsMkdveFNKV0sxK1RpaWZKTEM0Q2I1eURadmh4QlE0d0c3VkVndFJGR3Y5TVZmckpxRWc1bEFzL25PbFZWUGxhZWdxQlFpdWtVaWwvNEw5VHRNeWZzajlnenFieEszMlFZNzVxdExwRDFrWDMzTExnRW1kdStCbTlrUGNWRFg4eGoyOTlmamFwSXFsQWVicFVYOWpMc3JiVE1LYTVRUXJtVFBVcERNMkpmZmhDWkhmWjA2eXc2TWJZVW15d1ExNHJMTU45bCt4d0cyVUQzMHVlUnZHdzNwSm9TOER6MU1kVnFNSWRYTVhCWE5jMXp6eElHbHlzMmNTRzZCS0psekI0VWlpaXZwRkErL2xsa3p2aUYyeUxCM2dTdWR6S016ZWR0QkJMS29wenJSckhRaTB6amFHZDhXd0x0dExCb0FlTHpEMFNzSlNzSmNDRkw5eVFoMGk4U2ZWUkV3cXA2TW54TjZYSzVxbE1vWHRsbkhFU0hyU09QZkpHQ3Uyd0poVGVPZVVvSVlnbHp1WXpONW0xc3gwTytaeFhhZm5RcXNsdFFIQ0Ura2pzZWdQeGU4OWc3OU1GTDBPaVpnaVNybEtUTGxlRGVsSkpLeko3MDRhVW9DTTJudUl6Sll3b3l6TXZFdUIreEVVbWttcW1ZVThlajcvbUhVYVk0bktBTVl6TVp2QWZoa2hKdHNOVFhqdkxNWnNSLzJZRk10ckd5Y2t1aDNYcklsUXVJZnllTjVQQTYxU1pjcXQ3RDlTWk0vV2lkZWhEWGdSQVpQbWQ4Q3NyMUpCWDNxMGdobGNvb0xTa2hmL3B0cVAvb1VWd3ZkMHYvclM4eDNoa0RMWWFHNXZRaSt5d1g0YzFsOEx2SFpDUzN1RGhFYVB6cGVBcTVIZmFpblJmZ3g3bU1QVWpBYWNBZVE3MkdwbUZpM1ZLc0Y2ZFFUNUppUHZVMGxSN0hyVXRUUUhWTTlRa2tka2doUGY5bzlQM3hRV3BISW5LN000eDN4QUNCQkdxeCtiL0ErZnlwbzVEUXpiMWRQNzFWMjEzRjJ1a0orN0N6S0xrNzdCSUZVaEtIUk1McWNGazE2UzY4M0NvbFVDaWU4am14eVAxU1FVck1TS0VneXl3N3BoQy8vaENVVnk4T1JXSVk3NUFCVnFNMm5XYUgzT1dIb2I3WUFZOEdGd3dmNll4NGE2Rjlsckl0N3FFdEYzK29SbkYrU0F3SjlSTFZKTUV3VldJVEwwa2hKSk9jTWpoUFNSVE1vMTRsdy9YNm5rM0N6OGFRbkJoSDhaSkpiaitVRTQ5dmF4Nk44WTlHUlNDaDd5L3l6LzBhRFUvZUIyOFlQWGJhbWJkODBWYnRRV1M0c2Q3RkZBTU5QU1lSME1ncER1YzJjY2NCUlFJbmxJcEF1TjUzU1lKaXZxcmJsV1pKRW9lV1o5U3JzR3grOTdJcDFEVURmVGZQMHU1NG5DcmNNRFlOWi92cU5ZS2c2TnJXMHBVekVJeWhvVEZJbGwvdkwzcG9xN2U1NWJjZUNsdCtONUlWUTR3Q0FPTVF6WHVWYVl4VGx5Z1NyZmRja2lEa2NuRmVlUk9KU205Q0VXUW9PRTBWK3pkbGtYNzVOdVJiWDl5cVlqZis4UWp0aFlHNTd5WFIvZEMxcUMvazNJMXRyWkU3azE2K0Vya1ZyN2hzV3hMZDdGT3YxZGU2RUptZUpSUUhBeDY1VGdyUUpRclZ3UTN6TWhkdHZ0L1Zpbk03Q1NuT3VJUHpFbFdZdUkxaUZoZWJoS0p4SWtuUkRhTlFFaE5ZMXQwbk9EZkxNRFlWTjh3clExVXZrVDl4T09xVG5UUTJ1VGMwWWJiS0tBWG9hNXFFdW0rL0ZtN2dQdDg5RW9oS3k5ODZGYW44YTNUbmRFZGRBdUFldUtvNlZVNTZYcXlQRkJPS1NxNlkvb1hydFlDemVnNUxTNE15RStmZHMxdGNwYW5QQm9ETGl5dDc0WjI4QXFuNk1aVU5EU01hMTRQUWhGQjgvVTlJdFZFY05RWktwOFg1OGRtMjE5Rno2NmxiMk5YeVVQanRGNUh1L1N2aUtmVWVyQW8xRU9oR2gyckY1S2xYVUMraW9EMG05eXY4cmdFcG4zbXJjWWdlcTNmRHZacFMzRWpTTjJTdkVTaHcxL0owZ201Wkd1bFJiQWlldXdRbFpxTmsrR2tZMGRCNlF2emYvQmRpVFpxcnVEajhKeFBTTkZhZlF2YkorY2ovNG90T0pLRlFxczMzTzBObGF2dWUzNStPNUt2WHdLc2Z4cDNRWE5rcitCU0NZZ2tYVjNEaVV1Vzc3K0lOemxNZ2N2MWNiS0pPUllLdUpDZW02dllhM1ZKeVE3L2NxNForNitvUlcvN2ZYS0JPWmZQcWIvei9SZitkOU53Wms1QXNMV1lnTENPa29lcXV0bHBqK2Z2OFY1YUI5dVpSR0xjallxYzhoWFRkQ0ZlQURGNXYrTlZvYlFBYVZ2VnFSbzd5dVRYdzd0MFBxZTZYRUdTSHU1WThGcGRMcDcxd1A0d3RZcDVFR3BZbm1icTc1NE1YLzdabzJ4QVd3RU10OWJRaU9LSURpVlFqeXphTWFKelp5WWFLcXhlN0dBQ0tQZWpPK0V3S2lIM1BkL054V2xxc01ZMXMxeUxFemh1SnZ0cy9pOTdXTUhqWEErWWJvMHh4cVB5K2pwZVJlK1JveEc4ZWhVVHhWUVIxdzdrdnRmVGFKM09vQ0xwSTBvVW5kNHI3VlpJVmI2NDRoSjVZQ1JQTFV0bHl3enFmRFZjYXh0dmdsZG1EbExyYkVmOUNNekNlN2hTTlNNRjVURDBJWFJSbnZNNXFtVnZmMWVhbjJNb1hDd2pvekJjYkd4RHNPQjN4Q1hzREk2WUFHYlhNYlBjTGpHZmFGd0pybmtDdzlINGs4NTN3c2trYWFKYTlCSE00SWJDbmtMeGNEeUlaaGN1ZG9yUS9UYmNrTE5QUHRhTDR3UnVSM1A3NENGa2IveTlROHRtOHh1SW9GcnJaYml0eXJKb0dHL0d1cFVpTTJzMlp5ZGJFSzFFZ2hSVkxrRDU5SW1MamFESTBWSit1VlV3RzZ3VEJscGRUMTRyTHArZDN0MTQ5aTZaQmp1dEs3dFVNOTR5aDhuR3FRU2RmVDlqR0pRb0c0YTRzcmVEQktVNlE2NlR2S1MwWGN0TXEyMjlGdkZ3bmVuYTlGUFU3blZsWllsU1pQbU1tcjdzYXgzVm1sOHZuY2RBblA0R3p6dnBhWmNuV1I0Mm1iRU94YXU3cEc1RCsrWWxodkVsaVJTN3JvbWR5K3Axb21CcStjcjAxY1RGSXo3SkZ5SDdsL2FGQWRFL0VqUVRKNGlrQXhpQ2hJTXFWcVdJVHhpZ1VrSXhad1hJNEFzWDg3QkZjd0szMUxFS3hSNUNRbTZUdjRXSExqZExwVng1ZERKL2x1cWQzaDRpZzBJWGN6dDlGM2VTdlZwWU01T2xubnNYUGJya0Y5UTBObFNYUnFPN05UYzFvYm1uR3BFa1RNWFhYWFRGaVJCaWYvYjF4eEQ4Zmd3U3ZjZTMxeUZNZysrNjdILzc5ekM5VmxteDkvREliVVhvdHZZOWZnT3o5MzBTOEtRT3ZXRVk1VjBTK2JqdkV6bm9OU2IzS3dMeGJ1VDBOQlpKdlg0WGtpV01RakUvU3BOa2I2Q1JSR0xyM0VHUFE3Q2NUcnNkd28xc2FSV0xsUTRISThDa0FmbGU4NHZHN3B2TFRuQ0E0bFhDMFhMY2ozQUJBcmJCMGlKeVhkSVlDdFVwQnZnM0ZxZk9SMlBHa1FVL3VRdzh2d0lYZnZSZ3R6UzJiWEMrZjNXZmcreWlWU3lqUW9Kb2FoK0hJSTJmaWM4Y2NVOG54OThITW80NTFBbEhEVlNXWHkxRWcrK0xmdmp3VUFnblBkNUhYcWZUQW1VZzllUVZpdzdMdU9nUnJjK2paWXpheVI5M2tSdk0xQ3VtaVcrZVRiejFjNmNtbTBjaHpUcjhPNGxBOTF6VWkvYmdnbnN2ZFU3OXVBVE9xMTlBSjFUS3RyOHk2MVp3UFhTYm0weENzNjJFb0luZlRMMXkrcVVhNEpkQ2UyQjRBOWRzT2RuaU9HT3VXU3FXWWtralhKTGNzeVdsdGN2bFN5R1pTcUt2TG9ISFlNSXdZT1pMaVQrS20vN2tWMC8vcENLeGVzN1pTOHRBZDU5OHJzZ1dOZVJidk9BYXBQMXlCZUQxN2lYSU9KWW9qUDRlOU9zVVJVK0RMVXhtdjJ0dFd4dTFCSDZXV0Zxb3lqQU9jQ01LNUNxd1VsK25kcEhBRlAxUS9WWkl4aGMra2NOdlg0eDlhNFZ3dTlob1VEdnNTbE9WeWNYMlorVUNYSytaR3lsaUsyL3RRd2pvcTFtditrR3E1Q1NpWGFzNmpZZzlSN090RmJ4ZGptTzV1ZEhWMG9HUHRXblMydGRFTjBXKzNoQ1hxTTg1akgwYXhaT3ZyY2ZTeHM5MXk0KzBwMGxwNjc1eUQ1SnMvaHo5NlBBclpVZWpOam9kLzltSmtweDdqN0RUdTZZbUxNUDlRMEcraThTa0h1UmRCcEdJblRvVU9BeXBTODBVaTRWZmR1M0NaMUNxN2paVEMxWUt6ZEswOGRodzBNSzJxOWpSYzR3WHZSYUtZVXcxSVpNWnFITVRWY1ZOUWpkZTB0dUtIMS93QTk5ejlLOXg3MXk5eC83MTM0Zjc3NzhhVlYxeU9EKy8rQWJTM3RZYVphMGpFNDhqVzFlSEhQOUhOU1pWaVJKRmc3MUIzeEUxSWZxV0U1Q25Ma0RqakxXVC9kU25TdzdZTGUvN0tRTTVRMGkrUVlOOHZBRjJjNmpxeU12S2VCbDdTOVF4S01ZbFVwRm5sZE5zeGFlaldxVUZMT1hWQk9aZFJIR3FKVmI0ZUoza3ZFdncrbE1iUGNOVlV2L0JPMEFVcUZkUlRyQ1BHTG43eVRqdmgzSFBPeHFjUFB0ajU2K3VUVHFmeHpMTi9ySHo3eDBkblZWWXhtQ2xybmJQempSQmo3MUIxdm9XTVUyYWw1QnJaZGVZYWZmVXFLOE5KN1dlSTVxdDExSHp0T2tkTkpWMlFyb3p1RVpMWkhqTE5YSzhYa2ZUTGh4cUM5ZUpzZGN0MGkvUzRSM1VVaTBGOG5NRzh2dXVJSkFvS3dRWDFDdUtsRDcwbXl3TnlRYnlHZUJXODgvdlF1MVhyS1BXMElUamdHU1JiOXRDQnM1STY5UU41ZU1GdmNmRmxsekZJNTRtb1lmWHExZmcvMTgzSHhFa1RLMHNHc25MVmFycFRjekIyN01BSElVdWxFb2JWc3hlNThZYktrbzN6MWx2TEthWm5zT2pWUlZpMWFoWHlCYmFrUE5jalJyUmc0bmJiWWJjUGZoQzc3REtsa252VFdidTJGYjk3L0hkNGJkRnJMSGNsQ3NVeVk2WTZiTFBOZU95MTUxN1lZNDhQdTN6dk5FaVh6UlE2RnlMKzVrM3dWajJJY3Z2ZkVDK3NCRTNEV1YyWnA3Y1VhMEt5Zmp6S1RidWp2UDJ4eUU0OEhFVzZxLzZ2RGtWY3IzTFRJSFFWZ3JKdUROTUY3bXFIZCtSZFNDVFR2RWF5UCsxcElLNFordG54M0U4SDEzTjdsYUdCa21JM2N1ODdGTmtEem5CQ1V6VzBlYWxyR2Z6SGJvRDN3djBJbHI2SVJHZVgrNTFvMmIzYXpWSTZobkx6ZUhqYlRrWDVBNGVoYnRycC9VSU5IeldwSEV6dTVuOUQvU09YSTJqVUtCYlg4bVE1NDZleHU5RXJDVVAzU2Voang1S1ZZVjhGM3pJMENpQWN1dFYyL05Eb2wzNjVuYlB1TFVCT2gzSTRkMzM4b0lpQ054cXA2WG9CakFmc1ZGeFpXY1BtQ3VTTk54Wmozc21uWVBTb1VaVWxJZmw4QWJ2dk5oWGZQdmVjeXBJTldmQ2J4M0R0dGRkaEZRUDZPb29wSG1kTHl2T3VVNm1MVTliMUtaZmRrR3VjQm5IODNEbVlOZXVvY09NSWx2eHRLYzYvOENLOFRHRU1hNkJyeVhMZGZRNldxVkdnRW8ycXI2OFA5WmtVZnZZL04rTzRFMCtHei8xRUNVVDFVVnRlN0ZxSTRQRkRrZXg0azlkYmJvSU1oZzJyZTNwYUY1MDVBMHFJeVMreHFjem5VTngyRGhLSC9OU1YwLzNvYVdoODlrZmh2VEplQzQwRXlsalJDL1RzKzIzVTdmY3RmbUc4NnM3Q1FIclh2SXI0ZDNaQ01ueU16NFVEK2tNQmhkVmMrWU8xU0RhMHVFdWJ6L1hBLzk3K3lENy9MRkF2KzJOMXFuYW9HM2RsQ1pEVElqZDJhdWZ4Tm81RStvYlYvWHV0VEZVemltRDJwZWpyWnQ3S0krSmhIK1FjbzhxVXVJOWF0SzBXY3VwSzQxUmZWUWttcHovTzZrNzVZRzdQa0NUdVczZVh5aC81WWFYNnFwdWIyVHg0VE90enhkVlhvcm5KUGUwNWdEVU01RFhrdXpGT091VlVYSFR4cFJSQmdOR2pSNkdCZ1gwNm5YSi9HaUxQM3FkRWRTUnBnR3J4SlZvRi96Lyt5VTh3Yjk2L1ZFb1luRHQrZVFkbXp6MGVhMXZiTVc3TUdKWmJod3lGb05HNWVDcUZCRk1tazhhSWxtYk9wekdYNWFXU0NvQ2pUNHpFVVZqMU1HTDNUVUdxc0FaZVBZMHhYcytrRnA4WjlGT1grWGFtRG5oNS9UNXNId1ZBMjZKdHhPUEovbFk3KzZscmtIT05jSm9OTUswM2tZV1hxa013akkzdzczayt1Q3EyRVhmRGYraHNKSnU0Y1RLRmdNZkRnM0psK3Z2L00ySVVoeWgwcm9CM2NnT3liejJMMkVnMkRGa2VtMjUwNjlMbm1KbmhCTHE1bHk3V1RUL3VxY0V4aVRXOTdzOXZpSENlVzhWcHhYVTgrUEp4bHlMZXl0eVNwSm91R1h4Skk4N015bGt0MFdrS256WG5yTXRUUWJQdURpRzNsUkh4dnh1SlV6ZW9iZDRUZUFMeVJlUmFQb1RzNkdrOGtUWDFmUWRvTXhtbm84YUlsaXo1RzA3NzR1bDQvYlUza2FScnF0S3JlMmh0YThPMGd3L0VCM2JkdGJKa0hjb3o3ZkFqMkd1ME9pT042M0ViTGlzVUN1anA2c0tuUHJrLzVzNzVIS1lmT28yOVNReTVYamF0UlBlUEdwdGJzS2FqRTNPUG0rZVdyYy9kZDkxTndjN0grUEhqV0NkWm9WQXo1NkczdHc5cjJSdm0yWE9vVE0yWFNqSkh6L1YyZ3dta3VrUy9idW1pc01jT1JqQmN6YmQrS2FNQ2UraGl2QTY1M1duNDB4NUY3dENua0Qvb0h1VDN1Qno1Q1llaHdGMzQrYTVRSUV5MEhuaDcwMXZwbzY5VFEwRDd5ZlQwSVAvR1k1eXZMS3lnUmtUdVZlcVB0OU56a1QyR3ZSbjdRMGlMcVdOdmRPV0s4aVY3NmFrbmVqcHlsc0tDZEZNNlI5UHVuZmtmeUovOUFIb3ZmQkw1Yys1RjN3bFhJYmZQMGZRd1VpaTFyWGJpckJLNldCVTBvd1BvL2ZJa05CUVd3OHV3RW5xWVVEY0N1V2U5cGVkYVl6M1pxK0JEYisvcGJUN05KK2hTTWErZXE5Szg2aFRvNHFnRlY2eWlJZDcxajNocm8zM1RkeXprVzVFNGd1NUpuQzB6RjB1ekcyTmpMbGFKcnNkd2QzZGR2WkxuakdwdGF4dEt4UUxkbDNwNkdSUUhsMHVBUlM1cmJXM0ZZZE9uNDkrL092Z2pMY2VkY0JJNk9qdmRmUlRoeEVFWGFzTFkwZmpoRDY1MnkycjU1amZQeFo5ZlhJaHNKdVB5Nmt5dVhiTUdYL255R1JUUklTNlA2S0Z4SFRMOWNJemJac043UFhJVFAvKzVZL0dGejg4T3J4UHBvMGl1L3RHMWVPamhoeW5VRFo4QXFIV3hYR2pSOWlkNGozd1lDVDNOWFcwYzlUdGtQUjBvelFuMFV3RDk1N2V5dG45YWJGdUVWUE9PL2ZYU3RTaGUyWUIwc3NqMm1EYkM4MWYyeTlSYUFjWG1mWkE5L25mTXhLMWRnWHJJaWZWNS9CclUzZnRGZGtFWnVtNTZDa1BDby91ODA5Rkl6YnZWeFE1RjlsckJTWFZJTkxOTTdad052UFpXWXNQZjk1L1BvWDY3RC9KN2VBNkZ5dFc4VWk5amxMcHRkdWxmTjhCV05Bd3E5YVF1WDRUdXRkeVF2aU9kMHRDallBbzQ3M29DOTlaZXFGMjNzbG9hQ2ZVV0xsRGxLNXVHU1FZN2hFbVVjNjN3UG5xM0U0ZUlFa2NVR3JMdDdPNUdSM2NQT2p1N25lOHV0NldKUW9yckJTMkpwbGpFcXBVcnNjT2tTYmh1L2pVYkZjY2ZubjRHYnk1WjBpOE9vVHZ4UGwycXdjUWh6ai8vUEhReHVCVFYwejJjKzc3MTlsOVV2b1ZjZmZYVmFCNDVxdmFTT05Zd1VELzdHMS9IOGNmTjdSZUgwREQwV2F6bjdObkg4cmpvSGtXZ2MxZW1qZWdoQ05kUTFqUjRpWFFDL2hPejlBSnFQMXFycE8yVTBqWGlFTXJxVDdzZTZLYnpYN01pUUJheHhZOGpSemROVDVLN3h6RGNjczQrOWczM0t2VTZHS1BSbzB2TXZtSGdDQmdOdVJJVWtMQlNBVHU5K1BYSDhkcXhYSDdYV2lWdHAvcHB2cjVHSEdLZ3ZkQVZvbGVIdElMRTd6MlB3bHNzdUVqM1NIL1FoczJIVjZJazNDOFlzb2lneFArYXNnajNuZjRkOStyc1V1TmluRHJ0Y08rMU94d0t0RC90Mis5cFEzR1hjNURjNW5BS1h4VjdkK2cramxvNTNRaVVTeVIzUlB0U0tyQ2wzVzJYS1hqMGtZZHc2YVVYWTZmM3Y5OXRNeGgzM3ZtckFmR0thcWJ0anpyeXMrNjczS3phVk5UZlJpRWpSNDEwc1VrVmlmYk5OeGtrMS9EWS8zMGE2UnJoaVJLRk4ybmlkamp3VS90WGxtekk4WFBtdUdPS2VwRk14cUlSd0tMT3JRTHcybk9hYkVEZHNqc1IvNm1IM0gwZlF1R1AzMEoremU5ZHI2T2Nxdlg2SmVzOW90VE94NkozK0FSbW9qMVY5aTFITloxaC9rY3ZZZzU2TFpYR0xyLzB6OGkyZHRMazlCWWMwZm5QbDFEWSsvT01IWWE1enNhUnpLSXdkaFJGb3IydkkwbFBwMjdGYzBnZDE0VENtZVBSKzlOVDBmZVhoNTNicUxSKy9jUkFnVGhDYzA1UG1BcnZPNCtndUl5bVZmRGRNSnd1anZ4UWR4eHFQWndWdWkrVi8veHcxc2xpV1htdFVUZXM0M09HcEY1bks2ZEFTZnZxYlVOdXg5T1EyZVY4Zm1lcngrWHZCaG1PVDBPVkc5VFoxWTIydHZaK1k5WCtVdWswbm52K2VjejR6RXdzZlBsbHQzeGp2UExLSzRocjVLZUdURGFMWDl4NUp3NCs1REJNLzh4bkI2UkRaOHpFUVljZXpoMHhFcXdaWVJLNkh0WDdMM0w3T2pzN0J1UlIzVlRuQXlMRVVXWGNtTEc4emhGTkNmZXYxcmEwOXgxQVJ3Zno1V2tHTW45MzBka1UxL1AvY0tRNlgwYml4Zk9SdlBOaktQODRqdkpqczFITXIzYmxPaEgwN3lCOGxTNSs2QzBvOXVvSnJPb0tUaW55NE9rcm5ZSHFaclBPdFBmUTF4QlQ2T08rS1JkakQzYXE2VmsvY04vZCswTkVaOWI3Nm1NbzZONXRuc2ZqTHIyelFCY0d5UFhLZGk1SDVzSDVTRjl3TURDVGJ2aEZCNkN3K00vSzZNeTZ5aUFDQ2VzdmRTZDNQUUQreFUranNKSkdUcVhHU2d4NE5TVEdKa1EvaXFBS3VtQ2VKZXJBcXkyQXIyRytpajA2Y1hCZWE5WjNnYlpzQ3N2WEQvVDZFc2ZPLzRITTdqOTBkWFJEaFpYNmJDNXI2Ty9mY04xOC9PcU8yL0hBM2IvRWxkKy96QVcxYXQxVnRPS1BWQ1pMUTYvRFNTZWRnbnZ1dmlmY2NCQUtoYnpyZmFwVXQwK3kyWlRMcHQ1bHNDUWt5bXB5NTV6TENwVWJtTXVXTFdVdk1GQjRLcnZNOWVQSERCeCtIZ3oxanM1bjN4aGNyMzFteDg5RWNUbzlqUFI0b0x1RGlxRnI1b2QxVUkxaVhvWkJkQ05pRFJSTEtvdjRHN2NpY2QxbzlQN2hIR2ZzemlnSW16UTNqVyszTDd4UmU5Q205SnVlUW5rU1NKZnk2Rmw0bHpQU0V0ZkZYbnlRMXErLzZlZk9HR09WRWtvZk80Ym5yZEVKclhvanNjemVMVEZtWjhUbXQ2SjMyNzNncjJYZEtFQzJJTncxYlZqSG9jZWY5S3MzalFra2VHcnJYM2dVOFpOMlIrZDUvMVQxNkxTTFNvbURvcEVuZGt2YmZ3U0ZhMWNnMzYwSW40WFR5WlM3NVp4TlRvTnlJdXhWS0lvNFUxQUpuTlN6eEpqblhUYmNtNDRPbk9MMWVjRktlLzRjbWFrWHVvUGIyRkRoTzBXSDBjbFdzOHFVeVR2aHJqdHVvL0VWWEFCZlBVeTVZUXFRTC83K1ZYaGt3YU9WcFFOeGhsRmppRzZXOWRmZk5GRWNVdDdFVkdMeW5Xc1N0cHh1Skt6U1NBMGdRYmRudmFjQUJxTzdyNWMrLzl0Y01GMWM3aVBkT0JXSmFhK2dlTmdpTmtaZlF6NDlHbVhkaU8yakN3UUdCWlV6NHY3aVY3d0I4ZUVOeUQ1MUlmSUxmOUsvcm9xdVVIbm1MU2gzOGhycTF6aWNnSml5dEtuZm51dnlsQlpjaHJUK3VsK2xsOUI2alNnbmovNVI1ZnM2OUFjdk5KcVZxRzlHM1RmbzVsMjNHcjFIWG9EOHVNa29zbGNKT21pNHZicVJYWVUxNEFhSmNSNGFuN2tIZlZmTWRUKy9xNGg4d0NqV2h1anBTZ1V4WHVpbmZYODZVcy9kai9oWUxsR2dwQjlDa0t1UVlqdWQ1aDdpTEZERGIrNkgzTFNobEVwQmFUUkxFby9ZMCthaTA2WHpHYkEvTGRhTlEzei9GeEhMTk9uQVhFdnhUbm1uTndyek5MenBoODlBeThpUnJnWFdJV3F2bXE1WXRnelhjNXZKT3cyTVIrYjl5NG5vNk9yaHFRdGJlK1hOMDAyYU1mMFFuSERDNEVPM204b25QblVRSm94bnk5NVA0T0tZS1ZOMnhrWG5mYWV5YkVOMEUzTGFZVE13WnN6QUp3RUczQ2pVeWRab3BQTVFaRDQ2eDdLT0VPZnhyMWlBNE9WcmtIanpGKzZlZ25zQWx2bGo2dlhZNHVkVFk1Q2Q4NGJMM3c4YkdLb2JQYmNmZ0xyRnYyVWp3eGhENTdMb29kVFJBLzlDZWdVWE5qRjA1eDRrRUhkWE80ZXVLY2NnUGVjVzJqWjdCdWRZaFlUWFFMNUQyS2VFTmh4V1grdEtiL3dSNVVkL2hPUURET3paZzdnWVc2R0M3a25RUzhxdFp2NEhRM2RTMjBjZ0h6Rzg2SHBQSkhYbWZTaWU5UnZrMUpDdTFtMUhybUdCdWhQcE1VN3hOT3luTGtNN2t3dW1WcjN5ZlVPWGFFc2s3cnZVaFZLdUZhVmQvaE9ZOWhZUzZTWjNVSnNqanMxQmo4SmZmZVgzc0h6NThzcVNFTzE5TEEzMWxOTytpRDYyekxYc3M4OCs3azI5S3Nxclo3WnUrL25BRWFuTlljTDRDZTZ1K3pyb3VpWFRlUExKcDFqSHR5ckxOdVNjczg5MjdsMFV2cGREb1pSRG1TZFlQVU9jNG5EbnVwTFVhaWZISHNCRzZ1Zm8vZmlQcWJwMVBhNmFZZmZIakhMVngvOXJvRGhFYXNhdlVPaGh5NjVyeTMrS0tSaHZvL2pvZWZEMEdpR1hDNS9UUG43TkhIMnQyNmQ3enFtR1Vxa1BPZGFvYXR4aDZhR3hhejd4dmc4alBlOTY1Szk2RmVWVzlzQWFTYXJCN2Fhc1o0dmZWaUFoa29nVXFtS3l1KzZQOVB3UyttWmNndDQxTEh3MUE3VWMvWEFLeEQxS1R0VTdWMGZ6T3BNU2h4U3ZaMjNDNDN2WEtFZ0xpcDBvOXJTak9HRVdncy9ta1pyOGRmZmo3a1BtMHRXd3k1UXArTmZUVGtYcjZsVjA2WFJwSzFDa0kwZU14Tkd6anEwc0NEbmgrT1BRM1U1M3BQWjhNTyt3NFUyWU1mTklQUHZNTTVXRmcvUDY2Ni9qL0FzdXdoTlBQVlZac282alpzNWdvQjRPQjFkUld6RjY5R2pNblhjUzdybnZBUzVadCtQRml4Zmp0RE8rakpjV3ZiSEI2TmY2K0l3dHZCVlBvUFJMQnJVdlhZQkN4MHV1MTNDWGVyMXBmQ25GSG5mbTY1QU54Znc4L0tZTmI1cFcwVWhVY2MvakdlL1dQUFRKdUM3NysvTTRDWWZTSFl6aHNOY3NKRk42bGt0bEQ4VFA5YUU0eTBQdjdhY2o5OFl6enZ0UnZhbzlpUEs3WmIrOUVSNEZXSDNmM2NFTVpmMGxadFpkN2YzYnVGZ2JSenZUVGd1UFhZdllBMTlIcXRBT3I0VTdxMHNqeUxJS3VxMnY4NTFpaktKbnNlUnFLWURjbkJ1R3lxN05nbDZLTDBjTmNoL2Jud3h2Nm1WSXhNS0xFTDdCUExBbDJCdzI5MWtzY2M0NTM4U2ZuMzhCMllaaHJzcnVZdkQwYWhTcHVia0pOOTV3bmNzbkhuL2lDWHo5bkhNeGZ0eDRYdmZ3ZkNpLzdvZDBkblc1a2FoSjIyMkhzWFI1a25SYnUzcDZzSExWR2l4N2F6a0Q5REo3cFJ5dXVQUmlmT1FqNFlPR3RSeDUxREh1K3RUZVp4RzYxTHFSS0xkUWo1a29obEZ2bytlMHRFNHUzL3FqWk92ZktNVEtKeEQvM1NmY3o3a0dPYm8rckxxZjNwWTdHOHRqNXIrZVpVRFhNc1NTdkM1ZUhZK0pSOFZqaWhVREZPa3VsVDczSjJSSDdlN0tYaDlkUWFYZ094NVN3eWhHZldGUEpUY3Rwc0VodGZRTXdBdnlYcjdiUlcraFlkQVd2cER2UnV4RVhvTmhOTGMrQ3BibGxKdnJrZEJ3TXNzcmQ3VWp0bXlGaXc0VTUzaEZsaEl3bm1QNXdkL0s2RDNyT2d5YmRxS3IreWIxSUlPaERXV2FtZjFPUnVxaU5oVE9mQjc1eVNlaXA1Y25aQlU3dU80ZW5sM1dMay8vc01nYVZvWUdwSTBOWGFYMWt3SW9YbzZBMjVmWlRlZGJHV1F5eG1nNUNJV1AzZ1h2aUJ4U3UxMkpKTVdoVXNPUzM3MDQzaTBYWEhBK0dtaHNNanduRHFad2RDdURGYXZYNE54dm5lZnlpVS9RemJyNHd2T3hZdFVxOU5FSXErMlVndnltNGNPZDBhNmlLUC8wbDcvZ0Q4LytDUXRmZmhVZEhSMFkzampNaVZmUFZQVy80TFlldC83c1pocCtLSWJhOWs5Q1ZQMWFLTmE2Yk5hOUFhblJzYTd1YnZkRWIxMTl2UnNkaXlLTTdYaGN5VWFLWkFUaWRHbVRqSHlUUFM4ZzBmbFh4UDAyeEJVRHh1cDUvTXpyMDd1Z3dlWlpsOUlSZHlORGNXenNYa3Vjc3Bha3kvdDlDK1dDZXBHcWVZWlgyS0ZCa1QwL1I1K1U0dGhJT2YwamNSbmF4L0E0a293ek1vVmVKRmE4Z3ZoYkM1SHVvamdhS2VZTTR3ODNpRU5iMDkvZ1gxWkd6NWN1Y3VJUVR2QThnWVB2WlZQUlJhSXFWWWd6Q0taODY5OFF2SFk3dkdXL1JxenRLU1JLN2F3c1YvRG85WE9nWGt5akxlR0ZDRnRQYnFWaFM0bURkZFVpUDhtTE5Yd1BlQ1AzUlhuc1ljaTBmTHptTkRFZlAzVUFXNW9ISG53STU1MTNBWnBHdExDT1lmbXFqNHoxMXB2K0d6dnNzTDFidGpIMHFNU25QMzBvVW1uMjB6VWpRaktXdHRhMU9QYVlXVGpqUzZkWGx2STRlZm92dmV6N2VPU1JCZTRPZFpLeGlIcGF2VjZncmNJenF0UERvSlBucVByZWV6ME5YTEhQeElrYjc5RXV2K0lxM0h2dmZVZ3pyMTRSRG51SHNFeVZGZDZJekdQZTNObVlQWHNPRGpuMGNMZGZ4UXBWOG5SM2RBL2xuRzk4WGQ0eWN1Mi9SK3pSanpsRDV1VmlTU3lUMTFKT3VFWXk5ZWZ2WEJ5dnk4dHJXY3p3UE80NEQ3RzlMcUVMekgzTDNOdzFINHp3cW1vRXFYVDVNTlNWYWJWc0JIV09ZbXhrUzdTYjhxbyt4Qzd1UkNMSkhpTE12Z0c5RkZmcDlDd3liSmYxMUZQL1UvTXlWZFZaMjlISDRxVkN3SjM1dE0zaVByT1JtbnNWa3NQQ2h4MnJ4YjU3Z2F5SEhrZFo5ODY1cTFNNDdWek1EbUVSNG4xTGVQUVVUTEhkblhDNVJsNThKSVhETGpYMVB2aU5FK2ltN1VRUmhlNkJLbHB0UjRhQ0ZTdFg0cVdYWG1JTFRUZXVza3owOWVYeDhZL3Q2WjYyZlR1V0xsMkdSYSsvd1M1OFlLK21ZOUdiaDlPbVRlc2Z3YXJsdWVmK2pMODgvenlXcjF5Rjl2WjI1LzVvbXdTTnU3R3hFU05hV3JEOTl1L0RoM2I3QUpvNXZ5bElDTCttK0Y1ODhTV3NXYnNHUmJwWEttL1V5SkhZYmVvdU9QREFBeXM1Z2NkKzk3aDdNRks5WGhYVlFZL3dUOWw1TWkrdVhLcndtRXI1MWZBNlhnUzYvOHJyMmtvRDdsWnUrREc2VlprUmlOVi9BTUdJRDduZXBMOGYwQWxkVi9SR2tjMzBYajhWRGEwTDJhMmsrd1VTVU5COWsyZWo3dGlid293YndYbG1USVVpWGZJbHo5S2RlaEYrMXlyV2s5NklZdUVFYmF0K0ZMelJPNkQ4dnIyUWFoN3Y2amhZMWJhNFFBemozZEwzd20zSTNERUxnWDVMV2IyZEUwZ0pwZFlpeWhmMUlKMVNGRDAwREdYamJCZ091ZGZxSmFxcDJrSnJYdTVWL0o1WjhCclNqQ1hVRnhDMTRia2ljdnQ5Q1FtOU14SXVIUkpNSU1hUUV6QXc5b004ZW4velZYcmFyOUxkN29WK0VyYjAwaTBvZlQ5RkYxQkJnMXk1aW5uNk9mUWs2NUNkY1pXK2hLN2FFR0V1bGpIa3lHVXFNYzd4TC9MY28xVWF6bFU4R3FjZTNLUDRmdVhkR28wciszbms5QWpLdVIxSXBZZitGL210QnpIZUEwSXoxeXV1dXBjUnI2K25VREtJWmVwUXJqeHNxWWNLUzNuZEVVOGhUbkVrbkRqa2hBMHRKaEJqeUFrakVOSkxrV2owcTlERGFRNWxqVHJwRVp5ZUhJcWMrbnYvQnhKZjYwT2M0dEI3N2UrRnVacUxaUXc1Z1Y5Q0taWkE4T1o5S0szK0t4SjlTeEhMdGFQczFjR3YyeGF4aVhzanRzMG53L2M2d2szZU0wd2d4cEFUV3B6dXlHOW8vbHFsNU82R3Y5ZnFJQ1lRdzRqQVloRERpTUFFWWhnUm1FQU1Jd0lUaUdGRVlBSXhqQWhNSUlZUmdRbkVNQ0l3Z1JoR0JDWVF3NGpBQkdJWUVaaEFEQ01DRTRoaFJHQUNNWXdJVENDR0VZRUp4REFpTUlFWVJnUW1FTU9Jd0FSaUdCR1lRQXdqQWhPSVlVUmdBakdNQ0V3Z2hoR0JDY1F3SWpDQkdFWUVKaEREaU1BRVloZ1JtRUFNSXdJVGlHRkVZQUl4akFoTUlJWVJnUW5FTUNJd2dSaEdCQ1lRdzRqQUJHSVlFWmhBRENNQ0U0aGhSR0FDTVl3SVRDQ0dFWUVKeERBaU1JRVlSZ1FtRU1PSXdBUmlHQkdZUUF3akFoT0lZVVJnQWpHTUNFd2doaEdCQ2NRd0lqQ0JHRVlFSmhERGlNQUVZaGdSbUVBTUl3SVRpR0ZFWUFJeGpBaE1JSVlSZ1FuRU1DSXdnUmhHQkNZUXc0akFCR0lZRVpoQURDTUNFNGhoUkdBQ01Zd0lUQ0NHRVlFSnhEQWlNSUVZUmdRbUVNT0l3QVJpR0JHWVFBd2pBaE9JWVVSZ0FqR01DRXdnaGhHQkNjUXdJakNCR01aR0FmNFg3cEJZWXZIZXViSUFBQUFBU1VWT1JLNUNZSUk9In0sInN0YXR1c1JlcG9ydHMiOlt7InN0YXR1cyI6Ik5PVF9GSURPX0NFUlRJRklFRCIsImVmZmVjdGl2ZURhdGUiOiIyMDE4LTEwLTExIn1dLCJ0aW1lT2ZMYXN0U3RhdHVzQ2hhbmdlIjoiMjAxOC0xMC0xMSJ9LHsiYWFndWlkIjoiZjhhMDExZjMtOGMwYS00ZDE1LTgwMDYtMTcxMTFmOWVkYzdkIiwibWV0YWRhdGFTdGF0ZW1lbnQiOnsibGVnYWxIZWFkZXIiOiJodHRwczovL2ZpZG9hbGxpYW5jZS5vcmcvbWV0YWRhdGEvbWV0YWRhdGEtc3RhdGVtZW50LWxlZ2FsLWhlYWRlci8iLCJhYWd1aWQiOiJmOGEwMTFmMy04YzBhLTRkMTUtODAwNi0xNzExMWY5ZWRjN2QiLCJkZXNjcmlwdGlvbiI6IlNlY3VyaXR5IEtleSBieSBZdWJpY28iLCJhdXRoZW50aWNhdG9yVmVyc2lvbiI6NTAxMDAsInByb3RvY29sRmFtaWx5IjoiZmlkbzIiLCJzY2hlbWEiOjMsInVwdiI6W3sibWFqb3IiOjEsIm1pbm9yIjowfV0sImF1dGhlbnRpY2F0aW9uQWxnb3JpdGhtcyI6WyJlZDI1NTE5X2VkZHNhX3NoYTUxMl9yYXciLCJzZWNwMjU2cjFfZWNkc2Ffc2hhMjU2X3JhdyJdLCJwdWJsaWNLZXlBbGdBbmRFbmNvZGluZ3MiOlsiY29zZSJdLCJhdHRlc3RhdGlvblR5cGVzIjpbImJhc2ljX2Z1bGwiXSwidXNlclZlcmlmaWNhdGlvbkRldGFpbHMiOltbeyJ1c2VyVmVyaWZpY2F0aW9uTWV0aG9kIjoibm9uZSJ9LHsidXNlclZlcmlmaWNhdGlvbk1ldGhvZCI6InByZXNlbmNlX2ludGVybmFsIn0seyJ1c2VyVmVyaWZpY2F0aW9uTWV0aG9kIjoicGFzc2NvZGVfaW50ZXJuYWwiLCJjYURlc2MiOnsiYmFzZSI6NjQsIm1pbkxlbmd0aCI6NCwibWF4UmV0cmllcyI6OCwiYmxvY2tTbG93ZG93biI6MH19XV0sImtleVByb3RlY3Rpb24iOlsiaGFyZHdhcmUiLCJzZWN1cmVfZWxlbWVudCJdLCJtYXRjaGVyUHJvdGVjdGlvbiI6WyJvbl9jaGlwIl0sImNyeXB0b1N0cmVuZ3RoIjoxMjgsImF0dGFjaG1lbnRIaW50IjpbImV4dGVybmFsIiwid2lyZWQiXSwidGNEaXNwbGF5IjpbXSwiYXR0ZXN0YXRpb25Sb290Q2VydGlmaWNhdGVzIjpbIk1JSURIakNDQWdhZ0F3SUJBZ0lFRzBCVDl6QU5CZ2txaGtpRzl3MEJBUXNGQURBdU1Td3dLZ1lEVlFRREV5TlpkV0pwWTI4Z1ZUSkdJRkp2YjNRZ1EwRWdVMlZ5YVdGc0lEUTFOekl3TURZek1UQWdGdzB4TkRBNE1ERXdNREF3TURCYUdBOHlNRFV3TURrd05EQXdNREF3TUZvd0xqRXNNQ29HQTFVRUF4TWpXWFZpYVdOdklGVXlSaUJTYjI5MElFTkJJRk5sY21saGJDQTBOVGN5TURBMk16RXdnZ0VpTUEwR0NTcUdTSWIzRFFFQkFRVUFBNElCRHdBd2dnRUtBb0lCQVFDL2p3WXVoQlZscWFpWVdFTXNyV0Zpc2dKK1B0TTkxZVNycEk0VEs3VTUzbXdDSWF3U0RIeTh2VW1rNU4yS0FqOWFidlQ5TlA1U01TMWhRaTN1c3hvWUdvblhRZ2ZPNlpYeVVBOWErS0FrcWRGbkJubHl1Z1NlQ09lcDhFZFpGZnNhUkZ0TWprd3o1R2N6MlB5NHZJWXZDZE1IUHR3YXowYlZ1em5ldWVJRXo2VG5RakU2M1JkdDJ6YnduZWJ3VEc1WnliZVdTd2J6eStCSjM0WkhjVWhQQVk4OXlKUVh1RTBJek1aRmNFQmJQTlJiV0VDUktnanEvL3FUOW5tRE9GVmxTUkN0MndpcVBTemx1d24rditzdVFFQnNValRHTUVkMjV0S1hYVGtOVzIxd0lXYnhlU3lVb1RYd0x2R1M2eGx3UVNnTnBrMnFYWXdmOGlYZzdWV1pBZ01CQUFHalFqQkFNQjBHQTFVZERnUVdCQlFnSXZ6MGJOR0poamdwVG9rc3lLcFA5eHY5b0RBUEJnTlZIUk1FQ0RBR0FRSC9BZ0VBTUE0R0ExVWREd0VCL3dRRUF3SUJCakFOQmdrcWhraUc5dzBCQVFzRkFBT0NBUUVBanZqdU9NRFNhK0pYRkNMeUJLc3ljWHRCVlpzSjRVZTNMYmFFc1BZNE1ZTi9oSVE1Wk01cDdFamZjbk1HNEN0WWtOc2ZOSGMwQWhCTGRxNDVyblQ4N3EvNk8zdlVFdE5NYWZiaFU2a3RoWDdZKzlYRk45TnBtWXhyK2VrVlk1eE94aThoOUpESWdvTVA0VkIxdVMwYXVuTDFJR3FyTm9vTDltbUZuTDJrTFZWZWU2L1ZSNkM1K0tTVENNQ1dwcE11SklaSUkydjlvNGRrb1o4WTdRUmpRbExmWXpkM3FHdEtidzd4YUYxVXNHLzV4VWIvQnR3YjJYMmc0SW5waUIveXQvM0NwUVhwaVdYL0s0bUJ2VUtpR24wNVpzcWVZMWd4NGcweExCcWNVOXBzbXlQeksrVnNndzJqZVJRNUpsS0R5cUUwaGViZkMxdHZGdTBDQ3JKRmN3PT0iXSwiaWNvbiI6ImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0FBQUFBZkNBWUFBQUNHVnMrTUFBQUFBWE5TUjBJQXJzNGM2UUFBQUFSblFVMUJBQUN4and2OFlRVUFBQUFKY0VoWmN3QUFIWVlBQUIyR0FWMmlFNEVBQUFiTlNVUkJWRmhIcFZkN1ROVjFGRC8zZDU5d2VRU0lnUzlBUUFYY0ZMQVFaaTlmcGVWejF0WS9XVFpyNVd4cGM3VzVrbkxhNWpJM1o4NXNyUzJuTTJzanRXd1pTN0lVSDRINHhDbkVReDREQVpGNzRWN3VzODg1djkvbEluQnZWSi9CNFB2OW51LzVudS81bnZNNTU2ZnpBL1F2MEhiL0lyWDNWRktQbzQ1Y25tNGluVUlXWXdMRlJtWlFVdXdqRkcvTjFpUkhoMUVaME5SVlJ1ZHF0MUJkKzJuU0t5Uy9PaHlzMCtsazNlLzNrUTlxdkQ0WlV0YTRWVlNVdVkwZWlweWlUaEFmb2NvT1JWZ0R1dXczcUtSaUFkM3JiY0V0alRqWUlvZjZXYUhzQ216VlBXQ014K2NnaDh0THFXTUthTVdzVWpMcW8yUnRKSVEwb096bWVycFF1NGVzWmdzT05rR3hIN2Qwa2R2VFQxN3M0T01VN1ZJOFpoamdHYU0rQXE5aUVOdThQaWYxdWR6MDdNd3ZLV2Y4R2xWb0NFWTA0UEM1V2RUYVhZRmJSOHZOdkw1KzNLZ2ZiNXhOTXlhOVJhbUppeW5hTWxHVFZ0RmxyNmJhOXUrcHFuRVg0dU11UlJnalNZRWhyTjd1dEZGZTZscWFsN05ma3c1aW1BR0h5blBwYms4Vm1ZMHhzdG5wdGxGQ1ZDWXR6VHVCTjgzUXBNTGpUdGV2ZFB6U1VuSjdlOG1ranhaMzlmWGJLRGZsZFpxYnZVK1RVZ0duQlZGNmZRMmlQSGc0VzE2VVdVd3Z6YmsxNnNNWkUrUG4wcHZ6N0pTZXVBeWVzOGxjcENtYUt1by9wK3FXcjJVY3dJQUhXcnZQMFlFemhYQXRMQWJzc0hocDdpR2FtdnlpalA4cnlxclhVV1g5WG9vd3h5QXVmTkJycDQzUE9CRlhabGtmOE1EUmlxY3B5b3dBd3B1ejJ4K2ZXdnovRHRkZTlzbXN6eWd0Y1I2QzF3YmR6Qmw2T2xxNVdOWVk0b0dhdGhKTXJrVEV4MGpBUlNIQVZzKzVyWWtRTlhiK1FnZlBMc1E2Z1h5SW5zcmVRZm1wbTdSVkZZZkw4Nm4xZmlVT2tZdlNoa1VQeHZidWt6b3k2SzFpaE0xaG8zWHpXNkV2U2ZYQStkcGlXR2FXZCtkb1h6THptR3dLWUZMQ0FzUkFsUEJBaE1sQ0ZYVTd0QlVWUHI4SGdWY0pIV3ErRjAwcGxyK0RNVGRyUDR6dnhZMTFrTk1oeFQrU2VUR2crZDRWNUxRSml0eVVHSk5COFZGWnNqZ1lCWk0vSUkvWENUa2owcXlET3BGMkFWUTE3Q0lqVXAvRG5UMVVrTDVGNWdkaitzUzF3ZzFnRTNnaWdtNjBmQ1h6U25QWGJ5QVBiSVh2K0lEcEUxNlRoYUhJUzlza3lobG1NRTVGM2NmcUFLaHEyQzBFNVBIMWdZYVhhTFBEa1pHMEhESk9uS1dIcDUxSTB6NVNPdXg4ZTFXQXVaemRIUXJUa3A4VG1qWG9JK2xhMHdHWnN6dWJxYk8zaWZRNkEvVzd2VlNZc1YzbVIwSkt3a0tjNFdIaUJrbVI4STNDQ2dJODdvT0w0cXpUNVArUlVKQmVqRU9nQVBLOGhZUHphdE0rZUlUcDJJTzl5VFFtZXJvbVBSeHgxcXhBY3NpbGUvdWJTZUViY1dRR1lFQ2doY0xZMkh5S2pvZ2pIMjVoTXBqcFV2MU91Z2xpNGVoMmVSdzBPMzJiSmpreXVDZ056ZzB2emxZTVNpU3MwdW9vNE1HN2hNT2pDRWFYMXlGRTBuU3ZqQnp1VG5FcEs4Nlo4SW9xRkFJdWJ3OGtnOUFyRWFSRVdTWkkrakg0WGJwNmc5RTlFbkpUM29hUnpETitNVUpCUURIbjU2YThvVW1FQnVzT3hCcy9ONSt0SkViUGtBRkRqOFVHdk9zL0lXdmNTZ2xHQmh2UzcvRlRZZnBXR1lkRFk4ZlBBeFdTQTM1c1RDNHA0K0xtNEFhcUlvUGVRdGZ1Zks2SmgwWmh4bGJzVVhPU21YTmlmRDVaVEFreURvZmJiY2NseG5BOFdOQXF4Q2JSTnlraFh4UXBhRHc2N2ZYVVlic2lHMEtodHYyb2VJdmg4cmhRTVlPY0VBcVhHL2VJK3puZ09jNXl4cjhxODJJQU0xYy9GTEZPcGxxdTVlRlFYck1aekdjVkNqWWJMV0c1STRCVDFldVJybGJ4dE5PdE1pdERERWhMWElJeW5BQXZ1T0VXRTNYM05kQWZ0OTRWZ2FHNDJYSVF0MFpYNlBlQ0UvcVFGZTlySzZIeDdZVTUwS3ZIN2ZXNGZTK3E3S0tCSnhzZ2dCWDVwU0FHaDFqSXJWaDV6UTZ3M1JmYWFoQlhtL2FDYkNaVGpDVUZVVHlXWnFXOXA2Mk1qSlBYVnFPclBnTU80TnY3NEdrZitvd2Z0TlZCRFFuakZKcUhTdzE3cFh2aFdXNUtacWUvUTQ5Ti9VU1RDQVZXb1FYRklIQkhYWGUzRlByVURzdUdEbXRGL2hIS1RIcGVreGhpQU9QSStTSnE2UzZIRjRJOVlXemtCSlRvNDZpVU16V3A4UGlyL1JpZHVMeEtZc1Nrc1Y4dkxsT1F2aEdYMllsUjBPQmhCakMrdS9nRWN2WTBBcEs3WWs0MU54alBTUW5XRkhURjY2VXJqZ2V2QjhDdTVhK2wydllTUlB0dVZEbzczaGhkTVNIblVYN3RUanNWWkd4QWwvV3B0aU9JRVExZ25MMjltWDYvdFIxdG1sa1lqOFc0WCtDU2pXY1VER1kxTnBTL0M3aFNLcWlNTE0vbDJRbVNXWjczRGR6K2dpbzhCQ0VOWVBRNDZxbmt6d1hVYnF2Qmt4alVRc1dmWkZnYnVvM3JBZit3TjdqT085MCt5bng0UGkzTCswbllMMVNjaERVZ0FQNGdQVi83SWQxcSsxSFNobXVHa0lxV1JQZ3l4TUZxUDhIZmpUbmpYd1k1YlFmYkpjdDZPSXpLZ01Ib3RGL0hlMWVnc2F4SFNxRzZ3ZmRtUTV4OE55VEZGcUJjcDJpU293SFIzeWs1KzM2aEY3dlhBQUFBQUVsRlRrU3VRbUNDIiwiYXV0aGVudGljYXRvckdldEluZm8iOnsidmVyc2lvbnMiOlsiVTJGX1YyIiwiRklET18yXzAiXSwiZXh0ZW5zaW9ucyI6WyJobWFjLXNlY3JldCJdLCJhYWd1aWQiOiJmOGEwMTFmMzhjMGE0ZDE1ODAwNjE3MTExZjllZGM3ZCIsIm9wdGlvbnMiOnsicGxhdCI6ZmFsc2UsInJrIjp0cnVlLCJjbGllbnRQaW4iOmZhbHNlLCJ1cCI6dHJ1ZX0sIm1heE1zZ1NpemUiOjEyMDAsInBpblV2QXV0aFByb3RvY29scyI6WzFdfX0sInN0YXR1c1JlcG9ydHMiOlt7InN0YXR1cyI6IkZJRE9fQ0VSVElGSUVEX0wxIiwiZWZmZWN0aXZlRGF0ZSI6IjIwMjAtMDUtMTIiLCJjZXJ0aWZpY2F0aW9uRGVzY3JpcHRvciI6IlNlY3VyaXR5IEtleSBieSBZdWJpY28iLCJjZXJ0aWZpY2F0ZU51bWJlciI6IkZJRE8yMDAyMDE4MDkyNjAwMSIsImNlcnRpZmljYXRpb25Qb2xpY3lWZXJzaW9uIjoiMS4wLjAiLCJjZXJ0aWZpY2F0aW9uUmVxdWlyZW1lbnRzVmVyc2lvbiI6IjEuMC4wIn1dLCJ0aW1lT2ZMYXN0U3RhdHVzQ2hhbmdlIjoiMjAyMC0wNS0xMiJ9LHsiYXR0ZXN0YXRpb25DZXJ0aWZpY2F0ZUtleUlkZW50aWZpZXJzIjpbIjU3MzQwMmFlOTAxZTI3YzExNDM4ZWI4YTQ0ZTc0NmVjNzM3MmRlZTMiXSwibWV0YWRhdGFTdGF0ZW1lbnQiOnsibGVnYWxIZWFkZXIiOiJodHRwczovL2ZpZG9hbGxpYW5jZS5vcmcvbWV0YWRhdGEvbWV0YWRhdGEtc3RhdGVtZW50LWxlZ2FsLWhlYWRlci8iLCJhdHRlc3RhdGlvbkNlcnRpZmljYXRlS2V5SWRlbnRpZmllcnMiOlsiNTczNDAyYWU5MDFlMjdjMTE0MzhlYjhhNDRlNzQ2ZWM3MzcyZGVlMyJdLCJkZXNjcmlwdGlvbiI6IlNPTElEIHdlYktleSIsImF1dGhlbnRpY2F0b3JWZXJzaW9uIjoxLCJwcm90b2NvbEZhbWlseSI6InUyZiIsInNjaGVtYSI6MywidXB2IjpbeyJtYWpvciI6MSwibWlub3IiOjF9XSwiYXV0aGVudGljYXRpb25BbGdvcml0aG1zIjpbInNlY3AyNTZyMV9lY2RzYV9zaGEyNTZfcmF3Il0sInB1YmxpY0tleUFsZ0FuZEVuY29kaW5ncyI6WyJlY2NfeDk2Ml9yYXciXSwiYXR0ZXN0YXRpb25UeXBlcyI6WyJiYXNpY19mdWxsIl0sInVzZXJWZXJpZmljYXRpb25EZXRhaWxzIjpbW3sidXNlclZlcmlmaWNhdGlvbk1ldGhvZCI6InByZXNlbmNlX2ludGVybmFsIn1dXSwia2V5UHJvdGVjdGlvbiI6WyJoYXJkd2FyZSIsInNlY3VyZV9lbGVtZW50Il0sImlzRnJlc2hVc2VyVmVyaWZpY2F0aW9uUmVxdWlyZWQiOnRydWUsIm1hdGNoZXJQcm90ZWN0aW9uIjpbIm9uX2NoaXAiXSwiYXR0YWNobWVudEhpbnQiOlsiZXh0ZXJuYWwiLCJ3aXJlZCJdLCJ0Y0Rpc3BsYXkiOltdLCJhdHRlc3RhdGlvblJvb3RDZXJ0aWZpY2F0ZXMiOlsiTUlJSGJEQ0NCVlNnQXdJQkFnSUlZT042Yi9hb0dZOHdEUVlKS29aSWh2Y05BUUVMQlFBd2dZOHhDekFKQmdOVkJBWVRBbHBCTVRJd01BWURWUVFLRENsTVFWY2dWSEoxYzNSbFpDQlVhR2x5WkNCUVlYSjBlU0JUWlhKMmFXTmxjeUJRVkZrZ1RIUmtMakVwTUNjR0ExVUVDd3dnVEVGWGRISjFjM1FnVkhKMWMzUWdVMlZ5ZG1salpYTWdVSEp2ZG1sa1pYSXhJVEFmQmdOVkJBTU1HRXhCVjNSeWRYTjBJRkJ5YVhaaGRHVWdVbTl2ZENCRFFUQWVGdzB4T0RFd01Ua3hNakU1TURWYUZ3MHlPREV3TVRZeE1qRTVNRFZhTUlHUk1Rc3dDUVlEVlFRR0V3SmFRVEV5TURBR0ExVUVDZ3dwVEVGWElGUnlkWE4wWldRZ1ZHaHBjbVFnVUdGeWRIa2dVMlZ5ZG1salpYTWdVRlJaSUV4MFpDNHhLVEFuQmdOVkJBc01JRXhCVjNSeWRYTjBJRlJ5ZFhOMElGTmxjblpwWTJWeklGQnliM1pwWkdWeU1TTXdJUVlEVlFRRERCcE1RVmQwY25WemRDQlFjbWwyWVhSbElFRjFkR2dnUTBFd01UQ0NBaUl3RFFZSktvWklodmNOQVFFQkJRQURnZ0lQQURDQ0Fnb0NnZ0lCQU1YSWQyN0lWRHRQcnVXVXBuT1p5cng5VlBDeFhRcU83c2VQbVBrS3lDRG0rZmhQWklwV3BpMjQ1KzlWUnNodTFLbnRZM1dYTmkwL3dhMXhWWWxoa3ozVFd1d0YwYUpLaHljVFhGUGcxcEYwZEd4MndjaGF3SEg0dFAzOFNsKzIvOGQzbnpzSGdDWkhPMzFEWUZIbVEyb1VYZ1M2S1NVTEFCVzBUSjdTZ2hwZ0pZaHNTY3hJMWJKV0gwMnFvVlBKNXlKb0RBNzdQb3JjNHB4T0xsdFJhQSt3NzYrWWtFekVvZTcrMGxHaDlGWnBUTUFCVHppVzFaUC9UeUlEdzhEOHlQTituYzBRR2pCazRRRXFLVWJTdGFJLzBhN1UrdExKUUlIem9uZUhMMWdKMlhqOWhrMzN1ZjY0QWZ5YllybHRTck9HQ3FibHRpbUdQQ2NwWXIxcGJWa1hMbDlKb1RTbW5VM21TeVBlaU11VnAxVEZrN1JvL1BEc2NhZ0ViK3VlN3NhdUU1aGZJWDJGQ29YUHJXSVNSQmdDVUtQTkE2aFJ4WER0R0JqSjFYb2tCc0VlYmRESHdvazdsK2NySTJuY3lFTUkxTUE0NDVQV0RSa3Q0cFQ0UTVBZXJmc2M1L3c4SEZ2Y05yVjBYVDJDbmNNdTlwRktVRVlFdGMyVlI3cG8zVFpHTTZhMUpiQ09rTUcvNjM0MC82czJTQkJrc01Rb1VWSTk2UlNpMWFkbWEvQWhlbkJGWldZU1pIaWpkdUVhUEoxbDV4UFlMbUZOcnZhclBMRzd5d0oxWDdFRlNSS1dBc25iVElWVjN2RWhhajNpSC9hbUw3RFVYbU9sSzNZQkVzUEMzeDFMRDBZK05Qczk2M1VZRDlCTE1ISmpHTVEzMERwZGdNQmc4bWRiQWdNQkFBR2pnZ0hHTUlJQndqQVBCZ05WSFJNQkFmOEVCVEFEQVFIL01COEdBMVVkSXdRWU1CYUFGSURvVUhubTNkYWo5MlJoVnYxSHJPS3ZDZEZ1TURZR0NDc0dBUVVGQndFQkJDb3dLREFtQmdnckJnRUZCUWN3QVlZYWFIUjBjRG92TDI5amMzQXViR0YzZEhKMWMzUXVZMjh1ZW1Fd1NBWURWUjBnQkVFd1B6QTlCZ3BnaGtnQmh2cHNDZ0lCTUM4d0xRWUlLd1lCQlFVSEFnRVdJV2gwZEhCek9pOHZiR0YzZEhKMWMzUXVZMjh1ZW1FdmNtVndiM05wZEc5eWVUQ0IzQVlEVlIwZkJJSFVNSUhSTUlIT29EU2dNb1l3YUhSMGNEb3ZMMk55YkM1c1lYZDBjblZ6ZEM1amJ5NTZZUzlNVkY5UWNtbDJZWFJsWDFKdmIzUmZRMEV1WTNKc29vR1ZwSUdTTUlHUE1TRXdId1lEVlFRRERCaE1RVmQwY25WemRDQlFjbWwyWVhSbElGSnZiM1FnUTBFeE1qQXdCZ05WQkFvTUtVeEJWeUJVY25WemRHVmtJRlJvYVhKa0lGQmhjblI1SUZObGNuWnBZMlZ6SUZCVVdTQk1kR1F1TVNrd0p3WURWUVFMRENCTVFWZDBjblZ6ZENCVWNuVnpkQ0JUWlhKMmFXTmxjeUJRY205MmFXUmxjakVMTUFrR0ExVUVCaE1DV2tFd0hRWURWUjBPQkJZRUZNUWw2Z09nYzRWMzRZc3BwVnNUc29mVEh3eldNQTRHQTFVZER3RUIvd1FFQXdJQmhqQU5CZ2txaGtpRzl3MEJBUXNGQUFPQ0FnRUF1Q2dCd0dMTm4rRHFhYldUWS9kUHg4ZnFUSjhEZTl0ZzR5dnlNb1RUdzhPWUUwT2lHcUJvREtFNHdPYWNZSndiK3NwOG9hYmI0VlU1NUZYanAzbU1GdTZzbnNtS3c4T0p6WnpXTWxwQjgveWtBYTl4QktCcGQ5QUpRUWZLdUNEcm5SZ0NKR3o1amNNaDEzem9qNGNzOXhqeUFlVEY4MVFYbXM1ckN5R0JuYktiOTlEV2NmdEcrNG5VTGRWQTQzWkgxWU1oWjhMR3h0VWYxZTZYZWExdEMvR29OMGxTTmVVUkd1TUtsdDArOTFBaERteG9hd0hpVmJvWi9FdUcxT0tEM3M0Sno4TU5TWUFQY0Zzc2cyOFhKQjk5dkxac1Z6c3pCbDhGMmZNS2dWT2lMNy9DUXhGL1FudW8xcHFZM2psNXlPeVBnN2c2cHBJRitFcUdwUHNETVhCYzhOcDhEQmJSSi9IZGJSR0M2T1h5VnFweVl5STNNYjBQV013dzVIYzVqMzZKWWhzYUlta3ZiK241L1NnSS95YXg4b09MRVYvb2crcFdmOXhlTmpLeDdPNC80SWFVQjQ4VGhTZzkyT2VRSEJuckxEVlR4Q2h5U0VMOUJtYVVtR1A3Qkw3blltVGsxK29SR2dUZE1NMW9sb2doU2pjOUt6cDJXQVpBb1RzRElnVVVkd3hPbElxa2MwbUlBUnRJeENHUzNxZ1p4TlNyYnpwS1oycHN1M2ZCeFNEbE9vRjN4aHgzUnBhNXlqZnJVRW80Q2dzQ3NVQ3R4ODVrd1E4c2J2Z3RMTE5VZW1tQ3JsTW9QV0g5YS9TeEJBek40aVpGS1Mya0Q3c0ZxeGxYazE3MitTSEZBd1IxdUlSdGJBMzQwRWdLVy8wT0Y5V0tvTDBrUXpES01vVT0iXSwiaWNvbiI6ImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBWkFBQUFHUUNBTUFBQUMzWWNiK0FBQUFiMUJNVkVVQVpmL3Q3djhVY2Y4aWVmOUFpdi9BMVA4SmF2OEFBR1h2Ny84QUdvNHlndi9OMi8vbjZ2OEFCR3pZNHY5Wm1mOEFZZnBvb2Y4QUVZQ2x4ZitYdlArQXIvOEFDblRnNXY4QVhQSUFWdWdBTkxVQVR0MjUwUDl6cVA5T2t2OEFQc09NdHY4QUs2Y0FJcG9BUnRDdnl2ODgxTC9NQUFBUk0wbEVRVlI0MnV5ZDYzYnF5QTZFWlNCbUF3RUNrQXVFVzBqZS94blBXWFBkUTJQY3JWWko3bmJyNzZ3VjcrRUR1MXlsbG1oY3FsTkY1U01vUUVvVklBVklxUUtrQUNsVmdCUWdwUXFRQXFSVUFWS3FBQ2xBU2hVZ0JVaXBBcVFBS1ZXQUZDQ2xDcEJTQlVnQlVxb0FLVUJLRlNBRlNLa0NwQUFwVllDVUtrQUtrRklGU0FGU3FnQXBRRW9WSUFWSXFRS2tWQUZTZ0pRcVFBcVFVb2tDdVg1L1VEcjFzanV2c3dieTlrbkoxWG1lTDVDM0hTVlkzL05zZ1h4U2tyWFBGY2lWRXExMW5rRG11MVNCZk9jSlpFL0oxaVJISUc4djZRTFp6VE1FOGswSjExZCtRQ1lwODZDWHQreUFmQ1lOaE02NUFmbWl4R3VkRjVENVIrcEFQdk1Dc3FmazY1b1RrUFZMK2tBKzVoa0JjU1R2OGxkUVZkUGJQL0Q2QzF6dUpmZjVBSEVrYjcwSS9IaCtvdjlDY1AzWVNGOFZJTHY0Ny9mcDlrK2MwRURjUzU1ekFlSkkzdUZ6OEtjenEyLy95QUVOeEwza0pBOGdiNDdrM1RBK251UHRINWxXYUNKSEMrbXJBT1I4Ky84MTRqeGpud2UzZjJhTEJ2SThOTEMwOEVEV2pvQjhZbjA4MjlzL00zaEhFOWthU0Y4OEVNZkVXa25wMEdPTzBoY094TWx0QjF6QmVuQ2s3d3hONU1tUnZ1dlVnYmk1N1lYOThTejFwZTlTUGMxRkE5a0xTTjYvYStIbzBCODBrSVc2OUFVRGNYUGJpTSt3ZW5Yb3dxV3ZjOGxkMmtET29uY1pWNGRlMEVEVXBTOFd5RVQyT1Z4dDlLV3ZjOG1QdDRTQmZFb3IxWkdRaG82NTVEbGRJRmZwTDNRMUUzckxqTHJrT2xVZ2JtNGI3M2FzSkh5WXlFdCtwZ3BrTCs4SFZ1OERDYWN5OHBMWE5JRzRrdmVBMEtFUkx6YWVkZEZzWkFRQ2ljMXRHNzZ3USswMHQzSXZ1VThSeUFTVXVtYWU1dUtBN0ZEZjVCSGtsOWVWTkJjR3hNbHRCMUwzZWpkYVJVdGZ6VFFYQldUK2dWTkRxNXpUWEJTUU0vQkRlOWRQYy9Xa0x3aklHdnBHZllIZER1M1RYQkNRYjZqbmxIT2Fpd0Z5QlV0VGd6VDNvSlRtUW9ETWQraVh0eTQwTW42bkEyU1B0amVxaFg0am8xS2Fpd0FpbXR2NjZsQUQ2YnRMQmNoWndTSjNvOVZNR2hrQlFOWXFUOXhPTkRLK0pRSGtVeWRtMVplK0ttbXVQSkNyMGxmM0tjOUdSbkVna3EyS2o2c0xqWXlmM1FleVY1TS9GbzJNQTdqMGxRYWlJWGtiMDF5OHBmVUtUM09sZ1h3cjNrZGNIUXAvcnVPbHJ6Q1FpZXFUMXVrcUpIaWF1MEdudWNKQWRycmYyWkYrbHhaYStzb0MrZEs5cTkvcEtqUTRtN3Z1TGhCRXEySmdtanVFLzBUQWpZeWlRUGJhamwvMVhxc2ZVQUNudVpKQTFpL3FONUJmanVxcDlSc1pSZE5jU1NEZitnMVRyczdDWHhTYjVnb0NtWUJ6VzYvWEFpSXlTSFBmdWdnRW45dDZ2RGdURVUyVFRuTUpKM254YmVtdW02VnlRQUdhNW9vQmNVMHMrT2ZpbXE5YVB4RmdJNk1Za0xQK1MvT2hhUnJmUWYvWjlkVTFJTmhXUlUrMW85ZndnR3RrbEFLaWxOcysvRkFVR3g1dzBsY0l5RlcvNWNCOVk5YThPaXpOSlpEa2hUc1lycWVrKy90RWphV1JBYkxYSDBJeXF4OEJ3VGM4b0tRdllTUXZQTjEyY3dsdGpRY2FTME1ReVl2di85aTBEYUtHdndXQnBLOEVrSW4rRGVPdWlhWHNFMkRHMGhCQzhoNzE3eGR1dmVyZk5jL2RBUEtsTHpvWGRUc1F2TmNNU1hQamdlam50bzBtbG5Zd2draHpTVjd5NG8yTGc5K0NDYmlsaFVoem80RVk1TGJOSnBiMk53T1E1a1lETWNodHQ3NDdXUENXbHZ4WUdoS1h2QXY5RzRXZHBTVS9saVlXaUVGdXUvSmZVNFMzdE1USDBwQ3c1TVcvajgxcWZ5RDROMVR4c1RRa0xIbnh1ZTBvWkpNWDN0S1NUblBqZ0Jqa3Roc0txbzMrRSsxcUI4UWd0MjAzc2JSdm9jSnBMb2xLWHZ4RDlKVUNLN1g5ZWpGQTVGYURpSnBZMmpKY2RpeE5CQkNMM0haSndiWFUvMGQ5MndEWjY5K3ZEOFNvdE1iUzhJRVk1TGErSnBheXBWVkpwcmtrSjNueHVlMldXSlhVV0JvU2s3ejR0MkovRTB2WjBxb0UwMXcyRUlQY2RrWE1TbW5KQ0lsSlhyaXpPcXU1UUF6RzByRFRYQ1lRaTl4MlJPeEthTWtJQ1VsZWZEcTNvWWhLWjhrSUNVbGVneU1aM2JLMHBNYlM4SUI4NjB2ZVY0b3F2S1VsSkgxWlFBeGFGUmQxSEpCa2xveXdnT3owSmUrU0lndHZhY2xJWHc0UTVSRXpiQk1yeWJFMGxJVGs1WmxZMmpwUVJQb3lnSnoxLzFlM0pGQnBMQmtKQitLMktqN3AvNTkyMHRJU2FXU2tlTW1MZjF5dVNLUlcrbmZXUFI3SVZWOVF6bW9aSUhVS1kybENnVmlNbUJtUlVPRXRyZml4TkJRcmVRMk9qblhZMG9wUGN3T0JHSXlZaVRPeHRMODkwVXRHS0ZMeUdody83clNsRlozbWhnRXhhRlZjMUpKQThBb2t0cEV4RElqQmlKa2xpUlplbzBkS1g0cVN2UGgzclFNSkY5elNpa3h6S1VyeXdsc1ZKVXdzYlo4bnJwRXhCSWpCaUprdGlkZFcvNmszd1FBeGFGV1VNYkcwYjdOUmFXNEFFSVBjZGtXQWdndVJLT25yRDhRZ3Q1M1ZDQ0Q0ZjNmTWtoSGlTMTZETlhYM1ArRHBhYms2SGxmTDA5UVBZS2VYakJEYnhCcDB3TVNxUjhlZi83enFMWDZPbzNZcWNFc3JJczMxQldLUTI3YVpXUFZwYy9jNzhidzUxZGFXRmovTkphN2t4ZXY1eHliVzhQSkFMYjFmaHJhV0ZqL045UVJpTUdMbW9ZazEzTFo4SDZyTjFOVFNZcWU1eEpTOEJpZjNmbnQ4WFR4K250VjJZR2RwVmV3MGw1aVNWLzlzNjIrZnB1ZXIzV0pwYUdseEd4bjlnT2pudHMwbTFpQkFJMjBHZHBZV2N5d05zU1N2d1h5RWZ6N0pvTmU2eGRUTTBtS09wU0dXNURXWUlQTDM3U3J3cS9DOE5MTzBlR05wZklBWTVMWk5KdFlxK0U1VEhjMHNMWmIwOVFCaWtOczJtVmljUjFmMWFtVnBzZEpjWXBoWUJvZGFveTY4TXJLMFdOSzNIWWpCaUprR0UydkpWRWJWMHNiU1lvMmxhUVZpa05zMm1GaFR0clI3bmhwWldvdzBsNEpOTElQemszLytNQ1B1K1l1QmphWEZTSFBiZ0Jqa3RvRHRoTlhHeU5JS0gwdERvWklYbjlzdUVlN1Qwc1RTWXFTNTFMbmM5cjZKRmFza0d0NDA0WlpXOEZnYTZscHUyMkJpUlN1Smk1R2xGWnJtVXRkYUZlK2JXUEVkWU5YUXlOSUtiR1NranVXMkRiZVdMWW8wK2h0V2hTNFpvWTdsdGl2UUQ2VHhKN0xTLzRwZHVVQU1Sc3cwbUZnaTc2SVhJMHNyckpHUnVwWGIzamV4YXBIN3ludHRaR2tGTFJtaFR1VzJEU2FXMEx2UHljalNDa3B6cVV1NWJWTW4xZ2FLRys4RmhVaGY2bEtyWWxOeUlYVGhaOEdVSmZMSnVBNEhZcERiTm5WaWlkM2xwMVpkV2dIU2x6bzBZcVlwL2haekI0NVdCdzhEcEM5MVo4Uk1ZeWVXbUwvOFk5YWw1ZC9JU0oyUnZNMmRXR0ozbElWWmw1Wi9ta3Vka2J5Tm5WaTEzRFZxc3k0dDc3RTA1UGtETWVnWC8rZnJLM2VScWQzQnc1UG5UK1Era0hrSFRsUWdJckdUM2NGRFIwTHVRb0NzMVNYdmcrT0Vnayt2cGVIQncxdUo5eElGQlA3UEhhbWNtbDBaSGp4MG5wRWhRTjYwLzdtUGpoTWVjZDlTeFp1QTAxZ2FkTXR5ZlN6c1AvZmhjVUlsSU9ESDVOSFR6NkpPSEVCNFZUcm92ekk3ZU9odFoxRVhyTjdITTdGVUh1cm9WeTN2NHp2VWhURGs4VXdzRmRrTE5pUDhJeEhxUUZ6WU1oTkw0OFVRYkdrRjlNR1QvVUhvdHBsWWN0WkpWUnZOMGdvNEpFMzJMU2V0TTdIdzVpTFkwZ3BwUENIenBxejJtVmg0K3gxc2FZVzBacEg1dUpuMm1WandnQXBzYVFXTm9pSHJ4bDZQbVZqb0NCZHRhUVcxOTVKMTY3dkhUQ3gwa3dQWUl3b2JaMGJHUS8yOEJydkwrRGFWNHJVZTJrSmY3TjVlL1BFcHY4SHUyRVk1c0VjVU9CS1RiS2RrK1ExMmg3YVNnajJpMEdPR1pIb0UxM2V3TzdEWkdtMXBoUjdFSmRQaDRyNkQzWUhIRWNDV1Z2RGc4YlpEbjlBeER2NkQzV0VIZHRDVzFpaDBtRU1iRUhmUWlaejBEUmpzRGp2U0JyYTB0cUZuUHRzSEJ3QkhBWVVNZHI4b1BVRmtQU0xHak90V0lMZ2xSMEdEM1dPUFJTK0NMaWIxb0dRc1FHb2ZQZ05MYzhNR3UwTUdCNEF0TGM2ZWhIWWdxRVY1b1lQZG8zNllnWnZlaER3aXpoSTlqM2xab0ZXU29kc0pBY05ud0pZV1p6cVQxNGkvVzB1cmxsRHE0ZHNKeGNjemdTMHQzdWhlSHlDSXN5S2M3WVRTQTh6QWxsWkFiaHM2Smhad21vcTFuWENsb1I2a0hwVE04ZTllUU9UVFhPWjJRdGFuZEdSZEt2cEJ5VnlRNERmWitsYjYxckZwTG5jN0lXTk1MSGR0VXVTRGtydEN4SE1ZLzA0MnplVnZKd3dlcEh4aVh5ck8wdUl1MmZFRUlwdm14bXduREJvMVhpMWlyaFR6b09UTzR2ZGU2Q0xheUJpMW5iQVdHY1lQdHJUQzVwdHdnRWhPQm9yZFRyajBmTjR1SXZmb1JsaGEvRldHM2t2QkJOUGM2TzJFOFF0ZHdKWVdmK09SUHhBNTZTdXhuWEI0YVYxNU5JeS9DdmRCV2ZGM2dnWHNNUlJMYzJYMkRVY3RCUU5iV3FGekZubEFwQm9aWDBtbytHdnowSlpXeEY3SkVDQXkwdmRaY3AxcVBYVVhTMDRsTDhDeXRJSm45VEtCeUV5NVBwRjBCYTllQlpzMVVidUpnNEJJTkRMT0tLMWlXRnJoODk2NVFDUTJKUXdUQXhMK0FoeTMzejRNU0h3ajQ1YVNxOUFYWU1iT0VEYVE2RzA3VlowZWtIcjZWdzF2YW5CVERmOXZMMnNna05oR3hpWDFyL1pqSkpDNGpXMkxIdkx3WFVyTUJCTFh5RGp0SVpEckdBc2tabnJzVHc5NWZJN0JRR0lhR1FjOUJES0JBK0dQcFhudElZL3pHQStFTzVibXVlNGZqNWMzQlNEY05QZll3eC9JZnF3QmhEZVdadGJESDBpbzVHVUM0YVc1cHg3K1FLNWpIU0NjTkxkSVhpQVF4bGlhNTJFUGdhelZnSVNudVVYeVlvRUVwcm5Wb2toZUxKRFFOTmQ1b2crZnVsbUh5NysxL2FNMi8vN0gyWDlyOGY1YkxhSnkyM2dnWVdudUlUcjE2V0pWTXEyS01rRHVwTGxWUUcvMTZsZG1GWm5iQ2dBSlNYTmZJM1BHQkNveXR4VUFFdERJNkI2QnZlVEc0MGxHOGtZQjhVOXpsNXdYKzdTS2RkNVdHb2h2bXZ1VTVSUDljUy9OeDl3QWlHZWE2ejdSbDdueGVKYVN2SkZBL01iU1hKanhTVUoxRkRHeDRvRjRwYm51MFpYWHpIQlVjcEkzRm9qUFdKb1ZQNEpQcFU1aWtqY1dpTWRZR3ZlSi9wTWJqNE9RaVNVQnBEWE5yVVpobmxlS2R5eEJ5UnNQcEcwc3pUYk1GVTZ4TG9LU054NUl5MWlhL0ovb01lZHRJVUFlcDdrOWVLS3ZKQ1d2QUpDSDB0ZHROTm5reG9NN1lnWUg1TkZZbWxGTVkzWWFOWkxKYlNXQk5LZTVtL3lmNkQreWtsY0VTT09TRWRmaE9lYkdvNUkwc2NTQU5JMmxPUWIzQ2lWWFlybXRLSkNHUnNZZVBOSEZKYThRa1B2Uzk1VC9FMTFjOGdvQnVadm0vbmpHVndtWFlHNHJET1JPSTZQN1JNK3UwUVFnZWNXQU9HbHV2Zkp1Z1VoV1lVV05tQUVEY1MwdEN1K1A3M051S3c3RWxiNjVONXBVY1NObTBFQmM2WnY3RTEwMnQ1VUg0cWE1bVQvUmw2SzVyVHdRVi9ybTNUcktXZzJpQ3NTMXRISnVIWlhPYlJGQTFqMTZvb3UyS3FLQVBKQysyYldPUWt3c2NTQ3VwWlZyNjZoc3F5SU1pSnZtNXRvNk9rTkpYbUVnNC92U043dEdFOWZJUG8rN0NXUnlqMGQralNhQTNCWUU1SzcwemE1MWxMOGFSQitJMjhpWVgrdW9lS3NpRXNnZFN5dTdSaE9rNUpVSElyOWZyeCs1TFF6SW5iRTBtUVZUOHEyS1dDQlNTMFo2bHRzQ2dVenlibGNFNWJaQUlESkxSdnFXMnlLQlNDd1o2V3loY2xza2tLQ3hOQ1czVlFBU3YyU2tmN2t0RklqY2ZyMnUxUk1zdDhVQ2lWMHkwc1BjRmd4a25XY1gwQlpyWWdHQnhDMFo2YkhraFFIeEcwdFRjbHMxSURGTFJ2b3NlWEZBNXJ2c2d0eVRndVRGQVdFdkdlbHNIYUM1TFI0SWQ4bEl2eVV2RWdodnlVaGZjMXNGSUx3bEkzM05iVFdBdk9XVTVxNTBKQzhVQ0dQSlNIOXpXeFVnR2FXNThOeFdCMGcyYWU1R1MvS0NnVFNPcFNrbWxoR1FUTkpjeElnWkd5QjVTRjkzdWNOa25DcVFMTkxjcFo3a2hRUEpJYzNGakppeEFwSkJtanZTTXJGMGdLeFRsNzViZUt1aUxwRFUwMXhkeWFzQkpISHBlOFMzS2lvRFNUck5yYlJ5VzAwZ1NhZTVXcm10SmhDUEpTTUo1YmJyRElDNGxsWXEwbGN2dDlVRmttb2pZN1ZWeTIxMWdiUXNHU201clRvUTkyeHVFbzJNUjEwVFN4RkltbW51VEYveXFnRVpweWg5VDRxNXJUb1FOODBkZGI0MGMxdDFJQThuTWlaUyszRk9RRm9uTFhlK2R2T3NnTFJPV3U1OFhjZDVBV21jeUpoSWZZNHpBL0o0MG5MM2E1MGRFRGZOVGFuTzQveUFUQkxtOGZHV0lSQ1BKU09kcmE5eGprRFNsYjY3Y1paQS90ZmVIYU1BQ01RQUVDeERDa0d1RUxuVy8vOVJMQVhCOWhKbXZ6Qk4waVIxUjk5c0N2THpaR1Racm1nSzhuVkd0a0Q3YUFzU1dYRTluTkVYSkk1Wmp1VGNPb004SmxtckVjMUJCQVNJZ0FBUkVDQUNBa1JBQkFTSWdBQVJFQ0FDQWtSQUJBU0lnQUFSRUNBQ0FrUkFCQVNJZ0FBUkVDQUNBa1JBQkFTSWdBQVJFQ0FDQWtSQTlPNEdWNk5JOExqTHh0Y0FBQUFBU1VWT1JLNUNZSUk9In0sInN0YXR1c1JlcG9ydHMiOlt7InN0YXR1cyI6IkZJRE9fQ0VSVElGSUVEX0wxIiwiZWZmZWN0aXZlRGF0ZSI6IjIwMTktMDQtMTEiLCJjZXJ0aWZpY2F0aW9uRGVzY3JpcHRvciI6IlNPTElEIHdlYktleSIsImNlcnRpZmljYXRlTnVtYmVyIjoiVTJGMTEwMDIwMTkwMzE5MDA0IiwiY2VydGlmaWNhdGlvblBvbGljeVZlcnNpb24iOiIxLjMiLCJjZXJ0aWZpY2F0aW9uUmVxdWlyZW1lbnRzVmVyc2lvbiI6IjEuMSJ9XSwidGltZU9mTGFzdFN0YXR1c0NoYW5nZSI6IjIwMTktMDQtMTEifSx7ImFhaWQiOiIwMDQyIzAwMDIiLCJtZXRhZGF0YVN0YXRlbWVudCI6eyJsZWdhbEhlYWRlciI6Imh0dHBzOi8vZmlkb2FsbGlhbmNlLm9yZy9tZXRhZGF0YS9tZXRhZGF0YS1zdGF0ZW1lbnQtbGVnYWwtaGVhZGVyLyIsImFhaWQiOiIwMDQyIzAwMDIiLCJkZXNjcmlwdGlvbiI6IlNTZW5TdG9uZSBGSURPIFVBRiBBdXRoZW50aWNhdG9yIGZvciBpT1MiLCJhdXRoZW50aWNhdG9yVmVyc2lvbiI6MSwicHJvdG9jb2xGYW1pbHkiOiJ1YWYiLCJzY2hlbWEiOjMsInVwdiI6W3sibWFqb3IiOjEsIm1pbm9yIjowfV0sImF1dGhlbnRpY2F0aW9uQWxnb3JpdGhtcyI6WyJzZWNwMjU2azFfZWNkc2Ffc2hhMjU2X3JhdyJdLCJwdWJsaWNLZXlBbGdBbmRFbmNvZGluZ3MiOlsiZWNjX3g5NjJfcmF3Il0sImF0dGVzdGF0aW9uVHlwZXMiOlsiYmFzaWNfc3Vycm9nYXRlIl0sInVzZXJWZXJpZmljYXRpb25EZXRhaWxzIjpbW3sidXNlclZlcmlmaWNhdGlvbk1ldGhvZCI6InBhc3Njb2RlX2ludGVybmFsIn1dXSwia2V5UHJvdGVjdGlvbiI6WyJzb2Z0d2FyZSJdLCJtYXRjaGVyUHJvdGVjdGlvbiI6WyJzb2Z0d2FyZSJdLCJhdHRhY2htZW50SGludCI6WyJpbnRlcm5hbCJdLCJ0Y0Rpc3BsYXkiOlsiYW55Il0sInRjRGlzcGxheUNvbnRlbnRUeXBlIjoiaW1hZ2UvcG5nIiwidGNEaXNwbGF5UE5HQ2hhcmFjdGVyaXN0aWNzIjpbeyJ3aWR0aCI6MjAwLCJoZWlnaHQiOjQwMCwiYml0RGVwdGgiOjEsImNvbG9yVHlwZSI6MywiY29tcHJlc3Npb24iOjAsImZpbHRlciI6MCwiaW50ZXJsYWNlIjowLCJwbHRlIjpbeyJyIjoyMTYsImciOjIxNiwiYiI6MjE2fSx7InIiOjIwMCwiZyI6MCwiYiI6MH1dfSx7IndpZHRoIjozMDAsImhlaWdodCI6NTAwLCJiaXREZXB0aCI6OCwiY29sb3JUeXBlIjo2LCJjb21wcmVzc2lvbiI6MCwiZmlsdGVyIjowLCJpbnRlcmxhY2UiOjB9XSwiYXR0ZXN0YXRpb25Sb290Q2VydGlmaWNhdGVzIjpbXSwiaWNvbiI6ImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBRThBQUFBdkNBWUFBQUNpd0pmY0FBQUFBWE5TUjBJQXJzNGM2UUFBQUFSblFVMUJBQUN4and2OFlRVUFBQUFKY0VoWmN3QUFEc01BQUE3REFjZHZxR1FBQUFhaFNVUkJWR2hEN1pyNWJ4UmxHTWY5S3pUQjhBTS9ZRWhFMlc3cFFaY1dLS0JjbFNwSEFUbEVMQVJFN2tORUNDQTNGa1dLMENLS1NDRklzS0JjZ1ZDRFdHTkVTZEFZaWR3Z2dnSkJpUmlNaEZjLzR3eTg4ODR6dTlOZGxuR1RmWkpQMm4zbk8rKzg4OTMzZnZlQkJ4K1BxQ3pKa1RVdkJiTG1wVURXdkJUSW1wY0NTWnZYTENkWDlSMDVTazE5YmI1YXRmNTk5ZkcrL2VyQTU0MXE0N2FQMUxMVmE5U0l5Vk5VaThJaThkNWtHVHNpMzBORnY3YWk5bjdRWlBNd2JkeXMyZXJVMlhNcVVkeTgrWmNhTm1HaW1FOHlYTjNSVWQzYTE4bkYwZlVsb3ZaKzBDVHpXcGQyVmorZU9tMWJFeXk2RHg0aTVwVU1HV3ZlbzUwNnEyMjdkdHVXQkl1ZmZyNm9XcFYwRlBOTGhvdzE3NTFObTIxTHZQSDNyVnRXamZ6NjZMZnFsOHRYN0ZSbDlZRlNYc21Tc2ViOWNlT0diWWs3TU5VY0dQZzhac2JNZTlyZlFVYWFWL0pNWDlzcWR6RENTdnAwa1pIbVRaZzl4N2JMSGNNblRoYjE2ZUorbVZmUXE4eWFVWlFORzY0aVhaKzAva3E2dU9aRk8wUXRhdGRXS2ZYblJROTlCajkxUjVPSUZuazU0ak4wbWtVaXFsTzNYRFcrTWwrOThtS0I2dFc3cldwWmNQYyswemc0dExyWWxVYzg2RTZlR0RqSU11YlZwY3VzZWFyZmdJWUdSazZicmhaVnIvSmNIem9vTDc1NTBqZWRMRXhvcFdjQXBpMlpVcWh1N0pMdnJWc1FVODF6a3pPUGVlbU1SWXZWdVFzWDdQYmlEUVk1SnZab25mdEsrMVZZOEg5dXR4NTMwaDBvYitqbVJZcWo2b3VhWXZFZW5XL1dsWWpwOGN3Yk1tNjgydFB3cVcxUjR0ai8yU0gxM0lSSllsNG1vWnZYcGlTcURyN2RYdFFIeGEvUEszLytCV3NLMWRUZ0h1NlY4dFFKM2J3Rmt3cEZyVU9RNTBzMXIzbGV2bTh6WmNxMTcrQkJhdzdLOGxFSzVxemtZZWFyazlBOHA3UDNHekRLK25kM0RRb3crNlVDOFNWTjgyaXV2MzhpbTdOdGFYdFYxQ1ZxNlJndzRwa3NtYmRpM2J1MkRlN1lmYUJCeGNxZnZxUHJVakZRTlRRMjJsZmRVVlZUNjhyVEpLRjVEblNtVWpnZHFnNG1TUzlwbXNmREpSM0c2VG9IMGlXOWFWN0xXTEhZWEtsbFREdDBMVEF0a1lJYWFtcDFRalZ2Kyt1eUdVeFZkSjBETlZYU20rYjFxUnhwbDg0ZGRmWDFMcDFPL2Q2OXRzb2QwdnM1aEdyZTl4dThvK2ZwTFIxY0doTlRENlo1N0M5S01XWGVmSmRPWjk0YmI5b3FkMVJPblM3cUlUVHpIaW1NcWl2Yk8zZzBEZFZ5azNXUUJoQnp0SzM1WUtOZE9uYzhPM2FjUzZmRFpGZ0thWExzRUpwNXJkcmxpQnFwODljSmNzL203VHZzMHJrakdmTjRiMGtQb1puM1VKdUlPcm5aMjJ5UDFmbXZVeCtPNWdTcWViVjFtK3pTdVlOVmhxN1RXYkRpTFZ2bGpwbExsb3A2Q0xYUCsycXR2R0xJTC8xdmltSVNkTUJnelNvRlp5dTZUcWQranp4Z3NQYVY5QkNxZWUvTmpZazZ2NmxLOWN3aVVjL1NUdGYxSERwTTNiNTkyeTdoM1RoeDVveks2OUhMcFlXdUF3YXFTNWN2MjZxN2NlYjhlZlZZYVJlUDNpRlU4emoxa25Td1pYSE1tbkNqWTBPZ2FsbzdVUWZTQ00zcVFRcjJIL1hGUDdzc1h4NDVZbDkxQnllQ2VwNG1vWm9IKzFmRzN4RDR0VDd4OGt3eWo4bndiOWV2MjZWMEI2ZCs3SDR6S3Z1ZEFINTM3RmpxeXpPSGRKbkhFdXptWHEvV2p4T2J2Tk1idjduaHl3c1gyYVZzV3RDOCs0OGFMZWFwRTdwNXdLWmkwQTJBUVJWNW52UjRFK3VKYytiNjFrQXBxSW54QmdtZC80VjVRUC9tdDE4SERDN3NSSGZ0bWV1NWxtaFYwcm4vQUxYMjMyYnFkNEJGbkR4N1ZpMWNXUzJ1ZmYwSWJCNDdxZXh4bVVqOVF1dFlqdXBkM3RZRDZhYldCQk1yaCthcE5iT0tyTkYxK3VnQ2E0cmlYR2Z3TVBQdFZpYXZoVTNZTU9BQW51VWIvUjA3TDB5T1NlT2FkRTg4QXBzWEZHZmYzMHluaGxKZ001MUNVNnZOOUV6Z25wdkhCRlV5aVZyYWVQaXdKNTNERjVaVFpub21FTmc4NWtOVWQyb0ppMldwcjRPbW1rZk40eDR6SGZpVkZjOER2OE56dWhOcU9pZGlsR3ZBNkRHdWVad083OEFBUW42Y2lFazYrcnc1VmN2anZxTkRZUE9vSVV3YUtTaHJ4QXVYTGxrSDRhWXVHZk1ZRGMxMFdGNVRhMzFoUEpPZmNVaHJVL0psSU5pNmM2ZWxSWWRCcG82KytZZmp4NjFsR05mUm00TUQ1ckoxajNGb0dIbmpEU0JOYXJZVWdNTHlNc3pLcGI3dFhwb0hmUHM4aDNXcDFMek5mTms1NFh4QzF3REdVbVl6WFllZmg2ei9jS3RWbTRFQnhhOVZRR0R6WXIzTHJVTVJqSEVLa2s3emFGS1lRQTJoR1FVMXorODVORldwWERya3ozdngxMEdxeFE2QnplTmJvQms1bjhrNG5lYlJoK2sxaFdmeFRGMEQxRXlXVXM1bnYrZGdRcUtheHp1Q2RFMGlzSGwwMk5ROGFoMG1YcjEyTGEzbTBmOXdpazkrd0xOVE1ZLzg2TVBvOHlpMzFPZnhtVDZQV29xRzkrRFp1a1luYTU2bVNadDVXV1N5NXFWQTFyd1V5SnFYQWxuemtpYWkvZ0hTRDdSa1R5aWhvZ0FBQUFCSlJVNUVya0pnZ2c9PSJ9LCJzdGF0dXNSZXBvcnRzIjpbeyJzdGF0dXMiOiJGSURPX0NFUlRJRklFRCIsImVmZmVjdGl2ZURhdGUiOiIyMDE4LTA5LTEzIn1dLCJ0aW1lT2ZMYXN0U3RhdHVzQ2hhbmdlIjoiMjAxOC0wOS0xMyJ9LHsiYWFpZCI6IjAwMjIjMTEwMCIsIm1ldGFkYXRhU3RhdGVtZW50Ijp7ImxlZ2FsSGVhZGVyIjoiaHR0cHM6Ly9maWRvYWxsaWFuY2Uub3JnL21ldGFkYXRhL21ldGFkYXRhLXN0YXRlbWVudC1sZWdhbC1oZWFkZXIvIiwiYWFpZCI6IjAwMjIjMTEwMCIsImRlc2NyaXB0aW9uIjoiTW92ZW5kYSBFZ29tZXQgRklETyBVQUYgaU9TIFRvdWNoIElEL0ZhY2UgSUQgQXV0aGVudGljYXRvciIsImF1dGhlbnRpY2F0b3JWZXJzaW9uIjoxLCJwcm90b2NvbEZhbWlseSI6InVhZiIsInNjaGVtYSI6MywidXB2IjpbeyJtYWpvciI6MSwibWlub3IiOjB9XSwiYXV0aGVudGljYXRpb25BbGdvcml0aG1zIjpbInNlY3AyNTZyMV9lY2RzYV9zaGEyNTZfZGVyIl0sInB1YmxpY0tleUFsZ0FuZEVuY29kaW5ncyI6WyJlY2NfeDk2Ml9yYXciXSwiYXR0ZXN0YXRpb25UeXBlcyI6WyJiYXNpY19zdXJyb2dhdGUiXSwidXNlclZlcmlmaWNhdGlvbkRldGFpbHMiOltbeyJ1c2VyVmVyaWZpY2F0aW9uTWV0aG9kIjoiZmFjZXByaW50X2ludGVybmFsIn1dLFt7InVzZXJWZXJpZmljYXRpb25NZXRob2QiOiJmaW5nZXJwcmludF9pbnRlcm5hbCJ9XV0sImtleVByb3RlY3Rpb24iOlsic29mdHdhcmUiXSwibWF0Y2hlclByb3RlY3Rpb24iOlsic29mdHdhcmUiXSwiYXR0YWNobWVudEhpbnQiOlsiaW50ZXJuYWwiXSwidGNEaXNwbGF5IjpbImFueSJdLCJ0Y0Rpc3BsYXlDb250ZW50VHlwZSI6ImltYWdlL3BuZyIsInRjRGlzcGxheVBOR0NoYXJhY3RlcmlzdGljcyI6W3sid2lkdGgiOjU0MCwiaGVpZ2h0Ijo4NDAsImJpdERlcHRoIjo4LCJjb2xvclR5cGUiOjIsImNvbXByZXNzaW9uIjowLCJmaWx0ZXIiOjAsImludGVybGFjZSI6MH0seyJ3aWR0aCI6ODEwLCJoZWlnaHQiOjEyNjAsImJpdERlcHRoIjo4LCJjb2xvclR5cGUiOjIsImNvbXByZXNzaW9uIjowLCJmaWx0ZXIiOjAsImludGVybGFjZSI6MH1dLCJhdHRlc3RhdGlvblJvb3RDZXJ0aWZpY2F0ZXMiOltdLCJpY29uIjoiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFNZ0FBQURJQ0FJQUFBQWlPam5KQUFBQUJHZEJUVUVBQUxHUEMveGhCUUFBQUNCalNGSk5BQUI2SmdBQWdJUUFBUG9BQUFDQTZBQUFkVEFBQU9wZ0FBQTZtQUFBRjNDY3VsRThBQUFBQm1KTFIwUUEvd0QvQVArZ3ZhZVRBQUFBQjNSSlRVVUg0Z01CRFNJM2Y1Tjk0QUFBR2VGSlJFRlVlRjd0M1gxd1ZOWGRCL0J6enQyYmZjbHVTRWdJRXBKTkVDWFFJQVJDVUxRKytGYW5pcFNxcmJhV2NiUlRIS3N6OW8rK3pmU2ZwNTNwMDMvYXB4MW0ybWZHZ3ZXbHFIV3FkaXJGbDZLV0NpS1FoSkFJUWhCSXNra3c3MitiM2J1Nzk1N3plLzdZWk4yRTdONlh2V2V6YTg5bm5NNDBuSnZzN3YzdXVlZWVlMTR3QUNCQnNCdlJLeUFJVm9oZ0NWeUlZQWxjaUdBSlhJaGdDVnlJWUFsY2lHQUpYSWhnQ1Z5SVlBbGNpR0FKWEloZ0NWeUlZQWxjaUdBSlhJaGdDVnlJWUFsY2lHQUpYSWhnQ1Z5SVlBbGNpR0FKWEloZ0NWeUlZQWxjaUdBSlhJaGdDVnlJWUFsY2lHQUpYSWhnQ1Z4OElZSWxWZ25JUFE2OUFqbVAwdGloUTZCcDhzYU5wS3dNWWF4M2dKQU5lUjhzTmpvYU9YQ0E5ZmZIRGg1MGJOeFljTU1OMG9vVklsNExMdStEcGJXM3M4RkJ4Qmp0NmFHOXZlclJvODRkTzV5MzNvb2NlZi9XOGxwK3Q3RWdISTZkT0lGVUZXR01DRUVZczZHaHlFc3ZSZDk2QzFSVjcyaUJvL3dPRnIxNGtWNjRNT3ZDUndnb1N1VFZWNk92dlFhUlNPcERCYjd5T1ZpTXFTMHRNRFUxdDBXRk1VU2prUU1ISW4vNUN3U0RLUTRXK01yallMSEJRYld0YmY1Mk9zWklWYVAvL0tleWJ4OGJHNXVuZ01CWkhnZExqVGZiVTkwQVlvd0FZaDk4b1B6cFQyeG9hUDR5QWpmNUdpd0loZFFUSjVDbTZSVkVhbk56ZU85ZTJ0dXJWMUN3VTc0R1M3dHdnVjY2WkxDL1NqdDFTdG16aDE2NnBGZFFzRTErQm90U3Rha0pRaUdEd1VLRWFPZk9oWjkrV2p0N1ZxK29ZSSs4REJZYkdORGEyNDJtS280UTJ0MGQvdU1mMVpNbjlZb0tOc2pMWUttblRySGhZWFBCUWdoaHpDNWZWcDU5VnYzb295L2FjMnRLWVhJU3BxYjB5bVZQL2ozM2dLa3B0YWtKVVlxSStXOEZJV3h3TVB6Y2MrNW90T0RtbTVFazZSMlEyelNOZG5WcEZ5L1N6azdhM1MydlgrOTY0QUVySHdzSCtSY3NyYU9EZG5XWnJxNFNDSUdKQ2VYUGY0YXBLZWRYdjVxL2p4VFowRkQwN2JkalI0NUFNSWcwRFFGZ2x3c2lFZXp4NkIyYURmbjJzV3FhMnRRRTRYQkczMHVNSVJTS3ZQb3FLSXB6KzNic2N1a2RrR00wVFcxdGpmejk3L1RpUlFTQU1FYVNoQUJZZno4Ykc1TkVzQ3lnL2YzYW1UUFdxNnNFakNFU2lienhCa1Nqcm52dnhZV0ZlZ2ZrQ3RiZkgzM3JyZGlSSXpBMUZYL3VQdjBQR0VNb3hBSUJhZm55dEw4Z1MvSXNXRnByS3hzWnNTRllhT2F4ejl0dlF5amsvdmEzY1ZHUjNnRUxUVlZqVFUzUi9mdHBaeWRDNk1vNkc2SlIydDB0YjlreXo3RlpsMC9CZ3NsSjY4MzJlV0dNTkMzMndRZWdLTzZkTzBsWm1kNEJDNGIxOTBjUEhJaDkrQ0dFUW1uZVBnMEVJQkxKaFl0N1BnVkxPM2VPZG5mYlUxMGxZSXdZVTQ4ZFE2cnEvczUzU0VXRjNnRlpwMWRSZlE1ajJ0Y0h3YUFJbGhtYXBqWTNReVJpVzNXVkRHTzFwUVhDWWZjamowalYxWHFsczhkZ1JaVUFrNVAwOG1XeVpJbGVRZTcwWDJ1T29IMTkydW5UTmxkWHlURFd6cDROUC8yMDF0R2hWelFyVkRWMjlHaG85Kzdvd1lORzc0SXhCa1ZoZ1lCZXVXd3c4SEp6ZzlyYXlzYkdPQVlMSVlReHZYaFIyYnRYUFhWS3J5aGZyTDlmZWVFRlplL2U2UWZ0eHQ4MVk3UzdHK1hBc096OENCWWJIMWVibWhCamVnVXpSZ2dOQkpSbm5sR2JteGZtc1krRmlpb1p4clNyaTRWQ2V1VzR5NDgyRmoxN2x2WDJtdmppWm9JUU5qUVUzcnZYSFFvVjNIeXo2Vk9iQWJNdHFubGd6TWJIMmNBQUtTN1dLOHBYSGdRTFlyRllVeE92WnZ1OE1JYnhjV1hmUGxBVTV4MTNaT0d4RDBTajZ2SGowVGZmcEYxZENLVzk5VXNQWTFBVUdnZzRhbXYxaXZMRi9TUExIT3ZybzJmUFpxbTZTc0FZZ3NISUs2OUFKT0s4Nnk3c2RPb2RZQjN0NjR2dTM2OGVPd2FLWWoxU0NhcEtBd0hFbUEyL0tnTjVFQ3oxNUVrMlBwN3RZS0hwYjMvazlkY2hISGJkZXk5MnUvVU9NQTJpVWZYWXNlaisvZE1qcDIySkFzWXNFSUJ3R0h1OWVrVTV5dlZnc2JFeHRibDV3YjUvR0tOWUxQcldXeEFPdXg5OEVQdDhlZ2VZWUhORmxZQXhIUmhnSXlPU0NGWWEydW5UdExmWCt1Y2V2N1BMcExiREdLbHE3UDMzVVRUcSt0YTNTR21wM2dINnVGUlVDUmhES0VSN2V4ZTJwemVuZ3dXeG1OcmNqR0l4aXg4OWdGUlpDWXFTNlhQcitFeXlJMGRBVWR3UFAwekt5L1VPU0lkWFJaVXNGcU5kWGVpbW0vVEtjWlRUd1dLQmdIYnVuTVZNQUdDbjAzbnZ2ZGp0VnA1L25nME1XUHc5U2RUbVpnaUgzWTgrS2xWVjZaV2RCOStLYWpZYUNJQ2k4R2dYR3BUVHdWS2JtMkZpd21JZ0FNank1WTY2T2xKY2pKMU81Zm5uYVhkM3B1Y1NZKzNNR1dYUEh0Zk9uWTVWcS9SS3o1S05paW9CWTNiNU1reE9MbUN3T0wvRERMRGhZZlhrU2V2ZDM0VEltemJGK3drZGRYWHVYYnNjdGJVMjlOMFRvblYwUlBidGcvRnh2YUxUSUJxTi9mdmY0ZC85TG5ib1VOWjY0eUFZWE5nNXV0bDRrOVpvWjg3UXk1Y3RuZ1lBVWxJaU56UWtmdUM0OWxyM3JsMk9kZXZTSEdTQzI0MEtDdlFLSVlRUTdlcFM5dTVWbm4yVzl2U1llK3FYQ1l3aEVxRUwralRhMG1uakR5SVJ0YW5KK3NOVUFNZmF0WE1HNlVwVlZaN0hIcE0zYlVwMWtGR3lYTEI1cys2Y0JWQ1U2THZ2aG5idmpoMCtuTFdLNm5NQXRMc2JZakc5Y3J6a2FCdUxkbmRySFIwV3Y5OEEyT1dTTjIyNjhsRU1XYkxFL2QzdjRzTEMyT0hEaUZJcnY1OHhhZmx5M1pxUGRuVkY5KytQTlRXaGFEVGJrWXJEbVBYMlFpaUVqZFdzdGx1STk2d0xRRzFwZ1dEUXlvbEhDQUVRdjkreGV2VzgvMGhLU3R3N2R6cnZ2QlBKc3BVR0hNYU8rQ3E2cVVFNHJMejhjdXpJRWVzZEpYTlllSjBJc2JFeDl0bG5lcVY0c2VOdDI0ME5EMnNaTjl2VFRJN0FYcS9yd1FkZDk5eURYUzV6ZndVQSszeHlRMFA2eEdOWkpsN3Y5TVNzREFFZ2hMRGJiVHFnTTArajljcnhZdkxsWm9YVzNrNzcrMDEvbEhFQXBLeE0zcmd4ZlNuc2NybnV1OC8xalcvZ3drSVQyUUp3MU5icTkyakxzbFJUWS9IMUoyTU1PNTBGWC82eTY2R0hzTnR0NG5YR2FScnQ2a0tVNnBYakl1ZmFXS0FvMDgxMmF5Y0d3RkZYSnhtWkV5SEx6cnZ1d2w2djh2TExNRDV1Nk0vSnN0ellhR1NxQXFtc3hHNDNLSXJGU2dzQUlTVDUvYzV0MitRdFcxQWtFbnZuSFdwMmFRYU1hVThQaE1QMlB1STBLT2VDUmJ1NnREbnIxUm9IZ0QwZXViSFI2S0lNa2xTd2RTdDJPcFdYWG1LRGd6clpZa3p5K3gxcjE2WXJNME5hdmh6N2ZLQW9lZ1hud3hqMmVPVHJyM2R1M3g2L3NRVkNpTjlQQXdHajd5c09Zelk4eklhSEpSRXNCS0EyTlVFd2FLait1QktBVkYxdHJrOGNZM25MRnVSeVJWNThrZmIwcFB1N0dNc2JOeHA4Q0kxOVBsSlJZZm81VXJ5aXV2cHE1L2J0OHFaTmlSczZMTXVTMzYrYS9VemlUNk43ZXFRVksvU0syaSszZ3NVR0I5VlRwOHlkakdTU0pEYzBXS2o1NVEwYnNOdXRQUGRjeXVWR0FQQ2lSY2s5cnVsaHQxdXFxdEphVy9VS0ptRU1lNzBGTjk3bzNMYU5YSFhWbkgrVS9QNzRtaC9tUHB4WWJLSGE3eWEvQkp5cHAwNlovcFluQUpDeU1vZGVzejBWeCtyVm51OS8zN0ZtemZ4dFpBREg2dFhFNzUvbm4xS1FhbW9NOXM1UFYxVFhYdXQ1L0hIM3d3OWZtU28wYzIyOTh1YzZNS2FkblJBTzY1V3pYdzRGQzhKaHRhWEZ5SHExOHdOd3JGc256WGRXREpLcXF6Mjdkc2tORGZOa3krbVVOMjgyMWRrb1ZWWWF1dVZrREJjVk9lKyt1L0FIUDVBYkc1RXN6MXNLRnhXUjVjdjFmOXNjR0xQUFBvT0pDYjF5OXN1aFlOR0xGK25GaTVhcksxeFlhS0xabmdLcHFIQS8rcWg4NDQzeE1WalRQMlZNcXF4MDFOV2xQWFF1VWxvcWxaZW5pd0lBd3RpeFpvM25pU2ZjRHoyVWZ2b3lkcnNsdjk5MHNCQ0tON1AwU3Rrdlo0TEZtTnJjUE04MkV3WUJTRFUxam11dTBTdW5qNVNWZVI1NXBDQyt6VlA4UkJJaU56U1luVkNGM1c1U1daa3lDb3poNG1MWGpoMmVwNTZTNit1TmZCK2s2bXBrb0tkakZvd2hHbDJRWmxhdU5ONVpmMyttemZiR1JydVd1Y0pGUmU2ZE8zRmhZZlR0dDFFMFNoWXYxdTF4bllja1NYNy81K2xNQUVDRU9OYXRjKzNZNGZqU2w0emYvMHArUC9aNHdPeThFZ0FhQ0VBMHluV2kwWlZ5SlZocVd4c2JHakwza1NVQWtLVkw1ZnA2dlhJbVlMZmJkZi85Mk9PSi91MXYwdXJWeE5KcVpwTGZqOTN1V2N1R00wYkt5Z3J1dU1ONTIyMTQwYUswUjg5RlNrcWtwVXMxcytzTVlFeDdlMkZxNmo4eFdCQUtaYlR3RllCY1gwK1dMdFVyWnc1Mk9sM2J0cEdpSWxKYWFxclpua0NXTGNPTEZrRjh3anNBY2pqaytucm4xNy91V0xYS1hEZ1FRZ2hoajRmNC9jajhVdlV3UHM0dVh6YllBMmVYbkFpV2R1R0M5ZlZxQWJEWEt6YzBXQXhsZXJKY2NOdHRsc2VkNHNKQ3Fhb3F2amdBV2JyVStaV3ZGTnh5aTVWZWd6aENKTDhmeWJLNTE1T1lHMzNkZFhwRjdaUUR3V0pzZXBzSmE4a0FrRmF1bEZhdTFDdVhBV3N2RENGY1VDQlZWYWt0TGZMR2phNGRPekova2RQWFZyTzNPSlRTN202a2FWbFlLeUFoZTM4cEZYcjVzdWx0SnBJNUhQS21UYnJqT1JlS282N09VMUlpYjlsaXl5c2tTNWVTNG1KcWRxUWF4alErTnpxTDY2eGEvQzdhU0d0dHRiTE5SQndBdWVvcWU1dnQ5bktzWGwxdysrMjJwQW9oUkFvTHBlcHEwNzFaR0xQUjBTenZyYmZBd1lKZ1VHMXBzVDVtQ0VCZXZ6NFhWa1pNeWRvWEpoVlpKbjYvNlV0ei9HbDBmQjJiYkRINUV1Mm1uVDl2ZmIzYStIak94a2FMaCtjbnFhYkd5cUEvVmFVOVBhYVB5c0NDdHJFeTNHWUN3SEhOTlZKTmpWNDVRMFpIUjg5MW5BTUd4Y1hGcGFXbFJVVkZIcHV1WC9hU0tpcHdVWkhwa1Y0WTArNXVVQlM3THNxNkZqSll0SzlQKy9oajYvV053eUUzTnRvMTJiZWpvK05Ydi9wVkpCS1JaZG5qOFZSWFYyK28zM0RUVFRkZGZmWFZlb2RtRmZiNXBPWExXWCsvdWM4TjR5eHZpTEtRd1ZKYlc5bm9xTGtQS0NIK1lGaHZHcFp4bEZKRlVSUkZRUWlOVDR6MzlmVWRQMzc4d0pzSHZ2bU5iOTV6enozTzdIWmJwNEZkTHNudlYxdGE5QXJPbHZVTlVTeGRnK3dBazVOcVM0dTV2cjVrR0RzMmJMQjNMd21NY2Z4L0NTYVNKQ0dFdXJ1Ny8vQi9mM2oxdFZlWjVkZkpBYW1xUXVhREh0OFFSYStVYlJZc1dOcTVjeXdRc0ZoZEdadUdaUW9BVUVvWlk1RFV3aVdFS0lyeXlpdXZuRFgvSUdXT1dDdzJOajQyTkRUVTA5TVREQWIxaXFjajFkUVFJeU85cmhEZkVFV3ZsRDBXNkZLb3FobHRNMkZ3R3BZWmZyLy8vdnZ1UDlkeDd1elpzNHFpNEpuSUVrS0dob2JlZi8vOU5XdldFRXV2ZG1CZzRQRGh3MjN0YlQyQm5vbkpDWWZEOGNNZi92Q0c2Mi9RT3k0bFVseE1saTQxM1lySTdvWW9DeE1zMnR1YjBUWVRocWRoR1ZkZFhmM2trMDlPVFUwZFBIanc2VDgrSFF3R2NkTExhMnR2Q3dhRGkweU9SMEFJSGYzbzZEUFBQTlBSMGFGcFd2d1hlandlVGJVNlNoWWhORFBvVC92a0U3MkNjMlZ6UXhRclg4SE1xUzB0MXJlWmlLK2VZR3dhbGlrWVk1L1A5N1d2ZlczcmYyMU52aUJpakFjR0JrWkhSOU1jTzY5UFAvMTA5KzdkWjg2Y0FRQkprdUlWSGdDQSthdllMSVJJMWRXcEJqR25sTjBOVVJZZ1dHeDhYRDE1TXBObXUvRnBXQlk0SEk0Tkd6WVV6QjRuRTQxR2gwZUdVeDB5THdCNDk5MTNBNEdBTkRNNkZBQktpa3ZXcmwyN3VIUngrbU4xRWI4ZmV6eW1tMWxaM0JCbEFTNkY5T3haMXRkbnNib3lPUTNMR3AvUEo4dXlxcXFKcXlGakxCcUpwajlxam1BdzJIcnE4K2xmQUxCMjdkb252di9FeXBVck0rOTZsY3JMU1drcG5adzA5ekhPYkloaWRwaTFCZG11c1NBV2k1MDRZWHArWElMNWFWZ0xaV0ppWW1CZ0lCNU5BSEM1WEE4ODhFQjlmYjNQNTVNTWpIQlBEeGNXU21rRzFLY3lzeUdLWGprYlpEdFlMQkRRUHZuRVlxb1FRZ1VGeVZPRWM5bFVhRXBOdXVoNHZkN2FWZlp0UStKd1NEVTFScVpnekpMRkpXaXlIU3kxcGNYNmVyWHgzbllPelhZdVp0Y21FcEZjdHQ3R3hnZjltYTYwRWh1aWNKYlZZTEd4TWJXMTFmUm5rUkJmcjdha1JLOWNMZ0prOVYyblFDb3FyQXpjbTlrUVJhOWNwcklhTE8zMGFkclhaN2xUbEJRWFc1bUc5UVVWZnhwdCtsczZzeUdLWHJsTVdUckhsa0EwT3IzTmhEVUEwcG8xMXFaaG1lVndPTEMxaTNWcTl2OUNwMU95Y0JNenN5R0tYcmxNWlM5WXRLdExzN3c3SEFCMnVRb2FHN1BUYkM4cUtwSm5kejh5eGxTejNUK3ozNmltYVdHN0wwQ1MzMjlsdG1COFF4VE9zaFdzK0hxMVp2dGRFZ0JJWmFXMFpvMWVPWHZFKzdFUy94ZGpISTFHKy9yNjBoeHlKYXJSNUI3MmNEamMyZFdacHJ3RnhPODN0TzdJRmVJYm91aVZ5a2lXZ3NWR1JyUU1tKzJOalZubzFvc3JMaTVldG14WmNpd1lZOGRQSEo4d3MyeEwvMEIvWkdZb0FjWlkwelRGN25OSlNrcElSWVhwVDNWbVF4UzljaG5KVXJDME0yZm9aNTlaYjdhWGxNZ2JOdWlWczQzWDYxMi9ibjN5VHdnaDdlM3RML3o1aGFHaElTUFhSRVZSUHZ6d3cwZ2trdWdnOVhxOS9pcnpUYUswcHBlZ01TOExHNkpZT3RNbVFTU2lIajl1L1JIVmZOdE1jSVV4dnZYV1d5dVdWU1NQNzFOVjlhOS8vZXVQZnZ5ajMvLys5MU9wMTVrTkJvUEhqaDNidlh2M29VT0hFaytkRVVLM2JMM2xHanNXdzVrRjQrbTUwYVprWlVPVWJBU0xkblpxNTg5YmJsMmwybWFDcTlyYTJ1OTk3M3RsWldXSkN5TEdtRkxhMGRIeHIwUC9TdE1NUC9QSm1WLyt6eS9mMlA5R05EcjliTEd3c0hEN1Bkc2ZlZVFSSHVPYkpXdFBvL2x2aU1JL1dJbjFhcTBHUzZxdVRyWE5CRDhZNDd2dXV1dkhQL3B4WldYbG5ER2xoSkEwZlFlYU90MldTZ3gwM3JwMTY1TlBQcm1Fenlnb3NtUUpXYnpZZExCbU5rVFJLMmNkOTJDeDRXR3RyVTJ2VkdyeGhhOHNkREZuYkdobzZFVFRpYkd4c2VRZnhrT1dwaHNkQUlCOVB1SUtBSTRlUGZybVcyOXFscGZBVEF0N1BOWlcrdU85SVFyM1lHbnQ3WFJnd0hxenZiVFVrY1ZtZTRLaUtIdjI3bm45OWRkRG9WRHk0QmxDaU52dEpqamwyeWtySzl2VXVHbng0c1dKYkkyTmplM2J0Ky9qano5T2RVaEdIQTZwdWpvSG4wYnpiYmpZczgxRUJ1dlZXbmI4K1BIMzNuc1BKZldZQThES2xTdnZ2dnZ1MnRyYU5HT1VWNjFhOWZQLy92bnAwNmQvKzd2ZmRuZDN4eStkSXlNakh4NzlzTDYrM3ZiK2Q1UllnaVljTnRmWTBEUWFDQ0JLVFlmU0dFdm4yekI2NFlMMjZhZm0zbkJDWXB1SjdEYmJFVUtxcW43d3dRZkpkUlVBVkM2di9PbFBmdnJRdHg5cTJOZ2dwNzRSa3lUSjQvRnMzcno1emp2dlRKNThjZjc4K1JDZk5nMnBxTUFXZXZobWxxRFJLMmNSejJEWnNsNXRyWDFqbUF5Ym5KdzgxM0V1dVhaaGpOMTQwNDNYbVZtN2JIWHRhcmZibmJnZ0RnNE9KdTRUN1lXOVhvdUQvb2FHMkxDNThkYkdjUXdXR3h4VU0xbjRLdDVzOTNyMXl0bHZkR3gwWW1JaU9WaE9wL1BhYTY5TmM4aVZpb3VMRXdQbk1jYVJTSVF5cTR2cXBEWDlOTnJzNXp5eklZcGVPWXM0Qmt0dGIyZURnNmJmY0Z4OGQ3Z0ZXdmhxY25JeStTWU9BR1JaTHZLWnV6UEZaTzRieDhqU1IySEE5Tk5vczVVV3p3MVJlQVVMUWlIMXhJa010NW13ZmIxYWc4TGhNTDFpeVM3VDdXNlRaemtUVWxXVmxhWElNYVpkWFp5YVdieUNwVjI0UUM5ZHNseGQyYkxOaEdYOHFoWk84S0pGWk5reTB6VVd4cXkvbjlPR0tIeUNSZW4wZXJWV2d5V3RXR0hMTmhPNWcydFlzY2RqWlFuSitOTm9QczBzTHNHaUF3T1pybGU3ZWJPVnVqMkhVVWFqTVM1M2hYR1MzMjkwczdFRW5odWljQW1XMXRhVzBYcTE1ZVh5K2xtalZ2S1J4K054SlBYQVRVMU5uZTg0bjZaOGhxdy9qUTRFZ0VNL2lQM0JncW1wNlcwbXJJbXZWMXRlcmxjdTF4VVhGeWNHUjJDTUZVVjUvVyt2WDdwMFNkTzBUTmR1bUE5WnNvUXNXV0k2V0RNYm91aVZNODMrWUdrZEhiU3owM0oxeFhHYkNjUG1YYmZEN0YyaHorZXJxNnRML0I1Q1NHdHI2ODkrOXJQZi9POXZMbDY2bVA1WUN5dy9qWWFKQ2RiZnIxZktOTHZQWDJLOVdwT25ZVm9XdHBrd29IK2dQeHFOSmlmSjRYRDRURzVWUWdpNS9mYmJ5OHZMazBjTGRnZTYzM25ubmM4dWN4aFdFTjlzek94OU5NWVFEdk9ZVzJGenNHaC92M2Jtak1WVUlZUmt1ZUQ2NjdPMnN1KzhSa1pIamh3K01xY2Z5K1B4bEpsZmxuTDl1dldQUGZiWWtpVkxrdGNLVEQrY0t4TVdtMW1KRFZGc1pmajVMbU5zY0ZCbmFCZ2hzWTgrWWlNakZvTUZnTDFlN1BQUnpzNVpjOEFsaVN4YlptV2VreG14V0d4NGVMaXpzL01mLy9qSHlkYVR5YytQR1dOK3Y5L0NxbXNZNDIxM2I2dXNyRHo0ejRPbjJrNk5qWTNGWWpHWHk1WDVvaUR6SWhVVm4yODJaaHlmRFZHTUJndFVOZkxhYTJwcnEwN3JKeEl4L1kxSndCaW1wc0o3OXN6S0pRRDIrUXFmZXNxdTlkeFRhV3RyKy9WdmZqMHlNaElPaCtjc0NTbEowdWJHellXV3VqOHd4dlhyNjY5YmU5MzQrUGpJeU1qSTZBZ0ExUEo1c2s2OFhzbnZONzFFVkh4RGxPRmhhVUdDaFFBZ0hJYkpTWjFnbVhwTFY2SVU1aXo4R28rcDVYdE13eUxSeU1qd2lCSlI1cVNLVXJwbXpacXRXN2VtT3RBSVNaSktTMHRMN1Ywc0RnQ21waUI1aWdyR1pQSGkxQWVrZ0RHRXc3R2pSeDBURStrV0N3RWdKU1hTaWhVRzc2c01Cd3NoaFBIMGYxeGQrZnQ1LzBXRUVFSVk0VG1QalFHQU1WWlZWYlZyMTY3bFdad2paQkRFWXNxTEwycHRiWitmYVl4QlVReWUrRmtvamI3elR1eTk5OUpkYlJoek5EUjRIbi9jWUp2RVRMQyswQUFCWXl4eEIxZFFVRkJTVXRLd3NlRysrKzVibTVzTEp3RkFNTWhHUnVZbXlkcjNVTk1nL2Z3OHhsQXNacnlkSTRJMXplZjFiYWpmSUVtU3krMWFXcjYwdXFaNmRlMXF2OTlmWVBZNVNUYlpldzFKLzN0TS9pRVJyR2wxZFhXLytNVXZKRW1TSkNtbnc1UW5STENteWJLY1ppUzdZSmI1aHA0Z0dDQ0NKWEFoZ2lWd0lZSWxjQ0dDSlhBaGdpVndJWUlsY0NHQ0pYQWhnaVZ3SVlJbGNDR0NKWEJoNWxraFkxbllOV291Z0FYNG8va0NZUHEvTERENWh3d0hTNUtrK0RvK0ZzYVJaUUlBdTkzWTdkWXI5NThIWSt6eDRLS2lMSjBSeHJESFkzemtERFkrZVJKVU5RdERoT2VCTVpibExIMThlY1RJOUJaYjRjSkNVbDV1OEVTWUNKWWdHR2NvZllKZ2xnaVd3SVVJbHNDRkNKYkFoUWlXd0lVSWxzQ0ZDSmJBaFFpV3dJVUlsc0NGQ0piQWhRaVd3SVVJbHNDRkNKYkFoUWlXd0lVSWxzQ0ZDSmJBaFFpV3dJVUlsc0NGQ0piQWhRaVd3SVVJbHNDRkNKYkFoUWlXd0lVSWxzQ0ZDSmJBaFFpV3dJVUlsc0NGQ0piQWhRaVd3SVVJbHNDRkNKYkFoUWlXd0lVSWxzQ0ZDSmJBaFFpV3dJVUlsc0NGQ0piQWhRaVd3SVVJbHNDRkNKYkFoU1B5Mm10NlpRVEJORWZrbFZmMHlnaUNhUTRrU1hwbEJNRTAwY1lTdUJEQkVyZ1F3Uks0RU1FU3VCREJFcmdRd1JLNEVNRVN1QkRCRXJnUXdSSzRFTUVTdVBoLzVTU2hUbjJXeGw4QUFBQWxkRVZZZEdSaGRHVTZZM0psWVhSbEFESXdNVGd0TURNdE1ERlVNVE02TXpRNk5UVXJNREE2TURCa0VBVDNBQUFBSlhSRldIUmtZWFJsT20xdlpHbG1lUUF5TURFNExUQXpMVEF4VkRFek9qTTBPalUxS3pBd09qQXdGVTI4U3dBQUFBQkpSVTVFcmtKZ2dnPT0ifSwic3RhdHVzUmVwb3J0cyI6W3sic3RhdHVzIjoiRklET19DRVJUSUZJRUQiLCJlZmZlY3RpdmVEYXRlIjoiMjAxOS0xMC0zMCIsImNlcnRpZmljYXRpb25EZXNjcmlwdG9yIjoiQ2xpZW50L0F1dGhlbnRpY2F0b3IgQ29tYm8gQ2VydGlmaWNhdGlvbiIsImNlcnRpZmljYXRlTnVtYmVyIjoiVUFGMTAwMDIwMTkwNTA2MDAyIiwiY2VydGlmaWNhdGlvblBvbGljeVZlcnNpb24iOiIxLjMuNiIsImNlcnRpZmljYXRpb25SZXF1aXJlbWVudHNWZXJzaW9uIjoiMS4wLjAifV0sInRpbWVPZkxhc3RTdGF0dXNDaGFuZ2UiOiIyMDE5LTEwLTMwIn0seyJhYWd1aWQiOiIyYzBkZjgzMi05MmRlLTRiZTEtODQxMi04OGE4ZjA3NGRmNGEiLCJtZXRhZGF0YVN0YXRlbWVudCI6eyJsZWdhbEhlYWRlciI6Imh0dHBzOi8vZmlkb2FsbGlhbmNlLm9yZy9tZXRhZGF0YS9tZXRhZGF0YS1zdGF0ZW1lbnQtbGVnYWwtaGVhZGVyLyIsImFhZ3VpZCI6IjJjMGRmODMyLTkyZGUtNGJlMS04NDEyLTg4YThmMDc0ZGY0YSIsImRlc2NyaXB0aW9uIjoiRmVpdGlhbiBGSURPIFNtYXJ0IENhcmQiLCJhdXRoZW50aWNhdG9yVmVyc2lvbiI6MSwicHJvdG9jb2xGYW1pbHkiOiJmaWRvMiIsInNjaGVtYSI6MywidXB2IjpbeyJtYWpvciI6MSwibWlub3IiOjB9XSwiYXV0aGVudGljYXRpb25BbGdvcml0aG1zIjpbInNlY3AyNTZyMV9lY2RzYV9zaGEyNTZfcmF3Il0sInB1YmxpY0tleUFsZ0FuZEVuY29kaW5ncyI6WyJjb3NlIl0sImF0dGVzdGF0aW9uVHlwZXMiOlsiYmFzaWNfZnVsbCJdLCJ1c2VyVmVyaWZpY2F0aW9uRGV0YWlscyI6W1t7InVzZXJWZXJpZmljYXRpb25NZXRob2QiOiJwcmVzZW5jZV9pbnRlcm5hbCJ9XV0sImtleVByb3RlY3Rpb24iOlsiaGFyZHdhcmUiLCJzZWN1cmVfZWxlbWVudCJdLCJtYXRjaGVyUHJvdGVjdGlvbiI6WyJvbl9jaGlwIl0sImNyeXB0b1N0cmVuZ3RoIjoxMjgsImF0dGFjaG1lbnRIaW50IjpbImV4dGVybmFsIiwid2lyZWxlc3MiLCJuZmMiXSwidGNEaXNwbGF5IjpbXSwiYXR0ZXN0YXRpb25Sb290Q2VydGlmaWNhdGVzIjpbIk1JSUIyRENDQVg2Z0F3SUJBZ0lRR0JVclFiZERybTIwRlpuRHNYMkNCVEFLQmdncWhrak9QUVFEQWpCTE1Rc3dDUVlEVlFRR0V3SlZVekVkTUJzR0ExVUVDZ3dVUm1WcGRHbGhiaUJVWldOb2JtOXNiMmRwWlhNeEhUQWJCZ05WQkFNTUZFWmxhWFJwWVc0Z1JrbEVUeUJTYjI5MElFTkJNQ0FYRFRFNE1EUXdNVEF3TURBd01Gb1lEekl3TkRnd016TXhNak0xT1RVNVdqQkxNUXN3Q1FZRFZRUUdFd0pWVXpFZE1Cc0dBMVVFQ2d3VVJtVnBkR2xoYmlCVVpXTm9ibTlzYjJkcFpYTXhIVEFiQmdOVkJBTU1GRVpsYVhScFlXNGdSa2xFVHlCU2IyOTBJRU5CTUZrd0V3WUhLb1pJemowQ0FRWUlLb1pJemowREFRY0RRZ0FFc0ZZRUVoaUp1cXFuTWdRalNpaXZCalY3REdDVGY0WEJCSC9CN3V2WnNLeFhTaEYwTDh1RElTV1V2Y0V4aXhSczZnQjNvbGRTcmpveDZMOFQ5NE5PenFOQ01FQXdIUVlEVlIwT0JCWUVGRXU5aHlZUnJSeUp6d1JZdm5EU0NJeHJGaU8zTUE4R0ExVWRFd0VCL3dRRk1BTUJBZjh3RGdZRFZSMFBBUUgvQkFRREFnRUdNQW9HQ0NxR1NNNDlCQU1DQTBnQU1FVUNJREhTYjJtYk5EQVVOWHZwUFUwb1dLZU55ZTBmUTJsOUQwMUFSMitzTFpkaEFpRUFvM3d6Njg0SUZNVnNDQ1JtdUpxeEg2RlFSRVNOcWV6dW8xRStLa0d4V3VNPSIsIk1JSUIyRENDQVg2Z0F3SUJBZ0lRRlo5N3dzMkpHUEVvYTVOSStwOHoxakFLQmdncWhrak9QUVFEQWpCTE1Rc3dDUVlEVlFRR0V3SkRUakVkTUJzR0ExVUVDZ3dVUm1WcGRHbGhiaUJVWldOb2JtOXNiMmRwWlhNeEhUQWJCZ05WQkFNTUZFWmxhWFJwWVc0Z1JrbEVUeUJTYjI5MElFTkJNQ0FYRFRFNE1EUXdNVEF3TURBd01Gb1lEekl3TkRnd016TXhNak0xT1RVNVdqQkxNUXN3Q1FZRFZRUUdFd0pEVGpFZE1Cc0dBMVVFQ2d3VVJtVnBkR2xoYmlCVVpXTm9ibTlzYjJkcFpYTXhIVEFiQmdOVkJBTU1GRVpsYVhScFlXNGdSa2xFVHlCU2IyOTBJRU5CTUZrd0V3WUhLb1pJemowQ0FRWUlLb1pJemowREFRY0RRZ0FFbmZBS2Jqdk1YMUV5MWI2aytXUVFkTlZNdDlKZ0dXeUozUHZNNEJTSzVYcVRmbysrMG9Bai80dG53eUlMMEhGQlI5U3Qra3RqcVNYRGZqaVhBdXJzODZOQ01FQXdIUVlEVlIwT0JCWUVGTkdobUUyQmY4TzVhL1lIWjcxUUV2NlFSZkZVTUE4R0ExVWRFd0VCL3dRRk1BTUJBZjh3RGdZRFZSMFBBUUgvQkFRREFnRUdNQW9HQ0NxR1NNNDlCQU1DQTBnQU1FVUNJUUMzc1QxbEJqR2VGK3hLVHB6VjFLWVUyY2thaFRkNG1MSnl6WU9oYUh2NGlnSWdEMkpZa2Z5SDVRNEJwbzhycm9PMEl0N29ZakYya2d5L2VTWjNVOUdsYXF3PSIsIk1JSUJmakNDQVNXZ0F3SUJBZ0lCQVRBS0JnZ3Foa2pPUFFRREFqQVhNUlV3RXdZRFZRUUREQXhHVkNCR1NVUlBJREF5TURBd0lCY05NVFl3TlRBeE1EQXdNREF3V2hnUE1qQTFNREExTURFd01EQXdNREJhTUJjeEZUQVRCZ05WQkFNTURFWlVJRVpKUkU4Z01ESXdNREJaTUJNR0J5cUdTTTQ5QWdFR0NDcUdTTTQ5QXdFSEEwSUFCTkJtclJxVk94enRUSlZOMTl2dGRxY0w3dEtRZW9sMm5uTTIveVlndmtzWm5yNTBTS2JWZ0lFa3pIUVZPdTgwTFZFRTNsVmhlTzFIamdneEFsVDZvNFdqWURCZU1CMEdBMVVkRGdRV0JCUkpGV1F0MWJ2RzNqTTZYZ21WL0ljak50Ty9DekFmQmdOVkhTTUVHREFXZ0JSSkZXUXQxYnZHM2pNNlhnbVYvSWNqTnRPL0N6QU1CZ05WSFJNRUJUQURBUUgvTUE0R0ExVWREd0VCL3dRRUF3SUJCakFLQmdncWhrak9QUVFEQWdOSEFEQkVBaUF3ZlBxZ0lXSVVCK1FCQmFWR3NkSHkwczVSTXhsa3pwU1gvelN5VFptVXBRSWdCMndKNm5aUk04b1gvbkE0M1JoNlNKb3ZNMlh3Q0NILy8rTGlyQkFiQjBNPSJdLCJpY29uIjoiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFGQUFBQUFVQ0FNQUFBQXRCa3JsQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUJIWnBWRmgwV0UxTU9tTnZiUzVoWkc5aVpTNTRiWEFBQUFBQUFEdy9lSEJoWTJ0bGRDQmlaV2RwYmowaTc3dS9JaUJwWkQwaVZ6Vk5NRTF3UTJWb2FVaDZjbVZUZWs1VVkzcHJZemxrSWo4K0lEeDRPbmh0Y0cxbGRHRWdlRzFzYm5NNmVEMGlZV1J2WW1VNmJuTTZiV1YwWVM4aUlIZzZlRzF3ZEdzOUlrRmtiMkpsSUZoTlVDQkRiM0psSURVdU5pMWpNREUwSURjNUxqRTFOamM1Tnl3Z01qQXhOQzh3T0M4eU1DMHdPVG8xTXpvd01pQWdJQ0FnSUNBZ0lqNGdQSEprWmpwU1JFWWdlRzFzYm5NNmNtUm1QU0pvZEhSd09pOHZkM2QzTG5jekxtOXlaeTh4T1RrNUx6QXlMekl5TFhKa1ppMXplVzUwWVhndGJuTWpJajRnUEhKa1pqcEVaWE5qY21sd2RHbHZiaUJ5WkdZNllXSnZkWFE5SWlJZ2VHMXNibk02ZUcxd1BTSm9kSFJ3T2k4dmJuTXVZV1J2WW1VdVkyOXRMM2hoY0M4eExqQXZJaUI0Yld4dWN6cGtZejBpYUhSMGNEb3ZMM0IxY213dWIzSm5MMlJqTDJWc1pXMWxiblJ6THpFdU1TOGlJSGh0Ykc1ek9uQm9iM1J2YzJodmNEMGlhSFIwY0RvdkwyNXpMbUZrYjJKbExtTnZiUzl3YUc5MGIzTm9iM0F2TVM0d0x5SWdlRzFzYm5NNmVHMXdUVTA5SW1oMGRIQTZMeTl1Y3k1aFpHOWlaUzVqYjIwdmVHRndMekV1TUM5dGJTOGlJSGh0Ykc1ek9uTjBVbVZtUFNKb2RIUndPaTh2Ym5NdVlXUnZZbVV1WTI5dEwzaGhjQzh4TGpBdmMxUjVjR1V2VW1WemIzVnlZMlZTWldZaklpQjRiWEE2UTNKbFlYUnZjbFJ2YjJ3OUlrRmtiMkpsSUZCb2IzUnZjMmh2Y0NCRFF5QXlNREUwSUNoTllXTnBiblJ2YzJncElpQjRiWEE2UTNKbFlYUmxSR0YwWlQwaU1qQXhOaTB4TWkwek1GUXhORG96TXpvd09Dc3dPRG93TUNJZ2VHMXdPazF2WkdsbWVVUmhkR1U5SWpJd01UWXRNVEl0TXpCVU1EYzZNekU2TlRrck1EZzZNREFpSUhodGNEcE5aWFJoWkdGMFlVUmhkR1U5SWpJd01UWXRNVEl0TXpCVU1EYzZNekU2TlRrck1EZzZNREFpSUdSak9tWnZjbTFoZEQwaWFXMWhaMlV2Y0c1bklpQndhRzkwYjNOb2IzQTZTR2x6ZEc5eWVUMGlNakF4TmkweE1pMHpNRlF4TlRvek1Eb3lOeXN3T0Rvd01DWWplRGs3NXBhSDVMdTJJT2FjcXVhZ2grbWltQzB4SU9XM3N1YUprK1c4Z0NZamVFRTdJaUI0YlhCTlRUcEpibk4wWVc1alpVbEVQU0o0YlhBdWFXbGtPakpGTnpGQ1JrWkRRelkzUmpFeFJUWTVOemhFUVRsRFFrSTJORFl6Umprd0lpQjRiWEJOVFRwRWIyTjFiV1Z1ZEVsRVBTSjRiWEF1Wkdsa09qSkZOekZDUmtaRVF6WTNSakV4UlRZNU56aEVRVGxEUWtJMk5EWXpSamt3SWo0Z1BIaHRjRTFOT2tSbGNtbDJaV1JHY205dElITjBVbVZtT21sdWMzUmhibU5sU1VROUluaHRjQzVwYVdRNk1rVTNNVUpHUmtGRE5qZEdNVEZGTmprM09FUkJPVU5DUWpZME5qTkdPVEFpSUhOMFVtVm1PbVJ2WTNWdFpXNTBTVVE5SW5odGNDNWthV1E2TWtVM01VSkdSa0pETmpkR01URkZOamszT0VSQk9VTkNRalkwTmpOR09UQWlMejRnUEM5eVpHWTZSR1Z6WTNKcGNIUnBiMjQrSUR3dmNtUm1PbEpFUmo0Z1BDOTRPbmh0Y0cxbGRHRStJRHcvZUhCaFkydGxkQ0JsYm1ROUluSWlQejQ3N0pYRkFBQUFZRkJNVkVYLy8vOEVWcUlYWmF2RzJPb3FjTEcyek9Pa3d0MEJTSnRxbGNYVjR1K2F1dGxXaGJ6azdQVUFNWTlIY3JLanROYnE4ZmVBbDhhQm9zeno5dnBkanNHR3F0RjNuOHVUc05TWnBjNkpzTlQ1K3YweFlLbnU4UGZmNS9MNDhmZy9mcmljekpnWUFBQURBRWxFUVZSNDJrUlVDWmJESUFqRlhaT1kxVGF0TmMzOWJ6a3NTWWMzcjRNRTRmTUJBYUQ2emw4eS85VE9nZXQ4ZDVqZk43OGJ3TS9kRENScFI1MjF6WGZvakhKMDVJSXloQkFVU1ZBT05kR3pCWXQyZjdLRnJma0phQWtIaDlGWmhjRFhIUmtUS285TUxpaEdhYXZJbW5WM3F5RVgwRXByZ3ovNER3VUQ3a0NIUm5kOFFGTjQzR280VVZtRERnemE0dzI3b2l6ZEEyK2NLK3V1VXBqam8yK3h3Yy80Mlc1MHg1TEdZZURCc1IwSFZJeDV4OGlGNjBDYmxiVEVFa0ZyMjdiTkRCVVZTcTFPS1ZQYkU2MmIzRUg4RnFCZzVPT09FdWMydDhaSmlxTU91R3ArY0tqZzd3VkdjZW96cU40cHhnVlBRa2pGWWdiVkpLRFVoRENqWXJhd1A1cTRFVGdDOWZJTVJIdGl0cFFjQ3ZKT0VMY2JNc1FnbmNpUmtsanB5UWp2RzQ0anFCVUVURmlCaTFQRUl5ZWtPenNXK1R5NWNMSG9zNVIrZE1TMUx0U1N4ZjNnUUhjelIyQ0k0Z01OcFc0SVJBMVFNYTZ0SjQrQzZ1SHVHRThtTkRJeUZxZy9PUC9NTVV1ZVM2SXE4UzkwZEFlQkpTRXkvcUtrSytCTnd6OGNZWTRqYjVKNnU0aVdDSTJCMVo1NkxXNWtFYzRoa2RNcHN2VUM1NTg1U1gwUXViY2dOcXlmZ0RGRWNUdCs0MC8wUzVOeDB3YUN3M09La2NPYkE1SW4wQVlwMDFwamp3Mm42MjZVRGp0SHdhMjhpSHVUS3F0cnYrcmVXNDFOWjZpR2xyN3V1TEpDZmtGdGN0Y0cwNHNnbTFlTlMrWmFEbnBhVEVyR295WDVKSzJpTXo4eHMwbk93V0djUERONDlxYUNkNGJ6Sm96RFptL2FCSytFb3pMdytYaE5CaVl3SGYwc2lPdTFYUGtHL3pLd3ZxWUtjZlN3REVjSC9vVWUwN2VzL1dROHJJeWcyRE9Yajh0amtaZHVEQi9iOGh6RGxsTU1PQ1M1QkVuZDUzNGY4dGkzVVpjNGtNczN4THlhZk1Tc0poZEc4WFBxak5rNXRBZ08yNWZlS0NoblZkRGovSjBGTWtPc1UveE1CdjB3RmhZZUVHZlZIMTNmdURVMHlERkxhNGZjN1JuV0hCZnVURlYydEVtTndhZGM3YWMzVVkyamZCbDdIVDM2ZmUzNGlRTzVtTkNGRkJXMDdLalBncWhPTFUwMXZaOFB1ZVoySkNsRlpOOGprVXM2OXVrYTllUHA2K0VmTDRBRjUrTnl3U2Jpckh0Y0I4TWwvZ2t3QUVqa0s2NEtqSFBlQUFBQUFFbEZUa1N1UW1DQyIsImF1dGhlbnRpY2F0b3JHZXRJbmZvIjp7InZlcnNpb25zIjpbIlUyRl9WMiIsIkZJRE9fMl8wIiwiRklET18yXzFfUFJFIl0sImV4dGVuc2lvbnMiOlsiY3JlZFByb3RlY3QiLCJobWFjLXNlY3JldCJdLCJhYWd1aWQiOiIyYzBkZjgzMjkyZGU0YmUxODQxMjg4YThmMDc0ZGY0YSIsIm9wdGlvbnMiOnsicGxhdCI6ZmFsc2UsInJrIjp0cnVlLCJjbGllbnRQaW4iOmZhbHNlLCJ1cCI6dHJ1ZSwiY3JlZGVudGlhbE1nbXRQcmV2aWV3Ijp0cnVlfSwibWF4TXNnU2l6ZSI6MTAyNCwicGluVXZBdXRoUHJvdG9jb2xzIjpbMV0sIm1heENyZWRlbnRpYWxDb3VudEluTGlzdCI6NiwibWF4Q3JlZGVudGlhbElkTGVuZ3RoIjo5NiwidHJhbnNwb3J0cyI6WyJuZmMiXSwiYWxnb3JpdGhtcyI6W3sidHlwZSI6InB1YmxpYy1rZXkiLCJhbGciOi03fV19fSwic3RhdHVzUmVwb3J0cyI6W3sic3RhdHVzIjoiTk9UX0ZJRE9fQ0VSVElGSUVEIiwiZWZmZWN0aXZlRGF0ZSI6IjIwMjAtMDQtMjQiLCJjZXJ0aWZpY2F0aW9uRGVzY3JpcHRvciI6IkZlaXRpYW4gRklETyBTbWFydCBDYXJkIiwiY2VydGlmaWNhdGlvblBvbGljeVZlcnNpb24iOiIxLjIiLCJjZXJ0aWZpY2F0aW9uUmVxdWlyZW1lbnRzVmVyc2lvbiI6IjEuMyJ9XSwidGltZU9mTGFzdFN0YXR1c0NoYW5nZSI6IjIwMjAtMDQtMjQifSx7ImFhaWQiOiIwMDZGIzAwMDIiLCJtZXRhZGF0YVN0YXRlbWVudCI6eyJsZWdhbEhlYWRlciI6Imh0dHBzOi8vZmlkb2FsbGlhbmNlLm9yZy9tZXRhZGF0YS9tZXRhZGF0YS1zdGF0ZW1lbnQtbGVnYWwtaGVhZGVyLyIsImFhaWQiOiIwMDZGIzAwMDIiLCJkZXNjcmlwdGlvbiI6IkhhbmtvIFVBRiBDbGllbnQvQXV0aGVudGljYXRvciBDb21ibyBmb3IgaU9TIiwiYXV0aGVudGljYXRvclZlcnNpb24iOjEsInByb3RvY29sRmFtaWx5IjoidWFmIiwic2NoZW1hIjozLCJ1cHYiOlt7Im1ham9yIjoxLCJtaW5vciI6MX1dLCJhdXRoZW50aWNhdGlvbkFsZ29yaXRobXMiOlsic2VjcDI1NnIxX2VjZHNhX3NoYTI1Nl9kZXIiXSwicHVibGljS2V5QWxnQW5kRW5jb2RpbmdzIjpbImVjY194OTYyX2RlciJdLCJhdHRlc3RhdGlvblR5cGVzIjpbImJhc2ljX3N1cnJvZ2F0ZSJdLCJ1c2VyVmVyaWZpY2F0aW9uRGV0YWlscyI6W1t7InVzZXJWZXJpZmljYXRpb25NZXRob2QiOiJmaW5nZXJwcmludF9pbnRlcm5hbCJ9XSxbeyJ1c2VyVmVyaWZpY2F0aW9uTWV0aG9kIjoiZmFjZXByaW50X2ludGVybmFsIn1dLFt7InVzZXJWZXJpZmljYXRpb25NZXRob2QiOiJwYXNzY29kZV9pbnRlcm5hbCJ9XV0sImtleVByb3RlY3Rpb24iOlsic29mdHdhcmUiXSwibWF0Y2hlclByb3RlY3Rpb24iOlsic29mdHdhcmUiXSwiYXR0YWNobWVudEhpbnQiOlsiaW50ZXJuYWwiXSwidGNEaXNwbGF5IjpbImFueSJdLCJ0Y0Rpc3BsYXlDb250ZW50VHlwZSI6InRleHQvcGxhaW4iLCJhdHRlc3RhdGlvblJvb3RDZXJ0aWZpY2F0ZXMiOltdLCJpY29uIjoiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUF3d0FBQUVzQ0FZQUFBQnVURFJrQUFBQUJtSkxSMFFBQUFBQUFBRDVRN3QvQUFBQUNYQklXWE1BQUE3REFBQU93d0hIYjZoa0FBQUFCM1JKVFVVSDRBVVVFQmdVU2V3UnpnQUFJQUJKUkVGVWVOcnQzWCtNSEdlZDUvSFBVOVZkL1NOR2pBTlJEQXZaTnB2eHhEZzNOL0hHUzlBNENvbzJtRnNoT1pvaldpMkNMQWlEN3lDY1FNVDVnK1QyN2lDSmRBbXJJQkdRd2cvdEVTSWpsTU55cElnajVHUVJKUmJjQmhtZk44N0VucEFad0F0R1FHYlFKVFA5czU3N3d6MUpISHM4TTExUFZUL1YvWDVKVnJTTHU2cjcrMVMzNjFQUEwyT3RGUUFBQUFDY1QwQUpBQUFBQUJBWUFBQUFBQkFZQUFBQUFCQVlBQUFBQUJBWUFBQUFBQkFZQUFBQUFCQVlBQUFBQUJBWUFBQUFBQkFZQUFBQUFCQVlBQUFBQUJBWUFBQUFBSURBQUFBQUFJREFBQUFBQUlEQUFBQUFBSURBQUFBQUFJREFBQUFBQUlEQUFBQUFBSURBQUFBQUFJREFBQUFBQUlEQUFBQUFBSURBQUFBQUFBRExDcFFBYzhhVUcyVzlKV2pyOHNDb1pvemVFb1lhLy9ORit3SGYzL3N2SXZQeElOUzdPbGJIYlVmUHRJMytHTGYwbTIzV25xWmxBUUFBQ0F6b3dYRmpOaFVydWp4c2Eyc1FhQ3lvcUZhV3BPSzVmOC8zRzI4YmFFTmdOQklZVFNyUVpOUzlxbjlaTldyRk9tdzdla2FCVGhXYm1xMVpXNmYxQVFBQUNBeTRVRUFJOWE0TkZZMnNwZlVMWlZYeS9MbUx3WmtRSVVtcVNDK1V6TEcyZE14SUowWWJkcG9yQXdBQWdNQXdsT2FNS2JjaWJaWjBWY0ZvKzRhS2FyUzJGSVlhRDZWeDZVd1BSTHV0eHpvRlRTK1c5TXpFdkYzZ3lnRUFBQ0F3REhSSVdDcnFuWkgwbDRXS2RrV1VaUFdMdjZCZEJXbFhxWEdtOTZFVDZ5Zk50djZGK1E4QUFBQUVob0VNQ1ZWSzByTXcxSGdZYWp3cVNyTmxNOWNLZEpDZUJ3QUFBQUpETHAyb21NMUJySGNYeXJxK2FycnpFZUJNRUtoV2tqNnozUFBRc0hxMDB0S3pUSm9HQUFBRUJuaHJ6cGh5czZLcmk3RnVMQWVxS2FRbVdRaERqVmVsOFRqVXdrekpIR28yZFlnaFN3QUFnTUFBYnl6M0prUVZUWlVrdHRycms4Qm9KQW8xRlZVMHRkenJzTFZwajFBWkFBQkFZRUJmVEVkbWV6SFFkZVZBay9RbStHVzUxMkcyWWhiYWJYMnYyTmFUREZjQ0FBQUVCbVFXRk1xQlBsZ3RkSmRDaGJjQ281R29xTDBxYXU5TXlSeDR1YW9mTUVrYUFBQVFHT0RjbkRIbFZrSFhGa0x0SWlqa1V4UnFLbXBvaXVBQUFBQUlESERxWk5Yc0xKYjFrWWpWamdnT0FBQUFCQVlzV3g1NlZBcFVrNkVlZ3h3Y2lrMGRZSTREQUFBZ01HQk5UbFRNNXNqcVV3dzlHcDdnRUpkMS9VelJNRGthQUFBUUdMQ3lveHZOeUlZbGZiUWNhSkllaGVHeVBEazZEclZyT2pMN1dZNFZBQUFRR1BDSzVRbk5HNHZheXg0S1F4NGNBdFdxZ1Q3L2ZOa2NialQwWFRhQUF3QUFCSVloTjFNeVd3c2xmU3dLR0g2RVZ4VURUUllybWp4Wk1nOUZUZjJRWVVvQUFNQm5QUE5Pd2RHTlp1UVhrZmw0Rk9xTEFXRUJLeWlGK3BBdDYvNlprdGxLTlFBQWdLL29ZWERzWk5Yc2ZLUFZSNElDeTZSaURZbmRhQ1FLOWNWZlJPYXhzS1h2ME5zQUFBQUlEQU5xZVZKemlVbk42T1dMV05DdU9OUzdaa3JtSDBjYmRwcUtBQUFBWHpBa3lZSHB5R3gvWTExZktnYWFwQnJvK2N2NGFtL0R4K2VNS1ZNUkFBRGdBM29ZRXBnenB0d3A2c1BWZ25aUkRUajdVaGEwS3c0MGRxSml2anEyWkdlcENBQUE2Q2Q2R0hwMDNKaE50cVE3QzRRRnBQSEZERlFyRzkwN1V6UTNVQTBBQUVCZ3lKbVRWYk56UTBYM3N3SVMwaFlWdGZmNXN2a3NRNVFBQUFDQklRZm1qQ24vSWpJZkwwbWZvUnJJU2pIUXBDM3IvdVBHYktJYUFBQ0F3T0NwNDhac2lpUGR4aEFrOU9XTGFqU3lvYUw3VDFiTlRxb0JBQUFJREo2WktabXQxYkx1REVPTlV3MzBVMG42ekV6SmZKQktBQUFBQW9NblRsYk56aWpVRndQRFJtendReFJxNm9XUytRZm1OUUFBQUFLREI1aXZNSHlhTFQwd1g5S2VodlRsT05hY2orOHhERFZ1UzdxVGVRMEFBSURBQVBUQnhMeGQyTEpvbjlwY3Q3ZldyZmExWWgzMjdzc2JxRll0RXhvQUFBQ0JBZWlyc1NVN2UzbmQzamRmMHA1bVJ3ZTgrZ0ozSjBOUFIyWTdMUVVBQU5MQVRzOTkwR3pwQWRmSGpJcmFTMlhUTlRGdkZ5VHRQMjdNb1ZKSmYxY01OT25MZTZzVzlQbnB5Tnk5dFdtUDBGSUFBSURBa0hPakxmdTQ2MlArc21vSURCblpadTFwU2ZlZHFKaURrZFduZk5uQWo5QUFBQURTd0pBa29FZGpTM1oyYzkzZTJwQytIRnN0K0JJYVdIWVZBQUFRR0FDUGJGbTBULzJwckZ2YmJUM213L3VKUWswUkdnQUFBSUVCOE1qRXZGMzRpNmI5UnJPai8reERid09oQVFBQUVCZ0FENDAyN0xTcDZ4WWZlaHNJRFFBQWdNQUFlS2htYmYwdm12WWJpMjNkM2UvZWhpalUxRXpSM0VDckFBQUFBZ1BnbWExTmUrUlBaZDNhNmVoWVgwTkRVWHZacHdFQUFCQVlBQTlOek51RmR6VHNGeG9kUGRUUDk5RmRjcFhRQUFBQUNBeUFqN1kwN01GK0QxR3FGdlQ1RXhXem1kWUFBQUFFQnNCRFc1djJ5R0pkZC9SemlGSWszWDdjbUUyMEJnQUFJREFBSHRwbTdlbWdxWHRhc1E3MzVRdHZORkl0Njg0NVk4cTBCZ0FBSURBQUhxcFpXNys4YnU5cmRuU2dYNkVoam5RYm9RRUFBQkFZQUkrTk51eit4YmJ1N3NlNXcxRGpuYUkrVENzQUFBQUNBK0N4clUxN3BGKzdReGNLMnNVZURRQUFnTUFBZUc2MFlhY1g2N3FqSDZFaEttcnZUTWxzcFJVQUFBQ0JBZkRZTm10UDl5czBGQUo5anBXVEFBQUFnUUhJUVdqb3g4N1FnZEZJSmRJbm1BUU5BQUFJRElEbkp1YnRRdERVUFZtSGhqRFVlQ3ZTRkMwQUFBQUdOakRNR1ZNK3V0R00wS1RJdTVxMTlYNkVoaWpVRlBNWkFBREF3QWFHVGxFZnJ0UzFrU1lGb2FGM2hVQ2ZJM2dEQUlDQkN3elRrZGxlS0dnWHpRbENROElmQktPUkRVdjZLTlVIQUFBREV4aU9ialFqNVZDZnBDa3hxS0ZocWFtdlo3bDZVakhRSlBzekFBQ0FnUWtNRzViMDBjQ0lJUlFZV1AxWWNqVXFhaTlMclFJQWdOd0hocE5WczdNWWFKSm1CS0hCdlVxa1QxQjVBQUNRMjhCd2RLTVpLVnA5aENiRU1JV0dla2RmeStwOFlhaHhoaVlCQUlEY0JvWTN2S3liR0lxRVliTzFhWTgwcEM5bmRiNUNRWC9McWtrQUFCQVljbWVtWkxheUtoS0cxWlpGKzFTem93T1ovRUN3YWhJQUFBU0d2TDNoT1dQS0JhT1AwWFFZWnFNTnV6K3I1VmFMZ1NiWjBBMEFBQUpEYnJRS3VqWUlWS1BwTVBSZjNxYnV5V29TZENIUTUrYU1LVk4xQUFBSURGNDd1dEdNUkVYdHBkbUFNM3MwTE5aMVJ5WS9GRVlqcllLdXBlb0FBQkFZdk1aWWF1QnMyNnc5bmRVazZLaW92VXlBQmdDQXdPQ3RFeFd6bVQwWGdITnRXYlJQdGR0NkxJdHp2ZUZsM1VURkFRQWdNSGdwc3ZvVXpRV2NYOWpTZDdLWXoxQW9hTmVKaXRsTXhRRUFJREI0WlRveTI1bm9ES3lzWm0yOUtkMlZTVGl4dXBHS0F3QkFZUEJLT2RBSGFTcmd3c2FXN0d5am80ZlNQZy9MckFJQVFHRHd5c21xMlVudkF2SXVxeHZzcUtrZnhySG0wajRQZTZFQUFFQmc4TUtjTWVXaTFVZG9KdVNkTVhyZlRNbDhNTzI5REdyVzFwdEdYMDM5aHlOUWJUb3kyMmxaQUFBSURIM1ZLdWphd0lobEhERVFvbEJUY2FUYjBnNE5XUTFOWXFnZ0FBQUVocjRyaE5wRkUyR1FoS0hHc3dnTldReE5vcGNCQUFBQ1ExK3hNaElJRGIycldWdHZXMzByN2M5U01uby9MUW9BR0ViR21JdU5NWlBHbUp1Tk1mY1lZdzRhWSt3cWY3N1IvYnRUeHBnSlkweUZ3SkFBd3gwdzZLR2hYZEovVFBNY293MDczWXAxT08zUHdiNE16djhCdW1jTi8rQ3M5bWRMWHMvdjZRMkJUZW5QTFZ5L3hocGpEcWIwWHJZTTRuWHN3M2ZVUVcyWC85eWMwOStFcWU1MSswZEpUMG42dHFSOWtuYXY0UkI3dW4vMys1SitMbW5SR1BQNWJ2RHdOang0R1Jqb1hjQXc2QzVQbW1vd2JqVDAzZFRERC9zeVlMQzlPY1ZqWDBaNUpVbTdqVEZ2b3d5NWNvMmo0eHpLV1ZDNHBSc1N2ci9HY0xCV2QzV0R4eFBkTU9KZGNDaDRlaU4xSGQ5RnJQV0d1Rk9XMDZkVFN4czBuOVg3ajBKTnpSVE43MGRiOXZFMGpyL04ydE16SlhNZ0NqV1ZadkE1YnN4M3QxbDdtaXNTQTZpVzRySGZRM2xmY2FPayt5bERicmo0TitVUmErMnBuSVNGcVc1SVNOdU83bmtlTWNiY1pxMDlTV0JZd1ltSzJWd09OTWwzRVd1OUljNzdaNGlLMmp0VE1xZEdHM1k2bFJ2NnBnN0VaVjJmNW9walVhVHJKZTNuaXNRQTJwRHl6UUhPdUpuQWtBL2QzaUFYVDljUDVPQ3pYaXpwdit2TU1LSXM3ZGFabnJkL2I2MzFvazdlRFVrS1lyMmJyeU9HVFNIUTU0NGJzeW1OWTllc3JiZmIrbDZxb1NmVVZOb3JQd0Y5Y2syYUJ4K2srUjVKdzVNeFpvSXk1TUwxam83ajlYQ2tiakQ2WVIvQ3dtdDkzNWU1VGw0RmhqbGp5bWtPblFCOEZSaU5WQ0o5SXEyYjdtSmJUOFpXQzJsK2htWkZWOU9TR0VBYlV6NytKWlQ0RlRzcFFTNE0vSENrYmxnNElEOTZBYi9pdytSd3J3SUROeHdZWm1HbzhXYWs5NlZ4N0N4NkdZb3hrNTh4a05KK3VuZ3BKWDdGelpUQWI4TXdIS2s3NGRpWHNMRHMyLzN1Z2ZNcU1IRERnV0ZYQ3ZXaHRKWXBUYnVYSVFoVVk0bFZETmpOMGNVWm5PWUtLdjJLSGNZWTVqRDZiUmlHSS8wMytUbS82T3NaL1NiNUhSaE9WTXhtbGxJRnBNanFVMmtNVGFwWlcyL0ZlalRWSHhUbUlHR3d2RG1EY3hDeXo4WXFpWDRiNk9GSXhwajM2c3dlQ1Y0R2Frbi9ZZWdEQXpjYVFQZTdFS2pXS3VqYU5JNjlXTldQVXcwN1RIN0dZS2xsY0k0OWxQa3NkK1ZsNTl0aE0rakRrYnJYM1owNStINzBaYUVFTHdMRG5ESGxRdUNzbXd2SXZhaW92VWMzR3VmTG9FN00yNFZtSjkwZjY2V2kza2tMWWtCc3lPSWsvUnhtNEtudGxNQkxnejRjNldQS3gxTEhmWG5JNEVWZ1dDcnFuV211RVEvazBSdGUxazFwSERjTzlKTTAzemNiTDJLQVhKUFJlZDVNcWMvQ2I0aWZYUFI4ZXprY3FkdTc4SldjdE1PK2ZqeGs4Q0l3Uk5KZjhqMEV6bFlvYUZjYWs0akhsdXhzcDZOaktRYUd5VFI2UjRBKzJKalJlV3FVK2l4MzBldmkzUTMxeFhMelpOdlgxWkgrWGM2YTVQMURGeGptakNrWEN0ckYxeEU0VjJqVFdUbXNZZE9kL0Z4dDZFcGFEd01ncTY3L1RaVDZIQ3l6UHBqdDRldHdKSmRMK2o0aWFaZWtzZGY4dVVyU3B4MmVJL005eS9vZUdCanZES3lzR0dneWpWNkdTa3ZQcHZtK0N4M21KQ0hmTW43Q1RjQSsxMDJVWU9EYXc5ZmhTSzRtYzB2UzMxdHJiN1RXL3NoYWUvSTFmNDVhYSsvdmhvZW5IWnhuZC9kOUQwOWdZRGdTc09yTjkxKzdQbWJOMm5xYWs1L0RVT01NUzBMT1pUbXZZQXZsUHNjZWhpVjVGWjRIZVRqU1h6azZ6cWV0dFE5ZTZDOVlhMDlLK29Sbjc5di93TUJ3SkdBTmdhR2dYU25kZlA4OHpmZGRlbG52b1BXUVk3VU16N1diY3A4WHc1SUdxeDE4SFk3a1l2N0NJNUsrdFphL2FLMDlLdWxlQitlOEpzc2k5VFV3dENJMnJBSFdvcnFvOTdnKzVtakRUcWU1OHpPOWg4aTVEVm1lckY5cnEzdnVrNVRBQ3dNN0hLbkxSZS9KZzliYXBYVUdqS1F5M1dDdTMwT1NydUo3Q0t5dUdLU3pJa0k3VHUrSkQ3Mkh5TGxyTWo1ZmxaS2ZJL054MmpnbnlBNzBjQ1NIUWYzSDYvejdSeHk5Lzh5K0gzME5EQVhENWl6QW1yNm9SaU16SmJNMWhVT25PaXdwcGZjTVpHRmp4dWRqQ04vNXNZQkNmdzM2Y0tTYWcyTThZcTE5Y1QwdjZQWkdmTlBCdVRPYmE5VzN3SERjbUUxQndOclR3RG80NzVFck5qV2I1aHUyWjFhRUFQSW82OTFVMzBySnoydUtFdlRWb0E5SGNyR2s4VC8zK0RvWC8vNW05cUNoYjRHaFdOSGxmQStCdFl0QzkvOXcxcXl0dDJJZFR1MTdiclNUbGtQZTlHbDFuc3VvL0hreExLbC8zNE9LQm50MUpNbk5rc2JQWmZ5NjE4cnNRVVBmQWtQWUZrTVZnSFZLWTRpUDdlaVoxSDVnQXRWWVhoVTVsS1NidjlmSmpQc28rNG9ZbHRRZnJvYU5IL0w0TTdvWWV2aTdIbC8za29OelovYWdvZEN2RmdwQ3ZZdnZvdC9LUnZmK3NtcUc3bk0zVzNwZ3RHVWY5L1R0WFNWcDJ1VUI0NEtlVC9NTmQ1ZFhQY0kzQ2psU1MvRGFCOVhqTXFuR21NbzZWMW9aRnJkMDY0cHNYZWZnR0Q0UFI1TGM5S0Q4dnNmWHplWHBZdWhMRDhOeFl6WUZSangxQk5hYjhGTllLR0JzeWM2bS9KNnZvT1dRTTBtV1ZQMWRndGUrbmRLZjF3NWp6QVJseUU1M09OSmREZzUxZ0dxbUtyT2V5YjRFQnVZdkFEMStZVk1hNHBQbVBJWlFmTitST3owdnFXcXRUZkpkcWxINkZURWZLbHZETUJ6SmxUOE14ZjFIUDA3Sy9BV2dkMm5zb0p6bVBJWXcxUGljTVdWYURqblM2N2ptcDd2LzdYVWV3d1pLdjZLYktVR21CbjQ0a3FzOUdOYTdwQ3FCWVQwbkRWaHFFZWhWS2tOOEFxWDZvOTRvNnkyMEhIS2sxM0hOUCs3KzkyU1ByNytHMHErSVlVblozVWd6SEFuOUR3eHp4cFRaZndIb1hScERmRjZ1NnJlcC90QzBHWmFFM053c0pWbFNkYUg3MzEvMStQcU50TUFGL1EwbHlBVERrZEQvd01DVFJpQmhZQWcxN3ZxWUUvTjJJZFVmR3NOREF1UkdraVZWbDlkVi8wMlByOTlEK1Mvb3J1N1RiNlJyR0ZaSGd1K0JnU2VOUUhMSGpkbmsrcGhwVG54bUdDSnlKRW00WFY1WC9ZVmVEOEFtWmF2YVRnblN3M0FrK0JNWWVOSUlKQlpGN29jdW1OakpKaklyQllZYUU1K1JFMGttSHM5MS83dVk0QmhWbXVDQ3JxTUV1UWhrREVjaU1DUytjZUJKSTVCVUxPZFBJV09iN2lZeURFZEVUcmlZZVB6ckJLKzlraWE0SUlZbHBlc3FCOGRnT0JLQndVbGdxRkYySVBFMzl4TFhoN1JGcGJyRHJESDZNeG9PT2RCejc1MjE5bVQzdjBtK1MyK2xDVloxTFNWSWpZdmxheG1PUkdCSUpvMXgxOEF3TWthWE9nOE1WdithNnB2dUpKcE1DbVRGMWNUamUzdDgzV1Uwd2FwdW9nUnAvTHRpSmlUdGNIQ29uMUpOQWtNaWFZeTdCcENUSHh1anpWUUJudDh3SlZsUzlmVUJvZGVWeDk1RFM2d2U2aEsyRmM3UHhXN2FUeS8zdElIQTBMc1V4bDBEdzZnWWFOTDFNVXYxZFBkaUNNV1FKSGpQWlMvWWN6MitiZ2ZOc0NaWFV3TG5YQXhIZXBBeUVoaGNuTzBTU2c3NHFXWnRQZFd2UC9PWGtJT3ZRWUxYdm40WVJzK3JqaGxqdHRBVXEySllra01PaHlNOVJUVUpEQTR1U1BmanJnSGt4OUdOWm9RcXdHTWJIQjVyTHNGcmViaTJ1ajNzV2VHVXErRklSeWtsZ1NFeGhpUUE3dVJ4RVlGS25YbE04RnFTSlZXZmVkMy8vWWNFeCtMaDJ0cGNUd21jWVRnUy9Ba01ERWtBM0NtVWxidTF5T01PZ1FGZWMzWjlXbXRmVFBEeUsyaUtOWmxhNVg5ZnBFU3JZemdTdkFzTUFJWTg1Rmk5aVNyQVl6MHZxYnJDeWpDUDlIZzRWaFJibTkwWEdwYkU1bUZyeG5BaytCTVlUbFFNUDRBQUFDK2x0RXhucjh0TDdxRkYxb3hoU2NreEhBbitCQVlBTUtHdXBBcndWSklsVlZmYXBPMFp6d0xNSUxxRkVpUUt5bThUdzVHd0JvWE1ra21zc2tJS25wWS9YN1Fmb0FvQTBMTmFDc2Q4S2NGcjN5enB4U0ZyZzlzbDNiWE8xK3d3eGt3d0hLWm5MbnBvR0k1RVlIQW8xdHNJREFDUWlSUEdHS3F3UGttV1ZQM3BDdi8vRnhJR21HSGJNYmZYT1FjN0pYSEQycHNwQjhkZ09OSVFZRWdTZ015RVJ0dW9BangxVFFySFRMSkt6NlloYklOamtwN3U0WFUzYy9tdVgzYzQwbTRIaDJJNEVvRUJBQnorNEJpeGNSdDhsV1JKMWZQT1ZWaGg1YVMxR3NiNVBvdnE3V24xanU3U29PZnpUUzd0RlRFY0NRUUdBQURXd2JlVmliWU1hVHYwK3JSNnBhVkI1N20wVjhSd0pQZ1hHRmdkQlFEZ0l3Y3JFdjM2QXYvYnZUMGVjL2N3dGtYM2FYVXZ3NUsrWW95cGNEV3ZXVTBNUjRLUGdRRUFBRThsV1ZKVjF0cWxDL3pQQ3dtQ3pMRDJNdHpmNCt1MmN5bXYyVTBPanNGd0pBSURBQUJEbzViZ3RhdU5rWDh1d2JHclE5b2VoM3A4M1hWY3ltdm1ZZ2dldzVFSURBQ1FqamxqeWxRQm5rbXlwT3BxWStSL2wrRFk3eGl5ZHFoS2tyWDJsS1JIZW5qOVhReEx5aFREa1FnTUFKQ09SbGx2b1Fyd3pCVUpYcnZhYnM2L1QzRHN0dzVaTzd3MklCM284Uml2SDVhMHdPV2RDb1lqRVJnQUFCZ3FTWmI3WFcwMzV6OGtPUFpsUTl3bWovYjR1bys4N3Y5K2pzczdGUXhISWpBQUFEQlU5aVY0N1FWM2M3Yld2dGluOTVWcjNicjFzb2ZDSGdlclhtRjFQNmNFQkFZQVNFMjdyaVdxQUY4NEdQTytsdDJjdjluSDk1ZG5EL2Y0dXF1NXNsTjNGU1VnTUFCQWFyWlplNW9xd0NOdlQvajZYNi9oNzh6MzhmM2wyYzk2Zk4xTlhOYXBZOThMQWdNQUFFUGpraVF2WG1VUGhtWFBKRGhGYlZnYnBqc3M2ZlllWHNxd3BHeXc3d1dCQVFDUVkyUFdXdFBMSC9XK00zRmVYWnJndFdzZGF2UlNnbk5zR1BKcitZa2VYL2QrZmdaU3g3NFhCQWIzVEp6b0J4TUFnRFFrV1ZKMXJVT05rdlF3WERQa2JYR2t4Mk5OT2FnOUx1d3VlbklJRE03RlZuT1VHd0RnbVNSTHFtWnhNN3B4bU51aU8rU3JsMkZKdTQweGIrUHlYdEUzSFIySENlWUVCZ0FBQmw2U3BVdlgxSE51clQyWjRCeDdhQ0w5b01mWFhVL3BWdlMvMU50dTJxL0hCSE1DQXdDNDFlbm9HRldBTHh5czh2SzdkZnpkcHhPOHo2RitVdDdkVWJpWCtrMXhsVi9RQVFmSFlJSTVnUUVBM0lxTi9oOVZnRWVTTGxuNiszWDgzUjhuT0UrVnB1cHBaK0hkR3E0NUlPdDF5TkZ4bUdBK0JBcVozU2dVOUR6bFRzOU0wZHhBRmR4ZHEyTkxkcFpLQUFQdmtvU3YvOE02L3U2dkVwem5Ta2tuaDd5dGZ0VGo2K2hsV0lHMTlwUXg1cEZ1c0VwaXFzZEFCd0xEQU4wOHhwb0xBdi9Yd1k2SzJrdHJ1ZEZzNlFGSkJJWlUvb0ZhMXhBT0lHMlhKcnVlN1l2citPdS9TWENxdC9MYllVLzJlSE83bTh2OGdnNDRxTkZ1WTh6YnJMV25LT2ZneW14SVVydXVwVHdXcUNQOUs1Y0o0Q3FCcjJzSUI1QzJKRXVxcm5mQ2FKS3dmTm1RdE1kcUswSWQ0SkoxenRXd3BCc3BKWUhCaVczV25xYmNBQUNQSkZsU2RiMURoSktFNWZjTVNYdXN0aUxVSVM1WnQ3cTlBaTZXV0wyWmFoSVlBTUFKNWpMQk0wbVdWRjN2bklSZkp6alhEcHJxbFp2YlI2aUVjdzg3T01ZT1k4d0VwU1F3T05HS2RaaVNBd0Q2emNHU3F1dWFrOURkZ0N6Sis5MUNxMG1TdmtZSm5QdVpvK1BzcEpRRWhseUlPME8xSXlhUU82VzZma3NWNElta1M2cjJNaWNoeWRDUFMyZ3lwemUzZURYTXZpZzN3NUsrNGlDSWc4QWd4VGJkbFdjS1ZtOXkva1hxNkJrdUU4Q05tclYxcWdCUEpMMEI3MlZPd255QzgxMUtrem05dWNYWkhuWjBuTzJVa3NDUVhMaXVOYXNCREJDR0pNSXpTVy9BZS9uMzdLY0p6bmNGVGViODVoYXZldExSY2E2amxBUUdCMDhHMGwyaTFBYTZ5UGt4aS9sY0RoYndqWW4xRWxXQVJ4TGRnSzl6RHdZWE50Tmt6bTl1OGVyMXZDVHBkZ2VIdXNzWWN6RVZKVEFrc2xSTzFCMjcrb2N4N245UTB3NDV3TENJcmVhb0FqeVNaRW5WWGxmcVNUTEVkUTlONXZ6bUZtZDd3dEZ4cnFhVUJJWkVKdWJ0QWlVSGh2YlhobDFBNFpNa1M2cWU3UEYxaTBuZU1FOXVVN201eGF1T09Eck9UWlNTd0pCWW11T1lpNEVtWFI5emJNbk9jcGtBeVRXYjZmWXdBdXU0OFU2NmtzcytZNHhkN3g4bDI0dEJrdDVNNjUxMWMvczBaWERIWWMvTkhzSXRnY0hCQmRuVFVuUnJObWRNMmZVeDQ1aWhGRUJTN1BZT2o3dzlwKys3UnRPZGRYUDdJSlZ3emxYUHpmc3BKWUVoMlpjOFhQZnVtT3ZTS09zdHJvL1pFZk1ZZ0VUZm9ZNk9VUVY0Sks5N0dteWk2Yzd5RkNWd0hzUU95MDNQelJUVkpEQWt2QmpUdmZrMlJuL20vRDJ6RndPUU5IUS9UeFhna2J6dWFYQWxUWGZXemUxUk1Td3BEUzU2Ym5ZYlk5NUdLUWtNUFV0OVRrQW5oVEdlVE5ZRUVtbGJQVWNWNEpHODdtbXdoYVpMNWVZV1ozUFZjM01qcFNRd0pMdW5UM0Y0UWhwTHE3NWMxVys1VklEZXhTMzloaXJBSXlNNWZkKzdhYnB6SEtRRWJqbnN1Ym1aYWhJWUVta3J2Y0NReGtwSkUvTjJnWW5QUU8rWThBelA3TXZyRzJlWXh6azN0NmZVKzc0WVdKbUxucHNkeHBnSmp6L2pIMmhtendORHg2WTc4ZmxFeFRqdlpXaGJaK3NUQTBNbHphV1VnUjV1dUNzNS93Z3NyWHF1QTVUQXVSODVPczVPajhPbWs5M2FqVEZETVZTd0w0R2hjWkZlU1BjZkJQY1RueG1ERGZUNG84eWlBZkRMMjNQKy90OUJFNTdqVVVyZy9HYjZwTnowM0h4bEFFSzZ6ekxyWFN2MDQ5Tk56TnVGMmJLWkM0SjAxcFFPMjlvcXg4dXROUzdTQzlXR3YxZk1zRDdGVFdNSUd0eUtDNnlRQks5Y2t2UDMvMWFhOEp5YjJ4ZU5NZCtVdElkcU9IVkFidWJOYkpmb2FVN0p5YXhPVk9qWEoyeGJIWWxTMm9RbUNQVXVTZDl3SFhKZUtKbGpZYWh4SDYrWXkrdjJ2bUg4cHZ5eWFnZ01ubU8zZEhqbTBweS8vOHRvd3ZONm1NRGczQ0ZIeDduTzQ4QndyL28zcHlsWHl5UUgvVHB4bWtOOEFxT1JWT1l4aE02K1BNQlFZUDRDUEhSRnp0Ly9QcHJ3dkg1R0NkeHlPS0g4TG1QTXhRTmNxbjdlK0djMjVMZHZnYUhTMHJOcEh0L0UrcmV1ajdsWVlpdzJzQjV4d0taSzhNNUkzajhBWThMUGUzUDdvczQ4TFlaYnJpYVVYKzNwNSt2bmZaMkw0WVV2RFh4Z3FGbGJUM00vaHFKeFB6Ti9ZdDR1cFBtZWdVSFRXbUwrQXJ3ekNFL28zMDR6bmhmTHE3cm5ha0w1VFo1K1BoYzMzTDMyV3JvWVh2aENWb1VLK3RsS25WZy9TZTJEQmFvZDNXaWNQMGxxV0ZaakFOWWlqalhIL2d2d2lZc244OVphay9TUHBMR0ViK01TV3ZPOFdQN2NzVzdQelRjZEhHcVBwM3VJdU9oaCtLc2VYL2NlQitmT2JDK0p2Z2FHWmx2L2t1YnhxdzMzNDhvcUxUMGJXeTN3TXdKY0dIdVh3RU5Kbjh5N2VvS2Q5Qi81UzJuSzg5N2NMa202blVvNDk3Q2o0MXp2NFdmN3RZTmo3Rjd2dzRodWVOcmg0Sm8vTlJTQlladTFwOVBjUWJrWTYwYlh4NnhaVzIvSFRINEcxdURubEFDZVNmcGszc2tTaGc0MmpMcUdwbHpSRHlpQmM2NG1sRTk1R2pKZFBBall2czYvLzA0SDU4eDB6azdRNzhaSzh5bGtFS2gyM0poTnJvLzdjcFVmSk9CQ1lxdUYwWWFkcGhMd1ROSW44eTU3bDVQY3BHeWtLVmU4QVR3cXNkaUM0NXE2R3BhMDI5TmRrZiszaTgrMnpyLy9TUWZuL09sUUJRYWwvQlN5R0xsL0VqTXhieGVhSGJhaUIxWjhFRUF2SFB5VWRFbFZsOHVCSittdFlMK0JDM3VRRWpqbmFsalNlejM4YkM3dVEvY1pZeWJXOGhlTk1lK1ZtdzN4TWwzaHFlK0JZYlJocDlPY0UxQU05UDQwamtzdkE5Qy9Cd0ZBajVJdWhPRnlDY05FLzloN09vSFVGMDlSQXVlZWRIU2NtejM4Yks1R3VueDl0ZEJnakptVTlKaURjejF0clQyWlpaRjg2R0ZJOVdsa1lEUXlIWm50cm85TEx3TndmZ3hIZ3NlU0xxazY1L0M5SkEwZlZacnovTHJEa2xoaTFXMU5YVTBvMzdIV0ovRjUvR3lTZm02TXVjY1lNMm1NMmZLYVA1UEdtSHNjaHRuTWU5RzhDQXpOWnJyREY0cUJya3ZqdVBReUFOaytBQUI2NVdpenMwV0hieW5wK3VsWDBxb1h4QU05OTU1d2RKeS84ZkN6dWJ5ZjI5Y05CaWRlOCtjcHVkMERKdk5lTkM4Q1ErcXJKUVdhVEdQeTg4UzhYV2kyOUFDL0ljQ3I0aUM5L1ZXQUJCSnZkdVo0Q2NPazRXTURUWHBCUExod3o5WFFuYnQ4MjYwOFo3MVNqM1RmNy9BRkJrbHFkNXlNNlZwUkZLV3ovbSt4clNmVEREdEFyc0pDckxteEpUdExKZUFocnpZN2N6RCttQjZHMWNNZHc1TGMxdFRsUGhmYlBmeUlYOHRKVTl6Ymo1TjZFeGhlM3BEdU1taFJxS2swZG42dVdWdHZHbjJWbnhJZy9lQVBKSkIwU2RWN1Bmczg3NkZKQitZR01FOWNEVXZhN2VGbmV6SUhJZk1SYSszaG9RNE1FL04yb1JVcjFTSmN0SmpPdUxteEpUdmI2T2doZmtjdzdOSU8va0FDVjNqNG5wS0VrQjAwNmFwK1JnbmM2dDZzdXZpZDMyZU11ZGl6ejdZazZiOTYzZ1I5ZTNBUitGU0ZWdXdzdVo1WFdyMXJjSE8xQUFBTHBVbEVRVlFNa2hRMTlVT0dKbUdZdGR0NmJHTGVMbEFKZUNycGIvOVBmZnRBbm02QzVkTU5vS3NOeDNBMlZ5djBYTzNoTlhOVTdvWmRPUThML2VwZDhDNHdiRzNhSTJuZmRLZlZ5MUN6dHI3WTBKZjRIY0d3aWcxcm44TnIreng4VDBsRHlDVTA2Nm9lcGdUT3VmcXR2OG5UejNlZi9CdWE5TFNrLzlMUE54RDQxa3FwVDM1T3NaZGhtN1duRzlLWCtTM0IwSVdGV0hQc3ZRQmZPVnFSSlkxZFZaUHV4WEFwcmJ1cUp5bUJXOTJuOEM2R0plM3hjUVBDN3RDa1d4eDlSbGRoWWFyN3ZnZ015NHJ0OUwvY2FmVXlTTktXUmZzVUc3cGgyTFFDSGFRSzhOamJQWDFmY3dsZmZ3Vk51NmFidjl1cGhIT3VoaVZkNytsMWMwclNsQWVoWVRrc25PcDNUUXErTlZMTjJ2cE15UnlJUWsybGRZNG8xTlNKaXZsSldzcy9qamJzL2hkSzV2SXcxSGhXZFpzcG1odGNIL1BsRFhxYU1lbFlUV3kxRU5XWlhBaXZ1Umk2OCtzVTNsZlN2UmhHYU5vMWVZSVNPUGNqUjhlWlVoOTJMVjVyYURER1RPbk1VS0E5d3h3V3ZBd00wcGtkbEtOR2VvRkJra0tyRzNWbW5Gb3FncWJ1NlVTNkxhdlFFQlcxMS9tTllGM1BTeUl3NElKYXNSN2RZbTJkU3NCamlZZnVwREVjb0h0RGt1UVEreVRkUnZPdTZnZ2xjSDd0bmpUR1BLTGt5NlB1TnNac2NiQXZTWnFoNFQvcHpOQzJiMmQ0NnRzbDNkZnZZVWhuM2RmNjJFQlpMTEZhRERRNUhablVOZzZwV1ZzUG1yb250dHh3WTdBdFZ2VmpxZ0RQSlIyNmsrWktPNGttVi9xMk5LV25OMzFMa2o1TkpaeHpOZno2dmI1ZlA5YmFCM1ZtYUdQYXk1cmVLMm5NV251M1QySEIyOEFnU1IyVC9wam9jcWhQemhsVFRqTTBMTloxQjZFQmc2clowUUdHclNFSGtnN2RtVS94dlNWOXN2cG1tbmROV01YTnZVT09qbk56VG9MbktXdnRiWkxlSk9udjVXNGxwYWU3Z1hiTVdudWJyNzB0eGxycmJlTThYemFmTFFhYVRQTWNqWTRlMnRLd3FZYVQ0OFpzcXBaMVoyRE8vS1AxNTR2MkE2N1A4Y3VxK1ordWoxbTMycGZXUEErZlAzZXpwUWRHVy9aeDM2L2xOTnBudmZXY0wya1BnUUVBTUl5NnF6eTlVOUlXU1pmcHpBN3NxMjJxZUsvT0RQZCtUdEkvK3pKSFlUVUZuOTljeCtoZ1Vla0dobEtvRDUyb21QK2I1bzN4Tm10UEh6Zm1qbXBKdHdhQmFuekZNQWpvWFFBQURMUHV6ZjRwdVpzRTdxM0E1emMzdG1SbjA1N0xJRW5GV0I5Tyt4emJyRDF0R3JxajA5RXh2bUlZQkM5WDlRT3FBQURBNEF0OGY0Tlp6R1VJUTQybnNTenA2OVdzcmIralliL0FaWWU4bzNjQkFBQUNnemV5Nm1XSWl0cDdvbUkyYzBrQXE2TjNBUUFBQW9OWHN1aGxrS1RJNmxOcHJwb0VESUpHUncvUnV3QUFBSUhCSzJOTGRyYlpjYmJlNzhyRkNGUnJSZWx1R0Fma1dXeTFFRFgxUXlvQkFBQ0J3VHRaRFlHSVFrMmx1YUVia0dmdHRyNVhZMWRuQUFBSURENmFtTGNMelpZZXlPSmM1VkNmUEc3TUppNFA0RlZ4ckRuWCsxTUFBQUFDZzFQRnRwNk1ZODJsWGhTamtVcWtUekNmQVhoVjAraXJWQUVBQUFLRDEyclcxdHRXMzhyaVhHR284VTR4L2YwWmdEeG94VHJzKzY3ZkFBQ0F3Q0JKR20zWTZTeVdXWldrUWtHN3N0aWZBZkJaYkxYd1VrWC9SQ1VBQUNBdzVFYVdOeTlSVVh1WkJJMWgxbTdyZXl5akNnQUFnU0ZYc3B3QUxURUpHc09yMDlFeEpqb0RBRUJneUtYUmxuMjgwOUd4VElwa05GSXQ2MDVDQTRiTlVsTmZwd29BQUJBWXVKbFpZMmhnNVNRTWsyWkxEMnl6OWpTVkFBQ0F3SkJiMjZ3OW5lWFFwRERVZUJ6cE5rSURCaDFEa1FBQXdFQUVCaW5ib1VtRUJnd0xoaUlCQUlDQkNRekxOemV4VldhcnVMQkhBd1laUTVFQUFNREFCWVp0MXA1dUdmMlBMTTlaS0dqWFRNbDhrRXNJZzZRVjZ6QkRrUUFBd01BRkJrbmFzbWlmYXJmMVdKYm5qRUpORVJvd1NDNnYyL3VvQWdBQUdNakFJRWxoUzkrSlk4MFJHZ0FBQUFBQ3d6bHExdFlYRy9wUzF1ZU5RazI5VURML3dFUm9BQUFBRUJnOHQ4M2EwNHR0M1ozMWVWazlDUUFBQUFTR25OamF0RWVhSFIwZ05BQUFBQUFFaHZNYWJkajlXZTdQOE5yUVlNdTYvN2d4bTdpOEFBQUFRR0R3K2NNMWRVK1crek84Y2w2amtXcFpkODZVekZZdU1RQUFBQkFZUEZXenRyNVkxeDM5Q2cxUnFDOU9SMlk3bHhrQUFBQUlESjdhWnUzcGRxeC83TmY1cXdWOW5tVlhBUUFBUUdEdzJHakRUdmRqNWFSbExMc0tBQUFBQW9QbnRqYnRrVVpIRC9Yci9NdVRvVTlVekdZdU93QUFBQkFZUExTbFlRLzJZN25WVjRwdE5GSTJ1bmVtYUc3ZzBnTUFBQUNCd1VPakRidS9uNkZCa3FLaTlqNWZOcDg5dXRHTWNBa0NBQUNBd09CaGFHaTM5VmcvMzBNeDBPUWI2L29TUzY4Q0FBQ0F3T0Noc0tYdjlHTmp0N09LMzExNjlSZVIrVGdUb2dFQUFFQmc4RWpOMm5yUTFEMzlEZzJTVkNob2x5M3Jmbm9iQUFBQVFHQWdOSnkvSVY3VDI4RGNCZ0FBQUJBWVBBc04vWjRJdmF4UTBLNDMxdlVsVmxJQ0FBQUFnY0dqME9ERDZrbXZOSXJSU0ZUVTN0bXlZVkkwQUFBQStxcEFDVjQxMnJEN1owcEdVYWdwTDRKRG9Gb2tmZkg1c2puY01UbzR0bVJuYWFVTXZoU2hkajFmTmxlNlBHWm90STNLQWdBQUFzT2doSWFpK1gxVTFGNWYzbE14MEdSUm1pUTRaQmZVQXFsR0pRQUFBQWdNNXc4TkxmdjRkR1QrV0Mzbzh6NjlyK1hnOEVMSkhHdFlQVnBwNmRtYXRYVmFEQUFBQUFTR2pHMXQyaU1uS21aZkpOMGVHSG0xYWxFWWFyd3FqY2VoRm1aSzVsRGI2cmtxTFRsMDJuVXRVUVVBQUpBMkpqMWZ3TmlTblYyczZ3NGZsbDA5YitPZFdZcDF5cmVlRUtSdnNhMjd0MWw3bWtvQUFBQUNRNTl0cy9aMDBOUTlyVmlIcVFiNkxiWmFlR2xKdDJ4dDJpTlVBd0FBRUJnOFViTzJmbm5kM3RmbzZDR3FnWDdwZEhUc1QyWGRTczhDQUFESUVpUGYxMkZMd3g2Y0taa1RoVUNmODIxZUF3WmJzNk1Eb3cyN24wb0FBSUNzMGNPd1RxTU5PLzJuc203MWRWNERCa3RzdGJEWTF0MkVCUUFBUUdESWtZbDV1L0NPaHYwQ1E1U1FwazVIeHhicnVvUDVDZ0FBb0o4WWtwUUFRNVNRbGtaSEQyMXAySU5VQWdBQTlCczlEQW1OTnV5MHFldVdkbHVQVVEwa0ZjZWFxMXZ0SXl3QUFBQmYwTVBnUUhlMzVXL01sTXhUOURhZ1Y0Mk9Ib3FhK3VFWXUzY0RBQUNQME1QZ0VMME42TVZyZXhWcWhBVUFBT0FaZWhnY283Y0I2MEd2QWdBQUlEQU1xZEdHblo0ejVwWkdwUGVWUW4ySWl1QzFPaDBkVzJycTYyekNCZ0FBQ0F4RHJOdmJjUEM0TVQ4dGxmUjN4VUNUVkdXNHhWWUw5WTYreGxLcEFBQ0F3SUJYZEo4aTN6Y2RtU2ZLZ1Q0WUJLcFJsZUd6UFB4b0s4T1BBQUFBZ1FIbjAzMnFmR1NtYUc0b0ZQUzN6RzhZRHMyT0RyeGMxUThtNXUwQzFRQUFBQVFHckdxMFpSK2ZNK2JKWmtIWEVod0dWeXZXNFk3UndiR0duYVVhQUFDQXdJQjE2YzV2T0JNY0lrMUZvYWFveXZyRlZndStCYTVYZ2tLZG9BQUFBQWdNY0JNYzloL2RhSDV3MFV2YVFZL0QrblNzamdmR2o4bmtCQVVBQUVCZ1FHcTY0OXNacXBSRHpZNE94SUYrUWxBQUFBQUVCcVJ1ZWFpU3BNZW5JN09kVlpYOEZGc3R0R0k5dWxqVmo1bk1EQUFBQ0F6b2krVlZsVTVVek9aQ1IzOWRLR2dYVmVselVJZzFWNCsxdjlMU3MxdFlIaFVBQUJBWTRJT3hKVHNyNlJ0SE41cUhMM3BKT3dxaGR0SHJrR0ZJc0Zwb3h6ckVzQ01BQUVCZ2dOZVc1emxJZXZ4RXhXd09ZcjI3RU9oNjVqcWtveFhyY0N2V0U1V1duaDJsTndFQUFCQVlrQ2ZkWG9kWlNmdG5TbWFycEtzSUQ4bDFPanJXRG5Wb3NhUm5tSnNBQUFCQVlCZ0lvdzA3TFdtYThOQ2JWcXpEY2FDbkNRa0FBQUFFaHFFS0Q4ZU4yUlFWOUcvQ1FPOE9RNDFUblRQaVdITnRxeU9TZmw1c2F2WnloaHNCQUFBUUdJYlJObXRQU3pxdE0vczdsRnVSTmx0cHJDQ05EMU9BaUswVzRvNytUNmVnNmRhU251L1dCUUFBQUFRR0xPdnU3N0RjKzNCd3pwaHlvNnkzQkcxZGJrSmRHUnB0ZS8wUXBsSmR2ODNqWjIzRk9oeGJ6WGFzZnRXNFNDOHd6QWdBQUtCM3hscExGU0JKZW0ySVVLQkxSaHQydisvditXVFY3RFF0VlJUb1ZMT3BlWG9QQUFBQUNBd0FBQUFBTWhKUUFnQUFBQUFFQmdBQUFBQUVCZ0FBQUFBRUJnQUFBQUFFQmdBQUFBQUVCZ0FBQUFBRUJnQUFBQUFFQmdBQUFBQUVCZ0FBQUFBRUJnQUFBQUFFQmdBQUFBQWdNQUFBQUFBZ01BQUFBQUFnTUFBQUFBQWdNQUFBQUFBZ01BQUFBQUFnTUFBQUFBQWdNQUFBQUFBZ01BQUFBQUFnTUFBQUFBQWdNQUFBQUFEQXN2OFBsZHI2TkhSMys3WUFBQUFBU1VWT1JLNUNZSUk9In0sInN0YXR1c1JlcG9ydHMiOlt7InN0YXR1cyI6Ik5PVF9GSURPX0NFUlRJRklFRCIsImVmZmVjdGl2ZURhdGUiOiIyMDIwLTEwLTIxIn1dLCJ0aW1lT2ZMYXN0U3RhdHVzQ2hhbmdlIjoiMjAyMC0xMC0yMSJ9LHsiYXR0ZXN0YXRpb25DZXJ0aWZpY2F0ZUtleUlkZW50aWZpZXJzIjpbIjc4NjU0NDc3MmVjYzlkM2U4NTA0OTIyMmFlMzMyMjYzNDViNTljNjkiXSwibWV0YWRhdGFTdGF0ZW1lbnQiOnsibGVnYWxIZWFkZXIiOiJodHRwczovL2ZpZG9hbGxpYW5jZS5vcmcvbWV0YWRhdGEvbWV0YWRhdGEtc3RhdGVtZW50LWxlZ2FsLWhlYWRlci8iLCJhdHRlc3RhdGlvbkNlcnRpZmljYXRlS2V5SWRlbnRpZmllcnMiOlsiNzg2NTQ0NzcyZWNjOWQzZTg1MDQ5MjIyYWUzMzIyNjM0NWI1OWM2OSJdLCJkZXNjcmlwdGlvbiI6Ill1YmlLZXkgQmlvIFNlcmllcyIsImF1dGhlbnRpY2F0b3JWZXJzaW9uIjozMjg5NjUsInByb3RvY29sRmFtaWx5IjoidTJmIiwic2NoZW1hIjozLCJ1cHYiOlt7Im1ham9yIjoxLCJtaW5vciI6Mn0seyJtYWpvciI6MSwibWlub3IiOjF9XSwiYXV0aGVudGljYXRpb25BbGdvcml0aG1zIjpbInNlY3AyNTZyMV9lY2RzYV9zaGEyNTZfcmF3Il0sInB1YmxpY0tleUFsZ0FuZEVuY29kaW5ncyI6WyJlY2NfeDk2Ml9yYXciXSwiYXR0ZXN0YXRpb25UeXBlcyI6WyJiYXNpY19mdWxsIl0sInVzZXJWZXJpZmljYXRpb25EZXRhaWxzIjpbW3sidXNlclZlcmlmaWNhdGlvbk1ldGhvZCI6InByZXNlbmNlX2ludGVybmFsIn1dXSwia2V5UHJvdGVjdGlvbiI6WyJoYXJkd2FyZSIsInNlY3VyZV9lbGVtZW50IiwicmVtb3RlX2hhbmRsZSJdLCJtYXRjaGVyUHJvdGVjdGlvbiI6WyJvbl9jaGlwIl0sImNyeXB0b1N0cmVuZ3RoIjoxMjgsImF0dGFjaG1lbnRIaW50IjpbImV4dGVybmFsIiwid2lyZWQiXSwidGNEaXNwbGF5IjpbXSwiYXR0ZXN0YXRpb25Sb290Q2VydGlmaWNhdGVzIjpbIk1JSURIakNDQWdhZ0F3SUJBZ0lFRzBCVDl6QU5CZ2txaGtpRzl3MEJBUXNGQURBdU1Td3dLZ1lEVlFRREV5TlpkV0pwWTI4Z1ZUSkdJRkp2YjNRZ1EwRWdVMlZ5YVdGc0lEUTFOekl3TURZek1UQWdGdzB4TkRBNE1ERXdNREF3TURCYUdBOHlNRFV3TURrd05EQXdNREF3TUZvd0xqRXNNQ29HQTFVRUF4TWpXWFZpYVdOdklGVXlSaUJTYjI5MElFTkJJRk5sY21saGJDQTBOVGN5TURBMk16RXdnZ0VpTUEwR0NTcUdTSWIzRFFFQkFRVUFBNElCRHdBd2dnRUtBb0lCQVFDL2p3WXVoQlZscWFpWVdFTXNyV0Zpc2dKK1B0TTkxZVNycEk0VEs3VTUzbXdDSWF3U0RIeTh2VW1rNU4yS0FqOWFidlQ5TlA1U01TMWhRaTN1c3hvWUdvblhRZ2ZPNlpYeVVBOWErS0FrcWRGbkJubHl1Z1NlQ09lcDhFZFpGZnNhUkZ0TWprd3o1R2N6MlB5NHZJWXZDZE1IUHR3YXowYlZ1em5ldWVJRXo2VG5RakU2M1JkdDJ6YnduZWJ3VEc1WnliZVdTd2J6eStCSjM0WkhjVWhQQVk4OXlKUVh1RTBJek1aRmNFQmJQTlJiV0VDUktnanEvL3FUOW5tRE9GVmxTUkN0MndpcVBTemx1d24rditzdVFFQnNValRHTUVkMjV0S1hYVGtOVzIxd0lXYnhlU3lVb1RYd0x2R1M2eGx3UVNnTnBrMnFYWXdmOGlYZzdWV1pBZ01CQUFHalFqQkFNQjBHQTFVZERnUVdCQlFnSXZ6MGJOR0poamdwVG9rc3lLcFA5eHY5b0RBUEJnTlZIUk1FQ0RBR0FRSC9BZ0VBTUE0R0ExVWREd0VCL3dRRUF3SUJCakFOQmdrcWhraUc5dzBCQVFzRkFBT0NBUUVBanZqdU9NRFNhK0pYRkNMeUJLc3ljWHRCVlpzSjRVZTNMYmFFc1BZNE1ZTi9oSVE1Wk01cDdFamZjbk1HNEN0WWtOc2ZOSGMwQWhCTGRxNDVyblQ4N3EvNk8zdlVFdE5NYWZiaFU2a3RoWDdZKzlYRk45TnBtWXhyK2VrVlk1eE94aThoOUpESWdvTVA0VkIxdVMwYXVuTDFJR3FyTm9vTDltbUZuTDJrTFZWZWU2L1ZSNkM1K0tTVENNQ1dwcE11SklaSUkydjlvNGRrb1o4WTdRUmpRbExmWXpkM3FHdEtidzd4YUYxVXNHLzV4VWIvQnR3YjJYMmc0SW5waUIveXQvM0NwUVhwaVdYL0s0bUJ2VUtpR24wNVpzcWVZMWd4NGcweExCcWNVOXBzbXlQeksrVnNndzJqZVJRNUpsS0R5cUUwaGViZkMxdHZGdTBDQ3JKRmN3PT0iXSwiaWNvbiI6ImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0FBQUFBZkNBWUFBQUNHVnMrTUFBQUFBWE5TUjBJQXJzNGM2UUFBQUFSblFVMUJBQUN4and2OFlRVUFBQUFKY0VoWmN3QUFIWVlBQUIyR0FWMmlFNEVBQUFiTlNVUkJWRmhIcFZkN1ROVjFGRC8zZDU5d2VRU0lnUzlBUUFYY0ZMQVFaaTlmcGVWejF0WS9XVFpyNVd4cGM3VzVrbkxhNWpJM1o4NXNyUzJuTTJzanRXd1pTN0lVSDRINHhDbkVReDREQVpGNzRWN3VzODg1djkvbEluQnZWSi9CNFB2OW51LzVudS81bnZNNTU2ZnpBL1F2MEhiL0lyWDNWRktQbzQ1Y25tNGluVUlXWXdMRlJtWlFVdXdqRkcvTjFpUkhoMUVaME5SVlJ1ZHF0MUJkKzJuU0t5Uy9PaHlzMCtsazNlLzNrUTlxdkQ0WlV0YTRWVlNVdVkwZWlweWlUaEFmb2NvT1JWZ0R1dXczcUtSaUFkM3JiY0V0alRqWUlvZjZXYUhzQ216VlBXQ014K2NnaDh0THFXTUthTVdzVWpMcW8yUnRKSVEwb096bWVycFF1NGVzWmdzT05rR3hIN2Qwa2R2VFQxN3M0T01VN1ZJOFpoamdHYU0rQXE5aUVOdThQaWYxdWR6MDdNd3ZLV2Y4R2xWb0NFWTA0UEM1V2RUYVhZRmJSOHZOdkw1KzNLZ2ZiNXhOTXlhOVJhbUppeW5hTWxHVFZ0RmxyNmJhOXUrcHFuRVg0dU11UlJnalNZRWhyTjd1dEZGZTZscWFsN05ma3c1aW1BR0h5blBwYms4Vm1ZMHhzdG5wdGxGQ1ZDWXR6VHVCTjgzUXBNTGpUdGV2ZFB6U1VuSjdlOG1ranhaMzlmWGJLRGZsZFpxYnZVK1RVZ0duQlZGNmZRMmlQSGc0VzE2VVdVd3Z6YmsxNnNNWkUrUG4wcHZ6N0pTZXVBeWVzOGxjcENtYUt1by9wK3FXcjJVY3dJQUhXcnZQMFlFemhYQXRMQWJzc0hocDdpR2FtdnlpalA4cnlxclhVV1g5WG9vd3h5QXVmTkJycDQzUE9CRlhabGtmOE1EUmlxY3B5b3dBd3B1ejJ4K2ZXdnovRHRkZTlzbXN6eWd0Y1I2QzF3YmR6Qmw2T2xxNVdOWVk0b0dhdGhKTXJrVEV4MGpBUlNIQVZzKzVyWWtRTlhiK1FnZlBMc1E2Z1h5SW5zcmVRZm1wbTdSVkZZZkw4Nm4xZmlVT2tZdlNoa1VQeHZidWt6b3k2SzFpaE0xaG8zWHpXNkV2U2ZYQStkcGlXR2FXZCtkb1h6THptR3dLWUZMQ0FzUkFsUEJBaE1sQ0ZYVTd0QlVWUHI4SGdWY0pIV3ErRjAwcGxyK0RNVGRyUDR6dnhZMTFrTk1oeFQrU2VUR2crZDRWNUxRSml0eVVHSk5COFZGWnNqZ1lCWk0vSUkvWENUa2owcXlET3BGMkFWUTE3Q0lqVXAvRG5UMVVrTDVGNWdkaitzUzF3ZzFnRTNnaWdtNjBmQ1h6U25QWGJ5QVBiSVh2K0lEcEUxNlRoYUhJUzlza3lobG1NRTVGM2NmcUFLaHEyQzBFNVBIMWdZYVhhTFBEa1pHMEhESk9uS1dIcDUxSTB6NVNPdXg4ZTFXQXVaemRIUXJUa3A4VG1qWG9JK2xhMHdHWnN6dWJxYk8zaWZRNkEvVzd2VlNZc1YzbVIwSkt3a0tjNFdIaUJrbVI4STNDQ2dJODdvT0w0cXpUNVArUlVKQmVqRU9nQVBLOGhZUHphdE0rZUlUcDJJTzl5VFFtZXJvbVBSeHgxcXhBY3NpbGUvdWJTZUViY1dRR1lFQ2doY0xZMkh5S2pvZ2pIMjVoTXBqcFV2MU91Z2xpNGVoMmVSdzBPMzJiSmpreXVDZ056ZzB2emxZTVNpU3MwdW9vNE1HN2hNT2pDRWFYMXlGRTBuU3ZqQnp1VG5FcEs4Nlo4SW9xRkFJdWJ3OGtnOUFyRWFSRVdTWkkrakg0WGJwNmc5RTlFbkpUM29hUnpETitNVUpCUURIbjU2YThvVW1FQnVzT3hCcy9ONSt0SkViUGtBRkRqOFVHdk9zL0lXdmNTZ2xHQmh2UzcvRlRZZnBXR1lkRFk4ZlBBeFdTQTM1c1RDNHA0K0xtNEFhcUlvUGVRdGZ1Zks2SmgwWmh4bGJzVVhPU21YTmlmRDVaVEFreURvZmJiY2NseG5BOFdOQXF4Q2JSTnlraFh4UXBhRHc2N2ZYVVlic2lHMEtodHYyb2VJdmg4cmhRTVlPY0VBcVhHL2VJK3puZ09jNXl4cjhxODJJQU0xYy9GTEZPcGxxdTVlRlFYck1aekdjVkNqWWJMV0c1STRCVDFldVJybGJ4dE5PdE1pdERERWhMWElJeW5BQXZ1T0VXRTNYM05kQWZ0OTRWZ2FHNDJYSVF0MFpYNlBlQ0UvcVFGZTlySzZIeDdZVTUwS3ZIN2ZXNGZTK3E3S0tCSnhzZ2dCWDVwU0FHaDFqSXJWaDV6UTZ3M1JmYWFoQlhtL2FDYkNaVGpDVUZVVHlXWnFXOXA2Mk1qSlBYVnFPclBnTU80TnY3NEdrZitvd2Z0TlZCRFFuakZKcUhTdzE3cFh2aFdXNUtacWUvUTQ5Ti9VU1RDQVZXb1FYRklIQkhYWGUzRlByVURzdUdEbXRGL2hIS1RIcGVreGhpQU9QSStTSnE2UzZIRjRJOVlXemtCSlRvNDZpVU16V3A4UGlyL1JpZHVMeEtZc1Nrc1Y4dkxsT1F2aEdYMllsUjBPQmhCakMrdS9nRWN2WTBBcEs3WWs0MU54alBTUW5XRkhURjY2VXJqZ2V2QjhDdTVhK2wydllTUlB0dVZEbzczaGhkTVNIblVYN3RUanNWWkd4QWwvV3B0aU9JRVExZ25MMjltWDYvdFIxdG1sa1lqOFc0WCtDU2pXY1VER1kxTnBTL0M3aFNLcWlNTE0vbDJRbVNXWjczRGR6K2dpbzhCQ0VOWVBRNDZxbmt6d1hVYnF2Qmt4alVRc1dmWkZnYnVvM3JBZit3TjdqT085MCt5bng0UGkzTCswbllMMVNjaERVZ0FQNGdQVi83SWQxcSsxSFNobXVHa0lxV1JQZ3l4TUZxUDhIZmpUbmpYd1k1YlFmYkpjdDZPSXpLZ01Ib3RGL0hlMWVnc2F4SFNxRzZ3ZmRtUTV4OE55VEZGcUJjcDJpU293SFIzeWs1KzM2aEY3dlhBQUFBQUVsRlRrU3VRbUNDIn0sInN0YXR1c1JlcG9ydHMiOlt7InN0YXR1cyI6IkZJRE9fQ0VSVElGSUVEIiwiZWZmZWN0aXZlRGF0ZSI6IjIwMjEtMDgtMTEifSx7InN0YXR1cyI6IkZJRE9fQ0VSVElGSUVEX0wxIiwiZWZmZWN0aXZlRGF0ZSI6IjIwMjEtMDgtMTEiLCJ1cmwiOiJ3d3cueXViaWNvLmNvbSIsImNlcnRpZmljYXRpb25EZXNjcmlwdG9yIjoiWXViaUtleSBCaW8iLCJjZXJ0aWZpY2F0ZU51bWJlciI6IkZJRE8yMDAyMDIxMDgxMTAwMSIsImNlcnRpZmljYXRpb25Qb2xpY3lWZXJzaW9uIjoiMS4zIiwiY2VydGlmaWNhdGlvblJlcXVpcmVtZW50c1ZlcnNpb24iOiIxLjQifV0sInRpbWVPZkxhc3RTdGF0dXNDaGFuZ2UiOiIyMDIxLTA4LTE4In0seyJhYWd1aWQiOiJjNTcwMzExNi05NzJiLTQ4NTEtYTNlNy1hZTEyNTk4NDMzOTkiLCJtZXRhZGF0YVN0YXRlbWVudCI6eyJsZWdhbEhlYWRlciI6Imh0dHBzOi8vZmlkb2FsbGlhbmNlLm9yZy9tZXRhZGF0YS9tZXRhZGF0YS1zdGF0ZW1lbnQtbGVnYWwtaGVhZGVyLyIsImFhZ3VpZCI6ImM1NzAzMTE2LTk3MmItNDg1MS1hM2U3LWFlMTI1OTg0MzM5OSIsImRlc2NyaXB0aW9uIjoiTkVPV0FWRSBCYWRnZW8gRklETzIiLCJhdXRoZW50aWNhdG9yVmVyc2lvbiI6MiwicHJvdG9jb2xGYW1pbHkiOiJmaWRvMiIsInNjaGVtYSI6MywidXB2IjpbeyJtYWpvciI6MSwibWlub3IiOjB9XSwiYXV0aGVudGljYXRpb25BbGdvcml0aG1zIjpbInNlY3AyNTZyMV9lY2RzYV9zaGEyNTZfcmF3Il0sInB1YmxpY0tleUFsZ0FuZEVuY29kaW5ncyI6WyJjb3NlIl0sImF0dGVzdGF0aW9uVHlwZXMiOlsiYmFzaWNfZnVsbCJdLCJ1c2VyVmVyaWZpY2F0aW9uRGV0YWlscyI6W1t7InVzZXJWZXJpZmljYXRpb25NZXRob2QiOiJwcmVzZW5jZV9pbnRlcm5hbCJ9XV0sImtleVByb3RlY3Rpb24iOlsiaGFyZHdhcmUiLCJzZWN1cmVfZWxlbWVudCJdLCJtYXRjaGVyUHJvdGVjdGlvbiI6WyJvbl9jaGlwIl0sImNyeXB0b1N0cmVuZ3RoIjoxMjgsImF0dGFjaG1lbnRIaW50IjpbImV4dGVybmFsIiwid2lyZWQiLCJ3aXJlbGVzcyIsIm5mYyJdLCJ0Y0Rpc3BsYXkiOltdLCJhdHRlc3RhdGlvblJvb3RDZXJ0aWZpY2F0ZXMiOlsiTUlJQ0hUQ0NBY0tnQXdJQkFnSUNkZFV3Q2dZSUtvWkl6ajBFQXdJd2V6RUxNQWtHQTFVRUJoTUNSbEl4RXpBUkJnTlZCQW9UQ2tObGNuUkZkWEp2Y0dVeEZ6QVZCZ05WQkFzVERqQXdNRElnTkRNME1qQXlNVGd3TVNRd0lnWURWUVFERXh0RFpYSjBSWFZ5YjNCbElFVnNiR2x3ZEdsaklGSnZiM1FnUTBFeEdEQVdCZ05WQkdFVEQwNVVVa1pTTFRRek5ESXdNakU0TURBZUZ3MHhPREF4TWpJeU16QXdNREJhRncweU9EQXhNakl5TXpBd01EQmFNSHN4Q3pBSkJnTlZCQVlUQWtaU01STXdFUVlEVlFRS0V3cERaWEowUlhWeWIzQmxNUmN3RlFZRFZRUUxFdzR3TURBeUlEUXpOREl3TWpFNE1ERWtNQ0lHQTFVRUF4TWJRMlZ5ZEVWMWNtOXdaU0JGYkd4cGNIUnBZeUJTYjI5MElFTkJNUmd3RmdZRFZRUmhFdzlPVkZKR1VpMDBNelF5TURJeE9EQXdXVEFUQmdjcWhrak9QUUlCQmdncWhrak9QUU1CQndOQ0FBVHoyak5hS09LL01LZFcyZm1lMXRxNkdSRXVQdXVLVzlIZ1dZZ01Scmp2WlVUT3FMQU5KM01kNUhxdjFFTjF6TWQ0bFd0eWZ6UmxhN3J2NUFSQm9Pb1Rvell3TkRBUEJnTlZIUk1CQWY4RUJUQURBUUgvTUJFR0ExVWREZ1FLQkFoTm5UVzBhNEU4dWpBT0JnTlZIUThCQWY4RUJBTUNBUVl3Q2dZSUtvWkl6ajBFQXdJRFNRQXdSZ0loQU1yaGI4U21mTkxlTE5nYUFWbVE2QU9NaUxOTFZIWDBrRlVPODBDblQzOEVBaUVBek5BZ3Y0ZEgrSERoWlNnWldKaWFQdS9uZlpUZXVHeTRNeWRQTXE1dXJzND0iLCJNSUlFT0RDQ0E5MmdBd0lCQWdJREFJbkJNQW9HQ0NxR1NNNDlCQU1DTUhzeEN6QUpCZ05WQkFZVEFrWlNNUk13RVFZRFZRUUtFd3BEWlhKMFJYVnliM0JsTVJjd0ZRWURWUVFMRXc0d01EQXlJRFF6TkRJd01qRTRNREVrTUNJR0ExVUVBeE1iUTJWeWRFVjFjbTl3WlNCRmJHeHBjSFJwWXlCU2IyOTBJRU5CTVJnd0ZnWURWUVJoRXc5T1ZGSkdVaTAwTXpReU1ESXhPREF3SGhjTk1UZ3dNakl5TWpNd01EQXdXaGNOTWpnd01USXhNak13TURBd1dqQjBNUXN3Q1FZRFZRUUdFd0pHVWpFVE1CRUdBMVVFQ2hNS1EyVnlkRVYxY205d1pURVhNQlVHQTFVRUN4TU9NREF3TWlBME16UXlNREl4T0RBeEhUQWJCZ05WQkFNVEZFTmxjblJGZFhKdmNHVWdTV1JsWTNseklFTkJNUmd3RmdZRFZRUmhFdzlPVkZKR1VpMDBNelF5TURJeE9EQXdXVEFUQmdjcWhrak9QUUlCQmdncWhrak9QUU1CQndOQ0FBU0xWTCsxU1RKdmFFUk81V0NSK2pHY0F4THZtUEJEaVpZMU5nRkZJaHBYNk9BWkFwUVltdDZ4U2g3NFN3TSttamduc1NFY2M0QTJVZjEzOUZnWjRycFlvNElDVlRDQ0FsRXdFd1lEVlIwakJBd3dDb0FJVFowMXRHdUJQTG93U2dZSUt3WUJCUVVIQVFFRVBqQThNRG9HQ0NzR0FRVUZCekFDaGk1b2RIUndPaTh2ZDNkM0xtTmxjblJsZFhKdmNHVXVabkl2Y21WbVpYSmxibU5sTDJWalgzSnZiM1F1WTNKME1GTUdBMVVkSUFSTU1Fb3dTQVlKS29GNkFXa3BBUUVBTURzd09RWUlLd1lCQlFVSEFnRVdMV2gwZEhCek9pOHZkM2QzTG1ObGNuUmxkWEp2Y0dVdVpuSXZZMmhoYVc1bExXUmxMV052Ym1acFlXNWpaVENDQVdBR0ExVWRId1NDQVZjd2dnRlRNRCtnUGFBN2hqbG9kSFJ3T2k4dmQzZDNMbU5sY25SbGRYSnZjR1V1Wm5JdmNtVm1aWEpsYm1ObEwyTmxjblJsZFhKdmNHVmZaV05mY205dmRDNWpjbXd3Z1lhZ2dZT2dnWUNHZm14a1lYQTZMeTlzWTNJeExtTmxjblJsZFhKdmNHVXVabkl2WTI0OVEyVnlkRVYxY205d1pTVXlNRVZzYkdsd2RHbGpKVEl3VW05dmRDVXlNRU5CTEc5MVBUQXdNRElsTWpBME16UXlNREl4T0RBc2J6MURaWEowUlhWeWIzQmxMR005UmxJL1kyVnlkR2xtYVdOaGRHVlNaWFp2WTJGMGFXOXVUR2x6ZERDQmhxQ0JnNkNCZ0laK2JHUmhjRG92TDJ4amNqSXVZMlZ5ZEdWMWNtOXdaUzVtY2k5amJqMURaWEowUlhWeWIzQmxKVEl3Uld4c2FYQjBhV01sTWpCU2IyOTBKVEl3UTBFc2IzVTlNREF3TWlVeU1EUXpOREl3TWpFNE1DeHZQVU5sY25SRmRYSnZjR1VzWXoxR1VqOWpaWEowYVdacFkyRjBaVkpsZG05allYUnBiMjVNYVhOME1CRUdBMVVkRGdRS0JBaERhUWJoVEZ0amNqQU9CZ05WSFE4QkFmOEVCQU1DQVFZd0VnWURWUjBUQVFIL0JBZ3dCZ0VCL3dJQkFEQUtCZ2dxaGtqT1BRUURBZ05KQURCR0FpRUFvRWVwSE1DNVg5akJLYUdwaGNLamlkaGlOK1puejd2M1MzaGMzMS9BdW5zQ0lRREtxb2dLMlNaT1haY3Z2SENCNlVRU2FBMG5MbjRSVXd5MWd1RGl2Ylpid2c9PSIsIlxuTUlJRU9EQ0NBOTJnQXdJQkFnSURBSW5CTUFvR0NDcUdTTTQ5QkFNQ01Ic3hDekFKQmdOVkJBWVRBa1pTTVJNd0VRWURWUVFLRXdwRFpYSjBSWFZ5YjNCbE1SY3dGUVlEVlFRTEV3NHdNREF5SURRek5ESXdNakU0TURFa01DSUdBMVVFQXhNYlEyVnlkRVYxY205d1pTQkZiR3hwY0hScFl5QlNiMjkwSUVOQk1SZ3dGZ1lEVlFSaEV3OU9WRkpHVWkwME16UXlNREl4T0RBd0hoY05NVGd3TWpJeU1qTXdNREF3V2hjTk1qZ3dNVEl4TWpNd01EQXdXakIwTVFzd0NRWURWUVFHRXdKR1VqRVRNQkVHQTFVRUNoTUtRMlZ5ZEVWMWNtOXdaVEVYTUJVR0ExVUVDeE1PTURBd01pQTBNelF5TURJeE9EQXhIVEFiQmdOVkJBTVRGRU5sY25SRmRYSnZjR1VnU1dSbFkzbHpJRU5CTVJnd0ZnWURWUVJoRXc5T1ZGSkdVaTAwTXpReU1ESXhPREF3V1RBVEJnY3Foa2pPUFFJQkJnZ3Foa2pPUFFNQkJ3TkNBQVNMVkwrMVNUSnZhRVJPNVdDUitqR2NBeEx2bVBCRGlaWTFOZ0ZGSWhwWDZPQVpBcFFZbXQ2eFNoNzRTd00rbWpnbnNTRWNjNEEyVWYxMzlGZ1o0cnBZbzRJQ1ZUQ0NBbEV3RXdZRFZSMGpCQXd3Q29BSVRaMDF0R3VCUExvd1NnWUlLd1lCQlFVSEFRRUVQakE4TURvR0NDc0dBUVVGQnpBQ2hpNW9kSFJ3T2k4dmQzZDNMbU5sY25SbGRYSnZjR1V1Wm5JdmNtVm1aWEpsYm1ObEwyVmpYM0p2YjNRdVkzSjBNRk1HQTFVZElBUk1NRW93U0FZSktvRjZBV2twQVFFQU1Ec3dPUVlJS3dZQkJRVUhBZ0VXTFdoMGRIQnpPaTh2ZDNkM0xtTmxjblJsZFhKdmNHVXVabkl2WTJoaGFXNWxMV1JsTFdOdmJtWnBZVzVqWlRDQ0FXQUdBMVVkSHdTQ0FWY3dnZ0ZUTUQrZ1BhQTdoamxvZEhSd09pOHZkM2QzTG1ObGNuUmxkWEp2Y0dVdVpuSXZjbVZtWlhKbGJtTmxMMk5sY25SbGRYSnZjR1ZmWldOZmNtOXZkQzVqY213d2dZYWdnWU9nZ1lDR2ZteGtZWEE2THk5c1kzSXhMbU5sY25SbGRYSnZjR1V1Wm5JdlkyNDlRMlZ5ZEVWMWNtOXdaU1V5TUVWc2JHbHdkR2xqSlRJd1VtOXZkQ1V5TUVOQkxHOTFQVEF3TURJbE1qQTBNelF5TURJeE9EQXNiejFEWlhKMFJYVnliM0JsTEdNOVJsSS9ZMlZ5ZEdsbWFXTmhkR1ZTWlhadlkyRjBhVzl1VEdsemREQ0JocUNCZzZDQmdJWitiR1JoY0RvdkwyeGpjakl1WTJWeWRHVjFjbTl3WlM1bWNpOWpiajFEWlhKMFJYVnliM0JsSlRJd1JXeHNhWEIwYVdNbE1qQlNiMjkwSlRJd1EwRXNiM1U5TURBd01pVXlNRFF6TkRJd01qRTRNQ3h2UFVObGNuUkZkWEp2Y0dVc1l6MUdVajlqWlhKMGFXWnBZMkYwWlZKbGRtOWpZWFJwYjI1TWFYTjBNQkVHQTFVZERnUUtCQWhEYVFiaFRGdGpjakFPQmdOVkhROEJBZjhFQkFNQ0FRWXdFZ1lEVlIwVEFRSC9CQWd3QmdFQi93SUJBREFLQmdncWhrak9QUVFEQWdOSkFEQkdBaUVBb0VlcEhNQzVYOWpCS2FHcGhjS2ppZGhpTitabno3djNTM2hjMzEvQXVuc0NJUURLcW9nSzJTWk9YWmN2dkhDQjZVUVNhQTBuTG40UlV3eTFndURpdmJaYndnPT0iLCJcblxuTUlJQ0hUQ0NBY0tnQXdJQkFnSUNkZFV3Q2dZSUtvWkl6ajBFQXdJd2V6RUxNQWtHQTFVRUJoTUNSbEl4RXpBUkJnTlZCQW9UQ2tObGNuUkZkWEp2Y0dVeEZ6QVZCZ05WQkFzVERqQXdNRElnTkRNME1qQXlNVGd3TVNRd0lnWURWUVFERXh0RFpYSjBSWFZ5YjNCbElFVnNiR2x3ZEdsaklGSnZiM1FnUTBFeEdEQVdCZ05WQkdFVEQwNVVVa1pTTFRRek5ESXdNakU0TURBZUZ3MHhPREF4TWpJeU16QXdNREJhRncweU9EQXhNakl5TXpBd01EQmFNSHN4Q3pBSkJnTlZCQVlUQWtaU01STXdFUVlEVlFRS0V3cERaWEowUlhWeWIzQmxNUmN3RlFZRFZRUUxFdzR3TURBeUlEUXpOREl3TWpFNE1ERWtNQ0lHQTFVRUF4TWJRMlZ5ZEVWMWNtOXdaU0JGYkd4cGNIUnBZeUJTYjI5MElFTkJNUmd3RmdZRFZRUmhFdzlPVkZKR1VpMDBNelF5TURJeE9EQXdXVEFUQmdjcWhrak9QUUlCQmdncWhrak9QUU1CQndOQ0FBVHoyak5hS09LL01LZFcyZm1lMXRxNkdSRXVQdXVLVzlIZ1dZZ01Scmp2WlVUT3FMQU5KM01kNUhxdjFFTjF6TWQ0bFd0eWZ6UmxhN3J2NUFSQm9Pb1Rvell3TkRBUEJnTlZIUk1CQWY4RUJUQURBUUgvTUJFR0ExVWREZ1FLQkFoTm5UVzBhNEU4dWpBT0JnTlZIUThCQWY4RUJBTUNBUVl3Q2dZSUtvWkl6ajBFQXdJRFNRQXdSZ0loQU1yaGI4U21mTkxlTE5nYUFWbVE2QU9NaUxOTFZIWDBrRlVPODBDblQzOEVBaUVBek5BZ3Y0ZEgrSERoWlNnWldKaWFQdS9uZlpUZXVHeTRNeWRQTXE1dXJzND0iXSwiaWNvbiI6ImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0FBQUFBZ0NBSUFBQUQ4R08yakFBQUNxVWxFUVZSSXgyUDgvLzgvQXkwQkV3T053YWdGcEZsdzhjS0Zpckl5UjN0N1MxT3owS0RnQmZQbS8vejVrM2l6dm4zOWxwK1RhMnRsdFdUUklvVG9meGhZdFhLbGxwcTZzcndDQWlrb1JJVkh2SDM3OWo5eDROU3BVMEF0UUkxVzVoWndRYWdQenA4N1YxMVppWEF2SXhqOVp6aDU0a1JOWlJXUlB2ajk2eGNET00wek1US2lCOUc4dVhQLy9mc0hORlJBU0xDK3NYSG03Tmx1YnU0UW0zYnQzTGx1N1ZwaUxHQ0VtY3VJYWNHWlU2ZkI0Y1dRWDFBUUd4L243T0l5YWVvVWJWMGRpSXZhbWx1ZVBYdEdVU1QvK2czMkhTT0Rob1lHUklTRmhhV3BwWVdWbFJVbytPSGpoNmI2Qm9vc2dIdnF6NTgvY0RsOWZmM003Q3dJZTgrZTNhdFhycVFnbWVJb2tES3pzL1gxOUVHeS94azZPem9mUDNwRVdVYkRzQVlZUkMzdGJSd2NIRUQyaC9mdjYycHFDUmVPakNUbVpFMHRyWnk4WEFqNzhLRkR5NVl1SmQ1MFZBc1ljZXBLVFU4M05qV0JxT251N0h4dy93RStPLzdqc2dDMzE1bVptUnVibTluWjJZRnF2bnorMGxCZmh6T2cvcU83bFFtL0IrRUFtSHdMaW9vZ0NvNGNPcnhrMFdJaVBVRWdrcEZCVW5LeW1aazVoTjNUMVhYM3poMWlZb0tKY0RUQkE0cUZ1Ym10bFl1YkM4aisrdlZyVFZVMXFIUWh6UWVNQkh5aHJLeGNXRndNVVhuNjFLbjVjK2RTdjhKSlNFeTB0ckdHc0NmMDk5KzZkUXN1eGNMQ0NySDdQNUlyU1lnRGVLRlMzOVRFeDhzSFpILy85cjJ1R2hGUU42NWZoMlZQTm9xcVRDVWxwZUt5VW1neGZQcE1TV0VSTUFNdVg3YXN2N2NYSXFpbHJZWHdGcnhlZy9xT3VHWlNkRXpNM3QxN0RoMDZDUFQwcGswYk4yM2NDSTlGWUtaSno4aEU5OEhmZjM4aEREWTJkaUw5MGRIZHBhdXJpeGF3ckN5c3JlM3R1bnE2aUxUWDBOQUFUb0lzVHg0L3RuZHdpSXlPQXRZRXhGakF6YzN0NCtzTEpMOTkvUW9zRTBWRlJlM3M3UnRibW9HVkZVcWNqVFlkaDc4RkFJaEJMbE5kN2p1MUFBQUFBRWxGVGtTdVFtQ0MiLCJzdXBwb3J0ZWRFeHRlbnNpb25zIjpbeyJpZCI6ImhtYWMtc2VjcmV0IiwiZmFpbF9pZl91bmtub3duIjpmYWxzZX1dLCJhdXRoZW50aWNhdG9yR2V0SW5mbyI6eyJ2ZXJzaW9ucyI6WyJVMkZfVjIiLCJGSURPXzJfMCJdLCJleHRlbnNpb25zIjpbImhtYWMtc2VjcmV0Il0sImFhZ3VpZCI6ImM1NzAzMTE2OTcyYjQ4NTFhM2U3YWUxMjU5ODQzMzk5Iiwib3B0aW9ucyI6eyJwbGF0IjpmYWxzZSwicmsiOnRydWUsImNsaWVudFBpbiI6dHJ1ZSwidXAiOmZhbHNlfSwibWF4TXNnU2l6ZSI6NjQwLCJwaW5VdkF1dGhQcm90b2NvbHMiOlsxXSwidHJhbnNwb3J0cyI6WyJuZmMiLCJ1c2IiXSwiZmlybXdhcmVWZXJzaW9uIjoyfX0sInN0YXR1c1JlcG9ydHMiOlt7InN0YXR1cyI6Ik5PVF9GSURPX0NFUlRJRklFRCIsImVmZmVjdGl2ZURhdGUiOiIyMDIxLTA5LTIxIn1dLCJ0aW1lT2ZMYXN0U3RhdHVzQ2hhbmdlIjoiMjAyMS0wOS0yMSJ9LHsiYWFndWlkIjoiODIwZDg5ZWQtZDY1YS00MDllLTg1Y2ItZjczZjA1NzhmODJhIiwibWV0YWRhdGFTdGF0ZW1lbnQiOnsibGVnYWxIZWFkZXIiOiJodHRwczovL2ZpZG9hbGxpYW5jZS5vcmcvbWV0YWRhdGEvbWV0YWRhdGEtc3RhdGVtZW50LWxlZ2FsLWhlYWRlci8iLCJhYWd1aWQiOiI4MjBkODllZC1kNjVhLTQwOWUtODVjYi1mNzNmMDU3OGY4MmEiLCJkZXNjcmlwdGlvbiI6IlZhbmNvc3lzIGlPUyBBdXRoZW50aWNhdG9yIiwiYXV0aGVudGljYXRvclZlcnNpb24iOjIsInByb3RvY29sRmFtaWx5IjoiZmlkbzIiLCJzY2hlbWEiOjMsInVwdiI6W3sibWFqb3IiOjEsIm1pbm9yIjowfV0sImF1dGhlbnRpY2F0aW9uQWxnb3JpdGhtcyI6WyJzZWNwMjU2cjFfZWNkc2Ffc2hhMjU2X3JhdyJdLCJwdWJsaWNLZXlBbGdBbmRFbmNvZGluZ3MiOlsiY29zZSJdLCJhdHRlc3RhdGlvblR5cGVzIjpbImJhc2ljX2Z1bGwiXSwidXNlclZlcmlmaWNhdGlvbkRldGFpbHMiOltbeyJ1c2VyVmVyaWZpY2F0aW9uTWV0aG9kIjoiZmFjZXByaW50X2ludGVybmFsIn0seyJ1c2VyVmVyaWZpY2F0aW9uTWV0aG9kIjoidm9pY2VwcmludF9pbnRlcm5hbCJ9LHsidXNlclZlcmlmaWNhdGlvbk1ldGhvZCI6InBhc3Njb2RlX2ludGVybmFsIn0seyJ1c2VyVmVyaWZpY2F0aW9uTWV0aG9kIjoiZXllcHJpbnRfaW50ZXJuYWwifSx7InVzZXJWZXJpZmljYXRpb25NZXRob2QiOiJoYW5kcHJpbnRfaW50ZXJuYWwifSx7InVzZXJWZXJpZmljYXRpb25NZXRob2QiOiJmaW5nZXJwcmludF9pbnRlcm5hbCJ9LHsidXNlclZlcmlmaWNhdGlvbk1ldGhvZCI6InBhdHRlcm5faW50ZXJuYWwifSx7InVzZXJWZXJpZmljYXRpb25NZXRob2QiOiJsb2NhdGlvbl9pbnRlcm5hbCJ9LHsidXNlclZlcmlmaWNhdGlvbk1ldGhvZCI6InByZXNlbmNlX2ludGVybmFsIn1dXSwia2V5UHJvdGVjdGlvbiI6WyJoYXJkd2FyZSIsInNlY3VyZV9lbGVtZW50Il0sIm1hdGNoZXJQcm90ZWN0aW9uIjpbIm9uX2NoaXAiXSwiY3J5cHRvU3RyZW5ndGgiOjEyOCwiYXR0YWNobWVudEhpbnQiOlsiZXh0ZXJuYWwiXSwidGNEaXNwbGF5IjpbXSwiYXR0ZXN0YXRpb25Sb290Q2VydGlmaWNhdGVzIjpbIk1JSUIvekNDQWFTZ0F3SUJBZ0lVUGJkZGxwRWRBZE4rZm04SkZhblVYdXJOWnk4d0NnWUlLb1pJemowRUF3SXdRVEVrTUNJR0ExVUVDZ3diVm1GdVkyOXplWE1nUkdGMFlTQlRaV04xY21sMGVTQkpibU11TVJrd0Z3WURWUVFEREJCV1lXNWpiM041Y3lCU2IyOTBJRU5CTUNBWERUSXdNVEV3TkRBMk5EUXhOMW9ZRHpJd056QXhNREl6TURZME5ERTNXakJCTVNRd0lnWURWUVFLREJ0V1lXNWpiM041Y3lCRVlYUmhJRk5sWTNWeWFYUjVJRWx1WXk0eEdUQVhCZ05WQkFNTUVGWmhibU52YzNseklGSnZiM1FnUTBFd1dUQVRCZ2NxaGtqT1BRSUJCZ2dxaGtqT1BRTUJCd05DQUFScVZpQVNpbWNwSndDYjUzMS9WZWtZSGZOdVJrSVBlRmtRcTdGTnlXa0ZpV1BqS2sxR0RTQXhKcnVCNEdCM3FkeVRuUmhwV0YzTHZtNGh6YkJ0WmZ5M28zZ3dkakJtQmdOVkhTTUVYekJkb1VXa1F6QkJNU1F3SWdZRFZRUUtEQnRXWVc1amIzTjVjeUJFWVhSaElGTmxZM1Z5YVhSNUlFbHVZeTR4R1RBWEJnTlZCQU1NRUZaaGJtTnZjM2x6SUZKdmIzUWdRMEdDRkQyM1haYVJIUUhUZm41dkNSV3AxRjdxeldjdk1Bd0dBMVVkRXdRRk1BTUJBZjh3Q2dZSUtvWkl6ajBFQXdJRFNRQXdSZ0loQU9HamN3SlVUN0EvRVIrNXBBQ0VQck9nNzl3YkUvaDhZTVlVZ3ltclhSNkdBaUVBN042VTNFV2VRd2VNT21UT3FhdnRXQ2RZQ3NNSmNvcDlwMTNsOVFib2hEbz0iXSwiaWNvbiI6ImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0FBQUFBZ0NBTUFBQUJFcElyR0FBQUFNMUJNVkVVdG1jM3krZnlXek9aaXM5cks1Zkk2bjlCOHYrQ3cyZXpsOHZsSHB0TlZyTmJYN1BhajB1bHZ1ZDI5MysrSnh1UC8vLzg5SFJ2cEFBQUFFWFJTVGxQLy8vLy8vLy8vLy8vLy8vLy8vLy8vQUNXdG1XSUFBQUJzU1VSQlZIZ0J4ZFBCQ29Bd0RJUGgveURpc2UvL3RJSVFDWm82Uk5HZHR1V0RzdEZTZy9VT2dNaUFEUUJKNko0aUN3UzRCZ3pCdUVRSENvRmErbWRNK3FpanNETVZoQmZkb1JGYUFMNG5BZTZBZWdoT0RZUG5zYU55THVBcWc1QUh3TzlBWXU1Qm1xRVBobmNGbWVjdk01S0tRSE1BQUFBQVNVVk9SSzVDWUlJPSIsImF1dGhlbnRpY2F0b3JHZXRJbmZvIjp7InZlcnNpb25zIjpbIkZJRE9fMl8wIl0sImV4dGVuc2lvbnMiOlsiaG1hYy1zZWNyZXQiXSwiYWFndWlkIjoiODIwZDg5ZWRkNjVhNDA5ZTg1Y2JmNzNmMDU3OGY4MmEiLCJvcHRpb25zIjp7InBsYXQiOmZhbHNlLCJyayI6dHJ1ZSwidXAiOnRydWUsInV2Ijp0cnVlfSwibWF4TXNnU2l6ZSI6MjA0OH19LCJzdGF0dXNSZXBvcnRzIjpbeyJzdGF0dXMiOiJGSURPX0NFUlRJRklFRF9MMSIsImVmZmVjdGl2ZURhdGUiOiIyMDE5LTAyLTA4IiwiY2VydGlmaWNhdGlvbkRlc2NyaXB0b3IiOiJWYW5jb3N5cyBpT1MgQXV0aGVudGljYXRvciIsImNlcnRpZmljYXRlTnVtYmVyIjoiRklETzIwMDIwMTkwMTA5MDAyIiwiY2VydGlmaWNhdGlvblBvbGljeVZlcnNpb24iOiIxLjAuMCIsImNlcnRpZmljYXRpb25SZXF1aXJlbWVudHNWZXJzaW9uIjoiMS4wLjAifV0sInRpbWVPZkxhc3RTdGF0dXNDaGFuZ2UiOiIyMDE5LTAyLTA4In0seyJhdHRlc3RhdGlvbkNlcnRpZmljYXRlS2V5SWRlbnRpZmllcnMiOlsiYzU1Zjc0YzcwYzY4ZThkY2U1YjdmZGI0Y2RkYTc3MmFkOTI5NGM2NyIsImZkMzY1NzNkMjRiZTNmN2YzMmFkNTA0MDI3MWFiNjEwMzVhMWZjYWQiXSwibWV0YWRhdGFTdGF0ZW1lbnQiOnsibGVnYWxIZWFkZXIiOiJodHRwczovL2ZpZG9hbGxpYW5jZS5vcmcvbWV0YWRhdGEvbWV0YWRhdGEtc3RhdGVtZW50LWxlZ2FsLWhlYWRlci8iLCJhdHRlc3RhdGlvbkNlcnRpZmljYXRlS2V5SWRlbnRpZmllcnMiOlsiYzU1Zjc0YzcwYzY4ZThkY2U1YjdmZGI0Y2RkYTc3MmFkOTI5NGM2NyIsImZkMzY1NzNkMjRiZTNmN2YzMmFkNTA0MDI3MWFiNjEwMzVhMWZjYWQiXSwiZGVzY3JpcHRpb24iOiJHb1RydXN0IElkZW0gQ2FyZCBVMkYgQXV0aGVudGljYXRvciIsImF1dGhlbnRpY2F0b3JWZXJzaW9uIjoyLCJwcm90b2NvbEZhbWlseSI6InUyZiIsInNjaGVtYSI6MywidXB2IjpbeyJtYWpvciI6MSwibWlub3IiOjF9XSwiYXV0aGVudGljYXRpb25BbGdvcml0aG1zIjpbInNlY3AyNTZyMV9lY2RzYV9zaGEyNTZfcmF3Il0sInB1YmxpY0tleUFsZ0FuZEVuY29kaW5ncyI6WyJlY2NfeDk2Ml9yYXciXSwiYXR0ZXN0YXRpb25UeXBlcyI6WyJiYXNpY19mdWxsIl0sInVzZXJWZXJpZmljYXRpb25EZXRhaWxzIjpbW3sidXNlclZlcmlmaWNhdGlvbk1ldGhvZCI6InByZXNlbmNlX2ludGVybmFsIn1dXSwia2V5UHJvdGVjdGlvbiI6WyJoYXJkd2FyZSIsInNlY3VyZV9lbGVtZW50IiwicmVtb3RlX2hhbmRsZSJdLCJtYXRjaGVyUHJvdGVjdGlvbiI6WyJvbl9jaGlwIl0sImNyeXB0b1N0cmVuZ3RoIjoxMjgsImF0dGFjaG1lbnRIaW50IjpbImV4dGVybmFsIiwid2lyZWxlc3MiLCJuZmMiLCJibHVldG9vdGgiXSwidGNEaXNwbGF5IjpbXSwiYXR0ZXN0YXRpb25Sb290Q2VydGlmaWNhdGVzIjpbIk1JSUJ6akNDQVhPZ0F3SUJBZ0lKQU1oVi92UVl1NEtBTUFvR0NDcUdTTTQ5QkFNQ01Ec3hJREFlQmdOVkJBTU1GMGR2VkhKMWMzUWdSa2xFVHpJZ1VtOXZkQ0JEUVNBeU1SY3dGUVlEVlFRS0RBNUhiMVJ5ZFhOMFNVUWdTVzVqTGpBZUZ3MHhPVEV5TURRd056QXpNREZhRncwME9URXhNall3TnpBek1ERmFNRHN4SURBZUJnTlZCQU1NRjBkdlZISjFjM1FnUmtsRVR6SWdVbTl2ZENCRFFTQXlNUmN3RlFZRFZRUUtEQTVIYjFSeWRYTjBTVVFnU1c1akxqQlpNQk1HQnlxR1NNNDlBZ0VHQ0NxR1NNNDlBd0VIQTBJQUJKSGdLOWZOcU5FV0lZVHNaL2dOaTE3enBFcks3RkMxWW8rRnpxUlZNWUdVSmdBSjl2ZzMxaVRDSjFWWXhiQUtNUWJsTEdrVm4vZGZQNzNnZVRLZWQ5T2pZREJlTUF3R0ExVWRFd0VCL3dRQ01BQXdEZ1lEVlIwUEFRSC9CQVFEQWdFR01CMEdBMVVkRGdRV0JCUmdMWFdkV2VyMWtTR3BwZ1BsaVppMUhzWVBoREFmQmdOVkhTTUVHREFXZ0JSZ0xYV2RXZXIxa1NHcHBnUGxpWmkxSHNZUGhEQUtCZ2dxaGtqT1BRUURBZ05KQURCR0FpRUF1anJLV1p3K1MwVGZHMWJKSmNzcW1HdTVXTGJCMkVnb3JEMmhBMnE2Qm9JQ0lRQ2l5eG52QW42TWkrRGRSbnczU1FHUVpvTEtGS3dIcjRYR05JTzVwQUhBSEE9PSIsIk1JSUJxRENDQVUrZ0F3SUJBZ0lCQVRBS0JnZ3Foa2pPUFFRREFqQTdNU0F3SGdZRFZRUUREQmRIYjFSeWRYTjBJRVpKUkU4eUlGSnZiM1FnUTBFZ01qRVhNQlVHQTFVRUNnd09SMjlVY25WemRFbEVJRWx1WXk0d0lCY05NakV3TXpBeU1EWXlNekUzV2hnUE1qQTFNVEF5TWpNd05qSXpNVGRhTURzeElEQWVCZ05WQkFNTUYwZHZWSEoxYzNRZ1JrbEVUeklnVW05dmRDQkRRU0F5TVJjd0ZRWURWUVFLREE1SGIxUnlkWE4wU1VRZ1NXNWpMakJaTUJNR0J5cUdTTTQ5QWdFR0NDcUdTTTQ5QXdFSEEwSUFCQTc2WnlHM2UrRFpvVy9Ldk0zNlhKQUo2Qkw5a1hNTmpFdjRxR0lENWxBOFo4dVJlTTFZZk1pbzVuRUhMVTJTWkxRM3FYUlJ2eEdONEkrSDUrNmZWdzJqUWpCQU1BOEdBMVVkRXdRSU1BWUJBZjhDQVFBd0RnWURWUjBQQVFIL0JBUURBZ0VHTUIwR0ExVWREZ1FXQkJScytVa21NNXhVazYvejVRTnRXQjI2aTR3NzdEQUtCZ2dxaGtqT1BRUURBZ05IQURCRUFpQkErSVg1Ri84N1cvZW1aa2lKVEhxcmlMRlpPYTc5N3pzRS8wS1A3QVU1UWdJZ0I2NHhGcVBTQkM0S2kxVXJyTlg5VjJ0aGIrNDVSYnRTVm1pNjZXVitnbEU9Il0sImljb24iOiJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNBQUFBQWpDQVlBQUFEMTdnaGFBQUFBQkdkQlRVRUFBTEdPZlB0Umt3QUFBQ0JqU0ZKTkFBQ0hEd0FBakE4QUFQMVNBQUNCUUFBQWZYa0FBT21MQUFBODVRQUFHY3h6UElWM0FBQUtMMmxEUTFCSlEwTWdVSEp2Wm1sc1pRQUFTTWVkbG5kVVZOY1doOCs5ZDNxaHpURFNHWHFUTGpDQTlDNGdIUVJSR0dZR0dNb0F3d3hOYklpb1FFUVJFUUZGa0tDQUFhT2hTS3lJWWlFb3FHQVBTQkJRWWpDS3FLaGtSdFpLZkhsNTcrWGw5OGU5MzlwbjczUDMyWHVmdFM0QUpFOGZMaThGbGdJZ21TZmdCM280MDFlRlI5Q3gvUUFHZUlBQnBnQXdXZW1wdmtIdXdVQWtMemNYZXJySUNmeUwzZ3dCU1B5K1planBUNmVELzAvU3JGUytBQURJWDhUbWJFNDZTOFQ1SWs3S0ZLU0s3VE1pcHNZa2lobEdpWmt2U2xERWNtS09XK1NsbjMwVzJWSE03R1FlVzhUaW5GUFp5V3d4OTRoNGU0YVFJMkxFUjhRRkdWeE9wb2h2aTFnelNaak1GZkZiY1d3eWg1a09BSW9rdGdzNHJIZ1JtNGlZeEE4T2RCSHhjZ0J3cExndk9PWUxGbkN5Qk9KRHVhU2tadk81Y2ZFQ3VpNUxqMjVxYmMyZ2UzSXlremdDZ2FFL2s1WEk1TFBwTGluSnFVeGVOZ0NMWi80c0dYRnQ2YUlpVzVwYVcxb2FtaG1aZmxHby83cjROeVh1N1NLOUN2amNNNGpXOTRmdHIveFM2Z0JneklwcXMrc1BXOHgrQURxMkFpQjMvdytiNWlFQUpFVjlhNy94eFhsbzRubUpGd2hTYll5Tk16TXpqYmdjbHBHNG9ML3JmenI4RFgzeFBTUHhkcitYaCs3S2lXVUtrd1IwY2QxWUtVa3BRajQ5UFpYSjR0QU4venpFL3pqd3IvTllHc2lKNWZBNVBGRkVxR2pLdUx3NFVidDViSzZBbThLamMzbi9xWW4vTU94UFdweHJrU2oxbndBMXlnaEkzYUFDNU9jK2dLSVFBUko1VU56MTMvdm1ndzhGNHBzWHBqcXhPUGVmQmYzN3JuQ0orSkhPamZzYzV4SVlUR2NKK1JtTGErSnJDZENBQUNRQkZjZ0RGYUFCZElFaE1BTld3Qlk0QWpld0F2aUJZQkFPMWdJV2lBZkpnQTh5UVM3WURBcEFFZGdGOW9KS1VBUHFRU05vQVNkQUJ6Z05Mb0RMNERxNENlNkFCMkFFaklQbllBYThBZk1RQkdFaE1rU0I1Q0ZWU0FzeWdNd2dCbVFQdVVFK1VDQVVEa1ZEY1JBUEVrSzUwQmFvQ0NxRktxRmFxQkg2RmpvRlhZQ3VRZ1BRUFdnVW1vSitoZDdEQ0V5Q3FiQXlyQTBid3d6WUNmYUdnK0UxY0J5Y0J1ZkErZkJPdUFLdWc0L0I3ZkFGK0RwOEJ4NkJuOE96Q0VDSUNBMVJRd3dSQnVLQytDRVJTQ3pDUnpZZ2hVZzVVb2UwSUYxSUwzSUxHVUdta1hjb0RJcUNvcU1NVWJZb1QxUUlpb1ZLUTIxQUZhTXFVVWRSN2FnZTFDM1VLR29HOVFsTlJpdWhEZEEyYUMvMEtuUWNPaE5kZ0M1SE42RGIwSmZRZDlEajZEY1lESWFHMGNGWVlUd3g0WmdFekRwTU1lWUFwaFZ6SGpPQUdjUE1ZckZZZWF3QjFnN3JoMlZpQmRnQzdIN3NNZXc1N0NCMkhQc1dSOFNwNHN4dzdyZ0lIQStYaHl2SE5lSE80Z1p4RTdoNXZCUmVDMitEOThPejhkbjRFbnc5dmd0L0F6K09ueWRJRTNRSWRvUmdRZ0poTTZHQzBFSzRSSGhJZUVVa0V0V0oxc1FBSXBlNGlWaEJQRTY4UWh3bHZpUEprUFJKTHFSSWtwQzBrM1NFZEo1MGovU0tUQ1pya3gzSkVXUUJlU2U1a1h5Ui9KajhWb0lpWVNUaEpjR1cyQ2hSSmRFdU1TanhRaEl2cVNYcEpMbFdNa2V5WFBLazVBM0phU204bExhVWl4UlRhb05VbGRRcHFXR3BXV21LdEttMG4zU3lkTEYway9SVjZVa1pySXkyakpzTVd5WmY1ckRNUlpreENrTFJvTGhRV0pRdGxIcktKY280RlVQVm9YcFJFNmhGMUcrby9kUVpXUm5aWmJLaHNsbXlWYkpuWkVkb0NFMmI1a1ZMb3BYUVR0Q0dhTytYS0M5eFdzSlpzbU5KeTVMQkpYTnlpbktPY2h5NVFybFd1VHR5NytYcDhtN3lpZks3NVR2a0h5bWdGUFFWQWhReUZRNHFYRktZVnFRcTJpcXlGQXNWVHlqZVY0S1Y5SlVDbGRZcEhWYnFVNXBWVmxIMlVFNVYzcTk4VVhsYWhhYmlxSktnVXFaeVZtVktsYUpxcjhwVkxWTTlwL3FNTGt0M29pZlJLK2c5OUJrMUpUVlBOYUZhclZxLzJyeTZqbnFJZXA1NnEvb2pEWUlHUXlOV28weWpXMk5HVTFYVFZ6TlhzMW56dmhaZWk2RVZyN1ZQcTFkclRsdEhPMHg3bTNhSDlxU09uSTZYVG81T3M4NURYYkt1ZzI2YWJwM3ViVDJNSGtNdlVlK0EzazE5V045Q1AxNi9TditHQVd4Z2FjQTFPR0F3c0JTOTFIb3BiMm5kMG1GRGtxR1RZWVpocytHb0VjM0l4eWpQcU1Qb2hiR21jWVR4YnVOZTQwOG1GaVpKSnZVbUQweGxURmVZNXBsMm1mNXFwbS9HTXFzeXUyMU9ObmMzMzJqZWFmNXltY0V5enJLRHkrNWFVQ3g4TGJaWmRGdDh0TFN5NUZ1MldFNVphVnBGVzFWYkRUT29ESDlHTWVPS05kcmEyWHFqOVducmR6YVdOZ0tiRXphLzJCcmFKdG8yMlU0dTExbk9XVjYvZk14TzNZNXBWMnMzWWsrM2o3WS9aRC9pb09iQWRLaHplT0tvNGNoMmJIQ2NjTkp6U25BNjV2VEMyY1NaNzl6bVBPZGk0N0xlNWJ3cjR1cmhXdWphN3liakZ1Slc2ZmJZWGQwOXpyM1pmY2JEd21PZHgzbFB0S2UzNTI3UFlTOWxMNVpYbzlmTUNxc1Y2MWYwZUpPOGc3d3J2Wi80NlB2d2ZicDhZZDhWdm50OEg2N1VXc2xiMmVFSC9Mejg5dmc5OHRmeFQvUC9QZ0FUNEI5UUZmQTAwRFF3TjdBM2lCSVVGZFFVOUNiWU9iZ2srRUdJYm9nd3BEdFVNalF5dERGMExzdzFyRFJzWkpYeHF2V3Jyb2NyaEhQRE95T3dFYUVSRFJHenE5MVc3MTA5SG1rUldSQTV0RVpuVGRhYXEyc1YxaWF0UFJNbEdjV01PaG1Oamc2TGJvcit3UFJqMWpGblk3eGlxbU5tV0M2c2Zhem5iRWQyR1h1S1k4Y3A1VXpFMnNXV3hrN0cyY1h0aVp1S2Q0Z3ZqNS9tdW5BcnVTOFRQQk5xRXVZUy9SS1BKQzRraFNXMUp1T1NvNU5QOFdSNGlieWVGSldVckpTQlZJUFVndFNSTkp1MHZXa3pmRzkrUXpxVXZpYTlVMEFWL1V6MUNYV0ZXNFdqR2ZZWlZSbHZNME16VDJaSlovR3krckwxczNka1QrUzQ1M3k5RHJXT3RhNDdWeTEzYys3b2VxZjF0UnVnRFRFYnVqZHFiTXpmT0w3Slk5UFJ6WVROaVp0L3lEUEpLODE3dlNWc1MxZStjdjZtL0xHdEhsdWJDeVFLK0FYRDIyeTMxV3hIYmVkdTc5OWh2bVAvamsrRjdNSnJSU1pGNVVVZmlsbkYxNzR5L2FyaXE0V2RzVHY3U3l4TER1N0M3T0x0R3RydHNQdG9xWFJwVHVuWUh0ODk3V1gwc3NLeTEzdWo5bDR0WDFaZXM0K3dUN2h2cE1Lbm9uTy81djVkK3o5VXhsZmVxWEt1YXExV3F0NVJQWGVBZldEd29PUEJsaHJsbXFLYTk0ZTRoKzdXZXRTMjEyblhsUi9HSE00NC9MUSt0TDczYThiWGpRMEtEVVVOSDQvd2pvd2NEVHphMDJqVjJOaWsxRlRTRERjTG02ZU9SUjY3K1kzck41MHRoaTIxcmJUV291UGd1UEQ0czIranZ4MDY0WDJpK3lUalpNdDNXdDlWdDFIYUN0dWg5dXoybVk3NGpwSE84TTZCVXl0T2RYZlpkclY5Yi9UOWtkTnFwNnZPeUo0cE9VczRtMzkyNFZ6T3VkbnpxZWVuTDhSZEdPdU82bjV3Y2RYRjJ6MEJQZjJYdkM5ZHVleCsrV0t2VSsrNUszWlhUbCsxdVhycUd1TmF4M1hMNisxOUZuMXRQMWo4ME5adjJkOSt3K3BHNTAzcm0xMER5d2ZPRGpvTVhyamxldXZ5YmEvYjErK3N2RE13RkRKMGR6aHllT1F1Kys3a3ZhUjdMKzluM0o5L3NPa2grbUhoSTZsSDVZK1ZIdGY5cVBkajY0amx5SmxSMTlHK0owRlBIb3l4eHA3L2xQN1RoL0g4cCtTbjVST3FFNDJUWnBPbnA5eW5iajViL1d6OGVlcnorZW1DbjZWL3JuNmgrK0s3WHh4LzZadFpOVFAra3Y5eTRkZmlWL0t2anJ4ZTlycDcxbi8yOFp2a04vTnpoVy9sM3g1OXgzalgrejdzL2NSODVnZnNoNHFQZWgrN1BubC9lcmlRdkxEd0cvZUU4L3MzQkNrZUFBQUFDWEJJV1hNQUFBN0VBQUFPeEFHVkt3NGJBQUFBSVhSRldIUkRjbVZoZEdsdmJpQlVhVzFsQURJd01UZzZNRFU2TWpnZ01UWTZOREk2TVRUOWh3cmZBQUFJSFVsRVFWUllSNTFYQzFCVTV4WCtkbGxnUWQ0UFVSQWZpU2hhTkcxaTdCaHRtMDVLVWtuVFdCK05RYTBZRzJPRGxqb09HazFpTzUxcU5HUWNrOW9rUkpzMDRJdzZwdU4wVEV4VGFPc1lTN1NTcGhwZjFLQVZCUlpoV1I0cklMdDdiNy96Mzd2c1FoYUMvUzcvc3Z6M3ZNLzV6L214NkFTR0NaMlAvRmdzOHBmNjZJTmZqTVY0T1d4WXpkL0RnK1pYWUVIbEo1L2p2Z1diOE9qcUhXaHNjYW45TzFVdUdGNEVoTVFVM3RyaFJ0N3FsM0dxc2hwSWlBRjhQcURyTnBZVjVPSDFGMWNnSmpvcUtGTENJK0lITjJ4NEVUQ1YvM3piSDVBOGNSRk9WVjhDUmljRFVaRkFOSmZWaXZJREZhajY5eGVLVGlra2o2YlJGSDF3NVlKQkl0RGY2ajlWbnNhOFozYlFXeThRUzYrdDVqdDN0NHJBMXMwRjJMenFjV09QNkwxYXA0eUtHRGZHM0NFR0M0UVlFQXlOangrMTE1djBLWSt1MTVHV3B5TW5YOGMwV1V0MVpEK2hJK2xoZldIUlR0M3I5Wm5VQmhwWGJkVFBJVncvanhHNlk4MFdjNWR5ZlFHNXdSaTBCdktMZDJOLzJRZk1jeXhnWjVnRmt1K1dkb3ljT0FaViszK051elBUakgzQ3Rmc2RPTllXMDFFZndwREFIWTFQQi8rMklXTmZLZUtYekRjSUI4Q2lNVkhCMWZ2Mkg0OWhaV0VKTU1JT3hJemdEdTNUV1A0ZFhUVEVodkpYaXJEMHNUa0dNZEZUZlFaMTMxNEFYM2NqRmJNdStDbFFoYWhpN3VYVGdzamtpUmh6N0JEc09kbnFEVmdmRnFheUx3SmZYRy9DN0NXL3dzM0x6RjlLb2xHZThxYW5WeWxmdTNZaFhudStRRWdWdk0ydGFKajNGRHFyanRMSFZPN1kxTDVFd0lkMnFyWlFSTHo2TlBZOTNHOUdiTzRpWkI0dEozbVlNcS9QQU11NEg5SERDSzV3UTdHUFhqZTFZc2FEOTZMaW5SZVlpV2doVTNDc2ZnN08wdGZvYXd5RlJDdEJ1Z3E1QzJIV1JHUldIWWJ1OVRFeTg2RnI3YVJMNG5zeGlXSnBuQzBwQTFuT2MwcVdNcSsreWNXejNBTkVtc3A3YnNNV2JzWEhIKzNDNmZlMjlTbHZlL2NRTGxqaTRDcDlpLzZta0ZtVWk4OXVyamFNM0xvZGszeDFpUHJtZllpZVBSUFp2aHNZdWIyRUtXZ210NGVVT25saTRXbXRnK1ptU2drVkFZZXpEYU56bGdKcFNUeERYcVNQVGtMOVgzY3JBa0gzeWM5dzQ0Y3I0R211VWVFV01ZWTMzYXJRRW45Y2dQU0RieGpFUkFlRmg5bXNMQ1BXa1luYWpCbndOVFNSTDR3R3RXTnlWeU9zVVhZelFTSk9NcUdXeHY3Q1ZKaTRObXNlcnN5YUJhMzVKcFZMMVF1TEY3MW9nSDNhMXpDcHJyYWY4cEszanlCK2FqNWk2TkRyYkU1KzJNYW0wMWl2aW9KUm5MTE1GQ2lvUFdQVExBc0Y5MGtwc2xIOEprZFJ3dTFVUWliOHBRSVR6djRONFpucGl1NUU5VVZFNU9Sanc1YTlRQnhURmhHT3drMEJ3K1FJRzlMN0kyQ0E2QXhTN0VjWTdHU1VFcElpNjBicTloM0kxdXN4SXZjNzZ2MzFteTVNbTdjQjMzcWtDQjVoVDQ0akU0OGlqNWhORFBrS0JBd1lCTW91dFhncTZGWEt4bWZWdnFCOWNTSEczck1NNXk1ZUF6S1luckJRUGdid1pmY0dTY0ZBeUFGU2o4VWdiMzExRHk1YVl1QStlQWpXOUJUajlJaUJicDZrTHM0SHZ5WnBZRUVZT2dYc1RBTVpCTUlrM2l1WjFraGN1ZXNCTlA1aUhWT1R5SG5Ed1NSR2Q3TlpPVndvTGx5QWpUOWJRQ040eENncU10eG9UbjVJN1JoRkdFREFBRTR2dFFaQVRMTEtZMkhuNnZiQXcwa25QVUIyZGEwWFdrTUw3djE2RnRwcTM4UEw2L1BaaUdpUU1QR1hQVndpRTRDU3d5Y1lRUkVnVjRnaU5Eb2NQM2s4alc0bXZWNVRwOEVkbDRES0QzYmkwME5iRVc4MksxY252VGZIZGJBMCtTNlM1QWxHL3dpRXFBR2JtbXlHYWprTkdqcFYxMHY3N1c1TWFqK0hoNzZScGVqYWVUZVl0ZmdGdlBIN0k3eWtSQ21lWUlqa3I0NUFpQnFRcnFXaGgrSjYyRXdia0xCeUphYnFIVWhhRXhoTVQvOXlEeExHUFk2VC82cGhEK0FFRlcyc3FjNWJScnNWREIwQkNYMVFEZGc0cWZ6SWRyRzNUNzhIRVZPbVlISnpFMGJ0NWFnMjhkYkJTbGdtek1mZXNnK0JkRTVFdVRkSUZDVU5uQ2NseGN0TVNtNVR0aEhGL2xGV0dsWHFtV1AxaFUzazhqVUgvbnppakx4Q1dFSWl4cDloMTd2d2Q5aFNPQ3VJMDU5ZlFjb0RxL0RNdWwyOE16RGNmcTl2OHpUY2FNYVNSZCtGZnZVd2lwYm5LWHFCdDFFR0VndDNRR3FVQVpHUjlGakdyNEFGcERNVmN4YytoeWsvS0VhZHcybnNFMjI4Rjh4Yy9DSm1QbFFJWjF1SGVXK2dDQzk1RzF1Uk0zazg2aS90eDc0ZGEwd084cnhaemdrYUQyL2ROZG9ZcmlLZ003SFFlTHNpK201RXVTdCt3NHIrQjVCcUNwVktGbythMi9EVForY2psUzMycGEzdkFvbEJWelNwbVhZMzUzc2NqdjV1QTNMblREZjJpYTRUcDFEL3lGSjR1aHBZeU1sVWFreFFMMGUzTFQ0Rms5cDRzeVpNQTlSWGxCMDVnZVViT0lhbG95V2FUVVp3aTkxTkdsV01qRmR6VC9KTWJOdThISnVlRHR5SXZjMU8zSmk3RExjK3JlQ0JUU08xVFhHSTF4N2NST3lNN3lIejQ4T3cwQW5aVndZSVkvQzlzTGhrSDE1NXFZeURoVWN3aXFOWnZlT1NPdW4xc09zNThjUlRqK0hBemlLRHdVVGpUOWJCVlY1S3hYR2t0bE9wOFBtb3VoVVI5alJrVkI3Z1JlVitnMWpxVGVUS2hTUVV2SnBQbi8za0ZsN0o1eHJYOEtsUHF1OVozMStuTzFyYVRDb0R6bGYzOENwdTUxVThVYTlCSnRkWS9STFhCZjU5SHJHNnM3VE1wSlJyZi85ci9KY01rSWp3cHcvVjUydjExRG1yZFF2L0wzai8rR2Ztcm9IT2l1UDZmMkt6cUNSYUthekJlSzV4K2tXa2NTOUtieWhZYjFJS1JLNnhnakhvL3dWRHdjT3JWYjNrK2V4eGhqdUZnWmFoSTJJa3owMkl1VDhYWTk3ZkI5dElLVDZWdkVGaGRKNGhJU0lDTmphdGZSNDFHYVBRZmZZczFZN3VVNjR4ejlZSU8rNnErZ1RqLy9taG9WeDhDN0NHaGtUZ1RuRDc4bi8xcTlNZlpzNGpHZXBVaGpxZXVVN1NuYnYybWhSM2hqc3lRR05oK2pQby91aVlYcGVYcnp1S3RnVDlOeG42LzcraDhIL1ZRQ2lJa0tGeUhSckEvd0M0ZStPK1oxY240UUFBQUFCSlJVNUVya0pnZ2c9PSJ9LCJzdGF0dXNSZXBvcnRzIjpbeyJzdGF0dXMiOiJGSURPX0NFUlRJRklFRCIsImVmZmVjdGl2ZURhdGUiOiIyMDIwLTA5LTAyIiwiY2VydGlmaWNhdGlvbkRlc2NyaXB0b3IiOiJHb1RydXN0IElkZW0gQ2FyZCBVMkYxMTAwMjAxNzA0MDMwMDEiLCJjZXJ0aWZpY2F0ZU51bWJlciI6IlUyRjExMDAyMDE3MDQwMzAwMSIsImNlcnRpZmljYXRpb25Qb2xpY3lWZXJzaW9uIjoiMS4yLjUiLCJjZXJ0aWZpY2F0aW9uUmVxdWlyZW1lbnRzVmVyc2lvbiI6IjEuMy4wIn1dLCJ0aW1lT2ZMYXN0U3RhdHVzQ2hhbmdlIjoiMjAyMC0wOS0wMiJ9LHsiYXR0ZXN0YXRpb25DZXJ0aWZpY2F0ZUtleUlkZW50aWZpZXJzIjpbIjA5NmJmYzhiZGJhYWE3NDBiOWVkOGY3NGIwNTRiNWU4YTgxODQxZDIiXSwibWV0YWRhdGFTdGF0ZW1lbnQiOnsibGVnYWxIZWFkZXIiOiJodHRwczovL2ZpZG9hbGxpYW5jZS5vcmcvbWV0YWRhdGEvbWV0YWRhdGEtc3RhdGVtZW50LWxlZ2FsLWhlYWRlci8iLCJhdHRlc3RhdGlvbkNlcnRpZmljYXRlS2V5SWRlbnRpZmllcnMiOlsiMDk2YmZjOGJkYmFhYTc0MGI5ZWQ4Zjc0YjA1NGI1ZThhODE4NDFkMiJdLCJkZXNjcmlwdGlvbiI6IlRydXN0S2V5IFQxMjAgVTJGIEF1dGhlbnRpY2F0b3IiLCJhdXRoZW50aWNhdG9yVmVyc2lvbiI6MSwicHJvdG9jb2xGYW1pbHkiOiJ1MmYiLCJzY2hlbWEiOjMsInVwdiI6W3sibWFqb3IiOjEsIm1pbm9yIjoxfSx7Im1ham9yIjoxLCJtaW5vciI6MH1dLCJhdXRoZW50aWNhdGlvbkFsZ29yaXRobXMiOlsic2VjcDI1NnIxX2VjZHNhX3NoYTI1Nl9yYXciXSwicHVibGljS2V5QWxnQW5kRW5jb2RpbmdzIjpbImVjY194OTYyX3JhdyJdLCJhdHRlc3RhdGlvblR5cGVzIjpbImJhc2ljX2Z1bGwiXSwidXNlclZlcmlmaWNhdGlvbkRldGFpbHMiOltbeyJ1c2VyVmVyaWZpY2F0aW9uTWV0aG9kIjoicHJlc2VuY2VfaW50ZXJuYWwifV1dLCJrZXlQcm90ZWN0aW9uIjpbImhhcmR3YXJlIiwicmVtb3RlX2hhbmRsZSJdLCJtYXRjaGVyUHJvdGVjdGlvbiI6WyJvbl9jaGlwIl0sImNyeXB0b1N0cmVuZ3RoIjoyNTYsImF0dGFjaG1lbnRIaW50IjpbImV4dGVybmFsIl0sInRjRGlzcGxheSI6W10sImF0dGVzdGF0aW9uUm9vdENlcnRpZmljYXRlcyI6WyJNSUlDcFRDQ0FrcWdBd0lCQWdJQkFUQUtCZ2dxaGtqT1BRUURBakNCcnpFTE1Ba0dBMVVFQmhNQ1MxSXhFVEFQQmdOVkJBZ01DRk5sYjNWc0xWTnBNUk13RVFZRFZRUUhEQXBIWVc1bmJtRnRMVWQxTVJjd0ZRWURWUVFLREE1bFYwSk5JRU52TGl3Z1RIUmtMakVpTUNBR0ExVUVDd3daUVhWMGFHVnVkR2xqWVhSdmNpQkJkSFJsYzNSaGRHbHZiakVjTUJvR0ExVUVBd3dUWlZkQ1RTQkRRU0JEWlhKMGFXWnBZMkYwWlRFZE1Cc0dDU3FHU0liM0RRRUpBUllPYVc1bWIwQmxMWGRpYlM1amIyMHdIaGNOTVRnd056QXlNRFV6TVRNNVdoY05Nak13TnpBeE1EVXpNVE01V2pDQnJ6RUxNQWtHQTFVRUJoTUNTMUl4RVRBUEJnTlZCQWdNQ0ZObGIzVnNMVk5wTVJNd0VRWURWUVFIREFwSFlXNW5ibUZ0TFVkMU1SY3dGUVlEVlFRS0RBNWxWMEpOSUVOdkxpd2dUSFJrTGpFaU1DQUdBMVVFQ3d3WlFYVjBhR1Z1ZEdsallYUnZjaUJCZEhSbGMzUmhkR2x2YmpFY01Cb0dBMVVFQXd3VFpWZENUU0JEUVNCRFpYSjBhV1pwWTJGMFpURWRNQnNHQ1NxR1NJYjNEUUVKQVJZT2FXNW1iMEJsTFhkaWJTNWpiMjB3V1RBVEJnY3Foa2pPUFFJQkJnZ3Foa2pPUFFNQkJ3TkNBQVFJZnFIaXNpMG9PL2V5T3FTYURycjlpdEcySXltQmtIblNER1FJSVltVCt2cUE4QWdPODFtb21jMkxkNVBHcEVONm11RTU0d1BIUWp2Yy95Q2loOHUybzFVd1V6QVNCZ05WSFJNQkFmOEVDREFHQVFIL0FnRUFNQjBHQTFVZERnUVdCQlMzSi9meGlBdjIyaXJkQnM5OFNPRGhGN2tVL2pBTEJnTlZIUThFQkFNQ0FRWXdFUVlKWUlaSUFZYjRRZ0VCQkFRREFnQUhNQW9HQ0NxR1NNNDlCQU1DQTBrQU1FWUNJUURjNDFMRks0TEpDQlUyVlZLSXo3WjZzeFBoVUVraDhuTFNMSzZJWGRrUDV3SWhBSWVLVk9aY2hhVk81YUY3ZmJkWG9TcmN5eTFZWWVVZVBMb2pjS0k5Zlg4NCJdLCJpY29uIjoiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFHWUFBQUE3Q0FZQUFBQ0p6LzlMQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUF5WnBWRmgwV0UxTU9tTnZiUzVoWkc5aVpTNTRiWEFBQUFBQUFEdy9lSEJoWTJ0bGRDQmlaV2RwYmowaTc3dS9JaUJwWkQwaVZ6Vk5NRTF3UTJWb2FVaDZjbVZUZWs1VVkzcHJZemxrSWo4K0lEeDRPbmh0Y0cxbGRHRWdlRzFzYm5NNmVEMGlZV1J2WW1VNmJuTTZiV1YwWVM4aUlIZzZlRzF3ZEdzOUlrRmtiMkpsSUZoTlVDQkRiM0psSURVdU5pMWpNVEV4SURjNUxqRTFPRE15TlN3Z01qQXhOUzh3T1M4eE1DMHdNVG94TURveU1DQWdJQ0FnSUNBZ0lqNGdQSEprWmpwU1JFWWdlRzFzYm5NNmNtUm1QU0pvZEhSd09pOHZkM2QzTG5jekxtOXlaeTh4T1RrNUx6QXlMekl5TFhKa1ppMXplVzUwWVhndGJuTWpJajRnUEhKa1pqcEVaWE5qY21sd2RHbHZiaUJ5WkdZNllXSnZkWFE5SWlJZ2VHMXNibk02ZUcxd1BTSm9kSFJ3T2k4dmJuTXVZV1J2WW1VdVkyOXRMM2hoY0M4eExqQXZJaUI0Yld4dWN6cDRiWEJOVFQwaWFIUjBjRG92TDI1ekxtRmtiMkpsTG1OdmJTOTRZWEF2TVM0d0wyMXRMeUlnZUcxc2JuTTZjM1JTWldZOUltaDBkSEE2THk5dWN5NWhaRzlpWlM1amIyMHZlR0Z3THpFdU1DOXpWSGx3WlM5U1pYTnZkWEpqWlZKbFppTWlJSGh0Y0RwRGNtVmhkRzl5Vkc5dmJEMGlRV1J2WW1VZ1VHaHZkRzl6YUc5d0lFTkRJREl3TVRVZ0tGZHBibVJ2ZDNNcElpQjRiWEJOVFRwSmJuTjBZVzVqWlVsRVBTSjRiWEF1YVdsa09qWTFORFkzUkVaR05UQXdRakV4UlRZNVJqRXpSalZCUmpoR1FqZ3pPRE15SWlCNGJYQk5UVHBFYjJOMWJXVnVkRWxFUFNKNGJYQXVaR2xrT2pZMU5EWTNSVEF3TlRBd1FqRXhSVFk1UmpFelJqVkJSamhHUWpnek9ETXlJajRnUEhodGNFMU5Pa1JsY21sMlpXUkdjbTl0SUhOMFVtVm1PbWx1YzNSaGJtTmxTVVE5SW5odGNDNXBhV1E2TmpVME5qZEVSa1ExTURCQ01URkZOamxHTVROR05VRkdPRVpDT0RNNE16SWlJSE4wVW1WbU9tUnZZM1Z0Wlc1MFNVUTlJbmh0Y0M1a2FXUTZOalUwTmpkRVJrVTFNREJDTVRGRk5qbEdNVE5HTlVGR09FWkNPRE00TXpJaUx6NGdQQzl5WkdZNlJHVnpZM0pwY0hScGIyNCtJRHd2Y21SbU9sSkVSajRnUEM5NE9uaHRjRzFsZEdFK0lEdy9lSEJoWTJ0bGRDQmxibVE5SW5JaVB6NlhxQVNYQUFBUWMwbEVRVlI0MnV4Y0IxaFV4eFllbGtWNkVRVVJCU25DTGtRVGplMDlFeEVGTlM4R0U5VFBSSTFHQVJzb2Rvb1JOQUlXRURVV0ZMR2lhTlFrMXNSZ3dRcWFLSWpScDlLTFloREJLS0VxTE84Y21NMGJMaGQyRjB0VWRyN3ZmSFB2N055NWM4OC9aMDZabVZVbHIwR3lORE8zYTYydmZ4aW8rSEh4azF0RW1ZaktQd3hJSzhqOGdMNEd3dXMvZ01SWmQzT0xXem93cXY4Z0tQK0M3Q2VnVWRnUGZYMTlVbGxacVF2WE9pQTF4NVVTOCtvQjBZRXNCR2dHdnQvYzNMeHllL1RPSEYwOVBjMS85KzVqVmwxVkpZSHlmNEhVWEduSndBaGVNU2ovZ1F4MWlMZXFxcXJLM1BuejBuOCtFU3M1c0crL2JXcEtpcG4zekpucHRFK1JVRmNvVDV1RHZzdlVBUW9IZWw4cE1Zb0RZZ1RaR3FBeGVHLy9qbjNKOXVqb3dyVFVWSXNGdm40a056ZVhnT1FRQUtsc3NKT1QydjI4KzJwUWJTNUl6U29ab0NEUWtVQm1RRWxBdlU5K1lWV3RCRVkrVU1aQnRocW9qYnE2T2xrU0hIeG4wSkRCblpjR2h3aS8zNysvWHQxcFhsN2tFeGVYbEtFZmZTU0MyMUlnT3dEbkxnOGc5WUJtMG13QVpvMXlLbXNhRUF1Z1dMaU1SbEQ2ZnZCQjRkVnIxKzVyYVd1SkJ3OTBhZ0FLcHMyUmtVU29KaFM1REJ0MkgyNjFnZGJ4Z0lKQTMrWUJCVk1RL041UktUSDhnS2hTeFI2TXpOWFIwU0ZyTjJ5NEpSYUw3QU8rWGtoT256clY1UE05ZS9VaTBURzdDM3AyZjkrNHJCU0ZocmlDMUJ3Q2hsdkE5U2FnSVRLNmNCQ2tacmhTWXVxRDBoV3lTM1RxMG5iNTlOTzgzNUlTQy9QdTNiVWY1T1FrRXhSTVY2OWNJWWNQSGpJT0MxLzUzOXFSSTFCZDU3enIxZ0pxTkhCQnlRSWFCdlE3VStZS0lBNVRTa3dkSUJyVVNVUm5VV2hrWkZTMWRjZjJkRTB0TGJIZmZCK1NlUFdxUXUyaFQzUHE3SmxxVC8vZ2dzTGVYMWFvNmhwYWNxcFVVeDBUQ05KUkJrRDBodXZMelBlZ1hyS0gzMHBhck1RQUtQMGdTd1phcUtLaUluVHo4TWcrbnhCZkVYYzZUdnp4NENFS2c0THB3Mzc5U1BLRGl2U0tJYk5NZUVDNWpuNE9NSDBlZ29JRmtQOEdXUVJUQjYyMEpTMVNZZ0FRUGNoQ2dhYlUzbHRabFlPam1QZW9xS2l6TDBnSm1NSUt0Mm5TdmozeFhSaFFGSy9ib3liNVFYbGJ6cytWUU44QWhRRVFWVHhHQWZZbkJadGhwQXJONTZRV0F3eUE4aWtkb2FhcVFpSHg4ZlZOR3pOMmpIbDQyRXIxNkowN2lVUWlVYXdUS2lwa3pOaXhraDZqdmRLM3BEeTFmVnBkdzYxeURtZ1NNRGxOaGwrRDRaMTlyTW9DNmdQUFNkN3FxUXdBTVFFNkFKZUhFSlQzdW5Vci91M3FsUnhia2EzTmtFR0QxSGRzMzY0d0tGYldWaVJpNSs3OGgvMDl5eUp1VlhKQmVVSWxjb0FzVU9pVWhqWTRHMmZyQ2VUNTFrb01nSUgxSmdLRkF4bG9hbXFTcGN1WDMrbm4wTThtYU1rU1ZiQ2lGSDR4U3RyVWFkT3FqQWFOeTltVFdtWXRxV2xvOWdKTkIyYmZWNlJkYWxhakJhZEppLzRDRWl2YXptc3ZNUUJLWjhoT0EyMUZVQndIT0Q2OGNpMHBYMUlqRVE5eWNtNFdLTjI2ZHllUmUzL0l1VzczZWZYdWxBYWc1QU9OUUYra09jeUVaN0loVzh3VVljUjY3VnNqTVRTSU9JZCtwS2FCZ1VITitvMFJkenBaV05oOTdlZFB6cDg3cC9ETHRMUzBpUGVjMlJXVlBWd0xqcWFYbVBOVWlRTHlBZVkrZnA2UEFxbFJvN0d6TGt5eEM3Ujc3STBHQmtEQlNPMFdvTzU0UDNMVXFIdEJJY0ZhZTJKaURNTkR3MGhaV1puQ0wrcnY2RWkrblBOMXhxWnNEWXNubGRYY2RTRFVINU9CY1dkZjFJY0JPSDBodThoOFl5NzFiVXJmT0dBQUVDM0lGZ0hOUlRYUTN0VDAyZGJ0MnpJRkFvRUlUZURyeWNrS3Y2QzFvU0daNzcrZ09LV2pRMW44dlRJVEhrY3hETTFnWUZqRmkvNDRBR2VUMUp5bktSejluemNLR0FCbElHU2JnYXpSZkozcTZaazVZNlozdTRqMTY3VTNSbXdrMVZWVkNqZnVPbnc0Y1pvNE96VXl2Y2EydktxQnRaWUk1QUdNU241Wkh3ZkFHRUIyQjZnZE14QjZ3RHV2di9iQUFDQ3RxYldGVmhleHNiRXAzYkVyK2tGZVhwNlZuNDhQeWN6SVZMalJEaDA2RUw5RjN4U2VWdXNpdUZsWVljajV1UndvQUVNcXIyTHRCTURCS0hRTVUvUXJVTi9YM2JkQllOQzB0RVB6TlNBd01OVjF4SERMMEdYTDFXSjI3MWJjeEJNSXlQZ0pFeVQyd3lkbmJFdXB0S2xxYUFOakZITUtNQ1h6Vlg0a2dJTktmeWhUTkEzNnNPbDFCOFlOVFdFOVBUMlNtSHl0Mkd1YXA5NkoyRmlGR3hLSnhXUnV3RGQ1KzByTkRIS2VQTlhtL1B5SVdualJ3SkFhb2t4eUFZTjZCcTBoQnpkMzk1eWhMaTZkUnJxNmtwb2ErZmpYcWxVcjRqbDkrbE90L3FQekRxU1ZXdkk4OWgyUU53RHlVTWx1QlpVL2JyaURMQm1VZnF2ekNmRVptelpFV01zN2xhMWN2YXJtaUVhZnF2c2x6OVE0UDJIb2ZTb0E4ck9TemMzMC9MUHU1dUpTN1FxVUV2Y0pFOXZQOC9XcGF0dTJyVndOYkkyS1VuR3gwc3JpRkNkUm4wRUp5Z3NJeVN4RlJ5ODFKVVhybDUrUFp3WXNYaVJYQTdkdjNTWkY1dzVZZDlCVksyZUtjU1hUWE1uZUYrZGdPbU80Q1hlemdDR1E3emwxbW9rOG9SY01hbTQvZUN4cjRRMVZkbEVMdlc2SGw2WHNyY3c3NGNqeEluVmJhOUgwSFpHWm0zT0dVOGVGMUczbzBLZmZpbjJaQWZWMmMrclpRbllDeUlBV2VVR2RHQ2pIVlZGY2RPTWFNNFZBOTBqZGNrUVUxTDNIMHovOGZvd3phdEFpREpkMGc3b0ZuSHBvRk0wQzBtT0tnK3NGTVdGS1EzTTJwckt5a2t6MzhsSmRFaEpNTkRRMFpES3B2THljUklhR1dINWlyWnZMRkg4STVQNFNCMVUya0JGbE92cGkvWGpxb0pmZmlUSmNuK2FEZWVwTnB2V3dEb2FMZnFMbEdKSXlwZVVzV1dPVUNTZ1FKdzFnYmhjT3M4V1FmVUFkVytrejdhVWhMcVlldm1zMkJaOXR2eU5mZEJrUi9QTnMzQm1qZ2djUDdualBtaWtYbDg3RXhaRk9lUWx0ZEZzSldBa0pCUi9DdUJuU0lBS0tBc29HZWdaVUNaUU90QWJJa0pGSU52WGt0UEVPU2l4UDh6MDQ5VkRpeHJOcUUwYjFZeWpYcE5Jb1RSc3BzQ0pxYVVxVERnV1dUUU01RHJVMHZjdXBoNXRMcE51dDJJMzArZzJBQWFsQlVmT3A5Y0ltVDdHWjZPNWViQ3NTeWNYUVpVRkIyck82YUtTd29US2dWUXFDZ2xKMkU4TTFkQlFMS1lOd2xPSW8yWXYxZ0hrWnBHNkpnSmZoMkgzbStnUnpMWVozNkRMM24xSEprNFpzcEJzR0RUanRQWVozUGdGS3BmRTlObWswQWN6WkpvQ1pSSE9NRTU1azIydHNQUWJYWGk0V0ZSV3ByZ3dOZTdSMCtiTGE1VjlacWFDZ2dKeUtYaS91MWs2emlDa2VDMUxqTENjb2cybThEc0ZBUzg4UnFBMDFUS1RKa2FQSHBNa1VubTlIMjlIaFNFRW8xUzlTZzRlZFVqeVk2eCtCOGRtTkFjTmM5MmF1Sld6SUI5NHRZUHFJRFArRkR4aW9od0hkVCtndFRwMlZyTnJtQlFha0JqOENvN0xQdG0zWlltRmkwajV6OUpneGNvMzQzZEc3aUl0R3JrUW9xQWZrSmdCSFF3WW9tblJBU1BzMEdwaDBEZ2lqQm44d1ZlODFBZ3o3NFYrUnVnVXlUS2ozNGpodDlLTHZ0SUtNSFRUaHpEVVhtSkZRZnc5UUVwM1dDRzN6Qyt3bnB3OXQ2RFZLUGh0K3NvZm4xWmcrU2pmTzcrRVlHSHFOcm1BQ09CaERDMFhmeG0zQ2hIYnovWHpsOG0ydy92TEZnVWJ1NytpeDIyUndHbG9vNDlIUnpIeWJnMG9ZUHNJTkNEZFhmTXNaL1kwQkk2YjVWS1lzR2hoWFE1bkUxVWR1akdVYUQvVitiUUtZWHJTUFVtbkQvUWc3Z000M01ZMGxBR1V3OTBJNmxhb3drdnFJTVRaa1RtVi9tMjNZTVBnMjJySEhmOGxReExjcFBMZmZ5bFNubm0vakExSmozOFJqN0M1TDFDM3hWSUpHVVNuQ0l4cWpnSG1SVEQxY01tQVh2bXpobzlFNmsxcEpDTWdXZW4yTk0zTFJJcHJZaUxUd0FSTktsVHllN2NtajFwTS8wTy9RbG5VandGd0FTcVdtTWp0NCtsSlRHbE1NZkZNbEJWcWF0Sm9FQnFTbVFqcjZGZ1VFaUp5Y25QTDdPVGpJQmM3YU5XdUUweXdxV09XTUlyd1J3R2xNV1lrNDh6bHU0dnNSS0lpYXBpTDRnQVBzQTNDUHl2b1NVNFFtNlFUbS9palV5YUhYaVN5QWxJR205QjVCUDh6cFQydk9QZW9mOUZrV1VsZEFtdERxOUtOVG81Q3hCSEZReE5FKzNtQUhCZnBjekgwVVUxLzJWTWJ4YmZaUTMwWVFCTDROT3FEeStEYWJ3MElzUDdiV1pZOVJPSEJHS1p1ZU1kY3A4RUY5Z05CcERBUTZEOVRZK2drN25hSHlkMlh1MXpQWGlSd3JpbDNaWE1QVFBsZGkvbVN1Y1pNSXUzSm93MHlSVXQyV1JQV2pWTExadWlQcDlSV29Jd1dOVmY3cTh1NHJROS9tTWZnMnhtQjUzWjR4MDF0dTM4WXlMOEZRcDc1dkUwYlB0elNZQVpuclBqRDZGZ0NwTThaQk82QnhRSjJiQUtZUE05TFJiRC9GU0ZjbWg3a3V6QnkvZzZjL3ZNQlFpeStFVWR5WXBDZXRuUnN4MFpNNVU3WVpSMXE0L282MlhNQ0ExRHlBekpmNk5yYnVreVlWMjlqWXlPM2J6S3p2MnhqeXpPZUVLbmhXYXZEamk0RVJHVUQzcWM4U1RRMEpObDJtL29kMHVwU21EVlRwazBha1J1bzhib0o2cFhJQWt3ajl5S1ZBc3ZzRzB1aDB5elhsVHpVQ2pOU0NLdVU0cW16U1ZXUW5KcUtiOExkdnMySzVYQStoYnhNSHZzMjdSaHFQbU9KeElEVk9ISDJSU08zNlRBN3pyS2p1d0ZURXNYSUlaZXBsem12eFhUdDV1aFBQNDV1c2E2VHJYR0RNS0treEVva09iM2Zvd3g4MGd2QWhNL29UbUdkdlVIK0hUZnZndWIrWWUxYjVDeFRhdTJ4cFpvNWhEbHkzRVY2OGxKQ3hidTFhNisvMjdKVWRLUVhuZE1lKy9RWEw3aG9iTTh2Tk9OTGU1ZTZPb2Faa1Y2b2tOYWxTZkV6OWtadndNVTk1ZkNCa29nV3JBN2pCUWtZNTJ6TytVaDdVZTlpSVg5V1JHZDNjbEEvUDVmTTgwNVhHMmtyaDl6UnVtSW44ZjNkbzdaaUNPc1hNNzIyWUtlNlp3cHZLQVJ6MHd2MXRSYUxTZmQ4ZlVIZDJIQ0FFS1pMNW5KMjlIWm13YWs5YTFJMG43QndZQk1BRUtvUDhEVk56enNmZ2ZKcUp2czNKMk5pTWdFWHkremFQenUyM0JOK0dsUkJmbU5Mc2xERHd6RExOZVFpa0JtTmFzYmdrY0RYNVd2N1VTWk5OTGw2NElQTTVYTGZaOXVPeHJJQ2I5ZFp0MEhOMlZHN1NlSDZKUVNzTlRjRzlGUlVWWk9iMEdZTGdwU0dLK1RaV3V2Zms5RzJVRXRNTXFVRm5EbmM1R254LzhPRHR5NWNTN01CYWsrdloxZXZXbGU2VXZLZFY4bFNpd2xoUjR1ZlpTUU5UWW44YU5tbkhIUStvRTZIdFF5MENHQW9PaG1zMnRtM2J0dnJDcFlTeVlSOFAxVTFMazNtK2lCZ2JHNU1WZTQrbGhDU1ZzV0dZWGNDODhjMEFSSitKWTNIVFdWSzNXVDN0VFpPWTV6MGNpMnNubHdvTEMxVlhoNGNYQmk5YktyZHZrM3hzcjZpckROOUdEbEErbzE0M0Z4VDBDWEFSYXVDYkNNcHpBd082UmtKalRsVlJrWnN0emN6TU1rZDk4WG5UTHhRSXlFUTNOK0l4eWFPaS9kMUxlWnlmSTREWjZuSUFZZ0wwQTZrN2RXYktEVGJTYVhITG0yeFF2S2h6L2hnRzhCV0p4U1Y3OSsvVGNCNHdVUGlJeDdmQkplb1ZZYUdrZGV2VzZWK05HOTh4Snp0Ym82UG51bHNhbGwzWjVRQThrckc0RVVDd3YyNDBwS1BQK1JuRE5uZzA4R0NMdGNwNEVwNnB6MHE1YzBmbjFNbVQ2UXNEQXVyOWlOdG9aOCtkU3c0Zk8vclgwY05IY2dZNDlPK01vR0JZNDg4ek1mNVUrVXVUUHdBZzRnRkZldVJ3Q3c4b09LWGF2eTJndkRDSm9WTHpFV1RIcGI3TlpIY1BrNFQ0K05yL2hsa1d1b0tVbFphbWVFeDBzMzc0OENHR1JUQmtqbElXZ21zK3dQVGFqZTBjcFkzNm9RWitxM2Zra1BOYVhJVENZK2JubGVaeTArQmd0UFJ6SjJmbmdvQkZnY1lKOFFuRWRjVHdRcCs1ODU0ZVBYSkVxZ3R3QWN3REFMbkJtYUtRdWV3Q0ZQbzIxNm1FY1A4a0RvRkYyM3pKeXppSjlqWUNZMEo5RzMzUU5hbmxaZVhWM3RPbjI1V1UxUDZsQzBhQjhmOW0xZ01vMVR4VEZlb1pESTlMbzdlNEhJdUdBUGU4SnY2cGdqc0E4cnZTd1d5R2I4TXB4Z00zVXdDUUhCbldWakFGank4aFVLaTh2bjFiL3NYdlZRT0RCZ1d1UmVCcUlwcG1zd0dRWFhMNkpXZ1E0RzRXN21JWWJvYkRrMmhaeXBETTg0R0RlNnR3L2RrZlFGRW96RUkzQjU1a1FqVnpBSkNkeWxqWmE1QUFuQmlxVy9Ba1dnRnBnZWwvQWd3QW5iWXFROHJndE04QUFBQUFTVVZPUks1Q1lJST0ifSwic3RhdHVzUmVwb3J0cyI6W3sic3RhdHVzIjoiTk9UX0ZJRE9fQ0VSVElGSUVEIiwiZWZmZWN0aXZlRGF0ZSI6IjIwMjAtMDgtMTUifSx7InN0YXR1cyI6IkZJRE9fQ0VSVElGSUVEX0wxIiwiZWZmZWN0aXZlRGF0ZSI6IjIwMjAtMTItMjEiLCJjZXJ0aWZpY2F0aW9uRGVzY3JpcHRvciI6IlRydXN0S2V5IFNvbHV0aW9ucyBUMTIwIFUyRiBBdXRoZW50aWNhdG9yIiwiY2VydGlmaWNhdGVOdW1iZXIiOiJVMkYxMTAwMjAyMDA4MTQwMDIiLCJjZXJ0aWZpY2F0aW9uUG9saWN5VmVyc2lvbiI6IjEuMy43IiwiY2VydGlmaWNhdGlvblJlcXVpcmVtZW50c1ZlcnNpb24iOiIxLjAuMCJ9XSwidGltZU9mTGFzdFN0YXR1c0NoYW5nZSI6IjIwMjAtMTItMjEifSx7ImF0dGVzdGF0aW9uQ2VydGlmaWNhdGVLZXlJZGVudGlmaWVycyI6WyI0NDU2MWE5NWQ5YTI2NjRkMzJhMjY3ZGJmZTg2Y2UwYmIxOWU1OTI2IiwiNDJkYjI0YzI2NDRiZDBjMzA5NDhhMzNjY2MyNjYzNWQ5MWRiZTQwZiJdLCJtZXRhZGF0YVN0YXRlbWVudCI6eyJsZWdhbEhlYWRlciI6Imh0dHBzOi8vZmlkb2FsbGlhbmNlLm9yZy9tZXRhZGF0YS9tZXRhZGF0YS1zdGF0ZW1lbnQtbGVnYWwtaGVhZGVyLyIsImF0dGVzdGF0aW9uQ2VydGlmaWNhdGVLZXlJZGVudGlmaWVycyI6WyI0NDU2MWE5NWQ5YTI2NjRkMzJhMjY3ZGJmZTg2Y2UwYmIxOWU1OTI2IiwiNDJkYjI0YzI2NDRiZDBjMzA5NDhhMzNjY2MyNjYzNWQ5MWRiZTQwZiJdLCJkZXNjcmlwdGlvbiI6IkV4Y2Vsc2VjdSBlU2VjdSBGSURPIFNlY3VyaXR5IEtleSIsImF1dGhlbnRpY2F0b3JWZXJzaW9uIjozLCJwcm90b2NvbEZhbWlseSI6InUyZiIsInNjaGVtYSI6MywidXB2IjpbeyJtYWpvciI6MSwibWlub3IiOjB9XSwiYXV0aGVudGljYXRpb25BbGdvcml0aG1zIjpbInNlY3AyNTZyMV9lY2RzYV9zaGEyNTZfcmF3Il0sInB1YmxpY0tleUFsZ0FuZEVuY29kaW5ncyI6WyJlY2NfeDk2Ml9yYXciXSwiYXR0ZXN0YXRpb25UeXBlcyI6WyJiYXNpY19mdWxsIl0sInVzZXJWZXJpZmljYXRpb25EZXRhaWxzIjpbW3sidXNlclZlcmlmaWNhdGlvbk1ldGhvZCI6InByZXNlbmNlX2ludGVybmFsIn1dXSwia2V5UHJvdGVjdGlvbiI6WyJoYXJkd2FyZSIsInNlY3VyZV9lbGVtZW50IiwicmVtb3RlX2hhbmRsZSJdLCJtYXRjaGVyUHJvdGVjdGlvbiI6WyJvbl9jaGlwIl0sImF0dGFjaG1lbnRIaW50IjpbImV4dGVybmFsIiwid2lyZWQiXSwidGNEaXNwbGF5IjpbXSwiYXR0ZXN0YXRpb25Sb290Q2VydGlmaWNhdGVzIjpbIk1JSUNrakNDQWptZ0F3SUJBZ0lKQUxsaUt2cUdId094TUFvR0NDcUdTTTQ5QkFNQ01JR2xNUXN3Q1FZRFZRUUdFd0pEVGpFU01CQUdBMVVFQ0F3SlIzVmhibWRrYjI1bk1SRXdEd1lEVlFRSERBaFRhR1Z1ZW1obGJqRXpNREVHQTFVRUNnd3FVMmhsYm5wb1pXNGdSWGhqWld4elpXTjFJRVJoZEdFZ1ZHVmphRzV2Ykc5bmVTQkRieTRnVEhSa01SNHdIQVlEVlFRTERCVkZlR05sYkhObFkzVWdSbWxrYnlCVFpYSjJaWEl4R2pBWUJnTlZCQU1NRVVWNFkyVnNjMlZqZFNCR2FXUnZJRU5CTUI0WERURTNNRE13TWpBNU1UVXhNRm9YRFRJM01ESXlPREE1TVRVeE1Gb3dnYVV4Q3pBSkJnTlZCQVlUQWtOT01SSXdFQVlEVlFRSURBbEhkV0Z1WjJSdmJtY3hFVEFQQmdOVkJBY01DRk5vWlc1NmFHVnVNVE13TVFZRFZRUUtEQ3BUYUdWdWVtaGxiaUJGZUdObGJITmxZM1VnUkdGMFlTQlVaV05vYm05c2IyZDVJRU52TGlCTWRHUXhIakFjQmdOVkJBc01GVVY0WTJWc2MyVmpkU0JHYVdSdklGTmxjblpsY2pFYU1CZ0dBMVVFQXd3UlJYaGpaV3h6WldOMUlFWnBaRzhnUTBFd1dUQVRCZ2NxaGtqT1BRSUJCZ2dxaGtqT1BRTUJCd05DQUFUbW45MUVJWVZmNURUMHA5aXBjM01vYmZ3S2FyblA5ZE04Y3JNU1pOUFh5WXYwSDczOHVLakJubmxDcnEzM0lURHdDT0RTbFVhRHc1MEluam51NXlQQ28xQXdUakFkQmdOVkhRNEVGZ1FVcklrdkQ2ekxpRHVjZGhObkFxbG1ySW5ObjVzd0h3WURWUjBqQkJnd0ZvQVVySWt2RDZ6TGlEdWNkaE5uQXFsbXJJbk5uNXN3REFZRFZSMFRCQVV3QXdFQi96QUtCZ2dxaGtqT1BRUURBZ05IQURCRUFpQURkWkJTeTU5RjNkemMrRXZVOUpDdjNlSEp3K0FpdkJYVThINDZlNmVwOUFJZ1V0OS9BZy92VEFqSWtLdElKcy96YkhhZkRjSm1ybnlVL1pQMTE1T2JlbjA9Il0sImljb24iOiJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUl3QUFBQVlDQVlBQUFBb054VnJBQUFBQ1hCSVdYTUFBQjdDQUFBZXdnRnUwSFUrQUFBRklHbFVXSFJZVFV3NlkyOXRMbUZrYjJKbExuaHRjQUFBQUFBQVBEOTRjR0ZqYTJWMElHSmxaMmx1UFNMdnU3OGlJR2xrUFNKWE5VMHdUWEJEWldocFNIcHlaVk42VGxSamVtdGpPV1FpUHo0Z1BIZzZlRzF3YldWMFlTQjRiV3h1Y3pwNFBTSmhaRzlpWlRwdWN6cHRaWFJoTHlJZ2VEcDRiWEIwYXowaVFXUnZZbVVnV0UxUUlFTnZjbVVnTlM0MkxXTXhORElnTnprdU1UWXdPVEkwTENBeU1ERTNMekEzTHpFekxUQXhPakEyT2pNNUlDQWdJQ0FnSUNBaVBpQThjbVJtT2xKRVJpQjRiV3h1Y3pweVpHWTlJbWgwZEhBNkx5OTNkM2N1ZHpNdWIzSm5MekU1T1Rrdk1ESXZNakl0Y21SbUxYTjViblJoZUMxdWN5TWlQaUE4Y21SbU9rUmxjMk55YVhCMGFXOXVJSEprWmpwaFltOTFkRDBpSWlCNGJXeHVjenA0YlhBOUltaDBkSEE2THk5dWN5NWhaRzlpWlM1amIyMHZlR0Z3THpFdU1DOGlJSGh0Ykc1ek9tUmpQU0pvZEhSd09pOHZjSFZ5YkM1dmNtY3ZaR012Wld4bGJXVnVkSE12TVM0eEx5SWdlRzFzYm5NNmNHaHZkRzl6YUc5d1BTSm9kSFJ3T2k4dmJuTXVZV1J2WW1VdVkyOXRMM0JvYjNSdmMyaHZjQzh4TGpBdklpQjRiV3h1Y3pwNGJYQk5UVDBpYUhSMGNEb3ZMMjV6TG1Ga2IySmxMbU52YlM5NFlYQXZNUzR3TDIxdEx5SWdlRzFzYm5NNmMzUkZkblE5SW1oMGRIQTZMeTl1Y3k1aFpHOWlaUzVqYjIwdmVHRndMekV1TUM5elZIbHdaUzlTWlhOdmRYSmpaVVYyWlc1MEl5SWdlRzF3T2tOeVpXRjBiM0pVYjI5c1BTSkJaRzlpWlNCUWFHOTBiM05vYjNBZ1EwTWdLRmRwYm1SdmQzTXBJaUI0YlhBNlEzSmxZWFJsUkdGMFpUMGlNakF4T0Mwd05TMHlNMVF4TkRvME1EbzFOU3N3T0Rvd01DSWdlRzF3T2sxdlpHbG1lVVJoZEdVOUlqSXdNVGt0TURVdE1EVlVNRGs2TXpNNk5EY3JNRGc2TURBaUlIaHRjRHBOWlhSaFpHRjBZVVJoZEdVOUlqSXdNVGt0TURVdE1EVlVNRGs2TXpNNk5EY3JNRGc2TURBaUlHUmpPbVp2Y20xaGREMGlhVzFoWjJVdmNHNW5JaUJ3YUc5MGIzTm9iM0E2UTI5c2IzSk5iMlJsUFNJeklpQndhRzkwYjNOb2IzQTZTVU5EVUhKdlptbHNaVDBpYzFKSFFpQkpSVU0yTVRrMk5pMHlMakVpSUhodGNFMU5Pa2x1YzNSaGJtTmxTVVE5SW5odGNDNXBhV1E2TWpFNE5XWXlZbVl0T0RWbU9TMWpaalEzTFdGaU9EY3RPVEZqTTJJelpqQmlOemhsSWlCNGJYQk5UVHBFYjJOMWJXVnVkRWxFUFNKaFpHOWlaVHBrYjJOcFpEcHdhRzkwYjNOb2IzQTZaV014WlRnM01qRXROek0zWVMwd05UUmxMV0V6WVRrdE5URmtNVE16TkRabFpUSTVJaUI0YlhCTlRUcFBjbWxuYVc1aGJFUnZZM1Z0Wlc1MFNVUTlJbmh0Y0M1a2FXUTZNakU0TldZeVltWXRPRFZtT1MxalpqUTNMV0ZpT0RjdE9URmpNMkl6WmpCaU56aGxJajRnUEhodGNFMU5Pa2hwYzNSdmNuaytJRHh5WkdZNlUyVnhQaUE4Y21SbU9teHBJSE4wUlhaME9tRmpkR2x2YmowaVkzSmxZWFJsWkNJZ2MzUkZkblE2YVc1emRHRnVZMlZKUkQwaWVHMXdMbWxwWkRveU1UZzFaakppWmkwNE5XWTVMV05tTkRjdFlXSTROeTA1TVdNellqTm1NR0kzT0dVaUlITjBSWFowT25kb1pXNDlJakl3TVRndE1EVXRNak5VTVRRNk5EQTZOVFVyTURnNk1EQWlJSE4wUlhaME9uTnZablIzWVhKbFFXZGxiblE5SWtGa2IySmxJRkJvYjNSdmMyaHZjQ0JEUXlBb1YybHVaRzkzY3lraUx6NGdQQzl5WkdZNlUyVnhQaUE4TDNodGNFMU5Pa2hwYzNSdmNuaytJRHd2Y21SbU9rUmxjMk55YVhCMGFXOXVQaUE4TDNKa1pqcFNSRVkrSUR3dmVEcDRiWEJ0WlhSaFBpQThQM2h3WVdOclpYUWdaVzVrUFNKeUlqOCsvMFZ4UlFBQUdmVkpSRUZVYUFYVndYZmNuM1Y5Ny9IWDUvdjlYdGR2M0RzN0pKQUlBVUxZQlptQ2ltRFZEbGZ0dzIzSHFZdXFQVjBXdGRiV1I2M25WRzJybnJhT3RzaERyUlVmUFIzV1dTM0tWaEFaWVFvRVFrTFduZHp6TjY3cituN2U1MDRpS05XTzg1OCtuMm51aXNTL0ozRzhZWmVaMlpURUltRDg1K1JPTzBaU1VmaUhKUDZGSHlJRVdCakF3ek53Nm9iSTNDeWtDR2FHSk55aExNV3dnbnJvcE5KSUNCTlVjb29pME84Yit4ZkY2UExBcUlNY0dvZDJXK3pZRDlGZzQ5ckFnYjFpMFRKVEhXR0N1bzZVaGVFSmRpOW1WclNOOGNLWXE0MmQrOFNLQ1NPMmdBd2RJQlFRVFB4N1psRFZka2tXYnpUWmNLVEkzZGh2dnJHbHVlTTlkOFVUWDBScitqbW95WUNRT01Tc0JMcEFBakxRUnhwZ3hvK1JBbWxyNG9jSVpoZUdrRjVsQnBMNHJ3aElDWExEZkgrZ0R4ZUZrSGdDQ2VTd2Y3OGhFei9Lak1QRUQ1SWdSWHVSdWYyMHBZQlpRNzJmN1N0R0gzWW1UdnhGTWhjZ0F3bGlBUkxnR1d3R05BZldRcXdtaHNoQmNuNHNHT0ErbDhxQ3h4bVFCVTNEU1pJajhWOFRZRkMwallVRmJlMzFkUDJ5NVpBelR4QVM1TVpBZ1BHanpRQkIxWUR4QTlaWjBLa21jRUhJbWM5M0x2aTNIZkhJa3FaZWpUSWdNRUFPN2w4bnhrOGgzWUxuM1lRMGp1c00xTHlPRU01RTRzZUNnT3ovbFBZY0VJOXhRVHR4eEhnM251a1lJTDVyRWRnT0NDajRmZ1lTc1I1cVJhZWpxMEppdXFwNGdoUU5MdzFWNHNlRkFLOUZNcjVIUUxUalFneWJNY2lOZzdIbjFwV1hmT09oNnNTTDhQa2pNUWRMWUdHYXdkN2ZKWFl2UjBXZkVNQUMxQldFNGxaNkMvOU1tZjZPY3VUcFNJRDRrV1VHMG03RXZlbTJiYzVqaG8xWU94bVBPbk1UcDJhSjdJQ0JpWThKL1Q3UUFrWUFjWkFBUThFb2MwTzJ5TGJSVVVNQ001Q01kaHYyelRsa0kvSmpSR0FSUWhISWpYaU1HY2RLR25lTTBqS0lPeDZwVisvTFp1Y2o3eEFNU1B2bzZ4VjQ5UVhTT016Tnc4Z0VkRm93TXdNalk1RFNYcHJtclJUNkI0eFZpQjlkRWt0dUpOcU90SGMrOEpqK0VEcGQyeFRhakdnQUdlTWdkLzluWUU4STRJSVFRQ3dKZ0lNTFhCQU5tZ3lTa1IySzROejlJRHc2THpZZkxRcmp4NFlaTkRYMGVrNTNMQ0J4U0FwMmpwbGhnaFkxc3paeDAxWE5CWE1FdGhBcVFCVzk1aDAwNlF2RUVhaEp0TXVYVU1RWDBGUlgwMnA5aENMTm93Q2Vyc2Y4UHJCVi9LZkVZY1ovbnpqTStBSHVFQUwvSVRsZ1lNWmhCcTZiRVF2cFNVZEdIbFBWeEJWamRvNnk0UklnRU5zRU82SkJscEVDVkxVVGdoRkxRVFljSXlNS1FaTWhHMVFORktYNDVqMWlZdEpvSlVPVitDRU1HQUVDTUErSS93OENYR0NBTzFqa3Y4MVlJc2dPRW9lSXd5eEFYWW01L2M2cWxZWm5hREpINWN6SmhJQk1tT0FoMy9qbGdYVldRejZSWURBWVhzdEMvUmQwbGtNNUF2STNVSFRmUndCcWZ4NGpvMXVCTDJJUjZnRFpHMElBQk80UUkyRGdEaVlPc1FSeWtJTVpQMGpnR1VMaWNSWUFnUXZNT0VRQ015aGE0Qm5rUElFRUZxQm9RYTdBSFVJRUJEbmZpY2pwcEVseGlJREltczZZblprYmFESllNRHo3M2NnZm1Xa0NSWUxKQ1AwK1dBQUtIbWVBWkVnUUFnVGprTkUycEFnU2h3aklBb3pqZ1o5Qk9rK3d6c0JjN0FPK2d2aWt4S1A4SndTNEdERzRLRVhPRXF6cXRQQUEzekhqQzRLdC9CY0V5NEp4OFdpYk0ySmtLb29hZUFENEN1TGJHQlFseEJFalprR2Y5WFZ0bTRoZ0NJelp2K1hGRHowWU5wNk5MYXhFRG1YbnMweVpFeW9vMHhuSS9vaWNvYWtoUk1CZWczd1RVa24yMVJnbkU4UWhyUTRvZzJjSGJRZjI0cXdpMkhxU0JScUJBRE1lNXc2cGdNNFlESHFRR3pDRGtDQVZNT3lCSEN3QUFnR3hBRGw0Qm9zY1pxQU1DR0lMd2poVVBhRnN3QTZDN21GSm1ubFVIT1FaV2wxV2o0eXlSVUVna0J0bHlUMnRxQU43NTRXNXNXUkNjS3JnRExEamdPVUdDb0dkR0xjQy95cDRoQjlHRU9DWXFYWjRiVzdzUmRGMEZHYUdJQU1wUXNDZVpZRmZNN04zQ1A3YVFId2ZBVG1yUlBaTHJjaXZZR3lXV1ZlQ3RaTWdsNXJLM3BTaVBvYnpoOENBN3lNZ2kxR1pYZXB1cjR6R3BnMnJZbG5YQWplVWhEc1BXZVRQTGZMSDFVRGFmbSttTG95UnR2M0VaTmNtcXl4YU5DQnV2VDZldXdQeE10UnY0K3JSRzl4SU11ZzBNTlFCTE54UGEyUUx1WUZxQU1UbkE4L25vQ0lBeGlFaGd1Y0RMUFkrVGpQNEV1Tmo5K0RXSjRSQU5YTTZkTi9DeUxLeldKd0ZieUJFUUJCTFVJREZtUWR4WFVjcTdzVENnR0gvS1Bweno2QXplaElHTkEya05uamV3ZmJiUHNyWTZ2dG9UejRmYTE2SUJjZ1pXaU9RNjBmWWZ2K0htRmh4QjkzUm44UHp5M0RkanJHZEphbTdNWENRQkVYa0REUEdjZ1VXd1hBR2ZWMWZXMEJ1YXkzeTg3Zzl2OTIyRXcxYklUY3dnU0FGUThKajRINlpYVkZMSHdCbStTNEhBcng0OVRKN1I5a0t4dzhXd1FLUGs2QnNRUUdXemRZWG8vR2pkWk9qTWg4MkRwTWdKanRwOVVUODM5MWtGK2VHb2tqQ0piSU1seEJZcm5Wa3UydHZNdzlIbXZKckJRT1dPRkFFVGxuVkRoOXNXYmlnY2NOTTFCbkVraUFra0xFaEJIdDNHV3dWbWQrOGQ1dnp4ZS9FOU15ejdjeUx6NGZxRVNpVjJWbHMrUHllWW0yUFBrL0ZNc2dIRFBveldJQ3FnbTduQVR5L2dOazlyNkVvbjBkNzlFazBGWWNJQ0FIRUVvRVB2OHFqRDd5VFZjZGR3OFI0UXpXQUxCQmcrV0ZtRnIvS2JITUZVK1h6Q0FteWd3VW8weDcyUGZTWFBIRG4zN0xsS1E5aDFpZEV3R0ZtMXlvNng3eVZzdnRHNmhrd29EUDZOaFptTG1mWnhoWXBYWXpYSUFHQ2FDQzlpMTc5RnpUWFFUcmhRc3BONEl2ZkF1WlprcnBkY1pDZ0UyVm5lelpjSW1LME9ueDFkdGIrTGplNmVOVUsrMkRDanE5ZGhCQzA1QURTaUFYS1ZqU2FSalFpeEdESGdyM1Q0Rm5BcjBwODJ3V2R5RnRiSStHM1RUYmV1QkFRZ0JBTjVQTWpMVDUzeDRPNmV0c0MrODQvd2RaT1lpOXRpTzh5eTdjaTNjaEI0dHhXeXo0UzRjUWlRT2c2dlI1N1RGeVZnanlZWFNSWTFRQU9kR0o4cWFSckpQdG9VM1BRdVNuWUZhUFJObVdEakREWVdkVit2Um5aNEd3ejIyQkFOWlNWbmZpcW80N2xzNVBPVmZQTGJPMktVZHRNWDJBR0JRdzZFOWMwZCsxZHhkcmpOdEZPb0RoQ1ovOTU3SGhnSzBlZkM2RUc1eDRHaTc5T1NoOGdwS2NSL2Rjb3U2ZlFuNGZza0NKUS96M1ViMkJxelU2YVBvd3NPNWJoNEFKY3UvRG1xN1FuQnZTWlovdld0ek4yN0dsMEp6Y3lXQVRaOVZSemI2YmR2b2JONTRxaUJXcWdHb0lpdEVmM3NPZkFteGkzU0xkOUtWVi9GNjN1VnpqNkxJakZPbFJkZ0FVUUVBTU1xM3ZKZGhWcjFrSnVMY01tbjRvcW9MNFpQSU9SR0hDSUdWTkVUaEpnQnRuOXk4TUJyeDhkczdjRmhYZDJvaGcyZm1QTytuU1EzUXkyRDlOa1U5a3BpNDIvb0d5Rmk4cElrQXR2eE1TWW5SK0srQWtMell0RzIzWkJ1d3h2eXoyMTYwYVlRWkZBVVBWNy9xbWlzRDluVkxmMSt2U25lNDRzUU5ZVmplenRwZkhVUm40VHNNNHN2TS9FaVNIQlRGLzloVVg3MDdLdGo0NjAySVhJTjl6VmJKNGFpKy9mY25TNHNCcUl4bFcwWTN6ZHZnVSt1bTNhanpqdEtQNE1iRk10a0duT3M3ODNoUERKRU94UlNSZ2NpWGdieGtzRmxxS3RhS2Y0d3Y1UVY1MTZySjYweWptaDJtOVlFSlRzZm85ZS84aDlCemFld1JIelU0UUNGRnFFOEFhOHVvbWl1SVdtRDU2aExNRGlnN1JISHVTV2E3L0VzUDlSVG5uNnM0Z0dpL1cxeU41SUhPeWtNN0dNaFlVM3M3ajRVc1JxaWxBZ1BrNk92MDY3M3N0UjYyOG5oeHZJMmtoMy9DYm1GMStMdUkzeE5lRGg2VlQ5VnlHT1JQbG1HdjlUSmxidHhJRDU0Vi9TYWo4WGZDZHpleGV4TnRUVldVVGZnQm1ZUVREb0RYZlEwelltV3BBMm5vUDdDZmhnSHlIZmpvbURrampNeFBwQU9BNER6OXdnOFg3VityMlJUbno1WXEwSGRzL2xQeHdwN1RQQm1PTzdna0hsWEh2M3cvNnhpU24vK1ZNMnBiZFhzL1lrajJJNEVLRUtXNTU2VXZIbG1KaW9lbW9yYzBnclFRT1BIaGo2VzJuc2I4cUN4OFVJTVJpNDl0ZFpmMUFVWERCV3BvbUZTcjlsRnM0SkNBdk03WnIxUy92emZIekRlc01NRURSdXQ4NzNtcmNvcC9jRVdCOER6WFJQOTMvcU9pL09Qem45YW12VW5yd3dDNWdlOHRwZkJYeU5KN29iOUR1WW5XallhWjdGWXJaTk1jTksySktDalZkbWRCbkFnQnNmMGhIYjJMTHVkYVFESTFRVnlLQ3o2bVNPbWZvazduK00vRXQ0L1FpdFVlaU9nemNnN1dEWSt6MXlQb21pWEU5amY0aHBCNmIxcEhnNTR5dWZ3WEFBWmhBTlhDK25hbTRsOEI2NjQ5QktCOGdMTU5kN0o1VnVvNHFSRWJ1TXdjSnZZMkVNaTFDTVhvU3FEdGhseEFBZHpkSTBleWs3MzJJNG5PT3V1Mkg5NnROWnRUd3hyQ0FZeEFRTCsyL0NyTS9vYXVoVlQ2WlZkSmh1cnFldEEzUWlPS1FVamU4NnhZd3B3VTdIcjIwbmUwdjJkRzQvNit2dS9pcGdHOTlsZ0ZoaUhOSTR2VWE2SFBkdjdodndpYkZPT0RVQnVSSGpJeHlSSGVvR2drRU1zR3RHMzg3QjMxaDI3R29KRU9EUWJVTzNNdTdkbmxuWkVXWEJWTHNkTzVZNVhoNWVvQ2lLQ0ROeitVUFQrL3pqclpTUXdJQTZ3OXBKWnpEMGF3ZnorZWVTYVN3bWNwWFpOVFZxcDY5WlliOGlCOCtPUjk2ZFV2eGFNRVlsR1dCTFdKS0JBM0o5MjR6VFdPS29YRFNuSzl1WUpBUUVnd1BONk5XN2UydWd6ZG1RUVN3UjRORHViTWI5cjhqRlZxSStBZllab3QrSCtuRDBhU3o1QnNxMzBCdnNndkFObWozZ2ZoUmgrVFNodVJKNUJZaUdBaGdoNkI2S0JBYXNXSDQ2WDcveWMxanJLK3g3QURZKzgrWEUrQWNJd3dSaVNZWjIrVXRJWjFBM014UmhBbWt6bG42ZmJkc2FSSWVpT0pXRERKQkR3NEQyMkxjWTltQjJEa0o2TXJSZ3FuTXpUWDJBYkJ5VWtGalN3dXgwQ1F5ZmptN1BEZU5oMDZEVUYxcDl2WnpHcHVXQVFBWVpNTUFNM0NFQTNUWlFzSFd1MXMvVU1mL1ZVZDF3U2IrR1FRMEdtRUdJUUFwZmYzUi9mdTNLRmR6bEFqTlFnR1lJSjIyQVpwdjQwT2Zod2pNRHp6M2RMdDI1eCtSbzQrcmx0aXdQSVhTNHAxM3lKMVB6UnJzRnFRVjFBd1owUzJNNEJFazdESkZsckJpTnhZdlA1NFZrVml6T2laQnNFZW1uZ0xNRTQ0RDRuaG9vRE03aUlBT0R4V2dVMFRoSkF0d2d3WmZqSlhkc0RTZTJDUGtJVkFNQk1CRFFERGtrZFU3RXV1K2lIcndhZUFtVG96Zmd3R0lGcUlmNEJLVlAweDlDNWpxOHVZNVE4RDNHSWNwUWxOQ2RXTW5ldmN2NDlyYyt5ckxPSWl2WHJtQ3l1SXpLRFJOZ1BLN0pYZUJjek1BZHNQc3h1NDJOUjRINzhaVGhGT29LTUVEZzdHQjBmQ3NSMkx2L0JJNVl0eGtMOEowYnI2TzNQeE1MRGtwa0RwcWswT2tnWXJDanJXTWo5KzNSVGRNTGV2VTRUSzhlZzdJRmJwQU5oQWhCV0FObWNNUnlZNlNBL29MWXZNeTMxemxlMld1NGhDWEdZV1pRTmY3My9ZcEx5NVoybFFGS2pOQUNCZWhWMENtRUFBZGl5WG5kYm5ycDF1bm1qOHBSemw3ZnNuYmR3TTU1djNyZGx2RG95UnNNR2pIWUFUUFQwRXF3Y3NLd0VGRXczQ0NIUUlUVjBleWlXdUFHRVViS0VIN2FBUW5NREFRT0dHQXNDWVlBQTVSOWF5Zlk2UWw3dW1TVTdScm1lSEI3L2FUYkIxUGQ1NUI3RzNETFlMczVyQTAyQVVUVWdBdFNzWkhzTDJiUGdSdG9IQ3h2QUZ0RHNLMFlNSGxjQzA4cnlMMkU2aHFMNHFBUXVyZ21pVVhCc1A4d3ZkWXJxUGJNc243bDFaejZIRmkyNWtKeTNzaGdIa0xnQ1F3UUlDQVZzREI3TGIzZWJsYXRoUkJQWVhiZkNnNnlDRlpBLzVFN0dlNituZEZUWU0yRzB4bHJIME52NWdCWC9lTzlQSHczZEVZNUtDbHcwTEdCY0NvWW9KRk9TK3pjbVQrOVk1ZTJyMTVoZER2RzJuRmpVSUVCQnBoZ1VJdDJhUnk1eXJoOXU1anRpUlBXOFJ5djdIZmRqSUI0VEREREczdjR6bDNEZld1bmpORldvaDJNSmtMdEVJRUE5SVl3VmpLKzZhajRmK2dxbkxaSk4yWEYxd3ptaFJWVURObmFUQU1tNmdYUnpCbXQwcEE3VlEycmxoYzBibVFYTVFuUHJPa05PYzZDaUlZSFdCQ3FCTWtNWTRtRXhZQWxvMTlsOVRtczdXYlQ5ZEEvVnJUdDlCaXRXMVhRc1F5SjY2NVpQSFVIenM5aWd4THhCb3lyZ1FJNEh2UUJ6S1p3UVZtQTVEeTg2eVlxd2ZJV2RPSUZNSElDc2QwRFFUVlloelZYZ0UxQm1BVnp6RWFBSTRFYVl6L1lES2s2RnpwWGNNSFBQa3puS0NDdHA5b2ZlWnlBd0NGeWlBa0NtZXlSMUxxZFhQV1kyUU5tSjVES2hEdFlnUGJZa01YWi80dEZpQ3VBQXo5Qk00UisvMFkybjdPTGRjZEJLamtveVFCak05QTFSQmJVaXl5dW43QzdqbDRMVDFwanpDN0FZQWhtUEVFd2tLQnFJRHNFQzc4STlxYzFqRWVFK0I1MzBXbUZYMTQybXU2cWMvNndBeGx3QVFZSXFneGpIVmE4OHFKd3hVbXJ3bW1QUGx5L2Vxb2REeVN6NVhValltM0ZpcmFXeis0V1FTS1pFVnFnaXNNRVRhT09qR3lvYUhmRmNORkdsQmtMTERFTGcreC9IY3cvVWdRN0tyc2lRZzRxWkhtMjBlNlcyWnh4U0xkcHZKMmQrd3JzOVRsRExBMEdrVVUxZHpRVHU2RGlHSkxOWTN3V3RBME1wUHVCUzhIT0JZRUU4NHQvUXRINk9LdVhRZjlSOFBaVGFZK3NZdmIrQllZek1QS2tmUlRsUG1JOEh4ek1RQWIxNE1zRXU1SlEzSUw3eTRpRDgwaGpzN2hWVE84QjkxdG90MnBTVE1oQUJqU1EvWE1VNVZmQmQ3TTQyRUlJbDdGbTVSeWpKWHppejZDdXR2UGNOMlI2L1VUVGg4WDlINmZWK1J1cUdhQS9UcTUrZ2w0RnFmVU5Mdno1L2FRQ0pBNUtKbG9XN0dRelF4SW1ZK2o2MW9ZanVOYk4yRGNMR0ppQmVKd0JKVEIwUVFyVzNiREMvcUFzd3B1R3RTWE1PY2pFZmhrZG9DUEFYV1BITEV2dm5lOWpjajVpQWVlN2hLaHFlOGJ4YThMN1d1dmlLZmZkblIvKzVqMzYwbk9lVHBoTWlneEFZSlY0YW94V0ZvVEtsVUVHQm5JSTBYN1pqSmNIVkFtYjJEL2pmemJSc3U4b1dkK3p1c2tnaS9ZZys1MmpJZDZKR1dZUWdleUJQWlhPM2RBTkZ3ZlJkVEVtK1R0YXBSOFJ6SjZSM2VoMHdmWTNmR2JmZWJkZGMrekxWbEZySTRPcURXcUR3QUtnQThCYndmOG5LUVZDNjFOVU01OWgxU1MwT3RBZnZaaWk5UUpNc0xodEdja2dObk5RL2pMS2QwQThoNUFYcVB0L0Q5MVBFRk9tR1hZSmNSbGlpVGFqWmdyM2FiSmRoL1JPeEcraFBFV0ljeWk4SDVwM0kxK2ticUEvL0IzV3JvVTdiempBby9mRDFCR3c3YlpQTTZ5T3BDak9vYW4rbGY3c0IybFBRUVI2dTA5Z1pPUmtIREQ3SnRVUXFpR1BTUmFZREdaUEZvY1p3a3lyK3hXL0dRd3JqRUk4cmhXTVpZS1Z3T2RkZk1oZDU4VEMzcmxxTXB4ZnUyZ2FVUVNqY3QwV3NGY1gwaXVhYUpmS1JSYTBJcU5sTjM1ZzZQNnpMbjBPN0NHRG84R2VFWU05blJERzZMblB6dWMzYlp6aW9lWkFYcWJ4c0sxVmhPWERTcGpaQmFYQ1I4ejBCb2M1bHJpelBKcTl2U3p0MGlvVE95MWpVR24yMFdtL3U3M0J0cmZhM0QrWXRaT3pZRFRaYTNwVm1CczI5cnV0a3NyTWtCaFBRYis0dmgxK1R6QmxCbG02eTR5M0oyT0YwQmFMUnIyWVNTVjNQYmpxS1YrYm1WdjNVOFRla1pnRDhkbTQzMDNPRUFPWS9SdVI2Mm0xQ3RBODFYNElVOUJVbXlsYjc4ZktaZVErTEgveVpSVERXNm1iL2VEVGlMZVQycU1NRm9iTTd4NnkraFRJZmpUVy96Z3huWXNERmk2aUdaNkM2ZDlvcFl6eHh6UzZpbVp3QkdPajkxT0gyL0RnWklkVytmc1U2ZTIwT3JEbm9ST3BkU1duUGczV2JOcEh0cmV4c0RCQ3F6WEh5Q1EwRGlIQi9QUkd4aVpYWVBWZWN2TVFNcjVmR2huVitvVjVPeTFFRG5GQTJIR2x3bHVpQWNaaHhpRXU3VFhaZlVMSGhFS1hFM2hhNWF5aWhtaEdBOVJaLytUR2I3am43OGo5RVN4ZUhDd2NEMktZUlRBcmtvWG51UGpKQUgyRHRvS2xnaVV5V1BSTEp6djZoMWdFRnFmWi84aDIvYzBKeDNOcVVaSnlBMlo2aGRBV0kveXJSTGRUOEV6SE5zdWcwektpYVdlS2VnbkdMUU1wRE9hNWNpVFl5YlVMaTJiZE12NUduWFdoWVZlRHVtWjJ0c3hPRzQxSzJhR1czU0RwSlJZMElOaDVZQWdEQndMM3JJcjdGcWs0RFV0Z0JqRyttZXgzSW4wUk04aUNmak5nY0dEQTdDT1FhNUM5aUZpOEQxdFlqOWNnUVdmaUV1cnA5K0xWSDVIQ3ZaZzUrQno5UGl6MGw3R09YNEQ4RmhwYmpzUWhSaUlXNzZZWi9nSXAzb1hVWU0zMXBCTG01MkZRUVh0cVBhM3d2NUMvRkRPWW1ZYlRudjNieFBZT2Vnc2ZZZDJ4TUt3eWcycWVsajJiT2grTDZ5OW90MFJhZlJHNUJ1VnY0SG9ZeFBkTHV3OXczbmhiSFhjd1FJSWlRcEZnV0FsM3NNQVE4WWpnOWliN3JrUVlpWVU5SDdOMUxoRUVqWERROVl0RGYzODBQdE5xQmM5QUkrMEkyWDhwcFhDNXNHTWRJUWx4U0JTTUdsQ1lNV2cwYmRhOHZvVSs3ZG53REowSWV3N29ZMnNhZjlycWtmaHp2VmtubTh6Z3pHRGhUQUVSRVlOUlpkRWZhdXRZbDFlbnhIV0d5QWZjTGR0Znh6RjdWdG0yOC9wOXNTU21aT2U0Y3c0WUJ6bEdQd3QzLzVjUXdwc3d0ZzFySm1JUm5obUNnYUFUS21ZMGRkdm45VHdvT1F2bU9VUmFUUXlYSS84WThGVmNEekIwR002dll6ZzRoYlhIUDVNbVA1TzhXQklUaDVoQk5ROTBmb0d5ZlNHZXZ3aTJDMjlFZC94SXl2WUZEQmVQQmtwQ0FuR1laN0I0Rm1YN004RGxvT3N3N1NhbWtybitNWGo5RkxycGVlREgwVGlZZ1dkb2pYYW82L2NTZURiRDNxMWtiMmlYeCtQMlhGS01pSjhtMkRpeFBBMDE0TnhNdGxtTUowamI5dG5aWnh4bkRPZmtCQlFDdzJHamhjVkswMld5bmdWbHllWXhUSEJjQ3VFQ0M0eldXVm5pM21TNnJ3amNPWmU1dnNxNk9zcjJTZUl4QnBpNGJ1RDV4UUc3TEptOTBNRlNNQ1J3aVNMU202bjFqd3VWM3J1eXhjMHNrVVJyTXREcEdpZE1zWkNDL2FxeXp3cTlNa1VyekkxR0FveGEwRTdhNDVXdTdBLzFKMlBkY0Q4Q0JLcEV1OVNPbk1QTDk4M3o1eE50UFNzUkdHWW9Ba2pnRWdtL1o5OVFIeTRqbDNlRDdSOVVqbUFDT0JXSlE4VGlQbHYrMmZ0MTNCYkU2WVFhQ0RYdWh0a2FpdUxOb05lUXduNUdDcU5ZUHNteUk4YUlSYUx1UTY0YlFpRVFoeGxnRWV4b1RLL2pvSnloMVlHUlNSak1DMUVUQWsra1FFeGJVSDRYaEJrSXM3aEtwcFl2dzJ3RXIxbmltRFdBRVNJTWVtQTJTb3pQUi81OFlvUUV1QUNEWUpjZ0IzT1dPSEFkUWZ4N2FmUHE4TUZxVVovRWFFQUt3Ulo3ZmVZWEt5MGV1ZEt5R3BzYVZrekdTTnRnQk9USXBwdEdNMkFMS1hFQW1IZlJ1S0JnaWZGRUJsbjZsc1Ava091S1lQYVVvZXVvRUd3WXBIdnF4cjllSzl6a01EUytUelNzTURvSkF1ejJyRGNPaC9udktzVm5XTkR4TFFpWXB0MTFpekpmazdUVnpES1BNU0FBQmlIdzRONDV2ZVRoUGY2VFc5YnlsTEpndzZEQ3pOaVpUTmVZK0hxV0hoTEc5RUpOM1lpVTdNQklhYThSZ1NBbEVvdGZxSjkxODEzOTQxZlE3YitTUU1aVkFZWmttTFdSdWhodHlnUWgxQmlMVklzRGpFeElnUE5FRFFnREVwQUlCcmx1eUUyRG1UQ1dpQitnSmdBZGpCSE1FcEtJY1FqMGFPb2haZzRZanpHV3lKQWlVQ0FIVVFNTkIwa1JjRVFiYkJhNGlSL2kvd0gzRDVQTXBkMnQ1UUFBQUFCSlJVNUVya0pnZ2c9PSJ9LCJzdGF0dXNSZXBvcnRzIjpbeyJzdGF0dXMiOiJGSURPX0NFUlRJRklFRCIsImVmZmVjdGl2ZURhdGUiOiIyMDE5LTA5LTA0IiwiY2VydGlmaWNhdGlvbkRlc2NyaXB0b3IiOiJFeGNlbHNlY3UgZVNlY3UgRklETyBTZWN1cml0eSBLZXkiLCJjZXJ0aWZpY2F0ZU51bWJlciI6IlUyRjEwMDAyMDE2MDYwNzAwNSIsImNlcnRpZmljYXRpb25Qb2xpY3lWZXJzaW9uIjoiMS4wLjEiLCJjZXJ0aWZpY2F0aW9uUmVxdWlyZW1lbnRzVmVyc2lvbiI6IjEuMC4xIn1dLCJ0aW1lT2ZMYXN0U3RhdHVzQ2hhbmdlIjoiMjAxOS0wOS0wNCJ9LHsiYWFndWlkIjoiYjZlZGUyOWMtMzc3Mi00MTJjLThhNzgtNTM5YzFmNGM2MmQyIiwibWV0YWRhdGFTdGF0ZW1lbnQiOnsibGVnYWxIZWFkZXIiOiJodHRwczovL2ZpZG9hbGxpYW5jZS5vcmcvbWV0YWRhdGEvbWV0YWRhdGEtc3RhdGVtZW50LWxlZ2FsLWhlYWRlci8iLCJhYWd1aWQiOiJiNmVkZTI5Yy0zNzcyLTQxMmMtOGE3OC01MzljMWY0YzYyZDIiLCJkZXNjcmlwdGlvbiI6IkZlaXRpYW4gQmlvUGFzcyBGSURPMiBQbHVzIEF1dGhlbnRpY2F0b3IiLCJhdXRoZW50aWNhdG9yVmVyc2lvbiI6MSwicHJvdG9jb2xGYW1pbHkiOiJmaWRvMiIsInNjaGVtYSI6MywidXB2IjpbeyJtYWpvciI6MSwibWlub3IiOjB9XSwiYXV0aGVudGljYXRpb25BbGdvcml0aG1zIjpbInNlY3AyNTZyMV9lY2RzYV9zaGEyNTZfcmF3Il0sInB1YmxpY0tleUFsZ0FuZEVuY29kaW5ncyI6WyJjb3NlIl0sImF0dGVzdGF0aW9uVHlwZXMiOlsiYmFzaWNfZnVsbCJdLCJ1c2VyVmVyaWZpY2F0aW9uRGV0YWlscyI6W1t7InVzZXJWZXJpZmljYXRpb25NZXRob2QiOiJwYXNzY29kZV9leHRlcm5hbCJ9XSxbeyJ1c2VyVmVyaWZpY2F0aW9uTWV0aG9kIjoiZmluZ2VycHJpbnRfaW50ZXJuYWwifV1dLCJrZXlQcm90ZWN0aW9uIjpbImhhcmR3YXJlIiwic2VjdXJlX2VsZW1lbnQiXSwibWF0Y2hlclByb3RlY3Rpb24iOlsib25fY2hpcCJdLCJjcnlwdG9TdHJlbmd0aCI6MTI4LCJhdHRhY2htZW50SGludCI6WyJleHRlcm5hbCIsIndpcmVkIl0sInRjRGlzcGxheSI6W10sImF0dGVzdGF0aW9uUm9vdENlcnRpZmljYXRlcyI6WyJcbk1JSUIyRENDQVg2Z0F3SUJBZ0lRRlo5N3dzMkpHUEVvYTVOSStwOHoxakFLQmdncWhrak9QUVFEQWpCTE1Rc3dDUVlEVlFRR0V3SkRUakVkTUJzR0ExVUVDZ3dVUm1WcGRHbGhiaUJVWldOb2JtOXNiMmRwWlhNeEhUQWJCZ05WQkFNTUZFWmxhWFJwWVc0Z1JrbEVUeUJTYjI5MElFTkJNQ0FYRFRFNE1EUXdNVEF3TURBd01Gb1lEekl3TkRnd016TXhNak0xT1RVNVdqQkxNUXN3Q1FZRFZRUUdFd0pEVGpFZE1Cc0dBMVVFQ2d3VVJtVnBkR2xoYmlCVVpXTm9ibTlzYjJkcFpYTXhIVEFiQmdOVkJBTU1GRVpsYVhScFlXNGdSa2xFVHlCU2IyOTBJRU5CTUZrd0V3WUhLb1pJemowQ0FRWUlLb1pJemowREFRY0RRZ0FFbmZBS2Jqdk1YMUV5MWI2aytXUVFkTlZNdDlKZ0dXeUozUHZNNEJTSzVYcVRmbysrMG9Bai80dG53eUlMMEhGQlI5U3Qra3RqcVNYRGZqaVhBdXJzODZOQ01FQXdIUVlEVlIwT0JCWUVGTkdobUUyQmY4TzVhL1lIWjcxUUV2NlFSZkZVTUE4R0ExVWRFd0VCL3dRRk1BTUJBZjh3RGdZRFZSMFBBUUgvQkFRREFnRUdNQW9HQ0NxR1NNNDlCQU1DQTBnQU1FVUNJUUMzc1QxbEJqR2VGK3hLVHB6VjFLWVUyY2thaFRkNG1MSnl6WU9oYUh2NGlnSWdEMkpZa2Z5SDVRNEJwbzhycm9PMEl0N29ZakYya2d5L2VTWjNVOUdsYXF3PSIsIk1JSUIyRENDQVg2Z0F3SUJBZ0lRR0JVclFiZERybTIwRlpuRHNYMkNCVEFLQmdncWhrak9QUVFEQWpCTE1Rc3dDUVlEVlFRR0V3SlZVekVkTUJzR0ExVUVDZ3dVUm1WcGRHbGhiaUJVWldOb2JtOXNiMmRwWlhNeEhUQWJCZ05WQkFNTUZFWmxhWFJwWVc0Z1JrbEVUeUJTYjI5MElFTkJNQ0FYRFRFNE1EUXdNVEF3TURBd01Gb1lEekl3TkRnd016TXhNak0xT1RVNVdqQkxNUXN3Q1FZRFZRUUdFd0pWVXpFZE1Cc0dBMVVFQ2d3VVJtVnBkR2xoYmlCVVpXTm9ibTlzYjJkcFpYTXhIVEFiQmdOVkJBTU1GRVpsYVhScFlXNGdSa2xFVHlCU2IyOTBJRU5CTUZrd0V3WUhLb1pJemowQ0FRWUlLb1pJemowREFRY0RRZ0FFc0ZZRUVoaUp1cXFuTWdRalNpaXZCalY3REdDVGY0WEJCSC9CN3V2WnNLeFhTaEYwTDh1RElTV1V2Y0V4aXhSczZnQjNvbGRTcmpveDZMOFQ5NE5PenFOQ01FQXdIUVlEVlIwT0JCWUVGRXU5aHlZUnJSeUp6d1JZdm5EU0NJeHJGaU8zTUE4R0ExVWRFd0VCL3dRRk1BTUJBZjh3RGdZRFZSMFBBUUgvQkFRREFnRUdNQW9HQ0NxR1NNNDlCQU1DQTBnQU1FVUNJREhTYjJtYk5EQVVOWHZwUFUwb1dLZU55ZTBmUTJsOUQwMUFSMitzTFpkaEFpRUFvM3d6Njg0SUZNVnNDQ1JtdUpxeEg2RlFSRVNOcWV6dW8xRStLa0d4V3VNPSIsIlxuTUlJQmZqQ0NBU1dnQXdJQkFnSUJBVEFLQmdncWhrak9QUVFEQWpBWE1SVXdFd1lEVlFRRERBeEdWQ0JHU1VSUElEQXlNREF3SUJjTk1UWXdOVEF4TURBd01EQXdXaGdQTWpBMU1EQTFNREV3TURBd01EQmFNQmN4RlRBVEJnTlZCQU1NREVaVUlFWkpSRThnTURJd01EQlpNQk1HQnlxR1NNNDlBZ0VHQ0NxR1NNNDlBd0VIQTBJQUJOQm1yUnFWT3h6dFRKVk4xOXZ0ZHFjTDd0S1Flb2wybm5NMi95WWd2a3NabnI1MFNLYlZnSUVrekhRVk91ODBMVkVFM2xWaGVPMUhqZ2d4QWxUNm80V2pZREJlTUIwR0ExVWREZ1FXQkJSSkZXUXQxYnZHM2pNNlhnbVYvSWNqTnRPL0N6QWZCZ05WSFNNRUdEQVdnQlJKRldRdDFidkczak02WGdtVi9JY2pOdE8vQ3pBTUJnTlZIUk1FQlRBREFRSC9NQTRHQTFVZER3RUIvd1FFQXdJQkJqQUtCZ2dxaGtqT1BRUURBZ05IQURCRUFpQXdmUHFnSVdJVUIrUUJCYVZHc2RIeTBzNVJNeGxrenBTWC96U3lUWm1VcFFJZ0Iyd0o2blpSTThvWC9uQTQzUmg2U0pvdk0yWHdDQ0gvLytMaXJCQWJCME09Il0sImljb24iOiJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUZBQUFBQVVDQU1BQUFBdEJrcmxBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQkhacFZGaDBXRTFNT21OdmJTNWhaRzlpWlM1NGJYQUFBQUFBQUR3L2VIQmhZMnRsZENCaVpXZHBiajBpNzd1L0lpQnBaRDBpVnpWTk1FMXdRMlZvYVVoNmNtVlRlazVVWTNwcll6bGtJajgrSUR4NE9uaHRjRzFsZEdFZ2VHMXNibk02ZUQwaVlXUnZZbVU2Ym5NNmJXVjBZUzhpSUhnNmVHMXdkR3M5SWtGa2IySmxJRmhOVUNCRGIzSmxJRFV1Tmkxak1ERTBJRGM1TGpFMU5qYzVOeXdnTWpBeE5DOHdPQzh5TUMwd09UbzFNem93TWlBZ0lDQWdJQ0FnSWo0Z1BISmtaanBTUkVZZ2VHMXNibk02Y21SbVBTSm9kSFJ3T2k4dmQzZDNMbmN6TG05eVp5OHhPVGs1THpBeUx6SXlMWEprWmkxemVXNTBZWGd0Ym5NaklqNGdQSEprWmpwRVpYTmpjbWx3ZEdsdmJpQnlaR1k2WVdKdmRYUTlJaUlnZUcxc2JuTTZlRzF3UFNKb2RIUndPaTh2Ym5NdVlXUnZZbVV1WTI5dEwzaGhjQzh4TGpBdklpQjRiV3h1Y3pwa1l6MGlhSFIwY0RvdkwzQjFjbXd1YjNKbkwyUmpMMlZzWlcxbGJuUnpMekV1TVM4aUlIaHRiRzV6T25Cb2IzUnZjMmh2Y0QwaWFIUjBjRG92TDI1ekxtRmtiMkpsTG1OdmJTOXdhRzkwYjNOb2IzQXZNUzR3THlJZ2VHMXNibk02ZUcxd1RVMDlJbWgwZEhBNkx5OXVjeTVoWkc5aVpTNWpiMjB2ZUdGd0x6RXVNQzl0YlM4aUlIaHRiRzV6T25OMFVtVm1QU0pvZEhSd09pOHZibk11WVdSdlltVXVZMjl0TDNoaGNDOHhMakF2YzFSNWNHVXZVbVZ6YjNWeVkyVlNaV1lqSWlCNGJYQTZRM0psWVhSdmNsUnZiMnc5SWtGa2IySmxJRkJvYjNSdmMyaHZjQ0JEUXlBeU1ERTBJQ2hOWVdOcGJuUnZjMmdwSWlCNGJYQTZRM0psWVhSbFJHRjBaVDBpTWpBeE5pMHhNaTB6TUZReE5Eb3pNem93T0Nzd09Eb3dNQ0lnZUcxd09rMXZaR2xtZVVSaGRHVTlJakl3TVRZdE1USXRNekJVTURjNk16RTZOVGtyTURnNk1EQWlJSGh0Y0RwTlpYUmhaR0YwWVVSaGRHVTlJakl3TVRZdE1USXRNekJVTURjNk16RTZOVGtyTURnNk1EQWlJR1JqT21admNtMWhkRDBpYVcxaFoyVXZjRzVuSWlCd2FHOTBiM05vYjNBNlNHbHpkRzl5ZVQwaU1qQXhOaTB4TWkwek1GUXhOVG96TURveU55c3dPRG93TUNZamVEazc1cGFINUx1MklPYWNxdWFnaCttaW1DMHhJT1czc3VhSmsrVzhnQ1lqZUVFN0lpQjRiWEJOVFRwSmJuTjBZVzVqWlVsRVBTSjRiWEF1YVdsa09qSkZOekZDUmtaRFF6WTNSakV4UlRZNU56aEVRVGxEUWtJMk5EWXpSamt3SWlCNGJYQk5UVHBFYjJOMWJXVnVkRWxFUFNKNGJYQXVaR2xrT2pKRk56RkNSa1pFUXpZM1JqRXhSVFk1TnpoRVFUbERRa0kyTkRZelJqa3dJajRnUEhodGNFMU5Pa1JsY21sMlpXUkdjbTl0SUhOMFVtVm1PbWx1YzNSaGJtTmxTVVE5SW5odGNDNXBhV1E2TWtVM01VSkdSa0ZETmpkR01URkZOamszT0VSQk9VTkNRalkwTmpOR09UQWlJSE4wVW1WbU9tUnZZM1Z0Wlc1MFNVUTlJbmh0Y0M1a2FXUTZNa1UzTVVKR1JrSkROamRHTVRGRk5qazNPRVJCT1VOQ1FqWTBOak5HT1RBaUx6NGdQQzl5WkdZNlJHVnpZM0pwY0hScGIyNCtJRHd2Y21SbU9sSkVSajRnUEM5NE9uaHRjRzFsZEdFK0lEdy9lSEJoWTJ0bGRDQmxibVE5SW5JaVB6NDc3SlhGQUFBQVlGQk1WRVgvLy84RVZxSVhaYXZHMk9vcWNMRzJ6T09rd3QwQlNKdHFsY1hWNHUrYXV0bFdoYnprN1BVQU1ZOUhjcktqdE5icThmZUFsOGFCb3N6ejl2cGRqc0dHcXRGM244dVRzTlNacGM2SnNOVDUrdjB4WUtudThQZmY1L0w0OGZnL2ZyaWN6SmdZQUFBREFFbEVRVlI0MmtSVUNaYkRJQWpGWFpPWTFUYXROYzM5Ynprc1NZYzNyNE1FNGZNQkFhRDZ6bDh5LzlUT2dldDhkNWpmTjc4YndNL2REQ1JwUjUyMXpYZm9qSEowNUlJeWhCQVVTVkFPTmRHekJZdDJmN0tGcmZrSmFBa0hoOUZaaGNEWEhSa1RLbzlNTGloR2FhdkltblYzcXlFWDBFcHJnei80RHdVRDdrQ0hSbmQ4UUZONDNHbzRVVm1ERGd6YTR3MjdvaXpkQTIrY0srdXVVcGpqbzIreHdjLzQyVzUweDVMR1llREJzUjBIVkl4NXg4aUY2MENibGJURUVrRnIyN2JOREJVVlNxMU9LVlBiRTYyYjNFSDhGcUJnNU9PT0V1YzJ0OFpKaXFNT3VHcCtjS2pnN3dWR2Nlb3pxTjRweGdWUFFrakZZZ2JWSktEVWhEQ2pZcmF3UDVxNEVUZ0M5ZklNUkh0aXRwUWNDdkpPRUxjYk1zUWduY2lSa2xqcHlRanZHNDRqcUJVRVRGaUJpMVBFSXlla096c1crVHk1Y0xIb3M1UitkTVMxTHRTU3hmM2dRSGN6UjJDSTRnTU5wVzRJUkExUU1hNnRKNCtDNnVIdUdFOG1OREl5RnFnL09QL01NVXVlUzZJcThTOTBkQWVCSlNFeS9xS2tLK0JOd3o4Y1lZNGpiNUo2dTRpV0NJMkIxWjU2TFc1a0VjNGhrZE1wc3ZVQzU1ODVTWDBRdWJjZ05xeWZnREZFY1R0KzQwLzBTNU54MHdhQ3czT0trY09iQTVJbjBBWXAwMXBqancybjYyNlVEanRId2EyOGlIdVRLcXRydityZVc0MU5aNmlHbHI3dXVMSkNma0Z0Y3RjRzA0c2dtMWVOUytaYURucGFURXJHb3lYNUpLMmlNejh4czBuT3dXR2NQRE40OXFhQ2Q0YnpKb3pEWm0vYUJLK0Vvekx3K1hoTkJpWXdIZjBzaU91MVhQa0cvekt3dnFZS2NmU3dERWNIL29VZTA3ZXMvV1E4ckl5ZzJET1hqOHRqa1pkdURCL2I4aHpEbGxNTU9DUzVCRW5kNTM0Zjh0aTNVWmM0a01zM3hMeWFmTVNzSmhkRzhYUHFqTms1dEFnTzI1ZmVLQ2huVmREai9KMEZNa09zVS94TUJ2MHdGaFllRUdmVkgxM2Z1RFUweURGTGE0ZmM3Um5XSEJmdVRGVjJ0RW1Od2FkYzdhYzNVWTJqZkJsN0hUMzZmZTM0aVFPNW1OQ0ZGQlcwN0tqUGdxaE9MVTAxdlo4UHVlWjJKQ2xGWk44amtVczY5dWthOWVQcDYrRWZMNEFGNStOeXdTYmlySHRjQjhNbC9na3dBRWprSzY0S2pIUGVBQUFBQUVsRlRrU3VRbUNDIiwiYXV0aGVudGljYXRvckdldEluZm8iOnsidmVyc2lvbnMiOlsiVTJGX1YyIiwiRklET18yXzAiLCJGSURPXzJfMV9QUkUiXSwiZXh0ZW5zaW9ucyI6WyJjcmVkUHJvdGVjdCIsImhtYWMtc2VjcmV0Il0sImFhZ3VpZCI6ImI2ZWRlMjljMzc3MjQxMmM4YTc4NTM5YzFmNGM2MmQyIiwib3B0aW9ucyI6eyJwbGF0IjpmYWxzZSwicmsiOnRydWUsImNsaWVudFBpbiI6dHJ1ZSwidXAiOnRydWUsInV2Ijp0cnVlLCJjcmVkZW50aWFsTWdtdFByZXZpZXciOnRydWV9LCJwaW5VdkF1dGhQcm90b2NvbHMiOlsxXSwiZmlybXdhcmVWZXJzaW9uIjoxfX0sInN0YXR1c1JlcG9ydHMiOlt7InN0YXR1cyI6IkZJRE9fQ0VSVElGSUVEIiwiZWZmZWN0aXZlRGF0ZSI6IjIwMTgtMDktMjkifSx7InN0YXR1cyI6IkZJRE9fQ0VSVElGSUVEX0wxIiwiZWZmZWN0aXZlRGF0ZSI6IjIwMTgtMDktMjkiLCJjZXJ0aWZpY2F0aW9uRGVzY3JpcHRvciI6IkZlaXRpYW4gQmlvUGFzcyBGSURPMiBBdXRoZW50aWNhdG9yIiwiY2VydGlmaWNhdGVOdW1iZXIiOiJGSURPMjAwMjAxODA5MjkwMDEiLCJjZXJ0aWZpY2F0aW9uUG9saWN5VmVyc2lvbiI6IjEuMiIsImNlcnRpZmljYXRpb25SZXF1aXJlbWVudHNWZXJzaW9uIjoiMS4yIn1dLCJ0aW1lT2ZMYXN0U3RhdHVzQ2hhbmdlIjoiMjAyMS0wNy0zMSJ9LHsiYXR0ZXN0YXRpb25DZXJ0aWZpY2F0ZUtleUlkZW50aWZpZXJzIjpbImZmZjk0MGQzNTc5YmM0NDA0MDU1NzQ3YjM2NzBkNDNhMWU5N2QwNTQiXSwibWV0YWRhdGFTdGF0ZW1lbnQiOnsibGVnYWxIZWFkZXIiOiJodHRwczovL2ZpZG9hbGxpYW5jZS5vcmcvbWV0YWRhdGEvbWV0YWRhdGEtc3RhdGVtZW50LWxlZ2FsLWhlYWRlci8iLCJhdHRlc3RhdGlvbkNlcnRpZmljYXRlS2V5SWRlbnRpZmllcnMiOlsiZmZmOTQwZDM1NzliYzQ0MDQwNTU3NDdiMzY3MGQ0M2ExZTk3ZDA1NCJdLCJkZXNjcmlwdGlvbiI6IkJsdWluayBLZXkgVTJGIEF1dGhlbnRpY2F0b3IiLCJhdXRoZW50aWNhdG9yVmVyc2lvbiI6MiwicHJvdG9jb2xGYW1pbHkiOiJ1MmYiLCJzY2hlbWEiOjMsInVwdiI6W3sibWFqb3IiOjEsIm1pbm9yIjowfV0sImF1dGhlbnRpY2F0aW9uQWxnb3JpdGhtcyI6WyJzZWNwMjU2cjFfZWNkc2Ffc2hhMjU2X3JhdyJdLCJwdWJsaWNLZXlBbGdBbmRFbmNvZGluZ3MiOlsiZWNjX3g5NjJfcmF3Il0sImF0dGVzdGF0aW9uVHlwZXMiOlsiYmFzaWNfZnVsbCJdLCJ1c2VyVmVyaWZpY2F0aW9uRGV0YWlscyI6W1t7InVzZXJWZXJpZmljYXRpb25NZXRob2QiOiJmaW5nZXJwcmludF9pbnRlcm5hbCJ9XSxbeyJ1c2VyVmVyaWZpY2F0aW9uTWV0aG9kIjoicGFzc2NvZGVfaW50ZXJuYWwifV0sW3sidXNlclZlcmlmaWNhdGlvbk1ldGhvZCI6ImZhY2VwcmludF9pbnRlcm5hbCJ9XSxbeyJ1c2VyVmVyaWZpY2F0aW9uTWV0aG9kIjoicHJlc2VuY2VfaW50ZXJuYWwifV1dLCJrZXlQcm90ZWN0aW9uIjpbImhhcmR3YXJlIl0sIm1hdGNoZXJQcm90ZWN0aW9uIjpbIm9uX2NoaXAiXSwiY3J5cHRvU3RyZW5ndGgiOjEyOCwiYXR0YWNobWVudEhpbnQiOlsiZXh0ZXJuYWwiLCJ3aXJlbGVzcyJdLCJ0Y0Rpc3BsYXkiOltdLCJhdHRlc3RhdGlvblJvb3RDZXJ0aWZpY2F0ZXMiOlsiTUlJQ3pUQ0NBbk9nQXdJQkFnSUpBTSthMTJWem5DdEdNQWtHQnlxR1NNNDlCQUV3ZXpFTE1Ba0dBMVVFQmhNQ1EwRXhFREFPQmdOVkJBZ1RCMDl1ZEdGeWFXOHhEekFOQmdOVkJBY1RCazkwZEdGM1lURVRNQkVHQTFVRUNoTUtRbXgxYVc1cklFeDBaREVUTUJFR0ExVUVBeE1LUW14MWFXNXJJRXRsZVRFZk1CMEdDU3FHU0liM0RRRUpBUllRYkdoaGJXbGtRR0pzZFdsdWF5NWpZVEFlRncweE56QTFNVEV4TkRRM05UZGFGdzB5TURBMU1UQXhORFEzTlRkYU1Ic3hDekFKQmdOVkJBWVRBa05CTVJBd0RnWURWUVFJRXdkUGJuUmhjbWx2TVE4d0RRWURWUVFIRXdaUGRIUmhkMkV4RXpBUkJnTlZCQW9UQ2tKc2RXbHVheUJNZEdReEV6QVJCZ05WQkFNVENrSnNkV2x1YXlCTFpYa3hIekFkQmdrcWhraUc5dzBCQ1FFV0VHeG9ZVzFwWkVCaWJIVnBibXN1WTJFd1dUQVRCZ2NxaGtqT1BRSUJCZ2dxaGtqT1BRTUJCd05DQUFUbUJBSUNTTGJuUkFmbWFnYjdHTHNESlFrSFBTNHMyNkQ4ck53aWd0RzloVWMvbkM2ZHgxTXoyN2ZhaG54a211N3E1VER3c1pyN1paNlBnQXNXVVp2WW80SGdNSUhkTUIwR0ExVWREZ1FXQkJULytVRFRWNXZFUUVCVmRIczJjTlE2SHBmUVZEQ0JyUVlEVlIwakJJR2xNSUdpZ0JULytVRFRWNXZFUUVCVmRIczJjTlE2SHBmUVZLRi9wSDB3ZXpFTE1Ba0dBMVVFQmhNQ1EwRXhFREFPQmdOVkJBZ1RCMDl1ZEdGeWFXOHhEekFOQmdOVkJBY1RCazkwZEdGM1lURVRNQkVHQTFVRUNoTUtRbXgxYVc1cklFeDBaREVUTUJFR0ExVUVBeE1LUW14MWFXNXJJRXRsZVRFZk1CMEdDU3FHU0liM0RRRUpBUllRYkdoaGJXbGtRR0pzZFdsdWF5NWpZWUlKQU0rYTEyVnpuQ3RHTUF3R0ExVWRFd1FGTUFNQkFmOHdDUVlIS29aSXpqMEVBUU5KQURCR0FpRUE1Z2Y0MXpRSkNoY0RaZkVwajB4U3BiZ3ZYVXlMcGgyU3RSRXpFS2QzUnhrQ0lRQzZpU21qS0NLK092cEFkd24xVWtvTE40M252WTdEdEFUVkRjNFBrVzA0dnc9PSJdLCJpY29uIjoiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFIZ0FBQUI0Q0FZQUFBQTVaRGJTQUFBQUJtSkxSMFFBL3dEL0FQK2d2YWVUQUFBQUNYQklXWE1BQUFzVEFBQUxFd0VBbXB3WUFBQVFGa2xFUVZSNDJ1MmRlWFFVVmJyQWY3WDBtazQ2SVFuTGdHeXlDZ1NNS0ZFRW53dndkTVpSUkVGOUtpTERlL3BjUmtia2dhS2pncWlNQ29yak9JSWd1RDlBUk54R2tHMUVWamtJQVdTUlZRSWtnYXlkM3FycnpoOUp4aldkNnBCMDBrVjluTVBoa0hzcWRlN3ZmdXY5N2kxSkNDR3d4TFFpVzFOZ0FiYkVBbXlKQmRnU0M3QWxGbUJMTE1DV1dJQXR3SlpZZ0dNVW56OW96YmFaQWQvOTVDejh3WkExNDJZRnZINzdYcWJOWFdMTnVGa0IyMjBxai8zMUhlWi91TXFhZFRNQ0ZrS1FrcHpFSDZmTjRkc0RSNjJaTnh0Z1hZQ3VDelJONTVyN25pYWk2OWJzbXl0TnF0eDJWaFNaZzNrRkRMMy9HYXl0YURPWmFGMkFWUGx2dDlQTzhuWGJlT0d0ankwQ3BnR00rSWt1MiswMnhqNzlHaXMyNWxvVXpCSmsvVnhTVWp6Y01uRUdCVVZsRm9uRUIvekwvNU1raWRKeXYrV1B6YXJCQUtxcXNERjNIN2MrOUNJV1k1UDQ0SjlMa3N2Qnd1WHJXTGg4dlVVa1lkTWtQYnAyTzJ4MmJwa3duWFhmN0xHb21FMkRLLzB4dUp3T2Joei9IQVZGcFJhWlJBT3NZOHpCRmhhVnMyUGZZWXRNd3Bsb2d3R1VKRW5vVnJSbG5pajYxMWFDcmx1QUUxQ0RSWFdsc25aemJtbHdBdnBnQVJoQkxGWFZyUzB4cDRrV2xnWW5xSWsyR21VSjBJVzFWNXlBR2h5ck9iZkV0Rkcwc0xvOUVoU3dvUmhMc3RLa3hQVEJ4ajIxdFhXWWlCcU1jV2dSUzRNVEVMQnVQSXEyTkRnaE5kaWdTTUpLazh3ZFJWdHBVbjJLR2pmdGphV1MxWUJwMHZIQ1loUkZSbFVVSEhZVmg4Mkdvc2dXNE5NbGJCU1pCQTNhbTlWNytEaHNzb3pOcHVKMjJzbE04OUwrTjVsa2QrL0F4ZG5ua04yOWd3VzRRVk1mMFpBYUxBZ0V3Z1FsZ1JTQTRqSTRmTHlROWR2M01PL0RsYUFMbW1lbU1paW5OemRkT1lEc2N6clFLaVBOQW16SS96YVI3VUpSR2FaVFhYVlJaQm5GTHVPMDJ3RHdCOE1zWHJHQnhTczI0bkU1dWFCWEp4NFkrWHYrbzI4UEs4aUtyc0hHeHpkbUpVdVdKR3lxaWsxVkNHa2FYMnpjenFVakozSHh5SWRadS9WYmdxR3dCZmpYTk5ob29hTXBWYktFRU5oVkZXOXFNbHQzSDJMd25aTVpPT3BSdHV6YWJ3SCs2VVRGb01GUzA5d1BWaFVadTZLdzg3c2puSGZET0NiTWVKTlNuOThDSEhNZUxHaXltdzJDeXVPdlhxK0hGOS8raEw0akhtUmo3bDRMY0t4bU54RTZPdXcybFJORkpWdzhjaElMbHEwL3d6VTRCaDlNQXhjNjZsTWtKRndPQjdkTW1NN2RUODQ2Y3dIcjFXcWNBRkYwekpBbGNMdWN2THBvR2ZkUG05dmtyRS84TkZnMERRMFdRaUJFWllPOUpFbjE5c3drbDVPWDMvdU1tOFpQYjFLUTR4WkZ4NUlJUnhwd2dqcTFiVW1iRnMzd2VsellWSm1JcmhQU05MUkloTlA5clVrdUp4K3MyTWprdnk5b090Ri9mSUlzZ1M1QU5sRExraHBVZ3lYV3ZUR1ZTRVFuRkE3ajh3Y3BMQzdqcTI5MnMyalplbFovdlFPaEM1S1RYSFhXWkpmVHpoTi9YMENTeThtNGtiOC9Nd0JYYlNjMUNSTmRYWkpNY2psSVMvSFFwa1U2ZmJxMjUzK0hEK0Y0WVRFdnZ2MEo3MzMySmNjS2k3R3BTcDNNdURmSnpXTi9lNC9MKy9YaTNHNk51M25STk5Pa1JncXlXbWFrTXZXK205bnkzclBNZnZ3dVZFWEJId3dSSzJKZENDUkpZdWo5enhDTzZHY0FZQkZURU4zb2w2UjVrOTNjZk9VQUR2M2pGWVplZGdFaFRZdTVmS3JJTWtmeml4ajF5TXd6SklyV0V5OFA5cmlkdkR2dFQ4eC84ajc4Z1ZETWxzWGpkckprNVNhKzNybmY1QnBjRldnWnRYVk5MUThlZGtVT205K2Roc2Z0aU1tNmlLcjA4SjZwczh3T09EWWJYZDhtK21SSkdUdjJIV0hUam4xczMzdVkvRk1sTVQ4anEwczd2bnJ6S1p3MlcwenZweW9LNjcvWnc1d1BWcGczaXRaMTQ5cGJIeHBjVk9wajYrNER2UFhSR3I3WWxFdGUvaWxDZ1JEb09zZ1NxdDFPaTNRdkE4ODdoNXV2R2tCT3I4NWtwS1hVK3R6MnJUSlpNMjh5QTI2YmhCWURaRzlLRXMrK3ZvUWIvN00vYnFmRGhIbHdWZlVvSGo3NHFkbnY4K3FpWlJTY0trVWdrR1VacDhPT3kySC95YmpTY2o5TFZtNWt5Y3BOcEhyY0RCOXlFZFBIajZyMStkMDd0T0d2azhadzQ1K2V4WnVhYlBpOURoOHZaUE9PN3hoNDNqbG1qS0pqMDhpNm1PZ2QzeDJoMTdDeFBQVENXeFNWK2xCVkJadXFvc2kvWGw2UjVSODZOeXFDSVdhKzh5bHRCLzhQWDIzZFhldnZHakdrUC9mZDlqdENZUzJtVE9MNU41YWEwd2ZIVkp1VllqZlI4NWV1SXVlV2lSdzhXb0EzSmFsT0M5RGpkbEpVNW1QSVhVL3cvUHphUVR4NjV3Z3kwMUlNZXg2YnFyQjAxV2FPNXA4eXB3WTMxSGJoeDJ1Mk1QclBMMk5UbGRQdWIxWmtHVVZXZU9DcDJUejkydUtvWTlPOUhpYU1Ia3B4bVMrbWVaZ2I1MkFyZmlhNkFYenc2cTkzTUhUc003aWRqbnBOcmJ6TnZFeCtkU0VmcnRvY2RkeGR3NGZRNCt5emlCaXNWbm1TM0h5eVpqTmhMV0l5d1BvUGJhcUdmTEFCazE1YzVtUGt3eS9oZGpycWJkdnZwK21Oek0zam42ZXdPUHBWeDQvY09kendnbFJraWYxNUJSUVdsNW9MY0V3K1dCZ0xzbWErODJtZDhsbkRvWUFrb1FPM1Q1b1oxVHBjMHZjY2tqMHVRNHRNQ0lIUEgrVDc0NmRNcHNGVmZ3enBtUVI2SlBxQ0tQVUZtRHBySVRaVmFkRDNkdGh0L0hQTExuWWZ5cXR4VEl0bXFmVHAwczZ3MlkxRWREYkZzVkV2VGliNjM4cHBVT09qYS9Cejg1WVFDbXNOWXBwL3JuRmhMY0tjeFN1aWFEcGNOYkF2dmdxL1Fjc0FHM0wzbVRNUE5vb2oyZ24vUUNqTWg2czI0a2x5eDZjU3BDaTg4L0hxcUdNRzVXUVpuM0JKSm5mZkViUDVZTDNlS2xrbmkwdkp5eTlDYm1EdC9YRkI1R2orS2JaK2U2REdNZDA2dGlIZDZ6RlUwSkVraVdQNUo4Mm13VEV1aUNpQUMwdDgrQU9odUI5dldiOTliN1N3Z2JOYVpSaEsxU1FKU3NyTDhRVTBNd0VXTVFLdWVmeXgvRk54NzFwVVZaWDkzK2RISGRPNmVicXg5NUlrZ3FFd3BSVVZaaXQweEhMTFRzMGE3S3Z3eDFRVnF4OHpMVlBxaXc0a3hlTTJGRVpXSDNBUHh1bFR1L0h4d2JwQVNQV2o4WXFpUU56N0FRU3FvdFRxVzJNdi9wZ0VzTTJteGpBQlV0UXp1TTFTazVGbEthNTR3MXFFbHVtcFVjZjQvQUZEZVlLbzhzTjJoODA4Z0ZPUzNDaVNaRWp4SkFueVR4YlgrUFBmWktTaEtncFNIQmtMTFVLdnptZEZIWE9pc05qWUloWmdVeFJTNHBUbXhRV3cxK01reFpOa0tOaVNKWm1EUjAvVXJNRmVUNVcvaXc5aEFkZ2NkdnBuZDQ4NjdsRGVDVU9wbTBDUTdIR1Q3TEtiQjdBc1FYcWExeGhnV1NMdlpDbkhDb3RxQk55N2EzdENvZmlrR1pGSWhJdjZkQ0hEVzNQM3h2Y25Ubkw4VkpraDF5RjBRV1o2L0M1Mmlkc0I4TzRkV2h2ZTB0UERZVlp2MmxuanorKzhZVEFWY1VvemhDNjQrNmJmUmgyemNsTXVRak8yNEhRaDZOYSt0ZmtBbjkvemJNUDVzTlB0Wk9ucVRUWCsvS29CMmZUcjNSVXQwckQ3cWhJUzZXbkpETXJwRlhYY3gyczI0M1FiTzg4a2hNNzVQYzQySCtCK1dWME5seGNkZGp2cnZ0bE5jVm5OV2pwandtaWtPcVFuc1VoeFdUbmpSMTFMYW5MTmJVQkZwVDQyYk51THcyNHNLcFprbVg1Wlhjd0h1SFBibGpnY05tUFJyeERrRjVXU0crVUxhRG05T25QRDRJc29LVzhZVXgwS1I3anVpaHp1dWZIS3FPTzI3ejFFUVhHWm9VS09KSUhMYnVmc3MxcVlEM0JHYWdxdDBsTU5GN1NFZ0dmbVJPK0xtdlBFM2VSa2RZNnB1OUdJYUpFSXJWdWtNZmVKZTJwTjdaNmEvYjdod29zdW9IVm1LcGtHZXJBVERuQ1N5OEhBdmoyb0NBU05GVWRVaFk5V2JXTDE1aDFSeDMzMDBrTjA3OWdHbno5WUw3bHhXTk5vbnVabDdieXBwSGhjVVpPeEx6WnM1N012dDZBYWJEencrd05jY243UFgvUm9td0l3d0IzWFhrbzRhUHltdUdTUG0zSFB6WStxb2MxU1BIejk3alN1R25BdXdhQlc1K1k3SVFUQlVKamVYZHF6N2YzcE5HK1dVb3NKMXhnLy9RMlNQY1lMRnVHUXhoM1hYaDdQS1k4djRMNDlPcEhkbzZQaExrUlpsdG41M1JIZS91U2Z0WTVkUE9QL21ELzFQcHdPbGRKeWYxVVViRXpLS2dMb3VzN01pWDlneFd1UDQzSFZmcnpralkvV3NHdi9VV1RaMkJScUVaM3plM2VtVDdmMmNRVXNpVGh2ckw3NzJWcnVlUFJsN0RiRnNHWUZnaUZ5Rjc5QTU3WXRhL2R6dW1ES3F3dDQrOVBLVS9wYVdLdXEvMHFWT3puOHNKbGhVeFV5MGxLNCtwTHorUE9kSTBnejJEUy8rMkFlUGErN1A2YU96bkJZWSs2VWV4aysrRUp6QXo1WlhFYnZHeDdBNXc4YXpvdDFYYWRsUmhwYjN2c0xTUzZuSVYvcjh3Zkl5eS9pNjEzZnNXWG5mZzRjTGNEbkQrQnkybW5iS3BNK1hkdHhmcy9PdEc3ZURLOUJNeXRFNVhPelI0emplR0dKNFUwUFNaTHd1Qng4cy9CNW1uazk1Z1lNTUdIR0d6dzdieWtldDlPNC93cEg2SmZWaVUvL05nbUh6VVpqU0RBVVpzaGRVOWlVdXkrbWpzNHluNStKbzRjeTVkNmI0LzdPalFKWUlHaDE2V2dxQXVHWXR2NUNJWTJzTG0xWlBYZXk0Y0pDZmNJZE9Hb1MyL2Njd1c0M2ZpaFQxM1U4YmlkNVg4eHVsRVhaS0I4cmtKQ1lPWEZNektWR3UxMWwyOTdEbkRmaVFZNGNMNHpiK3g0K1ZrRDI4SEhrN29zTmJuVnc5ZEpEWTJnc2FiU3ZVVng3MlFWa2RXa1hPMlNieXNGakJXU1BlSkJYRm56ZTRPLzV5b0xQeWI1eFBJZU9uOFNteGdoWGkzQnV0L1pjZlVuZlJnUGNLQ2E2V3ZZZU9rYlc5V094MjJ4MXFpbVhsSlF4K09Kc3BqODRpdTRkVzlmcjFZUTc5My9QMkwrOHpySXZ0K0QxSnRmcEdXRk5ZOXZDNlhReUVQMmJFakRBb3VVYitLOEowM0U1SFhWcWhkVWlFUlJab1grZkxqdzg1bnI2bjl2dHRON255eTI3bURwN0VXdTM3aUdpUjJydHhhb3BhZzRFZ3J3MWJTelhYZGF2TWFlMzhRRUxJYmgxNGd2OC83SjFkYjYvUXBJa1FtR05DcCtmbmwzYk1lcWF5eGgwWVc5YXBIdEpUbkxoZE5oL1VmUVFRQ0FZb3F6Y3ovRlR4U3hmdjQyNUg2d2tkL2NCM0VsdTdEYTF6cjNYRllFUUk0WmN5UHlwZjBTQ014c3dWRzZDWDMzdlZGWnUzSUhkZG5yWGhrUjBuVWhFUjFVVlBDNG5tV2twdE1qdzByeVpsMlNYcTZweTVTZi9WQWtuVHBaUVVGUkt1VCtBcGtWUUZCbEZQcjJ3SkJqV3VMeGZUNWErT0xIQnowNGxER0FCK1AxQkxycnRJZlljT25iYWtIK3MyYm91MEhVZExSTDVkNTFhbGlWVVJVR1daV1JacXJkVEVxR3dSdGYyclZnN2Z5b3VwNFBHeDl0RUFQOWcyb0pjY3NlajdOaDNwTjRneHkxUERtdGtkV3JMeWptUHgvMnFwQ2FaSnYyYXVCd092bng5Q24yNmRTQVlUSnp2RXdXRFliSzdkV0QxNjVOeE9SeE42dDJhRkdCSnFqeDB2WEwyWTR3WmRnV2x2b3E0blNLczArUkpFcVcrQ3NaY2Z3VXJaaitHMDI2anFiMXVrekxSUDVkblgxL0M1RmNYMVRsZGFVaXBUczhtL2Zjd0hyejltaWE3Q0pzMFlJQnZEeHpsOWtkZVlzUFczWGpqdkJOVGM0R2xuQXQ2ZDJIZWxIdnAxcUYxVTU2K3BnKzRXcWJOL1lBWmIzNU1VWmtQZXgxdllqL2RmRDJrUlVoTFR1TCtXMy9MK051dlRZajRJR0VBQXhRV2xUTHIvZVU4T1dzUkZZRVFLWFg4dGtLc1V1Yno0M0xhZVhqTU1QNXczUlZ4YlpvN293RC9lTUtmbnZNQkMvNnhsbU9GUlVSMFVaWFgxbzlXNjdxbzhyRVNMVFBTdUg1UURoTkhEeVBGNDBxMHFVcE13TlZTV3U1bjcrRTgzdnhvRFl1V3IrZElYZ0VvTW02bjQwY2YxQkQ4Mm5YVjBvLytxcjVOcHlJUWhJaE82MWFaWEQ4b2gxdCtONURPYlZzWjd2aXdBRGV3Yk5tMW44Ky8yc3I2N2ZzNGVEU2ZreVZsK0FNaE5GMUgxL1VmYnZ1UnBLcDdLU3NYUTJxeW00NXRXcENUMVlVaC9mczArcGRTTE1BR3hCOE00Zk1IOFFlQ2hNSWEvbUFJcmFxYlUxVmxYSFlIZHB1Q3kra2d5ZVdJYTYreUJkaVMraXZHV0ZOZ0FiYkVBbXlKQmRnU0M3QWxGbUJMTE1DV1dJQXR3SmFZUmY0RjBNTWw2NTNJWUt3QUFBQUFTVVZPUks1Q1lJST0ifSwic3RhdHVzUmVwb3J0cyI6W3sic3RhdHVzIjoiRklET19DRVJUSUZJRUQiLCJlZmZlY3RpdmVEYXRlIjoiMjAxOS0wMS0wNyIsImNlcnRpZmljYXRpb25EZXNjcmlwdG9yIjoiQmx1aW5rIEx0ZCwgSW5qZWN0b3IsIFUyRiIsImNlcnRpZmljYXRlTnVtYmVyIjoiVTJGMTAwMDIwMTUwODExMDAxIiwiY2VydGlmaWNhdGlvblBvbGljeVZlcnNpb24iOiIxLjAiLCJjZXJ0aWZpY2F0aW9uUmVxdWlyZW1lbnRzVmVyc2lvbiI6IjEuMCJ9XSwidGltZU9mTGFzdFN0YXR1c0NoYW5nZSI6IjIwMTktMDEtMDcifSx7ImFhZ3VpZCI6Ijg1MjAzNDIxLTQ4ZjktNDM1NS05YmM4LThhNTM4NDZlNTA4MyIsIm1ldGFkYXRhU3RhdGVtZW50Ijp7ImxlZ2FsSGVhZGVyIjoiaHR0cHM6Ly9maWRvYWxsaWFuY2Uub3JnL21ldGFkYXRhL21ldGFkYXRhLXN0YXRlbWVudC1sZWdhbC1oZWFkZXIvIiwiYWFndWlkIjoiODUyMDM0MjEtNDhmOS00MzU1LTliYzgtOGE1Mzg0NmU1MDgzIiwiZGVzY3JpcHRpb24iOiJZdWJpS2V5IDVDaSBGSVBTIiwiYXV0aGVudGljYXRvclZlcnNpb24iOjUwNDAwLCJwcm90b2NvbEZhbWlseSI6ImZpZG8yIiwic2NoZW1hIjozLCJ1cHYiOlt7Im1ham9yIjoxLCJtaW5vciI6MH1dLCJhdXRoZW50aWNhdGlvbkFsZ29yaXRobXMiOlsic2VjcDI1NnIxX2VjZHNhX3NoYTI1Nl9yYXciLCJlZDI1NTE5X2VkZHNhX3NoYTUxMl9yYXciXSwicHVibGljS2V5QWxnQW5kRW5jb2RpbmdzIjpbImNvc2UiXSwiYXR0ZXN0YXRpb25UeXBlcyI6WyJiYXNpY19mdWxsIl0sInVzZXJWZXJpZmljYXRpb25EZXRhaWxzIjpbW3sidXNlclZlcmlmaWNhdGlvbk1ldGhvZCI6Im5vbmUifV0sW3sidXNlclZlcmlmaWNhdGlvbk1ldGhvZCI6InByZXNlbmNlX2ludGVybmFsIn1dLFt7InVzZXJWZXJpZmljYXRpb25NZXRob2QiOiJwYXNzY29kZV9leHRlcm5hbCIsImNhRGVzYyI6eyJiYXNlIjo2NCwibWluTGVuZ3RoIjo2LCJtYXhSZXRyaWVzIjo4LCJibG9ja1Nsb3dkb3duIjowfX1dLFt7InVzZXJWZXJpZmljYXRpb25NZXRob2QiOiJwcmVzZW5jZV9pbnRlcm5hbCJ9LHsidXNlclZlcmlmaWNhdGlvbk1ldGhvZCI6InBhc3Njb2RlX2V4dGVybmFsIiwiY2FEZXNjIjp7ImJhc2UiOjY0LCJtaW5MZW5ndGgiOjYsIm1heFJldHJpZXMiOjgsImJsb2NrU2xvd2Rvd24iOjB9fV1dLCJrZXlQcm90ZWN0aW9uIjpbImhhcmR3YXJlIiwic2VjdXJlX2VsZW1lbnQiXSwibWF0Y2hlclByb3RlY3Rpb24iOlsib25fY2hpcCJdLCJjcnlwdG9TdHJlbmd0aCI6MTI4LCJhdHRhY2htZW50SGludCI6WyJleHRlcm5hbCIsIndpcmVkIl0sInRjRGlzcGxheSI6W10sImF0dGVzdGF0aW9uUm9vdENlcnRpZmljYXRlcyI6WyJNSUlESGpDQ0FnYWdBd0lCQWdJRUcwQlQ5ekFOQmdrcWhraUc5dzBCQVFzRkFEQXVNU3d3S2dZRFZRUURFeU5aZFdKcFkyOGdWVEpHSUZKdmIzUWdRMEVnVTJWeWFXRnNJRFExTnpJd01EWXpNVEFnRncweE5EQTRNREV3TURBd01EQmFHQTh5TURVd01Ea3dOREF3TURBd01Gb3dMakVzTUNvR0ExVUVBeE1qV1hWaWFXTnZJRlV5UmlCU2IyOTBJRU5CSUZObGNtbGhiQ0EwTlRjeU1EQTJNekV3Z2dFaU1BMEdDU3FHU0liM0RRRUJBUVVBQTRJQkR3QXdnZ0VLQW9JQkFRQy9qd1l1aEJWbHFhaVlXRU1zcldGaXNnSitQdE05MWVTcnBJNFRLN1U1M213Q0lhd1NESHk4dlVtazVOMktBajlhYnZUOU5QNVNNUzFoUWkzdXN4b1lHb25YUWdmTzZaWHlVQTlhK0tBa3FkRm5Cbmx5dWdTZUNPZXA4RWRaRmZzYVJGdE1qa3d6NUdjejJQeTR2SVl2Q2RNSFB0d2F6MGJWdXpuZXVlSUV6NlRuUWpFNjNSZHQyemJ3bmVid1RHNVp5YmVXU3dienkrQkozNFpIY1VoUEFZODl5SlFYdUUwSXpNWkZjRUJiUE5SYldFQ1JLZ2pxLy9xVDlubURPRlZsU1JDdDJ3aXFQU3psdXduK3Yrc3VRRUJzVWpUR01FZDI1dEtYWFRrTlcyMXdJV2J4ZVN5VW9UWHdMdkdTNnhsd1FTZ05wazJxWFl3ZjhpWGc3VldaQWdNQkFBR2pRakJBTUIwR0ExVWREZ1FXQkJRZ0l2ejBiTkdKaGpncFRva3N5S3BQOXh2OW9EQVBCZ05WSFJNRUNEQUdBUUgvQWdFQU1BNEdBMVVkRHdFQi93UUVBd0lCQmpBTkJna3Foa2lHOXcwQkFRc0ZBQU9DQVFFQWp2anVPTURTYStKWEZDTHlCS3N5Y1h0QlZac0o0VWUzTGJhRXNQWTRNWU4vaElRNVpNNXA3RWpmY25NRzRDdFlrTnNmTkhjMEFoQkxkcTQ1cm5UODdxLzZPM3ZVRXROTWFmYmhVNmt0aFg3WSs5WEZOOU5wbVl4citla1ZZNXhPeGk4aDlKRElnb01QNFZCMXVTMGF1bkwxSUdxck5vb0w5bW1Gbkwya0xWVmVlNi9WUjZDNStLU1RDTUNXcHBNdUpJWklJMnY5bzRka29aOFk3UVJqUWxMZll6ZDNxR3RLYnc3eGFGMVVzRy81eFViL0J0d2IyWDJnNElucGlCL3l0LzNDcFFYcGlXWC9LNG1CdlVLaUduMDVac3FlWTFneDRnMHhMQnFjVTlwc215UHpLK1ZzZ3cyamVSUTVKbEtEeXFFMGhlYmZDMXR2RnUwQ0NySkZjdz09Il0sImljb24iOiJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNBQUFBQWZDQVlBQUFDR1ZzK01BQUFBQVhOU1IwSUFyczRjNlFBQUFBUm5RVTFCQUFDeGp3djhZUVVBQUFBSmNFaFpjd0FBSFlZQUFCMkdBVjJpRTRFQUFBYk5TVVJCVkZoSHBWZDdUTlYxRkQvM2Q1OXdlUVNJZ1M5QVFBWGNGTEFRWmk5ZnBlVnoxdFkvV1RacjVXeHBjN1c1a25MYTVqSTNaODVzclMybk0yc2p0V3daUzdJVUg0SDR4Q25FUXg0REFaRjc0Vjd1czg4NXY5L2xJbkJ2VkovQjRQdjludS81bnUvNW52TTU1NmZ6QS9RdjBIYi9JclgzVkZLUG80NWNubTRpblVJV1l3TEZSbVpRVXV3akZHL04xaVJIaDFFWjBOUlZSdWRxdDFCZCsyblNLeVMvT2h5czArbGszZS8za1E5cXZENFpVdGE0VlZTVXVZMGVpcHlpVGhBZm9jb09SVmdEdXV3M3FLUmlBZDNyYmNFdGpUallJb2Y2V2FIc0NtelZQV0NNeCtjZ2g4dExxV01LYU1Xc1VqTHFvMlJ0SklRMG9Pem1lcnBRdTRlc1pnc09Oa0d4SDdkMGtkdlRUMTdzNE9NVTdWSThaaGpnR2FNK0FxOWlFTnU4UGlmMXVkejA3TXd2S1dmOEdsVm9DRVkwNFBDNVdkVGFYWUZiUjh2TnZMNSszS2dmYjV4Tk15YTlSYW1KaXluYU1sR1RWdEZscjZiYTl1K3BxbkVYNHVNdVJSZ2pTWUVock43dXRGRmU2bHFhbDdOZmt3NWltQUdIeW5QcGJrOFZtWTB4c3RucHRsRkNWQ1l0elR1Qk44M1FwTUxqVHRldmRQelNVbko3ZThta2p4WjM5ZlhiS0RmbGRacWJ2VStUVWdHbkJWRjZmUTJpUEhnNFcxNlVXVXd2emJrMTZzTVpFK1BuMHB2ejdKU2V1QXllczhsY3BDbWFLdW8vcCtxV3IyVWN3SUFIV3J2UDBZRXpoWEF0TEFic3NIaHA3aUdhbXZ5aWpQOHJ5cXJYVVdYOVhvb3d4eUF1Zk5CcnA0M1BPQkZYWmxrZjhNRFJpcWNweW93QXdwdXoyeCtmV3Z6L0R0ZGU5c21zenlndGNSNkMxd2JkekJsNk9scTVXTllZNG9HYXRoSk1ya1RFeDBqQVJTSEFWcys1cllrUU5YYitRZ2ZQTHNRNmdYeUluc3JlUWZtcG03UlZGWWZMODZuMWZpVU9rWXZTaGtVUHh2YnVrem95NksxaWhNMWhvM1h6VzZFdlNmWEErZHBpV0dhV2QrZG9Yekx6bUd3S1lGTENBc1JBbFBCQWhNbENGWFU3dEJVVlByOEhnVmNKSFdxK0YwMHBscitETVRkclA0enZ4WTExa05NaHhUK1NlVEdnK2Q0VjVMUUppdHlVR0pOQjhWRlpzamdZQlpNL0lJL1hDVGtqMHF5RE9wRjJBVlExN0NJalVwL0RuVDFVa0w1RjVnZGorc1Mxd2cxZ0UzZ2lnbTYwZkNYelNuUFhieUFQYklYditJRHBFMTZUaGFISVM5c2t5aGxtTUU1RjNjZnFBS2hxMkMwRTVQSDFnWWFYYUxQRGtaRzBIREpPbktXSHA1MUkwejVTT3V4OGUxV0F1WnpkSFFyVGtwOFRtalhvSStsYTB3R1pzenVicWJPM2lmUTZBL1c3dlZTWXNWM21SMEpLd2tLYzRXSGlCa21SOEkzQ0NnSTg3b09MNHF6VDVQK1JVSkJlakVPZ0FQSzhoWVB6YXRNK2VJVHAySU85eVRRbWVyb21QUnh4MXF4QWNzaWxlL3ViU2VFYmNXUUdZRUNnaGNMWTJIeUtqb2dqSDI1aE1wanBVdjFPdWdsaTRlaDJlUncwTzMyYkpqa3l1Q2dOemcwdnpsWU1TaVNzMHVvbzRNRzdoTU9qQ0VhWDF5RkUwblN2akJ6dVRuRXBLODZaOElvcUZBSXVidzhrZzlBckVhUkVXU1pJK2pINFhicDZnOUU5RW5KVDNvYVJ6RE4rTVVKQlFESG41NmE4b1VtRUJ1c094QnMvTjUrdEpFYlBrQUZEajhVR3ZPcy9JV3ZjU2dsR0JodlM3L0ZUWWZwV0dZZERZOGZQQXhXU0EzNXNUQzRwNCtMbTRBYXFJb1BlUXRmdWZLNkpoMFpoeGxic1VYT1NtWE5pZkQ1WlRBa3lEb2ZiYmNjbHhuQThXTkFxeENiUk55a2hYeFFwYUR3NjdmWFVZYnNpRzBLaHR2Mm9lSXZoOHJoUU1ZT2NFQXFYRy9lSSt6bmdPYzV5eHI4cTgySUFNMWMvRkxGT3BscXU1ZUZRWHJNWnpHY1ZDalliTFdHNUk0QlQxZXVScmxieHROT3RNaXREREVoTFhJSXluQUF2dU9FV0UzWDNOZEFmdDk0VmdhRzQyWElRdDBaWDZQZUNFL3FRRmU5cks2SHg3WVU1MEt2SDdmVzRmUytxN0tLQkp4c2dnQlg1cFNBR2gxaklyVmg1elE2dzNSZmFhaEJYbS9hQ2JDWlRqQ1VGVVR5V1pxVzlwNjJNakpQWFZxT3JQZ01PNE52NzRHa2Yrb3dmdE5WQkRRbmpGSnFIU3cxN3BYdmhXVzVLWnFlL1E0OU4vVVNUQ0FWV29RWEZJSEJIWFhlM0ZQclVEc3VHRG10Ri9oSEtUSHBla3hoaUFPUEkrU0pxNlM2SEY0STlZV3prQkpUbzQ2aVVNeldwOFBpci9SaWR1THhLWXNTa3NWOHZMbE9RdmhHWDJZbFIwT0JoQmpDK3UvZ0VjdlkwQXBLN1lrNDFOeGpQU1FuV0ZIVEY2NlVyamdldkI4Q3U1YStsMnZZU1JQdHVWRG83M2hoZE1TSG5VWDd0VGpzVlpHeEFsL1dwdGlPSUVRMWduTDI5bVg2L3RSMXRtbGtZajhXNFgrQ1NqV2NVREdZMU5wUy9DN2hTS3FpTUxNL2wyUW1TV1o3M0RkeitnaW84QkNFTllQUTQ2cW5rendYVWJxdkJreGpVUXNXZlpGZ2J1bzNyQWYrd043ak9POTAreW54NFBpM0wrMG5ZTDFTY2hEVWdBUDRnUFYvN0lkMXErMUhTaG11R2tJcVdSUGd5eE1GcVA4SGZqVG5qWHdZNWJRZmJKY3Q2T0l6S2dNSG90Ri9IZTFlZ3NheEhTcUc2d2ZkbVE1eDhOeVRGRnFCY3AyaVNvd0hSM3lrNSszNmhGN3ZYQUFBQUFFbEZUa1N1UW1DQyIsImF1dGhlbnRpY2F0b3JHZXRJbmZvIjp7InZlcnNpb25zIjpbIlUyRl9WMiIsIkZJRE9fMl8wIiwiRklET18yXzFfUFJFIl0sImV4dGVuc2lvbnMiOlsiY3JlZFByb3RlY3QiLCJobWFjLXNlY3JldCJdLCJhYWd1aWQiOiI4NTIwMzQyMTQ4Zjk0MzU1OWJjODhhNTM4NDZlNTA4MyIsIm9wdGlvbnMiOnsicGxhdCI6ZmFsc2UsInJrIjp0cnVlLCJjbGllbnRQaW4iOmZhbHNlLCJ1cCI6dHJ1ZSwiY3JlZGVudGlhbE1nbXRQcmV2aWV3Ijp0cnVlfSwibWF4TXNnU2l6ZSI6MTIwMCwicGluVXZBdXRoUHJvdG9jb2xzIjpbMiwxXSwibWF4Q3JlZGVudGlhbENvdW50SW5MaXN0Ijo4LCJtYXhDcmVkZW50aWFsSWRMZW5ndGgiOjEyOCwidHJhbnNwb3J0cyI6WyJ1c2IiLCJsaWdodG5pbmciXSwiYWxnb3JpdGhtcyI6W3sidHlwZSI6InB1YmxpYy1rZXkiLCJhbGciOi03fSx7InR5cGUiOiJwdWJsaWMta2V5IiwiYWxnIjotOH1dLCJtaW5QSU5MZW5ndGgiOjYsImZpcm13YXJlVmVyc2lvbiI6MzI4NzA2LCJjZXJ0aWZpY2F0aW9ucyI6eyJGSVBTLUNNVlAtMiI6MiwiRklQUy1DTVZQLTItUEhZIjozfX19LCJzdGF0dXNSZXBvcnRzIjpbeyJzdGF0dXMiOiJGSURPX0NFUlRJRklFRF9MMSIsImVmZmVjdGl2ZURhdGUiOiIyMDIxLTAyLTE4IiwiY2VydGlmaWNhdGlvbkRlc2NyaXB0b3IiOiJZSyA1Q2kgRklQUyIsImNlcnRpZmljYXRlTnVtYmVyIjoiRklETzIwMDIwMjEwMTE4MDA1IiwiY2VydGlmaWNhdGlvblBvbGljeVZlcnNpb24iOiIxLjMuNyIsImNlcnRpZmljYXRpb25SZXF1aXJlbWVudHNWZXJzaW9uIjoiMS4zIn1dLCJ0aW1lT2ZMYXN0U3RhdHVzQ2hhbmdlIjoiMjAyMS0wMi0xOCJ9LHsiYXR0ZXN0YXRpb25DZXJ0aWZpY2F0ZUtleUlkZW50aWZpZXJzIjpbIjY3ZWYwZjRjMzZiNTE3ODBhM2ZhY2MwYTkyMzI0NTkzYWIxOTY2ODUiLCI5YmU4Yzg2ZjNiN2RhOWY1MDI2YTU2NjA3YjJiOTNmMGZmZDA1OGFlIiwiNzI5NTQ5OTUzMWMwZmIwNTlkNmM4OGQxYjI5NjY1NTQ3NzU3YzZjNiIsImVhNTQ0MmM5Y2M1NmY2NDU2ZGI1MzQ0YjM2OTY4OWM2NDdhN2ExZTEiLCIwN2U0NGE3YzJlN2UwYjYwNTRjMDI5MmZiYTY5MWVlYmZkYjQ4MWJkIiwiNzVkOTI2NmE3OTU5OWU5Y2FjNjA0YWMyYmUzZjAzYTBmMDQ0NGQ3NCJdLCJtZXRhZGF0YVN0YXRlbWVudCI6eyJsZWdhbEhlYWRlciI6Imh0dHBzOi8vZmlkb2FsbGlhbmNlLm9yZy9tZXRhZGF0YS9tZXRhZGF0YS1zdGF0ZW1lbnQtbGVnYWwtaGVhZGVyLyIsImF0dGVzdGF0aW9uQ2VydGlmaWNhdGVLZXlJZGVudGlmaWVycyI6WyI2N2VmMGY0YzM2YjUxNzgwYTNmYWNjMGE5MjMyNDU5M2FiMTk2Njg1IiwiOWJlOGM4NmYzYjdkYTlmNTAyNmE1NjYwN2IyYjkzZjBmZmQwNThhZSIsIjcyOTU0OTk1MzFjMGZiMDU5ZDZjODhkMWIyOTY2NTU0Nzc1N2M2YzYiLCJlYTU0NDJjOWNjNTZmNjQ1NmRiNTM0NGIzNjk2ODljNjQ3YTdhMWUxIiwiMDdlNDRhN2MyZTdlMGI2MDU0YzAyOTJmYmE2OTFlZWJmZGI0ODFiZCIsIjc1ZDkyNjZhNzk1OTllOWNhYzYwNGFjMmJlM2YwM2EwZjA0NDRkNzQiXSwiZGVzY3JpcHRpb24iOiJZdWJpS2V5IDUgU2VyaWVzIHdpdGggTkZDIiwiYXV0aGVudGljYXRvclZlcnNpb24iOjIsInByb3RvY29sRmFtaWx5IjoidTJmIiwic2NoZW1hIjozLCJ1cHYiOlt7Im1ham9yIjoxLCJtaW5vciI6MX1dLCJhdXRoZW50aWNhdGlvbkFsZ29yaXRobXMiOlsic2VjcDI1NnIxX2VjZHNhX3NoYTI1Nl9yYXciXSwicHVibGljS2V5QWxnQW5kRW5jb2RpbmdzIjpbImVjY194OTYyX3JhdyJdLCJhdHRlc3RhdGlvblR5cGVzIjpbImJhc2ljX2Z1bGwiXSwidXNlclZlcmlmaWNhdGlvbkRldGFpbHMiOltbeyJ1c2VyVmVyaWZpY2F0aW9uTWV0aG9kIjoicHJlc2VuY2VfaW50ZXJuYWwifV1dLCJrZXlQcm90ZWN0aW9uIjpbImhhcmR3YXJlIiwic2VjdXJlX2VsZW1lbnQiLCJyZW1vdGVfaGFuZGxlIl0sIm1hdGNoZXJQcm90ZWN0aW9uIjpbIm9uX2NoaXAiXSwiY3J5cHRvU3RyZW5ndGgiOjEyOCwiYXR0YWNobWVudEhpbnQiOlsiZXh0ZXJuYWwiLCJ3aXJlZCIsIndpcmVsZXNzIiwibmZjIl0sInRjRGlzcGxheSI6W10sImF0dGVzdGF0aW9uUm9vdENlcnRpZmljYXRlcyI6WyJNSUlESGpDQ0FnYWdBd0lCQWdJRUcwQlQ5ekFOQmdrcWhraUc5dzBCQVFzRkFEQXVNU3d3S2dZRFZRUURFeU5aZFdKcFkyOGdWVEpHSUZKdmIzUWdRMEVnVTJWeWFXRnNJRFExTnpJd01EWXpNVEFnRncweE5EQTRNREV3TURBd01EQmFHQTh5TURVd01Ea3dOREF3TURBd01Gb3dMakVzTUNvR0ExVUVBeE1qV1hWaWFXTnZJRlV5UmlCU2IyOTBJRU5CSUZObGNtbGhiQ0EwTlRjeU1EQTJNekV3Z2dFaU1BMEdDU3FHU0liM0RRRUJBUVVBQTRJQkR3QXdnZ0VLQW9JQkFRQy9qd1l1aEJWbHFhaVlXRU1zcldGaXNnSitQdE05MWVTcnBJNFRLN1U1M213Q0lhd1NESHk4dlVtazVOMktBajlhYnZUOU5QNVNNUzFoUWkzdXN4b1lHb25YUWdmTzZaWHlVQTlhK0tBa3FkRm5Cbmx5dWdTZUNPZXA4RWRaRmZzYVJGdE1qa3d6NUdjejJQeTR2SVl2Q2RNSFB0d2F6MGJWdXpuZXVlSUV6NlRuUWpFNjNSZHQyemJ3bmVid1RHNVp5YmVXU3dienkrQkozNFpIY1VoUEFZODl5SlFYdUUwSXpNWkZjRUJiUE5SYldFQ1JLZ2pxLy9xVDlubURPRlZsU1JDdDJ3aXFQU3psdXduK3Yrc3VRRUJzVWpUR01FZDI1dEtYWFRrTlcyMXdJV2J4ZVN5VW9UWHdMdkdTNnhsd1FTZ05wazJxWFl3ZjhpWGc3VldaQWdNQkFBR2pRakJBTUIwR0ExVWREZ1FXQkJRZ0l2ejBiTkdKaGpncFRva3N5S3BQOXh2OW9EQVBCZ05WSFJNRUNEQUdBUUgvQWdFQU1BNEdBMVVkRHdFQi93UUVBd0lCQmpBTkJna3Foa2lHOXcwQkFRc0ZBQU9DQVFFQWp2anVPTURTYStKWEZDTHlCS3N5Y1h0QlZac0o0VWUzTGJhRXNQWTRNWU4vaElRNVpNNXA3RWpmY25NRzRDdFlrTnNmTkhjMEFoQkxkcTQ1cm5UODdxLzZPM3ZVRXROTWFmYmhVNmt0aFg3WSs5WEZOOU5wbVl4citla1ZZNXhPeGk4aDlKRElnb01QNFZCMXVTMGF1bkwxSUdxck5vb0w5bW1Gbkwya0xWVmVlNi9WUjZDNStLU1RDTUNXcHBNdUpJWklJMnY5bzRka29aOFk3UVJqUWxMZll6ZDNxR3RLYnc3eGFGMVVzRy81eFViL0J0d2IyWDJnNElucGlCL3l0LzNDcFFYcGlXWC9LNG1CdlVLaUduMDVac3FlWTFneDRnMHhMQnFjVTlwc215UHpLK1ZzZ3cyamVSUTVKbEtEeXFFMGhlYmZDMXR2RnUwQ0NySkZjdz09Il0sImljb24iOiJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNBQUFBQWZDQVlBQUFDR1ZzK01BQUFBQVhOU1IwSUFyczRjNlFBQUFBUm5RVTFCQUFDeGp3djhZUVVBQUFBSmNFaFpjd0FBSFlZQUFCMkdBVjJpRTRFQUFBYk5TVVJCVkZoSHBWZDdUTlYxRkQvM2Q1OXdlUVNJZ1M5QVFBWGNGTEFRWmk5ZnBlVnoxdFkvV1RacjVXeHBjN1c1a25MYTVqSTNaODVzclMybk0yc2p0V3daUzdJVUg0SDR4Q25FUXg0REFaRjc0Vjd1czg4NXY5L2xJbkJ2VkovQjRQdjludS81bnUvNW52TTU1NmZ6QS9RdjBIYi9JclgzVkZLUG80NWNubTRpblVJV1l3TEZSbVpRVXV3akZHL04xaVJIaDFFWjBOUlZSdWRxdDFCZCsyblNLeVMvT2h5czArbGszZS8za1E5cXZENFpVdGE0VlZTVXVZMGVpcHlpVGhBZm9jb09SVmdEdXV3M3FLUmlBZDNyYmNFdGpUallJb2Y2V2FIc0NtelZQV0NNeCtjZ2g4dExxV01LYU1Xc1VqTHFvMlJ0SklRMG9Pem1lcnBRdTRlc1pnc09Oa0d4SDdkMGtkdlRUMTdzNE9NVTdWSThaaGpnR2FNK0FxOWlFTnU4UGlmMXVkejA3TXd2S1dmOEdsVm9DRVkwNFBDNVdkVGFYWUZiUjh2TnZMNSszS2dmYjV4Tk15YTlSYW1KaXluYU1sR1RWdEZscjZiYTl1K3BxbkVYNHVNdVJSZ2pTWUVock43dXRGRmU2bHFhbDdOZmt3NWltQUdIeW5QcGJrOFZtWTB4c3RucHRsRkNWQ1l0elR1Qk44M1FwTUxqVHRldmRQelNVbko3ZThta2p4WjM5ZlhiS0RmbGRacWJ2VStUVWdHbkJWRjZmUTJpUEhnNFcxNlVXVXd2emJrMTZzTVpFK1BuMHB2ejdKU2V1QXllczhsY3BDbWFLdW8vcCtxV3IyVWN3SUFIV3J2UDBZRXpoWEF0TEFic3NIaHA3aUdhbXZ5aWpQOHJ5cXJYVVdYOVhvb3d4eUF1Zk5CcnA0M1BPQkZYWmxrZjhNRFJpcWNweW93QXdwdXoyeCtmV3Z6L0R0ZGU5c21zenlndGNSNkMxd2JkekJsNk9scTVXTllZNG9HYXRoSk1ya1RFeDBqQVJTSEFWcys1cllrUU5YYitRZ2ZQTHNRNmdYeUluc3JlUWZtcG03UlZGWWZMODZuMWZpVU9rWXZTaGtVUHh2YnVrem95NksxaWhNMWhvM1h6VzZFdlNmWEErZHBpV0dhV2QrZG9Yekx6bUd3S1lGTENBc1JBbFBCQWhNbENGWFU3dEJVVlByOEhnVmNKSFdxK0YwMHBscitETVRkclA0enZ4WTExa05NaHhUK1NlVEdnK2Q0VjVMUUppdHlVR0pOQjhWRlpzamdZQlpNL0lJL1hDVGtqMHF5RE9wRjJBVlExN0NJalVwL0RuVDFVa0w1RjVnZGorc1Mxd2cxZ0UzZ2lnbTYwZkNYelNuUFhieUFQYklYditJRHBFMTZUaGFISVM5c2t5aGxtTUU1RjNjZnFBS2hxMkMwRTVQSDFnWWFYYUxQRGtaRzBIREpPbktXSHA1MUkwejVTT3V4OGUxV0F1WnpkSFFyVGtwOFRtalhvSStsYTB3R1pzenVicWJPM2lmUTZBL1c3dlZTWXNWM21SMEpLd2tLYzRXSGlCa21SOEkzQ0NnSTg3b09MNHF6VDVQK1JVSkJlakVPZ0FQSzhoWVB6YXRNK2VJVHAySU85eVRRbWVyb21QUnh4MXF4QWNzaWxlL3ViU2VFYmNXUUdZRUNnaGNMWTJIeUtqb2dqSDI1aE1wanBVdjFPdWdsaTRlaDJlUncwTzMyYkpqa3l1Q2dOemcwdnpsWU1TaVNzMHVvbzRNRzdoTU9qQ0VhWDF5RkUwblN2akJ6dVRuRXBLODZaOElvcUZBSXVidzhrZzlBckVhUkVXU1pJK2pINFhicDZnOUU5RW5KVDNvYVJ6RE4rTVVKQlFESG41NmE4b1VtRUJ1c094QnMvTjUrdEpFYlBrQUZEajhVR3ZPcy9JV3ZjU2dsR0JodlM3L0ZUWWZwV0dZZERZOGZQQXhXU0EzNXNUQzRwNCtMbTRBYXFJb1BlUXRmdWZLNkpoMFpoeGxic1VYT1NtWE5pZkQ1WlRBa3lEb2ZiYmNjbHhuQThXTkFxeENiUk55a2hYeFFwYUR3NjdmWFVZYnNpRzBLaHR2Mm9lSXZoOHJoUU1ZT2NFQXFYRy9lSSt6bmdPYzV5eHI4cTgySUFNMWMvRkxGT3BscXU1ZUZRWHJNWnpHY1ZDalliTFdHNUk0QlQxZXVScmxieHROT3RNaXREREVoTFhJSXluQUF2dU9FV0UzWDNOZEFmdDk0VmdhRzQyWElRdDBaWDZQZUNFL3FRRmU5cks2SHg3WVU1MEt2SDdmVzRmUytxN0tLQkp4c2dnQlg1cFNBR2gxaklyVmg1elE2dzNSZmFhaEJYbS9hQ2JDWlRqQ1VGVVR5V1pxVzlwNjJNakpQWFZxT3JQZ01PNE52NzRHa2Yrb3dmdE5WQkRRbmpGSnFIU3cxN3BYdmhXVzVLWnFlL1E0OU4vVVNUQ0FWV29RWEZJSEJIWFhlM0ZQclVEc3VHRG10Ri9oSEtUSHBla3hoaUFPUEkrU0pxNlM2SEY0STlZV3prQkpUbzQ2aVVNeldwOFBpci9SaWR1THhLWXNTa3NWOHZMbE9RdmhHWDJZbFIwT0JoQmpDK3UvZ0VjdlkwQXBLN1lrNDFOeGpQU1FuV0ZIVEY2NlVyamdldkI4Q3U1YStsMnZZU1JQdHVWRG83M2hoZE1TSG5VWDd0VGpzVlpHeEFsL1dwdGlPSUVRMWduTDI5bVg2L3RSMXRtbGtZajhXNFgrQ1NqV2NVREdZMU5wUy9DN2hTS3FpTUxNL2wyUW1TV1o3M0RkeitnaW84QkNFTllQUTQ2cW5rendYVWJxdkJreGpVUXNXZlpGZ2J1bzNyQWYrd043ak9POTAreW54NFBpM0wrMG5ZTDFTY2hEVWdBUDRnUFYvN0lkMXErMUhTaG11R2tJcVdSUGd5eE1GcVA4SGZqVG5qWHdZNWJRZmJKY3Q2T0l6S2dNSG90Ri9IZTFlZ3NheEhTcUc2d2ZkbVE1eDhOeVRGRnFCY3AyaVNvd0hSM3lrNSszNmhGN3ZYQUFBQUFFbEZUa1N1UW1DQyJ9LCJzdGF0dXNSZXBvcnRzIjpbeyJzdGF0dXMiOiJGSURPX0NFUlRJRklFRF9MMSIsImVmZmVjdGl2ZURhdGUiOiIyMDIwLTA1LTEyIiwiY2VydGlmaWNhdGlvbkRlc2NyaXB0b3IiOiJZdWJpS2V5IDUgTkZDIiwiY2VydGlmaWNhdGVOdW1iZXIiOiJVMkYxMTAwMjAxOTEwMTcwMDYiLCJjZXJ0aWZpY2F0aW9uUG9saWN5VmVyc2lvbiI6IjEuMS4xIiwiY2VydGlmaWNhdGlvblJlcXVpcmVtZW50c1ZlcnNpb24iOiIxLjMifV0sInRpbWVPZkxhc3RTdGF0dXNDaGFuZ2UiOiIyMDIwLTA1LTEyIn0seyJhYWd1aWQiOiJkODIxYTdkNC1lOTdjLTRjYjYtYmQ4Mi00MjM3NzMxZmQ0YmUiLCJtZXRhZGF0YVN0YXRlbWVudCI6eyJsZWdhbEhlYWRlciI6Imh0dHBzOi8vZmlkb2FsbGlhbmNlLm9yZy9tZXRhZGF0YS9tZXRhZGF0YS1zdGF0ZW1lbnQtbGVnYWwtaGVhZGVyLyIsImFhZ3VpZCI6ImQ4MjFhN2Q0LWU5N2MtNGNiNi1iZDgyLTQyMzc3MzFmZDRiZSIsImRlc2NyaXB0aW9uIjoiSHlwZXIgRklET8KuIEJpbyBTZWN1cml0eSBLZXkiLCJhdXRoZW50aWNhdG9yVmVyc2lvbiI6MSwicHJvdG9jb2xGYW1pbHkiOiJmaWRvMiIsInNjaGVtYSI6MywidXB2IjpbeyJtYWpvciI6MSwibWlub3IiOjB9XSwiYXV0aGVudGljYXRpb25BbGdvcml0aG1zIjpbInNlY3AyNTZyMV9lY2RzYV9zaGEyNTZfcmF3Il0sInB1YmxpY0tleUFsZ0FuZEVuY29kaW5ncyI6WyJjb3NlIl0sImF0dGVzdGF0aW9uVHlwZXMiOlsiYmFzaWNfZnVsbCJdLCJ1c2VyVmVyaWZpY2F0aW9uRGV0YWlscyI6W1t7InVzZXJWZXJpZmljYXRpb25NZXRob2QiOiJmaW5nZXJwcmludF9pbnRlcm5hbCJ9XSxbeyJ1c2VyVmVyaWZpY2F0aW9uTWV0aG9kIjoicHJlc2VuY2VfaW50ZXJuYWwifV1dLCJrZXlQcm90ZWN0aW9uIjpbImhhcmR3YXJlIiwic2VjdXJlX2VsZW1lbnQiXSwibWF0Y2hlclByb3RlY3Rpb24iOlsib25fY2hpcCJdLCJjcnlwdG9TdHJlbmd0aCI6MTI4LCJhdHRhY2htZW50SGludCI6WyJleHRlcm5hbCJdLCJ0Y0Rpc3BsYXkiOltdLCJhdHRlc3RhdGlvblJvb3RDZXJ0aWZpY2F0ZXMiOlsiTUlJQnh6Q0NBV3lnQXdJQkFnSUNFQXN3Q2dZSUtvWkl6ajBFQXdJd09qRUxNQWtHQTFVRUJoTUNRMEV4RWpBUUJnTlZCQW9NQ1VoWlVFVlNVMFZEVlRFWE1CVUdBMVVFQXd3T1NGbFFSVkpHU1VSUElEQXlNREF3SUJjTk1UZ3dNVEF4TURBd01EQXdXaGdQTWpBME56RXlNekV5TXpVNU5UbGFNRG94Q3pBSkJnTlZCQVlUQWtOQk1SSXdFQVlEVlFRS0RBbElXVkJGVWxORlExVXhGekFWQmdOVkJBTU1Ea2haVUVWU1JrbEVUeUF3TWpBd01Ga3dFd1lIS29aSXpqMENBUVlJS29aSXpqMERBUWNEUWdBRXJLVUkxRzBTN2E2SU9MbG1IaXBMbEJ1eFRZanNFRVNRdnpRaDNkQjdkdnh4V1dtN2tXTDkxcnE2UzdheVpHMGdaUFIrellxZEZ6d0FZRGNHNCthWDY2TmdNRjR3SFFZRFZSME9CQllFRkxaWWNmTU13a1FBR2J0M3J5elpGUEZ5cG1zSU1COEdBMVVkSXdRWU1CYUFGTFpZY2ZNTXdrUUFHYnQzcnl6WkZQRnlwbXNJTUF3R0ExVWRFd1FGTUFNQkFmOHdEZ1lEVlIwUEFRSC9CQVFEQWdFR01Bb0dDQ3FHU000OUJBTUNBMGtBTUVZQ0lRQ0cyL3BwTUd0N3BrY1JpZTVZSW9oUzN1RFBJcm1pUmNUanFEY2xLVldnMGdJaEFOY1BORFpIRTIvelordUI1VGhHOU9adXMreFNiNGtua3JiQXlYS1gyem0vIl0sImljb24iOiJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUkwQUFBQVdDQVlBQUFEOS94OGxBQUFBQkhOQ1NWUUlDQWdJZkFoa2lBQUFCM0ZKUkVGVWFJSHRtazF5MjlnUngzOE5JdExTekFuTW5NRE1Oa21WNmFxcHluSjRBOU1uTUNTU1ZhRzBNTHdRc1JCbHdTY1FkWUtSVmxtbFJHNW1HK29FUTUwZzFDNVVTSFFXai9oKy9OQkV0bWNtK3E4SXZFYS9ma0Qzdi92MVk0Vk5PQXhhL1BtN0tqLytZMW9hOC93cWYvbnIzL25UZDNmVzhXZjhadUd1SFduM213Z1h3QnZyZUdVdkJCcEFnOFBnSFo5Nnd5OWk0VE8rTGRyOUppS3ZWbGRqQnIyUll4WHNudFNCaXcyS2hvaThUYTRkTGpnTVdrOW82ak4rQ2VqMFBVUm13QmlKcm9tbzBRa2FaYWZwbnRTSjVBYVI2Z1pGYjB2M254M25Od2lwTXVpTlVCMmlFbEtKSnFEMWZIcnkvQ29xRjJzZHhqakYrZG81ak9Pd01WVmw2VTZpYTA2UEo3bnhUdEFBWHErdXhpeVk0cEk2NldMK21kQ2Y1WjdwbnRSUjUvdFVoa3QrRjFXSjVCVWl0WklOcWxPV01pYnNwYlZZcCsrQnZGaHJkNnczN0UxTllGVmVJMnA1VHpKaDhlOXh5Y1o0YlNxdmNzK0pqdmlQM0NXMlBNYU9HRjVRbzZLdlMyc1ZIWEY2Tk1ienE3ajc3ODNhWmNiWjN6N241THlnbHJ6amlMdmsrMFdZT1VTcXFOWVlIRS9vQk0yODA3aDdWeUQxekoxckJyMVJzdUJTeXRJRFZGb0lyNUpiRGhlMCt6UE9qcTZzQ3hZOFlxZFFSNEJKUWFJQmZGajkvZ2p6RVBZUEFQTWlLM3QvQVBLTUZvbUhKSTUxRC9QUDZONFFrZGZZSUdLcXVWd3RKdXVESVliTEdKaWlFaUpxMTQxQ1pXL0dZWENRNk82ZTFJbWNINEFhb2dWeEFWZkhxM1Uvemc2QWRoQWl2QWV4bUNMUUNlS2ExRGZxRlNEdk5DNjFaTnpSTVdEc0Z1cXJKUTFCakhPaHN6UTl0ZnREeUx4azVaYkZ2SlVzV3ZXSGdra2ZHUnlGTE9jTmxOdkMyTVdxTHZyZllTSTJUSzVGM2hyalYvQ0NXaTVkUm5qV0tMZkI0U0tuNjZrZ1VrWDBITTgzakJMSkZjTFR6OU1KZk9Nd1h3aExRdHBCQ1BJVHlFKzR0Rmc4REEzVEhBYXRUS1FhaDFuT0c0VCtETSt2bG1vYzFVdk9qb3huR3BrR2xmMVJ3amdpVlpRTDRJOVBZdnlnNTlQdXR4QjVDVUFGRC9ETWIvV1RLRk85NDlOUk9UV3FYaUlTVTI0Tko4T1lEZzNpeUVvZk9BQXBNaUFzNXVWN1dkMVpsaFNwNHU3WGdWRmk5enJkb211Y2ZJc2RTak1oR05VN0lDNWM4N0xHanNmRHBFQ3ZlTnMxa2FybkdYcTdaMGt6aVZaM2Z3aGtjL2MxWjBjcEE1MGVUNnlPZzlUcEJENkRudit6REM1Q3hWKzFBQUI5aStmN3NGL05PYnVJdlJBWG1TWnBGcURUYnlXczZ0Z1lRQ1k1K1UzSTZ4N1JEcHE1ZEYzRVFxNXk5Y2htNVp2dHlNNGowbG9yMndsMm0yNUh1RlRVejdGSWhKZGZsRmJUU09hVzVTcGx4VVZ6ekNhaFA2Tjcwa0tkZjZhUDZudmlYR21EOHBKdVAxOGJSTHkwcFdjKzlZYkp4elpSN0tGYVM1MWR4d3lPZHZ2UTN4SVZibWozZlpZUDF6dW5VUnU2SjNXeTVkR3VUdjRFY0JGcFpxN3YxKzU4aWluTDNic3BGTTF3ZWp5aDB4OG5VU3hTeFF0cWF5TkxhS0VGZHJBNVREcm9BemZHSG4yZjMrWEpiczRaVWN2VmJ2RU9JWStiVW5TcXpqZzcrdjFHM1NvTnNMQ01TV0dHRVlVYXlCQjNIOXJCRU9GeXd3Y3YyMkdDbzRFNjloM3VWNEJEdkNzQlVQNjFSczZTc3NTZUo3VkE5enRUOFE0d0wvY2FvRlJqYmFieEZpb2pWRWFaK2dQZ25taHUzK1dWZEt4cFEyUjFaMWxWOVM2eGFmbmdvWHBwZmRZNHh0T2s4SzhFRnpUREROUTRERnA1dHBFWkVqVUlqMWRidlA0UStONmlLKzR4Wkl1KzhjYlpWZStRUXFRcnRYemhXTUFDRDdjdy8zSUR5NnlkbTF1Y3FHVk5FWVlaQ3M2K3JsaTE0aHBIVTV2TUhDMjh3TWZWSm9wWFdPTUh2R0JZQ2pDYkhWSFJycThQRnlWRVNPbGE5Snp1eVNScHVpM202WXMxUFlGc04vZysrV1g2T0lVZXc1YVBLVElzRmNvbTZqN1lIOEF3Vjd1ZjByM3llU3ViWlhjNHUrUitZOWV1TmNJYlZLdUlaRnNTWWFscEdkdHUyZ2ZoNm4xZEVUTzk2WlhrMTdISkRyTXJTcTgzbFFGYlpiVytwUzdJd1ZrMTRhNHpocG90ZHR4bmlSM0diTXZ6UFFHSlRFUEsxc2RSUG4reDRpd2JmY0oyQm9oM09GL0tudUk3UkxjMzZBYTlFWnB4a3VpUmZSenpYZEtncld3S3RJS3NtMm1PbWw1U3B0MWkyZUlYWVBvMGkzbUx5dDRrb1V5UktoRTNkRS9lY0hvODRUQm81WG9iQUJIditIUThzWjVWS2JlYzlVcjcrMThQOUp4T1VIWkdpUTZzREFMbUhicjdVK0JGcnQxZ2pqaktUcVRVY2cyL1NtVFJ1OFVPMWF0TWdkMWFIZEZNckxJd0lpMHJQdEFPM2lKTVVhMUR0bDdUcllGbG5NWnNsNXVyWXM3UVpldzQ3YjVuSWlkRFh4RnArejF5aGdqWm92U081VU5qMjhTL2JLd3I4amZzV0VKL1JxZnZKOGNBcXUveGdpRktsZVNJSUR0RlZxOWVNckE1NHhZN2x1TGowaVQ3ellwenhiSVMrYWpUU0dXcEFUVWtZNGh5dS9iNEo0UDA3T24wZUVMM3BJRTZlY2NwZGt0VkwzTmQxM3dqNng1SG01eHQ2RCtvVEpMekYxdFJGekZkblgrc0wvcDJrZGsyVC9tQnpVVTdwSjNick81c04zZHdGTkx1MXhGcUNDWU5MQmppOGhFMFBsdXFBeTlXRzVBWkVWZjVMdllqN0FoN1U3eWdUZ1VQMFhxcUcrTUF3cFRGS2dXZUhrK01yUG9nOWZ4MzB6SElpT1U4TEU1bG5iNTB4OUJwNmpoWm1PT0RmRitsRTJSYlRHKytacFBwR2Q4RzVmL1RuQjVQVmdYdWZYNUF4eVdIeVNMaTNiUEQvSC9BL3MrOW91TW90eXdlbWxaWkkzRHcvSGZQWnhoMFQrcDArcVBraU4rR1R2OVh2RXQ2eHMvQmZ3R2hobW5ZY2F5ZGdRQUFBQUJKUlU1RXJrSmdnZz09IiwiYXV0aGVudGljYXRvckdldEluZm8iOnsidmVyc2lvbnMiOlsiVTJGX1YyIiwiRklET18yXzAiLCJGSURPXzJfMV9QUkUiXSwiZXh0ZW5zaW9ucyI6WyJjcmVkUHJvdGVjdCIsImhtYWMtc2VjcmV0Il0sImFhZ3VpZCI6ImQ4MjFhN2Q0ZTk3YzRjYjZiZDgyNDIzNzczMWZkNGJlIiwib3B0aW9ucyI6eyJwbGF0IjpmYWxzZSwicmsiOnRydWUsImNsaWVudFBpbiI6ZmFsc2UsInVwIjp0cnVlLCJ1diI6ZmFsc2UsInVzZXJWZXJpZmljYXRpb25NZ210UHJldmlldyI6ZmFsc2UsImNyZWRlbnRpYWxNZ210UHJldmlldyI6dHJ1ZX0sIm1heE1zZ1NpemUiOjIwNDgsInBpblV2QXV0aFByb3RvY29scyI6WzFdLCJtYXhDcmVkZW50aWFsQ291bnRJbkxpc3QiOjEwLCJtYXhDcmVkZW50aWFsSWRMZW5ndGgiOjk2LCJ0cmFuc3BvcnRzIjpbInVzYiJdLCJhbGdvcml0aG1zIjpbeyJ0eXBlIjoicHVibGljLWtleSIsImFsZyI6LTd9XX19LCJzdGF0dXNSZXBvcnRzIjpbeyJzdGF0dXMiOiJGSURPX0NFUlRJRklFRF9MMSIsImVmZmVjdGl2ZURhdGUiOiIyMDIxLTAyLTA5IiwiY2VydGlmaWNhdGlvbkRlc2NyaXB0b3IiOiJIeXBlciBGSURPwq4gQmlvIFNlY3VyaXR5IEtleSIsImNlcnRpZmljYXRlTnVtYmVyIjoiRklETzIwMDIwMjEwMjA4MDAxIiwiY2VydGlmaWNhdGlvblBvbGljeVZlcnNpb24iOiIxLjMuNyIsImNlcnRpZmljYXRpb25SZXF1aXJlbWVudHNWZXJzaW9uIjoiMS4zIn1dLCJ0aW1lT2ZMYXN0U3RhdHVzQ2hhbmdlIjoiMjAyMS0wMi0wOSJ9LHsiYWFndWlkIjoiYjkzZmQ5NjEtZjJlNi00NjJmLWIxMjItODIwMDIyNDdkZTc4IiwibWV0YWRhdGFTdGF0ZW1lbnQiOnsibGVnYWxIZWFkZXIiOiJodHRwczovL2ZpZG9hbGxpYW5jZS5vcmcvbWV0YWRhdGEvbWV0YWRhdGEtc3RhdGVtZW50LWxlZ2FsLWhlYWRlci8iLCJhYWd1aWQiOiJiOTNmZDk2MS1mMmU2LTQ2MmYtYjEyMi04MjAwMjI0N2RlNzgiLCJkZXNjcmlwdGlvbiI6IkFuZHJvaWQgQXV0aGVudGljYXRvciB3aXRoIFNhZmV0eU5ldCBBdHRlc3RhdGlvbiIsImF1dGhlbnRpY2F0b3JWZXJzaW9uIjoxLCJwcm90b2NvbEZhbWlseSI6ImZpZG8yIiwic2NoZW1hIjozLCJ1cHYiOlt7Im1ham9yIjoxLCJtaW5vciI6MH1dLCJhdXRoZW50aWNhdGlvbkFsZ29yaXRobXMiOlsic2VjcDI1NnIxX2VjZHNhX3NoYTI1Nl9yYXciXSwicHVibGljS2V5QWxnQW5kRW5jb2RpbmdzIjpbImNvc2UiXSwiYXR0ZXN0YXRpb25UeXBlcyI6WyJiYXNpY19mdWxsIl0sInVzZXJWZXJpZmljYXRpb25EZXRhaWxzIjpbW3sidXNlclZlcmlmaWNhdGlvbk1ldGhvZCI6ImZhY2VwcmludF9pbnRlcm5hbCJ9XSxbeyJ1c2VyVmVyaWZpY2F0aW9uTWV0aG9kIjoiZmluZ2VycHJpbnRfaW50ZXJuYWwifV0sW3sidXNlclZlcmlmaWNhdGlvbk1ldGhvZCI6InBhc3Njb2RlX2ludGVybmFsIn1dLFt7InVzZXJWZXJpZmljYXRpb25NZXRob2QiOiJwYXR0ZXJuX2ludGVybmFsIn1dXSwia2V5UHJvdGVjdGlvbiI6WyJoYXJkd2FyZSIsInRlZSJdLCJpc0tleVJlc3RyaWN0ZWQiOmZhbHNlLCJtYXRjaGVyUHJvdGVjdGlvbiI6WyJ0ZWUiXSwiYXR0YWNobWVudEhpbnQiOlsiaW50ZXJuYWwiXSwidGNEaXNwbGF5IjpbXSwiYXR0ZXN0YXRpb25Sb290Q2VydGlmaWNhdGVzIjpbIk1JSURvVENDQW9tZ0F3SUJBZ0lMQkFBQUFBQUJENFdxTFVnd0RRWUpLb1pJaHZjTkFRRUZCUUF3T3pFWU1CWUdBMVVFQ2hNUFEzbGlaWEowY25WemRDd2dTVzVqTVI4d0hRWURWUVFERXhaRGVXSmxjblJ5ZFhOMElFZHNiMkpoYkNCU2IyOTBNQjRYRFRBMk1USXhOVEE0TURBd01Gb1hEVEl4TVRJeE5UQTRNREF3TUZvd096RVlNQllHQTFVRUNoTVBRM2xpWlhKMGNuVnpkQ3dnU1c1ak1SOHdIUVlEVlFRREV4WkRlV0psY25SeWRYTjBJRWRzYjJKaGJDQlNiMjkwTUlJQklqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FROEFNSUlCQ2dLQ0FRRUErTWk4dlJSUVpoUC84Tk41N0NQeXR4ckhqb1h4RW5PbUdhb1EyNXlpWlhSYWR6NVJmVmIyM0NPMjFPMWZXTEUzVGRWSkRtNzFhb2ZXMG96U0o4YmkvemFmbUdXZ0UwN0dLbVNiMVpBU3p4UUc5RHZqMUNpKzZBNzRxMDVJbEcyT2xURVFYTzJpTGIzVk9tMnlITHRnd0VaTEFmVkpybjVHaXRCMGphRU1Bczd1L09lUHVHdG04MzlFQUw5bUpSUXIzUkF3SFFlV1AwMzJhN2lQdDNzTXBUanIza2ZiMVYwNS9JaW44OWNxZFBIb1dxSTduMUM2cG94Rk5jSlFaWlhjWTRMdjNiOTNUWnhpeVdOekZ0QXBEMG1wU1BDenFyZHN4YWN3T1VCZHJzVGlYU1pUOE00Y0l3aGhxSlFadWdSaVFPd2ZPSEIzRWdaeHB6QVlYU1VucFFJREFRQUJvNEdsTUlHaU1BNEdBMVVkRHdFQi93UUVBd0lCQmpBUEJnTlZIUk1CQWY4RUJUQURBUUgvTUIwR0ExVWREZ1FXQkJTMkNIc05lc3lzSUV5R1ZqSmV6NnR1aFMxd1Z6QS9CZ05WSFI4RU9EQTJNRFNnTXFBd2hpNW9kSFJ3T2k4dmQzZDNNaTV3ZFdKc2FXTXRkSEoxYzNRdVkyOXRMMk55YkM5amRDOWpkSEp2YjNRdVkzSnNNQjhHQTFVZEl3UVlNQmFBRkxZSWV3MTZ6S3dnVElaV01sN1BxMjZGTFhCWE1BMEdDU3FHU0liM0RRRUJCUVVBQTRJQkFRQlc3d29qb0ZST2xaZkorSW5hUmNIVW93QWw5QjhUcTdlamhWaHB3akN0MkJXS0xlUEp6WUZhK0hNaldxZDhCZlA5SWpzTzBRYkUyelpNY3dTTzViQWk1TVh6THFYWkkrTzRUa29ncDI0Q0pKOGlZR2Q3aXgxeUNjVXhYT2w1bjRCSFBhMmhDd2NVUFVmL0Eya2FEQXRFNTJNbHAzK3l5YmgyaE8wajluMEhxMFYrMDkrenYrbUt0czJvb21jclV0VzNaZkE1VEdPZ2tYbVRVZzlVM1lPN245R1BwMU56dzh2L01PeDhCTGpZUkIrVFgzRUpJcmR1UHVvY0EwNmRHaUJoKzRFMzdGNzhDa1dyMStjWFZkQ2c2bUNicHZiampGc3B3Z1pnRkowdGwweXBreFdkWWNRQlgwaldXTDFXTVJKT0VjZ2g0TE1Sa1dYYnRLYUlPTTVWIiwiTUlJRUR6Q0NBdmVnQXdJQkFnSUJBREFOQmdrcWhraUc5dzBCQVFVRkFEQm9NUXN3Q1FZRFZRUUdFd0pWVXpFbE1DTUdBMVVFQ2hNY1UzUmhjbVpwWld4a0lGUmxZMmh1YjJ4dloybGxjeXdnU1c1akxqRXlNREFHQTFVRUN4TXBVM1JoY21acFpXeGtJRU5zWVhOeklESWdRMlZ5ZEdsbWFXTmhkR2x2YmlCQmRYUm9iM0pwZEhrd0hoY05NRFF3TmpJNU1UY3pPVEUyV2hjTk16UXdOakk1TVRjek9URTJXakJvTVFzd0NRWURWUVFHRXdKVlV6RWxNQ01HQTFVRUNoTWNVM1JoY21acFpXeGtJRlJsWTJodWIyeHZaMmxsY3l3Z1NXNWpMakV5TURBR0ExVUVDeE1wVTNSaGNtWnBaV3hrSUVOc1lYTnpJRElnUTJWeWRHbG1hV05oZEdsdmJpQkJkWFJvYjNKcGRIa3dnZ0VnTUEwR0NTcUdTSWIzRFFFQkFRVUFBNElCRFFBd2dnRUlBb0lCQVFDM01zais2WEdtQklXdERCRmszODVONzhnREdJYy9vYXY3UEthZjhNT2gydFRZYml0VGtQc2twRDZFOEo3b1gremxKMFQxS0tZL2U5N2dLdkRJcjFNdm5zb0ZBWk1lajJZY09hZE4rbHEyY3dRbFp1dDNmK2RaeGtxWkpSUlU2eWJIODM4WjFUQndqNit3UmlyL3Jlc3A3ZGVmcWdTSG85VDVpYVUwWDl0RGtZSTIyV1k4c2JpNWd2MmNPajRReUR2dkJtVm1lcHNaR0QzL2NWRThNQzVmdmoxM2M3SmRCbXpESTFhYUs0VW1raHluQXJQa1B3MnZDSG1DdURZOTZwelROYk84YWNyMXpKM28vV1NORjRBemJsNUtYWm5KSG9lMG5SckExVzRUTlNOZTM1dGZQZS9XOTNiQzZqNjdlQTBjUW1kckJOajQxdHB2aS9KRW9BR3JBZ0VEbzRIRk1JSENNQjBHQTFVZERnUVdCQlMvWDdmUnp0MGZodlJiVmF6YzF4RENEcW1JNXpDQmtnWURWUjBqQklHS01JR0hnQlMvWDdmUnp0MGZodlJiVmF6YzF4RENEcW1JNTZGc3BHb3dhREVMTUFrR0ExVUVCaE1DVlZNeEpUQWpCZ05WQkFvVEhGTjBZWEptYVdWc1pDQlVaV05vYm05c2IyZHBaWE1zSUVsdVl5NHhNakF3QmdOVkJBc1RLVk4wWVhKbWFXVnNaQ0JEYkdGemN5QXlJRU5sY25ScFptbGpZWFJwYjI0Z1FYVjBhRzl5YVhSNWdnRUFNQXdHQTFVZEV3UUZNQU1CQWY4d0RRWUpLb1pJaHZjTkFRRUZCUUFEZ2dFQkFBV2RQNGlkMGNrYVZhR3NhZlB6V2RxYkFZY2FUMWVwb1hrSkt0djNMN0llek1kZWF0aURoNkdYNzBrMVBuY0dRVmhpdjQ1WXVBcG5QK3l6M1NGbUg4bFUrbkxNUFV4QTJJR3ZkNTZEZXJ1aXgvVTBGNDdaRVVEMC9Dd3FUUlYvcDJKZExpWFRBQXNnR2gxbytSZTQ5TDJMN1NoWjNVMFdpeGVEeUxKbHh5MTZwYXE4VTRadDNWZWt5dmdnUVF0bzhQVDdkTDVXWFhwNTlma2RoZU10bGI3MWNaQkR6STBmbWdBS2h5bnBWU0pZQUNQcTR4SkRLVnRIQ04yTVFXcGxCcWpsSWFwQnRKVWhsYmw5MFRTckU5YXR2TnppUFRuTnZUNTFjS0VZV1FQSklyU1BuTlZlS3RlbHR0UUtiZmkzUUJGR21oOTVEbUsvRDVmczRDOGZGNVE9IiwiTUlJQ2p6Q0NBaFdnQXdJQkFnSVFYSXVaeFZxVXhkSnhWdDdOaVlETUpqQUtCZ2dxaGtqT1BRUURBekNCaURFTE1Ba0dBMVVFQmhNQ1ZWTXhFekFSQmdOVkJBZ1RDazVsZHlCS1pYSnpaWGt4RkRBU0JnTlZCQWNUQzBwbGNuTmxlU0JEYVhSNU1SNHdIQVlEVlFRS0V4VlVhR1VnVlZORlVsUlNWVk5VSUU1bGRIZHZjbXN4TGpBc0JnTlZCQU1USlZWVFJWSlVjblZ6ZENCRlEwTWdRMlZ5ZEdsbWFXTmhkR2x2YmlCQmRYUm9iM0pwZEhrd0hoY05NVEF3TWpBeE1EQXdNREF3V2hjTk16Z3dNVEU0TWpNMU9UVTVXakNCaURFTE1Ba0dBMVVFQmhNQ1ZWTXhFekFSQmdOVkJBZ1RDazVsZHlCS1pYSnpaWGt4RkRBU0JnTlZCQWNUQzBwbGNuTmxlU0JEYVhSNU1SNHdIQVlEVlFRS0V4VlVhR1VnVlZORlVsUlNWVk5VSUU1bGRIZHZjbXN4TGpBc0JnTlZCQU1USlZWVFJWSlVjblZ6ZENCRlEwTWdRMlZ5ZEdsbWFXTmhkR2x2YmlCQmRYUm9iM0pwZEhrd2RqQVFCZ2NxaGtqT1BRSUJCZ1VyZ1FRQUlnTmlBQVFhckZSYXFmbG9JK2Q2MVNSdlU4WmEyRXVyeHRXMjBlWnpjYTdkbk5ZTVlmM2JvSWtEdUFVVTdGZk83bDAvNGlHenp2ZlVpbm5nbzROK0xaZlFZY1R4bWR3bGtXT3JmekNqdEhEaXg2RXpuUE8vTGx4VHNWK3pmVEovaWpUamVYbWpRakJBTUIwR0ExVWREZ1FXQkJRNjRRbUcxTThad3BaMmRFbDIzT0ExeG1Oam1qQU9CZ05WSFE4QkFmOEVCQU1DQVFZd0R3WURWUjBUQVFIL0JBVXdBd0VCL3pBS0JnZ3Foa2pPUFFRREF3Tm9BREJsQWpBMlo2RVdDTnprbHdCQkhVNis0V01Cenp1cVFoRmtvSjJVT1FJUmVWeDdIZnBrdWU0V1FyTy9pc0lKeE96a3NVMENNUURwS21GSGpGSktTMDRZY1BiV1JOWnU5WU82YlZpOUpObFdTT3J2eEtKR2dZaHFPa2JScVp0TnlXSGEwVjFYYWhnPSIsIk1JSURYekNDQWtlZ0F3SUJBZ0lMQkFBQUFBQUJJVmhUQ0tJd0RRWUpLb1pJaHZjTkFRRUxCUUF3VERFZ01CNEdBMVVFQ3hNWFIyeHZZbUZzVTJsbmJpQlNiMjkwSUVOQklDMGdVak14RXpBUkJnTlZCQW9UQ2tkc2IySmhiRk5wWjI0eEV6QVJCZ05WQkFNVENrZHNiMkpoYkZOcFoyNHdIaGNOTURrd016RTRNVEF3TURBd1doY05Namt3TXpFNE1UQXdNREF3V2pCTU1TQXdIZ1lEVlFRTEV4ZEhiRzlpWVd4VGFXZHVJRkp2YjNRZ1EwRWdMU0JTTXpFVE1CRUdBMVVFQ2hNS1IyeHZZbUZzVTJsbmJqRVRNQkVHQTFVRUF4TUtSMnh2WW1Gc1UybG5iakNDQVNJd0RRWUpLb1pJaHZjTkFRRUJCUUFEZ2dFUEFEQ0NBUW9DZ2dFQkFNd2xkcEI1Qm5naUZ2WEFnN2FFeWlpZS9RVjJFY1d0aUhMOFJnSkR4N0tLblFSZkpNc3VTK0ZnZ2tiaFVxc01nVWR3Yk4xazBldjFMS01QZ2owTUs2NlgxN1lVaGhCNXV6c1RnSGVNQ09GSjBtcGlMeDllK3BabzM0a25sVGlmQnRjK3ljc21XUTF6M3JESTZTWU9neFhHNzF1TDBnUmd5a21tS1BacE8vYkx5Q2lSNVoyS1lWYzNySFFVM0hUZ091NXlMeTZjKzlDN3YvVTlBT0VHTStpQ0s2NVRwam9XYzR6ZFFRNGdPc0MwcDZIcHNrK1FMakpnNlZmTHVRU1NhR2psT0NaZ2RiS2ZkLytSRk8rdUlFbjhyVUFWU05FQ01XRVpYcmlYNzYxM3QyU2Flcjlmd1JQdm0yTDdEV3pnVkdrV3FRUGFidW1EazNGMnhtbUZnaGNDQXdFQUFhTkNNRUF3RGdZRFZSMFBBUUgvQkFRREFnRUdNQThHQTFVZEV3RUIvd1FGTUFNQkFmOHdIUVlEVlIwT0JCWUVGSS93UzMrb0xrVWtyazFRK21PYWk5N2kzUnU4TUEwR0NTcUdTSWIzRFFFQkN3VUFBNElCQVFCTFFOdkFVS3IreUF6djk1WlVSVW03bGdBSlFheXpFNGFHS0Fjenltdm1kTG02QUMydXBBclQ5Zkh4RDRxL2MyZEtnOGRFZTNqZ3IyNXNid01wampNNVJjT081TGxYYktyOEVwYnNVOFl0NUNSc3VaUmorOXhUYUdkV1BvTzR6elVodzhsby9zN2F3bE9xekpDSzZmQmRSb3lWM1hwWUtCb3ZIZDdOQURkQmorMUViZGRUS0pkKzgyY0VIaFhYaXBhMDA5NU1KNlJNRzNOemR2UVhtY0lmZWc3akxRaXRDaHdzL3p5clZRNFBrWDQyNjhOWFNiN2hMaTE4WUl2RFFWRVRJNTNPOXpKcmxBR29tZWNzTXg4Nk95WFNoa0RPT3l5R2VNbGhMeFM2N3R0VmI5K0U3Z1VKVGIwbzJITE8wMkpRWlI3cmtwZURNZG16dGNwSFdEOWYiLCJNSUlEM1RDQ0FzV2dBd0lCQWdJQkFEQU5CZ2txaGtpRzl3MEJBUXNGQURDQmp6RUxNQWtHQTFVRUJoTUNWVk14RURBT0JnTlZCQWdUQjBGeWFYcHZibUV4RXpBUkJnTlZCQWNUQ2xOamIzUjBjMlJoYkdVeEpUQWpCZ05WQkFvVEhGTjBZWEptYVdWc1pDQlVaV05vYm05c2IyZHBaWE1zSUVsdVl5NHhNakF3QmdOVkJBTVRLVk4wWVhKbWFXVnNaQ0JTYjI5MElFTmxjblJwWm1sallYUmxJRUYxZEdodmNtbDBlU0F0SUVjeU1CNFhEVEE1TURrd01UQXdNREF3TUZvWERUTTNNVEl6TVRJek5UazFPVm93Z1k4eEN6QUpCZ05WQkFZVEFsVlRNUkF3RGdZRFZRUUlFd2RCY21sNmIyNWhNUk13RVFZRFZRUUhFd3BUWTI5MGRITmtZV3hsTVNVd0l3WURWUVFLRXh4VGRHRnlabWxsYkdRZ1ZHVmphRzV2Ykc5bmFXVnpMQ0JKYm1NdU1USXdNQVlEVlFRREV5bFRkR0Z5Wm1sbGJHUWdVbTl2ZENCRFpYSjBhV1pwWTJGMFpTQkJkWFJvYjNKcGRIa2dMU0JITWpDQ0FTSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnRVBBRENDQVFvQ2dnRUJBTDN0d1FQODlvLzhBckZ2VzU5STJaMTU0cUszQTJGV0dNTkh0dGZLUFRVdWlVUDNvV21iM29vYS9STWduTFJKZHpJcFZ2MjU3SXpkSXZweTNDZGhsKzcyV29Uc2JobTVpU3pjaEZ2VmRQdHJYOFdKcFJCU2lVWlY5TGgxSE9aLzVGU3VTL2hWY2xjQ0dmZ1hjVm5ySGlnSGRNV2RTTDVzdFBTa3NQTmtOM21Td094R1huL2hiVk5NWXEvTkh3dGp1enFkKy94NUFKaGhkTThtZ2tCajg3SnlhaGtObWNyVURuWE1OL3VMaWNGWjhXSi9YN05mWlRENHA3ZE5kbG9lZGw0MHdPaVdWcG1Lcy9CL3BNMjkzREl4ZkpIUDRGOFIrR3VxU1Z6Um1aVFJvdU5qV3dsMnRWWmk0VXQwSFpiVUp0UUlCRm5RbUE0TzV0Nzh3K3dma1BFQ0F3RUFBYU5DTUVBd0R3WURWUjBUQVFIL0JBVXdBd0VCL3pBT0JnTlZIUThCQWY4RUJBTUNBUVl3SFFZRFZSME9CQllFRkh3TU1oK24yVEIveEgxb28yS29vYzZyQjFzbk1BMEdDU3FHU0liM0RRRUJDd1VBQTRJQkFRQVJXZm9sVHdOdmxKazdtaCtDaFRuVWRnV1VYdUVvazIxaVhRbkNvS2pVc0hVNDhUUnFuZVNmaW9ZbVVlWXMwY1l0YnBVZ1NwSUI3TGlLWjNzeDRtY3VqSlVESmk1RG5Vb3g5ZzYxREx1MzRqZC9Jcm9Bb3c1N1V2dHJ1enZFMDNsUlRzMlE5R2NIR2NnOFJub05BWDNGV09kdDVvVXdGNW9reEJEZ0JQZmc4bi9VcWdyL1FoMDM3WlRsWkZrU0lIYzQwekkrT0lGMWxuUDZhSSt4eTg0ZnhlejZuSDdQZnJIeEJ5MjIvTC9LcEwvUWx3Vkt2T29ZS0FLUXZWUjRDU0Z4MDlGOUhka1dzS2xoUGRBS0FDTDh4M3ZMQ1dSRkN6dEFnZmQ5ZkRMMW1NcFlqbjBxN3BCWmMyVDVOblJlSmFIMVpnVXVmemtWcVNyN1VJdU9oV24wIiwiTUlJRldqQ0NBMEtnQXdJQkFnSVFia2VweFV0SERBM3NNOUNKdVJ6MDRUQU5CZ2txaGtpRzl3MEJBUXdGQURCSE1Rc3dDUVlEVlFRR0V3SlZVekVpTUNBR0ExVUVDaE1aUjI5dloyeGxJRlJ5ZFhOMElGTmxjblpwWTJWeklFeE1RekVVTUJJR0ExVUVBeE1MUjFSVElGSnZiM1FnVWpFd0hoY05NVFl3TmpJeU1EQXdNREF3V2hjTk16WXdOakl5TURBd01EQXdXakJITVFzd0NRWURWUVFHRXdKVlV6RWlNQ0FHQTFVRUNoTVpSMjl2WjJ4bElGUnlkWE4wSUZObGNuWnBZMlZ6SUV4TVF6RVVNQklHQTFVRUF4TUxSMVJUSUZKdmIzUWdVakV3Z2dJaU1BMEdDU3FHU0liM0RRRUJBUVVBQTRJQ0R3QXdnZ0lLQW9JQ0FRQzJFUUtMSHVPaGQ1czczTCtVUHJlVnAwQThvZjJDK1gweUJvSng5dmFNZi92bzI3eHFMcGVYbzR4TCtTdjJzZm5PaEIyeCtjV1gzdSs1OHFQcHZCS0pYcWVxVXF2NEl5ZkxwTEdjWTl2WG1YN3dDbDdyYUtiMHhscEhEVTBRTStOT3NST2p5QmhzUyt6OENaRGZuV1FwSlNNSG9iVFNQUzVnNE0vU0NZZTd6VWp3VGNMQ2VvaUt1N3JQV1JuV3I0K3dCN0NlTWZHQ3djRGZMcVp0YkJrT3RkaCtKaHBGQXoyd2VhU1VLSzBQZnlibHFBaitsdWc4YUpSVDdvTTZpQ3NWbGdteTRIcU1MblhXbk91blZtU1BsazlvcmoyWHdvU1B3THhBd0F0Y3ZmYUhzelZzckJoUWY0VGdUTTJTMHlEcE03eFNtYTh5dFNtekpTcTBTUGx5NGNwazkrYUNFSTNvbmNLS2lQbzRab3I4WS9rQitYajllMXgzK25hSCt1emZzUTU1bFZlMHZTYnYxZ0hSNnhZS3U0NEx0Y1hGaWxXcjA2enFrVXNwekJta01pVk9LdkZsUk5BQ3pxck9TYlRxbjN5RHNFQjc1ME9ycDJ5amozMkpnZnBNcGYvVmpzUE9TK0MxMkxPT1JjOTJ3TzFBSy8xVEQ3Q24xVHNOc1lxaUE5NHhyY3gzNm05N1B0YmZrU0lTNXI3NjJETDhFR01VVVhMZVhkWVdrNzBwYURQdk9tYnNCNG9tM3hQWFYyVjRKOTVlU1JRQW9nQi9tcWdodHFteGxiQ2x1UTBXRWRySGJFZzhRT0IrRFZyTlZqelJsd1c1eTB2dE9VdWN4RC9TVlJOdUpMRFdjZnIwd2JyTTdSdjEvb0ZCMkFDWVBUcklybnFZTnhnRmxRSURBUUFCbzBJd1FEQU9CZ05WSFE4QkFmOEVCQU1DQVFZd0R3WURWUjBUQVFIL0JBVXdBd0VCL3pBZEJnTlZIUTRFRmdRVTVLOHJKbkVhSzBnbmhTOVNaaXp2OElrVGNUNHdEUVlKS29aSWh2Y05BUUVNQlFBRGdnSUJBRGlXQ3U0OXRKWWVYKytkbkFzem55dmd5djNTamdvZlFYU2xmS3FFMU9YeUh1WTNVaktjQzlGaEhiOG93YlpFS1RWMWQ1aXlmTm05ZEt5S2FPT3BNUWtwQVdCejQwZDhVNmlRU2lmdlM5ZWZrK2VDTnM2YWFBeUM1OC9VRUJadlh3NlpYUFlmY1gzdjczc3ZmdW8yMXBkd0N4WHUxMXhXYWpPbDQwazRETGg5KzQyRnBMRlpYdlJxNGQyaDltUkVydVpSZ3lGbXhoRSs4ODVIN3B3b0h5WGEvNnhtbGQwMUQxenZJQ3hpL1pHNnFjejhXcHlUZ1lNcGwwcDhXbkswT2RDM2Q4dDUvV2s2a2pmdGJqaGxSbjdwWUwxNWlKZGZPQkwwN3E5YmdzaUcxZUdaYll3RThuYTZTZlp1NlcwZVg2RHZKNEoyUVBpbTAxaGNEeXhDMmtMR2U0ZzB4OEhZUlp2QlBzVmhIZGxqVUVuMk5JVnE0QmpGYmtlclFVSXBtL1pnRGRJeDAyT1lJNU5hQUlGSXRPL05pczNKejVudTJaNnFOdUZvUzNGSkZEWW9PajBkenBxUEplYUFjV0VydFh2TStTVVdnZUV4WDZHamZoYWtuQlpxbHhpOWRuS2xDNTRkTnVZdm9TKytjSkVQcU9iYStNU1NRR3dsZm51ekNkeXlGNjJBUlBCb3BZK1VkZjkwV3Vpb0Fud01DZUtwU3d1Z2hRdGl1ZStoTVpMNzcvWlJCSWxzNktsMG9ic1hzN1g5U1E5OFBPeURHQ0JEVHRXVHVyUTBzUjhXTmg4TTVtUTVGa3pjNFA0ZHlLbGlQVURxeXNVMEFyU3VpWWd6TmR3c0UzUFlKL0hRY3U1MU95TGVtR2htVy9IR1kwZFZITHFsQ0ZGMXBrZ2wiLCJNSUlEeFRDQ0FxMmdBd0lCQWdJUUFxeGNKbW9MUUp1UEMzbnlya1lsZHpBTkJna3Foa2lHOXcwQkFRVUZBREJzTVFzd0NRWURWUVFHRXdKVlV6RVZNQk1HQTFVRUNoTU1SR2xuYVVObGNuUWdTVzVqTVJrd0Z3WURWUVFMRXhCM2QzY3VaR2xuYVdObGNuUXVZMjl0TVNzd0tRWURWUVFERXlKRWFXZHBRMlZ5ZENCSWFXZG9JRUZ6YzNWeVlXNWpaU0JGVmlCU2IyOTBJRU5CTUI0WERUQTJNVEV4TURBd01EQXdNRm9YRFRNeE1URXhNREF3TURBd01Gb3diREVMTUFrR0ExVUVCaE1DVlZNeEZUQVRCZ05WQkFvVERFUnBaMmxEWlhKMElFbHVZekVaTUJjR0ExVUVDeE1RZDNkM0xtUnBaMmxqWlhKMExtTnZiVEVyTUNrR0ExVUVBeE1pUkdsbmFVTmxjblFnU0dsbmFDQkJjM04xY21GdVkyVWdSVllnVW05dmRDQkRRVENDQVNJd0RRWUpLb1pJaHZjTkFRRUJCUUFEZ2dFUEFEQ0NBUW9DZ2dFQkFNYk01WFBtKzlTNzVTMHRNcWJmNVlFL3ljMGxTYlp4S3NQVmxEUm5vZ29jc0Y5cHBrQ3h4TGV5ajlDWXBLbEJXVHJUM0pUV1BOdDBPS1JLekUwbGd2ZEtwVk1TT083elNXMXhrWDVqdHF1bVg4T2toUGhQWWxHKytNWHMyemlTNHdibENKRU14Q2hCVmZ2TFdva1ZmbkhvTmI5TmNnazl2am80VUZ0M01SdU5zOGNrUlpxbnJHMEFGRm9FdDdvVDYxRUttRUZCSWs1bFlZZUJRVkNtZVZ5SjNobEtWOVV1NWwwY1V5eCttTTBhQmhha2FIUFFOQVFUWEtGeDAxcDhWZHRlWk9FM2h6QldCT1VSdENtQUV2RjVPWWlpQWhGOEoyYTNpTGQ0OHNvS3FEaXJDbVRDdjJaZGxZVEJvU1VlaDEwYVVBc2dFc3hCdTI0TFVUaTRTOHNDQXdFQUFhTmpNR0V3RGdZRFZSMFBBUUgvQkFRREFnR0dNQThHQTFVZEV3RUIvd1FGTUFNQkFmOHdIUVlEVlIwT0JCWUVGTEUrdzJrRCtMOUhBZFNZSmhvSUF1OWpaQ3ZETUI4R0ExVWRJd1FZTUJhQUZMRSt3MmtEK0w5SEFkU1lKaG9JQXU5alpDdkRNQTBHQ1NxR1NJYjNEUUVCQlFVQUE0SUJBUUFjR2dhWDNOZWNuenlJWmdZSVZ5SGJJVWY0S21lcXZ4Z3lka0FRVjhHSzgzclpFV1dPTmZxZS9FVzFudGxNTVV1NGtlaERMSTZ6ZU03YjQxTjVjZGJsSVpRQjJsV0htaVJrOW9wbXpONmNOODJvTkxGcG15UElubmdpSzNCRDQxVkhNV0VaNzFqRmhTOU9NUGFnTVJZanlPZmlaUll6eTc4YUc2QTkrTXBlaXpHTFlBaUpMUXdHWEZLM3hQa0ttTkVWWDU4U3ZudzJZemk5UktSLzVDWXJDc1NYYVEzcGpPTEFFRmU0eUhZU2tWWHlTR25ZdkNvQ1d3OUUxQ0F4Mi9TNmNDWmRrR0NldkVzWENTKzB5eDVEYU1rSEo4SFNYUGZxSWJsb0VwdzhuTCtlL0lCY20yUE43RWVxSlNkbm9EZnpBSUo5Vk5lcCtPa3VFNk4zNkI5SyIsIk1JSUR0ekNDQXArZ0F3SUJBZ0lRRE9mZzVSZllSdjZQNVdEOEcvQXdPVEFOQmdrcWhraUc5dzBCQVFVRkFEQmxNUXN3Q1FZRFZRUUdFd0pWVXpFVk1CTUdBMVVFQ2hNTVJHbG5hVU5sY25RZ1NXNWpNUmt3RndZRFZRUUxFeEIzZDNjdVpHbG5hV05sY25RdVkyOXRNU1F3SWdZRFZRUURFeHRFYVdkcFEyVnlkQ0JCYzNOMWNtVmtJRWxFSUZKdmIzUWdRMEV3SGhjTk1EWXhNVEV3TURBd01EQXdXaGNOTXpFeE1URXdNREF3TURBd1dqQmxNUXN3Q1FZRFZRUUdFd0pWVXpFVk1CTUdBMVVFQ2hNTVJHbG5hVU5sY25RZ1NXNWpNUmt3RndZRFZRUUxFeEIzZDNjdVpHbG5hV05sY25RdVkyOXRNU1F3SWdZRFZRUURFeHRFYVdkcFEyVnlkQ0JCYzNOMWNtVmtJRWxFSUZKdmIzUWdRMEV3Z2dFaU1BMEdDU3FHU0liM0RRRUJBUVVBQTRJQkR3QXdnZ0VLQW9JQkFRQ3REaFhPNUVPQVhMR0g4N2RnK1hFU3BhN2NKcFNJcXZUTzlTQTVLRmhnRFBpQTJxa1ZsVEpoUExXeEtJU0tpdHlmQ2d5REYzcVBrS3lLNTNsVFhER0VLdllQbURJMmRzemUzVHlvb3U5cSt5SHlVbUhmbnlEWEgrS3gyZjRZWk5JU1cxLzVXQmcxdkVmTm9UYjVhMy9Vc0RnK3dSdkRqRFBaMkM4WS9pZ1BzNmVEMXNOdVJNQmhOWllXL2xtY2kzWnQxL0dpU3cwci93dHkycDVnMEk2UU5jWjRWWWNnb2MvbGJRcklTWHd4bUROc0l1bUgwREphb3JvVGdoSHRPUmVkbVRweW9lYjZwTm5WRnpGMXJvVjlJcTQvQVVhRzlpaDV5TEhhNUZjWHhINGNEckMwa3FaV3M3MnlsKzJxcC9DM3hhZy9sUmJRLzZHVzZ3aGZHSGRQQWdNQkFBR2pZekJoTUE0R0ExVWREd0VCL3dRRUF3SUJoakFQQmdOVkhSTUJBZjhFQlRBREFRSC9NQjBHQTFVZERnUVdCQlJGNjZLdjlKTExnakV0VVl1bnB5R2Q4MjNJRHpBZkJnTlZIU01FR0RBV2dCUkY2Nkt2OUpMTGdqRXRVWXVucHlHZDgyM0lEekFOQmdrcWhraUc5dzBCQVFVRkFBT0NBUUVBb2c2ODMrTHQ4T055YzNwa2xMLzNjbWJZTXVSQ2RXS3VoK3Z5MWRuZVZyT2Z6TTRVS0xrTmwyQmNFa3hZNU5NOWcwbEZXSmMxYVJxb1IrcFd4bm1yRXRobmdZVGZmd2s4bE9hNEppd2d2VDJ6S0luM1gvOGk0cGVFSCtsbDc0ZmczOEZuU2JOZDY3SUpLdXNtN1hpK2ZUOHI4N2NtTlcxZmlRRzJTVnVmQVFXYnF6MGx3Y3kyZjhMeGI0YkcrbVJvNjRFdGxPdEN0L3FNSHQxaThiNVFaN2RzdmZQeEgyc01OZ2NXZnpkOHFWdHRldkVTUm1DRDF5Y0V2a3ZPbDc3RFp5cG9FZCtBNXd3elpyOFREUlJ1ODM4Zll4QWUrbzBiSlcxc2o2VzNZUUd4MHFNbW9SQnhuYTNpdy9uRG1WRzNLd2NJemk3bVVMS24rZ3BGTDZMdzhnPT0iLCJNSUlDQ2pDQ0FaR2dBd0lCQWdJUWJrZXB5SXVVdHVpN095cllvckxCbVRBS0JnZ3Foa2pPUFFRREF6QkhNUXN3Q1FZRFZRUUdFd0pWVXpFaU1DQUdBMVVFQ2hNWlIyOXZaMnhsSUZSeWRYTjBJRk5sY25acFkyVnpJRXhNUXpFVU1CSUdBMVVFQXhNTFIxUlRJRkp2YjNRZ1VqUXdIaGNOTVRZd05qSXlNREF3TURBd1doY05Nell3TmpJeU1EQXdNREF3V2pCSE1Rc3dDUVlEVlFRR0V3SlZVekVpTUNBR0ExVUVDaE1aUjI5dloyeGxJRlJ5ZFhOMElGTmxjblpwWTJWeklFeE1RekVVTUJJR0ExVUVBeE1MUjFSVElGSnZiM1FnVWpRd2RqQVFCZ2NxaGtqT1BRSUJCZ1VyZ1FRQUlnTmlBQVR6ZEhPbmFJdGdya080TmNXQk1IdExTWjM3d1dITzV0NUd2V3ZWWVJnMXJrRGRjL2VKa1RCYTZ6enVoWHlpUUhZN3FjYTRSOWdxNTVLUmFuUHBzWEk1bnltZm9walRYMTVZaG1VUG9ZUmxCdEhjaThuSGM4aU1haS9seEt2UkhZcWpRakJBTUE0R0ExVWREd0VCL3dRRUF3SUJCakFQQmdOVkhSTUJBZjhFQlRBREFRSC9NQjBHQTFVZERnUVdCQlNBVE5icmRQOUpOcVBWMlB5MVBzVnE4SlFkakRBS0JnZ3Foa2pPUFFRREF3Tm5BREJrQWpCcVVGSjBDTVJ3M0o1UWRDSG9qWG9odzArV2JoWFJJalZoTGZvSU4rNFpiYTNic3N4OUJ6VDFZQmtzdFRUWmJ5QUNNQU54c2JxallBdUc3Wm9JYXBWb24rS3o0Wk5rZkY2VHB0OTVMWTJGNDVUUEkxMXh6UEt3VGRiK21jaVVxWFdpNHc9PSIsIk1JSUZrRENDQTNpZ0F3SUJBZ0lRQlpzYlY1Nk9JVExpT1FlOXAzZDFYREFOQmdrcWhraUc5dzBCQVF3RkFEQmlNUXN3Q1FZRFZRUUdFd0pWVXpFVk1CTUdBMVVFQ2hNTVJHbG5hVU5sY25RZ1NXNWpNUmt3RndZRFZRUUxFeEIzZDNjdVpHbG5hV05sY25RdVkyOXRNU0V3SHdZRFZRUURFeGhFYVdkcFEyVnlkQ0JVY25WemRHVmtJRkp2YjNRZ1J6UXdIaGNOTVRNd09EQXhNVEl3TURBd1doY05Nemd3TVRFMU1USXdNREF3V2pCaU1Rc3dDUVlEVlFRR0V3SlZVekVWTUJNR0ExVUVDaE1NUkdsbmFVTmxjblFnU1c1ak1Sa3dGd1lEVlFRTEV4QjNkM2N1WkdsbmFXTmxjblF1WTI5dE1TRXdId1lEVlFRREV4aEVhV2RwUTJWeWRDQlVjblZ6ZEdWa0lGSnZiM1FnUnpRd2dnSWlNQTBHQ1NxR1NJYjNEUUVCQVFVQUE0SUNEd0F3Z2dJS0FvSUNBUUMvNXBCemFONjc1RjFLUERBaU1Ha3o3TUtuSlM3SklUM3lpdGhad3VFcHB6MVlxM2FhemE1N0c0UU54REFmOHh1a09CYnJWc2FYYlIycnNubnl5aEhTNUYvV0JUeFNEMUlmeHA0VnBYNituNmxYRmxsVmNxOW9rM0RDc3JwMW1XcHpNcFRSRUVRUUx0K0M4d2VFNW5RN2JYSGlMUXdiN2lEVnlTQWRZeWt0enV4ZVRzaVQrQ0ZobXpUckJjWmU3RnNhdk92Sno4MnNORUJmc1hwbTduZklTS2htVjFlZlZGaU9EQ3UzVDZjdzJWYnV5bnRkNDYzSlQxN2xOZWN4eTlxVFh0eU9qNERhdHBHWVFKQjV3M2pIdHJIRXRXb1lPQU1RamRqVU42UXVCWDJJOVlJK0VKRndxMVdDUVRMWDJ3UnpLbTZSQVh3aFROUzhyaHNEZFYxNFp0azZNVVNhTTBDL0NOZGFTYVRDNXFtZ1o5MmtKN3loVHptMUVWZ1g5eVJjUm85azk4RnBpSGFZZGoxWlhVSjJoNG1YYVhwSThPQ2lFaHRtbW5USzNrc2U1dzVqcnViVTc1S1NPcDQ5M0FEa1JTV0p0cHBFR1N0K3dKUzAwbUZ0NnpQWnhkOUxCQURNZlJ5Vnc0LzNJYkt5RWJlN2YvTFZqSEFzUVdDcXNXTVlSSlVhZG1KKzlvQ3crK2hrcGpQUmlRZmh2YmZtUTZRWXVLWjNBZUVQbEF3aEhiSlVLU1dKYk9VT1VsRkhkTDRtckxaQmRkNTZyRitOUDhtODAwRVJFbHZsRUZEck1jWEtjaFlpQ2Q5OFRIVS9ZK3doWDhRZ1VXdHZzYXVHaTAvQzFrVmZuU0Q4b1I3RndJK2lzWDRLSnBuMTVHa3ZtQjB0OWRtcHNoM2xHd0lEQVFBQm8wSXdRREFQQmdOVkhSTUJBZjhFQlRBREFRSC9NQTRHQTFVZER3RUIvd1FFQXdJQmhqQWRCZ05WSFE0RUZnUVU3TmZqZ3RKeFhXUk0zeTVuUCtlNm1LNGNEMDh3RFFZSktvWklodmNOQVFFTUJRQURnZ0lCQUx0aDJYMnBiTDRYeEpFYnc2R2lBSTNqWkdnUFZzOTNybkQ1L1pwS21ibkplRndNREYvazVoUXBWZ3MyU1YxRVkrQ3RuSllZWmhzakRUMTU2VzFyMWxUNDBqekJRMEN1SFZEMVV2eVFPN3VZbVdscng4R25xR2lrSjl5ZCtTZXVNSVc1OW1kTk9qNlBXVGtpVTBUcnlGMER5dTFRZW4xaUlRcUF5SE5tMGFBRllGL29wYlNucjZqM2JUV2NmRnFLMXFJNG1mTjRpL1JOMGlBTDNnVHVqSnRIZ1hJTndCUXk3ekJaTHE3Z2NmSlc1R3FYYjVKUWJaYU5hSHFhc2pZVWVnYnlKTGtKRVZEWENMRzRpWHFFSTJGQ0tlV2p6YUlnUWRmUm5HVFo2aWFoaXhUWFRCbXlVRUZ4UFQ5TmNDT0dERXJjZ2RMTU1wU0VEUWdKbHh4UHdPNXJJSFF3MHVBNU5CQ0ZJUlVCQ09oVk10NXhTZGtvRjFCTjVyNU4wWFdzME1yN1FiaERwYXJUd3dWRVR5dzJtK0w2NGtXNEkxTnNCbTluVlg5R3RVdy9iaWhhZVNiU3BLaGlsOUllNHUxS2k3d2IvVWRLRGQ5blpuNnlXMEhRTytUME8vUUVZK252d2xRQVVhQ0tLc25PZU16VjZvY0VHTFBPcjBtSXIvT1NtYmF6NW1FUDBvVUE1MUFhNUJ1Vm5SbWh1Wnl4bTdFQUh1L1FEMDlDYk1rS3ZPNUQranB4cGNoTkpxVTEvWWxkdklWaUhUTFNvQ3RVN1pwWHdkdjZFTThadDR0S0c0OEJ0aWVWVStpMmlXMWJ2R2pVSStpTFVhSlcrZkNtZ0tEV0hyTzhEdzlUZFNtcTZoTjM1TjZNZ1NHdEJ4QkhFYTJIUFFmUmRielA4MlorIiwiTUlJRldqQ0NBMEtnQXdJQkFnSVFia2VweGxxejV5REZNSm8vYUZMeWJ6QU5CZ2txaGtpRzl3MEJBUXdGQURCSE1Rc3dDUVlEVlFRR0V3SlZVekVpTUNBR0ExVUVDaE1aUjI5dloyeGxJRlJ5ZFhOMElGTmxjblpwWTJWeklFeE1RekVVTUJJR0ExVUVBeE1MUjFSVElGSnZiM1FnVWpJd0hoY05NVFl3TmpJeU1EQXdNREF3V2hjTk16WXdOakl5TURBd01EQXdXakJITVFzd0NRWURWUVFHRXdKVlV6RWlNQ0FHQTFVRUNoTVpSMjl2WjJ4bElGUnlkWE4wSUZObGNuWnBZMlZ6SUV4TVF6RVVNQklHQTFVRUF4TUxSMVJUSUZKdmIzUWdVakl3Z2dJaU1BMEdDU3FHU0liM0RRRUJBUVVBQTRJQ0R3QXdnZ0lLQW9JQ0FRRE8zdjJtKyt6c0ZEUThCd1phYkZuM0dUWGQ5OEdkVmFyVHpUdWtrM0x2Q3ZwdG5mYndoWUJib1VoU256bkZ0KzRvck8vTGRtZ1V1ZCt0QVd5Wkg4UWlIWi8rY25mZ0xGdXY1QVMvVDNLZ0dqU1k2RGxvN0pVbGUzYWg1bW01aFJtOWlZeityZTAyNm5POC80UGl5MzNCMHM1S3M0MEZub3RKazkvQlc5QnVYdkF1TUM2Qy9QcTh0QmNLU09XSW04V2JhOTZ3eXJRRDhOcjBrTGhsWlBkY1RLM29mbVplbWRlNHdqN0kwQk9kcmU3a1JYdUpWZmVLSDJKU2hCS3p3a0NYNDRvZlI1R21kRnJTK0xGaktCQzRzd200Vm5kQW9pYVllY2IrM3lYdVB1V2dmOVJoRDFGTFBEK00ydUZ3ZE5qQ2FLSDV3UXpwb2VKL3UxVThkZ2J1YWs3TWtvZ3dUWnE5VHd0SW1vUzFtS1BWKzNQQlYySGRLRloxRTY2SGp1Y01VUWtRZFloTXZJMzVlenpVSWtnZkt0enJhN3RFc2NzemNUSkdyNjFLOFl6b2REcXM1eG9pYzREU01QY2xRc2NpT3pzU3JaWXV4c04yQjZvZ3R6VkpWK21TU2VoMkZuSXhaeXVXZm9xang1UldJcjlxUzM0QkliSWpNdC9rbWtSdFdWdGQ5UUNnSEp2R2VKZU5rUCtieUtxMHJ4RlJPVjdaKzJldDFWc1JuVEthRzczVnVsdWx5Y3NsYVZOVkoxemd5amJMaUdIN0hyZlF5KzRXKzlPbVRONlNwZFRpMy9VR1ZONHVuVXUwa3pDcWdjN2RHdHhSY3cxUGNPbmx0aFloR1hteTVva0xkV1RLMWF1OENjRVlvZi9VVktHRlBQMFVKQU95aDlPa3R3SURBUUFCbzBJd1FEQU9CZ05WSFE4QkFmOEVCQU1DQVFZd0R3WURWUjBUQVFIL0JBVXdBd0VCL3pBZEJnTlZIUTRFRmdRVXUvL0tqaU9mVDVuSzIrSm9wcVVWSnhjZTJRNHdEUVlKS29aSWh2Y05BUUVNQlFBRGdnSUJBTFpwOEtaMy9wN3VDNEd0NGNDcHgvazFIVUNDcStZRXROL0w5eDBQZy9CK0UwMk5qTzdqTXlMRE9meEEzMjVCUzBKVHZoYUk4ZEk0WHNSb21SeVlVcE9NNTJqdEcycHplZ1ZBVFg5bE85Wlk4YzZEUjJEai81ZXBuR0IzR0ZXMWZnaVR6OUQyUEdjREZXRUorWUY1OWV4VHBKL0pqd0dMYzhSM2R0eURvdlVNU1Jxb2R0NlNtMlQ0c3l6Rko5TUh3QWlBcEppUzR3R1dBcW9DN284N3hkRnRDak13YzNpNVQxUVd2d3NIb2FSYzVzdkpYSVNQRCtBVmR5eCtKbjdheEV2YnB4WjNCN0ROZGVoeVF0YVZoSjJHZy9Ma2tNMEpSOVNMQTNEYVdzWURRdlR0TjZMd0cxQlVTdzdZaE40WktKbUJSNjRKR3o5STBjTnY0ckJnRi9YdUl3S2wyZ0JiYlpDcjdxTHBHenZweDBRblJZNXJuL1draEx4MytXdVhyRDVSUmFJUnBzeUY3Z3BvOGo1UU9Ib2tZaDRYSURkdGFrMjNDWnZKL0tSWTliYjduRTRZdTVVQzU2R3Rtd2Z1Tm1zazBqbUd3Wk9EVU5LQlJxaGZZbGNzdTJ4a2lBaHU3eE5VWDkwdHhHZGowOCtKTjcrZElQVDdlb09ib0I2QkFGREM1QXdpV1ZJUTdVTldod0Q0RkZLbkhZdVRqS0pOUm44bnhuR2JKTjdrMm9hTERYNXJJTUhBbnVGbDJHcWpwdWlGaXpvSENCeTY5WTlWbWhoMWZ1WHNnV2JSSVhPaE5VUUxnRDFibkY1dktoZVcwWU1qaUdadDVvYmljREl2VWlMbnlPZC94Q3hnWFMvRHI1NUZCY09FQXJmOUxBaFNUNExkby9EVWhna0MiLCJNSUlDaVRDQ0FnK2dBd0lCQWdJUUgwZXZxbUlBY0ZCVVRBR2VtMk9aS2pBS0JnZ3Foa2pPUFFRREF6Q0JoVEVMTUFrR0ExVUVCaE1DUjBJeEd6QVpCZ05WQkFnVEVrZHlaV0YwWlhJZ1RXRnVZMmhsYzNSbGNqRVFNQTRHQTFVRUJ4TUhVMkZzWm05eVpERWFNQmdHQTFVRUNoTVJRMDlOVDBSUElFTkJJRXhwYldsMFpXUXhLekFwQmdOVkJBTVRJa05QVFU5RVR5QkZRME1nUTJWeWRHbG1hV05oZEdsdmJpQkJkWFJvYjNKcGRIa3dIaGNOTURnd016QTJNREF3TURBd1doY05Nemd3TVRFNE1qTTFPVFU1V2pDQmhURUxNQWtHQTFVRUJoTUNSMEl4R3pBWkJnTlZCQWdURWtkeVpXRjBaWElnVFdGdVkyaGxjM1JsY2pFUU1BNEdBMVVFQnhNSFUyRnNabTl5WkRFYU1CZ0dBMVVFQ2hNUlEwOU5UMFJQSUVOQklFeHBiV2wwWldReEt6QXBCZ05WQkFNVElrTlBUVTlFVHlCRlEwTWdRMlZ5ZEdsbWFXTmhkR2x2YmlCQmRYUm9iM0pwZEhrd2RqQVFCZ2NxaGtqT1BRSUJCZ1VyZ1FRQUlnTmlBQVFEUjNzdmRjbUNGWVg3ZGVTUkZ0U3JZcG4xUGxJTEJzNUJBSCtYNFFva1BCMEJCTzQ5MG8wSmx3emdkZVQ2KzNlS0t2VURZRXMyaXhZakZxMEpjZlJLOUNoUXRQNklIRzQvYkM4dkNWbGJwVnNMTTVuaXd6MkorV29zNzdMVEJ1bWpRakJBTUIwR0ExVWREZ1FXQkJSMWNhY1pTQm04blozcVFVZmZsTVJJZDVuVGVUQU9CZ05WSFE4QkFmOEVCQU1DQVFZd0R3WURWUjBUQVFIL0JBVXdBd0VCL3pBS0JnZ3Foa2pPUFFRREF3Tm9BREJsQWpFQTd3TmJlcXkzZUFweXQ0amYvN1ZHRkFrSytxRG1mUWpHR29lOUdLaHp2U2JLWUF5ZHpwbWZ6MXdQTU9HK0ZESHFBakFVOUpNOFNhY3plcEJHUjdOamZST2JUcmR2R0RlQVUvN2RJT0ExbWpiUnh3RzU1dHpkOC84ZExEb1dWOW1TT2RZPSIsIk1JSURURENDQWpTZ0F3SUJBZ0lJZDNjR0p5YXBzWHd3RFFZSktvWklodmNOQVFFTEJRQXdSREVMTUFrR0ExVUVCaE1DVlZNeEZEQVNCZ05WQkFvTUMwRm1abWx5YlZSeWRYTjBNUjh3SFFZRFZRUUREQlpCWm1acGNtMVVjblZ6ZENCRGIyMXRaWEpqYVdGc01CNFhEVEV3TURFeU9URTBNRFl3TmxvWERUTXdNVEl6TVRFME1EWXdObG93UkRFTE1Ba0dBMVVFQmhNQ1ZWTXhGREFTQmdOVkJBb01DMEZtWm1seWJWUnlkWE4wTVI4d0hRWURWUVFEREJaQlptWnBjbTFVY25WemRDQkRiMjF0WlhKamFXRnNNSUlCSWpBTkJna3Foa2lHOXcwQkFRRUZBQU9DQVE4QU1JSUJDZ0tDQVFFQTlodFBad2Nyb1JYMUJpTExId0d5NDNORkJrUkpMTHRKSlJUV3pzTzNxeXhQeGtFeWxGZjZFcWRiRHVLUEh4NkdHYWVxdFMyNVh3Mkt3cStGTlhreUxic2NZamZ5c1Z0S1Bjck5jVi9wUXI2VTZNamUrU0pJWk1ibHE4WXJiYTBGOFByVkM4K2E1ZkJRcElzN1I2VWpXM3A2K0RNL3VPK1psK01nd2RZb2ljK1UrN2xGN2VOQUZ4SFVkUEFMTWVJckptcWJURmV1ckNBK3VrVjZCZk85bTJrVnJuMU9JR1BFTlhZNkJ3TEpOLzNIUis3bzhYWWRjeFh5bDZTMXlIcDUyVUtxSzM5Yy9zNG1UNk5tZ1RXdlJMcFVIaHd3TW1XZDVqeVRYbEJPZXVNNjFHN01HdnY1MGpldUpDcXJWd01pS0ExSmRYKzNLTnAxdjQ3ajNBNTVNUUlEQVFBQm8wSXdRREFkQmdOVkhRNEVGZ1FVblpQR1U0dGV5cTgvbng0UDVabVZ2Q1QybEk4d0R3WURWUjBUQVFIL0JBVXdBd0VCL3pBT0JnTlZIUThCQWY4RUJBTUNBUVl3RFFZSktvWklodmNOQVFFTEJRQURnZ0VCQUZpczlBUU96Y0FOL3dyOTFMb1dYeW05ZTJpWldFblN0QjAzVFg4bmZVWUdYVVBHaGk0K2M3SW1mVStUcWJiRUtwcXJJWmNVc2Q2TTA2dUpGZGhySk5UeEZxN1lwRnpVZjFHTzdSZ0JzWk5qdmJ6NFlZQ2FuckhPUW5EaXFYMEdKWDBub2Y1djdMTWVKTnJqUzFVYUFEczF0RHZaMTEwdy9ZRVRpZkxDQml2dFo4U095VU95WEdzVmlRSzhZdnhPOHJVenFySnYwd3FpVU9QMk8rZ3VSTUxiWmppcE0xWkk4VzBiTTQwTmpEOWdONTNUeW0xK05INE5uM0oyaXh1ZmN2MVNOVUZGQXBZdkhMS2FjMGtoc1VsSFJVZTA3Mm8wRWNsTm1zeFp0OVlDbmxwT1piV1VyaHZmS2JBVzhiOEFuZ2M2RjJTMUJMVWpJWmtLbFR1WGZPOD0iLCJNSUlFQURDQ0F1aWdBd0lCQWdJQkFEQU5CZ2txaGtpRzl3MEJBUVVGQURCak1Rc3dDUVlEVlFRR0V3SlZVekVoTUI4R0ExVUVDaE1ZVkdobElFZHZJRVJoWkdSNUlFZHliM1Z3TENCSmJtTXVNVEV3THdZRFZRUUxFeWhIYnlCRVlXUmtlU0JEYkdGemN5QXlJRU5sY25ScFptbGpZWFJwYjI0Z1FYVjBhRzl5YVhSNU1CNFhEVEEwTURZeU9URTNNRFl5TUZvWERUTTBNRFl5T1RFM01EWXlNRm93WXpFTE1Ba0dBMVVFQmhNQ1ZWTXhJVEFmQmdOVkJBb1RHRlJvWlNCSGJ5QkVZV1JrZVNCSGNtOTFjQ3dnU1c1akxqRXhNQzhHQTFVRUN4TW9SMjhnUkdGa1pIa2dRMnhoYzNNZ01pQkRaWEowYVdacFkyRjBhVzl1SUVGMWRHaHZjbWwwZVRDQ0FTQXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnRU5BRENDQVFnQ2dnRUJBTjZkMStwWEdFbWhXK3ZYWDBpRzZyN2QvK1R2Wnh6MFpXaXpWM0dnWG5lNzdadEo2WENBUFZZWVl3aHYydkxNMEQ5L0FsUWlWQkRZc29IVXdIVTlTMy9IZDhNK2VLc2FBN1VnYXk5cUs3SEZpSDdFdXg2d3dkaEZKMitxTjFqM2h5YlgyQzMycVJlM0gzSTJUcVlYUDJXWWt0c3FibDJpL29qZ0M5NS81WTBWNGV2TE90WGlFcUlUTGRpT3IxOFNQYUFJQlFpMlhLVmxPQVJGbVI2allHQjB4VUdsY21JYllzVWZiMThhUXI0Q1VXV29yaU1ZYXZ4NEE2bE5mNEREK3F0YS9LRkFwTW9aRnY2eXlPOWVjdzN1ZDcyYTlubVl2TEVIWjZJVkRkMmdXTVpFZXdvK1lpaGZ1a0VIVTFqUEVYNDRkTVg0LzdWcGtJK0VkT3FYRzY4Q0FRT2pnY0F3Z2Iwd0hRWURWUjBPQkJZRUZOTEVzTktSMUV3UmNiTmh5ejJoL3Qyb2F0VGpNSUdOQmdOVkhTTUVnWVV3Z1lLQUZOTEVzTktSMUV3UmNiTmh5ejJoL3Qyb2F0VGpvV2VrWlRCak1Rc3dDUVlEVlFRR0V3SlZVekVoTUI4R0ExVUVDaE1ZVkdobElFZHZJRVJoWkdSNUlFZHliM1Z3TENCSmJtTXVNVEV3THdZRFZRUUxFeWhIYnlCRVlXUmtlU0JEYkdGemN5QXlJRU5sY25ScFptbGpZWFJwYjI0Z1FYVjBhRzl5YVhSNWdnRUFNQXdHQTFVZEV3UUZNQU1CQWY4d0RRWUpLb1pJaHZjTkFRRUZCUUFEZ2dFQkFESkw4N0xLUHBIOEVzYWhCNHlPZDZBekJoUmNrQjRZOXdpbVBRb1orWWVBRVc1cDVKWVhNUDgwa1dOeU9PN01IQUdqSFpRb3BESDJlc1JVMS9ibE1WZ0Rvc3pPWXR1VVJYTzF2MFhKSkxYVmdnS3RJM2xwamJpMlRjN1BUTW96SStnY2lLcWRpMEZ1RnNrZzVZbWV6VHZhY1BkK21TWWdGRlFscTI1emhlYWJJWjBLYklJT3FQakNEUG9RSG15Vzc0Y054QTloaTYzdWd5dVYrSTZTaEhJNTZ5RHFnKzJEelpkdUNMenJUaWEyY3l2azAvWk0vaVp4NG1FUmRFci9WeHFIRDNWSUxzOVJhUmVnQWhKaGxkWFJRTElRVE83RXJCQkRwcVdlQ3RXVllwb056NGlDeFRJTTVDdWZSZVlObnlpY3Nia3FXbGV0TncrdkhYL2J2Wjg9IiwiTUlJRVBqQ0NBeWFnQXdJQkFnSUVTbE9NS0RBTkJna3Foa2lHOXcwQkFRc0ZBRENCdmpFTE1Ba0dBMVVFQmhNQ1ZWTXhGakFVQmdOVkJBb1REVVZ1ZEhKMWMzUXNJRWx1WXk0eEtEQW1CZ05WQkFzVEgxTmxaU0IzZDNjdVpXNTBjblZ6ZEM1dVpYUXZiR1ZuWVd3dGRHVnliWE14T1RBM0JnTlZCQXNUTUNoaktTQXlNREE1SUVWdWRISjFjM1FzSUVsdVl5NGdMU0JtYjNJZ1lYVjBhRzl5YVhwbFpDQjFjMlVnYjI1c2VURXlNREFHQTFVRUF4TXBSVzUwY25WemRDQlNiMjkwSUVObGNuUnBabWxqWVhScGIyNGdRWFYwYUc5eWFYUjVJQzBnUnpJd0hoY05NRGt3TnpBM01UY3lOVFUwV2hjTk16QXhNakEzTVRjMU5UVTBXakNCdmpFTE1Ba0dBMVVFQmhNQ1ZWTXhGakFVQmdOVkJBb1REVVZ1ZEhKMWMzUXNJRWx1WXk0eEtEQW1CZ05WQkFzVEgxTmxaU0IzZDNjdVpXNTBjblZ6ZEM1dVpYUXZiR1ZuWVd3dGRHVnliWE14T1RBM0JnTlZCQXNUTUNoaktTQXlNREE1SUVWdWRISjFjM1FzSUVsdVl5NGdMU0JtYjNJZ1lYVjBhRzl5YVhwbFpDQjFjMlVnYjI1c2VURXlNREFHQTFVRUF4TXBSVzUwY25WemRDQlNiMjkwSUVObGNuUnBabWxqWVhScGIyNGdRWFYwYUc5eWFYUjVJQzBnUnpJd2dnRWlNQTBHQ1NxR1NJYjNEUUVCQVFVQUE0SUJEd0F3Z2dFS0FvSUJBUUM2aExaeTI1NE1hK0taNlRBQnAzYnFNcmlWUVJySjJtRk9XSExQL3ZhQ2ViOXpZUVlLcFNmWXMxL1RSVTRjY3RaT012SnlpZy8zZ3huUWFvQ0FBRVVlc01mbm1yOFNWeWNjbzJndkNvZTlhbXNPWG1YekhIZlYxSVdOY0NHMHN6TG5pNkxWaGprQ3NialNSODdreVVuRU82ZmUrMVI5Vjc3dzZHN0NlYkk2QzFYaVVKZ1dNaE5jTDNoV3djS1VzL0phNUNlYW55VFh4dXpRbXlXQzQ4ekN4RVhGakpkNkJtc3FFWitwQ201SU8yL2IxQkVaUXZlUEI3LzFVMStjUHZRWExPWnByRTR5VEdKMzZyZm81YnMwdkJtTHJweFI1N2QrdFZPeE15TGxiYzl3UEJyNjRwdG50b1AwamFXdllreE40RmlzWkRRU0EvaTJqWlJqSktSeEFnTUJBQUdqUWpCQU1BNEdBMVVkRHdFQi93UUVBd0lCQmpBUEJnTlZIUk1CQWY4RUJUQURBUUgvTUIwR0ExVWREZ1FXQkJScWNpWjYwQjd2ZmVjN2FWSFViSTJma0JKbXF6QU5CZ2txaGtpRzl3MEJBUXNGQUFPQ0FRRUFlWjhkbHNhMmVUOGlqWWZUaHdNRVlHcHJtaTVaaVhNUnJFUFI5UlAvalRrcndQSzlUM0NNcVMvcUY4UUxWSjdVRzVhWU16eW9yV0tpQUhhcldXbHVCaDEreExsRWpaaXZFdFJoMndvWlJrZno2L2Rqd1VBRlFLWFN0L1MxbWphL3FZaDJpQVJWQkN1Y2gzOGFOengrTGFVYTJOU0pYc3E5ckQxczJHMnYxZk4yRDgwN2lEZ2luV3lUbXNROXY0SWJaVCttRDEycS9PV3lGY3ExcmNhOFBkQ0U2T29HY3JCTk9USjR2ejRSbkF1a25ab2g4L0NiQ3pCNDI4SGNoMFArdkdPYXlzWENITW5IamY4N0VsZ0k1clk5N0hvc1R2dURsczRNUEdtSFZIT2tjOEtULzFFUXJCVlVBZGo4QmJHSm9YOTBnNXBKMTl4T2U0cEliNHRGOWc9PSIsIk1JSUZSakNDQXk2Z0F3SUJBZ0lJYll3VVJyR21DdTR3RFFZSktvWklodmNOQVFFTUJRQXdRVEVMTUFrR0ExVUVCaE1DVlZNeEZEQVNCZ05WQkFvTUMwRm1abWx5YlZSeWRYTjBNUnd3R2dZRFZRUUREQk5CWm1acGNtMVVjblZ6ZENCUWNtVnRhWFZ0TUI0WERURXdNREV5T1RFME1UQXpObG9YRFRRd01USXpNVEUwTVRBek5sb3dRVEVMTUFrR0ExVUVCaE1DVlZNeEZEQVNCZ05WQkFvTUMwRm1abWx5YlZSeWRYTjBNUnd3R2dZRFZRUUREQk5CWm1acGNtMVVjblZ6ZENCUWNtVnRhWFZ0TUlJQ0lqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FnOEFNSUlDQ2dLQ0FnRUF4QkxmcVYvK1FkM2Q5WitLNC9hczRUeDRtcnpZOEg5Nm9ETXEzSTBnVzY0dGIrZVQyVFp3YW1qUGpsR2poVnRuQktBUUpHOWRLSUxCbDFmWVNDa1R0dUcra1UzZmhReFRHSm9lSktKUGovQ2loUXZMOUNsLzBxUlk3aVpOeWFxb2U1cloramplUkZjVjVmaU15TmxJNGcwV0p4MGV5SU9GSmJlNnFsVkJ6QU1pU3kyUmpZdm1pYTlteCtuL0srazhyTnJTczhQaGFKeUorSG9BVnQ3MFZaVnMrN3BrM1dLTDN3dDNNdXRpekNhYW03dXFZb05NdEFaNk1NZ3B2KzBHVFplNUhNUXhLOVZmdkZNU0Y1eVpWeWxtZDJFaE1RY3VKVW1kR1BMdTh5dHhqTFc2T1FkSmQvenZMcEtRQlkwdEwzZDc3ME8vTmJ1YTJQbHpweXp5MEZmdUtFNG1YNCtRYUFrdnVQamNCdWt1bWo1UnA5RWl4QXFuT0Voc3Mvbi9mYXVHVitPNjFvVjRkN3BENmtoLzl0aStJMjBldjlFMmJGaGM4ZTZrR1ZRYTlRUFNkdWJoakwwOHM5TklTK0xJK0grU3FIWkduRUpsUHFRZXdRY0RXa1l0dUpmenQ5V3lWU0h2dXR4TUFKZjdGSlVuTTcvb1EwZEcwZ2laRm1BN21uN1M1dTA0NnV3QkhqeElWa2tKeDB3M0FKNklEc0J6NFc5bTZYSkhNRDRRNVFzRHlacENBR3pGbEg1aHhJcmZmNElhQzFuRVdUSjNzN3hnYVZZNS9iUUdleXpXWkRiWnZVanRoQjkrcFNLUEtyaEM5SUszMUZPUWVFNHRHdjJCYjBUWE93RjBsa0xnQU9JdWErckY3bktzdTcvKzZxcW8rTnoyc25tS3RtY0NBd0VBQWFOQ01FQXdIUVlEVlIwT0JCWUVGSjNBWjZZTUl0a205VVdycG1WU0VTZllSYXhqTUE4R0ExVWRFd0VCL3dRRk1BTUJBZjh3RGdZRFZSMFBBUUgvQkFRREFnRUdNQTBHQ1NxR1NJYjNEUUVCREFVQUE0SUNBUUN6VjAwUVlrNDY1S3pxdUJ5dk1pUElzMGxhVVp4MktJMTVxbGRHRjlYMVV2YTNST2dJUkw4WWhOSUxnTTNGRXYwQVZRVmhoMEhjdFNTZVBNVFl5UHR3bmk5NGxvTWdOdDU4RDJrVGlLVjFOcGdJcHNiZnJNN2pXTmEzUHQ2NjgrczBRTmlpZ2ZWNFB5L1ZwZnpab3RSZUJBNFhyZjVCOE9XeWN2cEVnak5DNkMxWTkxYU1Zais2UXJDY0RGeCtMbVVtWEZOUEFMSjRmcUVObVMyTnVCMk9vc1N3L1dEUU1LU095QVJpcWNUdE5kNTZsKzBPT0Y2U0w1TndwYW1jYjZkOUV4MSt4Z2hJc1Y1bjYxRUlKZW5tSld0U0taR2Mwamx6Q0ZmZW1RYTBXNTBRQnVIQ0FLaTRIRW9DQ2hUUXdVSEsrNHcxSVgyQ09QS3BWSkVaTlpPVWJXbzZ4YkxRdTRtR2sraWJ5UTg2cDNxNG9mQjRSdnI4TnkvbGlvVHozLzRFMmFGb29DOGs0Z21WQnRXVnl1RWtsdXQ4OXBNRnUrMXo2UzNSZFRuWDV5VGIyRTVmUTQrZTBCUTV2MVZ3U0psWE1iU2M3a3FZQTVZd0gyQUc3aHNqL29GZ0l4cEhZb1dsekJrMGdHK3pyQnJqbi9CN1NLM1ZBZGxudHFseWsrb3Racld5dU9ROVBMTHZUSXpxNndlL3F6V2FWWWE4R0thMXFGNjBnMnhyYVVEVG45enh3MmxydWVGdENmVHhxbEIyQ25wOWVoZWhWWlpDbVRFSjNXQVJqUVV3ZnVhT1J0R2RGTnJIRitRRmxvekVKTFVienhRSHNrRDRvNTVCaHJ3RTBHdVd5Q3FBTlAyLzd3YWozVmpGaFQwK2ovNmVLZUMydUFsb0dSd1lRdz09IiwiTUlJRFZEQ0NBanlnQXdJQkFnSURBalJXTUEwR0NTcUdTSWIzRFFFQkJRVUFNRUl4Q3pBSkJnTlZCQVlUQWxWVE1SWXdGQVlEVlFRS0V3MUhaVzlVY25WemRDQkpibU11TVJzd0dRWURWUVFERXhKSFpXOVVjblZ6ZENCSGJHOWlZV3dnUTBFd0hoY05NREl3TlRJeE1EUXdNREF3V2hjTk1qSXdOVEl4TURRd01EQXdXakJDTVFzd0NRWURWUVFHRXdKVlV6RVdNQlFHQTFVRUNoTU5SMlZ2VkhKMWMzUWdTVzVqTGpFYk1Ca0dBMVVFQXhNU1IyVnZWSEoxYzNRZ1IyeHZZbUZzSUVOQk1JSUJJakFOQmdrcWhraUc5dzBCQVFFRkFBT0NBUThBTUlJQkNnS0NBUUVBMnN3WVl6RDk5QmNqR2xaK1c5ODhiRGprY2JkNGtkUzhvZGhNK0toRHRnUHBUU0VIQ0lqYVdDOW1PU205QlhpTG5Uam9CYmRxZm5HazVzUmdwckR2Z09TSktBK2VKZGJ0Zy9PdHBwSEhtTWxDR0RVVW5hMllScEl1VDhyeGgwUEJGcFZYTFZEdmlTMkFlbGV0OHU1ZmE5SUFqYmtVK0JRVk5kbkFScU43Y3NpUnY4bFZLODNRbHo2Y0ptVE0zODZER1hIS1R1YlUxWHVwR2MxVjNzanMwbDQ0VStWY1Q0d3QvbEFqTnZ4bTVzdU9wRGtaQUxlVkFqbVJDdzcrT0M3UkhRV2E5azArYnc4SEhhOHNIbzlnT2VMNk5sTVRPZFJlSml2YlBhZ1V2VExyR0FNb1VnUng1YXN6UGVFNHV3YzJoR0tjZWVvV01QUmZ3Q3ZvY1d2aytRSURBUUFCbzFNd1VUQVBCZ05WSFJNQkFmOEVCVEFEQVFIL01CMEdBMVVkRGdRV0JCVEFlcGhvalluN3F3VmtEQkY5cW4xbHVNck1UakFmQmdOVkhTTUVHREFXZ0JUQWVwaG9qWW43cXdWa0RCRjlxbjFsdU1yTVRqQU5CZ2txaGtpRzl3MEJBUVVGQUFPQ0FRRUFOZU1wYXVVdlhWU09LVkNVbjVrYUZPU1BlQ3BpbEtJblo1N1F6eHBlUituQnNxVFAzVUVhQlU2YlMrNUtiMVZTc3lTaE53cnJaSFlxTGl6ei9UdDFrTC82Y2RqSFBUZlN0UVdWWXJtbTNvazlObnM0ZDBpWHJLWWdqeTZteVF6Q3NwbEZBTWZPRVZFaUl1Q2w2cllWU0FsazZsNVBkUGNGUHNlS1VnemJGYlM5Ylp2bHhyRlVhS25qYVpDMm1xVVB1TGsvSUgydVNyVzRuT1FkdHF2bWxLWEJ4NE90Mi9Vbmh3NEViTlgvM2FCZDdZZFN0eXNWQXE0NXBtcDA2ZHJFNTd4Tk5CNnBYRTB6WDVJSkw0aG1YWGVYeHgxMkU2blY1ZkVXQ1JFMTFhemJKSEZ3TEpoV0M5a1h0TkhqVVN0ZWRlalYwTnhQTk8zQ0JXYUFvY3ZtTXc9PSIsIk1JSURsakNDQW42Z0F3SUJBZ0lRQzVNY090WTVaK3BuSTcvRHI1cjBTekFOQmdrcWhraUc5dzBCQVFzRkFEQmxNUXN3Q1FZRFZRUUdFd0pWVXpFVk1CTUdBMVVFQ2hNTVJHbG5hVU5sY25RZ1NXNWpNUmt3RndZRFZRUUxFeEIzZDNjdVpHbG5hV05sY25RdVkyOXRNU1F3SWdZRFZRUURFeHRFYVdkcFEyVnlkQ0JCYzNOMWNtVmtJRWxFSUZKdmIzUWdSekl3SGhjTk1UTXdPREF4TVRJd01EQXdXaGNOTXpnd01URTFNVEl3TURBd1dqQmxNUXN3Q1FZRFZRUUdFd0pWVXpFVk1CTUdBMVVFQ2hNTVJHbG5hVU5sY25RZ1NXNWpNUmt3RndZRFZRUUxFeEIzZDNjdVpHbG5hV05sY25RdVkyOXRNU1F3SWdZRFZRUURFeHRFYVdkcFEyVnlkQ0JCYzNOMWNtVmtJRWxFSUZKdmIzUWdSekl3Z2dFaU1BMEdDU3FHU0liM0RRRUJBUVVBQTRJQkR3QXdnZ0VLQW9JQkFRRFo1eWd2VWo4MmNrbUlrelR6K0dvZU1WU0FuNjFVUWJWSDM1YW8xSytBTGJrS3ozWDlpYVY5SlByaklnd3J2SlVYQ3pPL0dVMUJCcEFBdlF4TkVQNEh0ZWNjYmlKVk1XV1h2ZE1YMGg1aTg5dnFiRkNNUDRRTWxzKzN5d1BneW0yaEZFd2JpZDN0QUxCU2ZLK1JiTEU0RTlIcEVnakFBTEFjS3hIYWQzQTJtNjdPZVlmY2duRG1DWFJ3Vldtdm8yaWZ2OTIyZWJQeW5YQXBWZlNyLzVWaDg4bEFieDNSdnBPNzA0Z3F1NTIvY2xwV2NUcy8xUFBSQ3Y0bzc2UHUyWm12QTlPUFlMZnlrcUd4dlltSkh6RE53Nll1WWpPdUZnSjNSRnJuZ1FvOHAwUXVlYmcvQkx4Y29JZmhHNjlSanMzc0xQcjQvbTN3T255cWkrUm5sVEdOQWdNQkFBR2pRakJBTUE4R0ExVWRFd0VCL3dRRk1BTUJBZjh3RGdZRFZSMFBBUUgvQkFRREFnR0dNQjBHQTFVZERnUVdCQlRPdzBxNW1WWHl1TnRndjZsK3ZWYTFsemFuMWpBTkJna3Foa2lHOXcwQkFRc0ZBQU9DQVFFQXlxVlZqT1BJUVc1cEo2ZDFFZTg4aGpadjBwM0dlRGdkYVphaWtta3VPR3liZlFUVWlhV3hNVGVLeVNITXEyek5peHlhMXI5STBqSm13WXJBOHk4Njc4RGoxSkdHMFZEakE5dHpkMjlLT1ZQdDNpYkh0WDJ2SzBMUmRXTGpTaXNDeDFCTDRHbmlsbXdPUkdZUVJJK3RCZXY0ZWF5bUcrZzNOSjFUeVdHcW9sS3ZTbkFXaHNJNnlMRVRjRGJZeis3MENqVFZXMHo5QjV5aXV0a0JjbHp6VGNIZERyRWNEY1JqdnEzMEZQdUo3S0pCRGt6TXlGZEEwRzREcXMwTWpvbVptV3p3UERDdk9OOXZ2S08rS1NBbnEzVC9FeUo0M3BkU1ZSNkR0VlFnQSs2dXdFOVczamZNdzMrcUJDZTcwM2U0WXRzWGZKd29JaE56Yk04bTlZb3A1dz09IiwiTUlJRGRUQ0NBbDJnQXdJQkFnSUxCQUFBQUFBQkZVdGF3NVF3RFFZSktvWklodmNOQVFFRkJRQXdWekVMTUFrR0ExVUVCaE1DUWtVeEdUQVhCZ05WQkFvVEVFZHNiMkpoYkZOcFoyNGdibll0YzJFeEVEQU9CZ05WQkFzVEIxSnZiM1FnUTBFeEd6QVpCZ05WQkFNVEVrZHNiMkpoYkZOcFoyNGdVbTl2ZENCRFFUQWVGdzA1T0RBNU1ERXhNakF3TURCYUZ3MHlPREF4TWpneE1qQXdNREJhTUZjeEN6QUpCZ05WQkFZVEFrSkZNUmt3RndZRFZRUUtFeEJIYkc5aVlXeFRhV2R1SUc1MkxYTmhNUkF3RGdZRFZRUUxFd2RTYjI5MElFTkJNUnN3R1FZRFZRUURFeEpIYkc5aVlXeFRhV2R1SUZKdmIzUWdRMEV3Z2dFaU1BMEdDU3FHU0liM0RRRUJBUVVBQTRJQkR3QXdnZ0VLQW9JQkFRRGFEdWFaamM2ajQwK0tmdnZ4aTRNbGErcElIL0Vxc0xtVkVRUzk4R1BSNG1kbXp4emR6eHRJSys2TmlZNmFyeW1BWmF2cHh5MFN5NnNjVEhBSG9UMEtNTTBWalUvNDNkU01VQlVjNzFEdXhDNzMvT2xTOHBGOTRHM1ZOVENPWGtOejhrSHAxV3Jqc29rNlZqazRid1k4aUdsYktrM0ZwMVM0YkluTW0vazh5dVg5aWZVU1BKSjRsdGJjZEc2VFJHSFJqY2RHc25VT2h1Z1ppdFZ0Yk5WNEZwV2k2Y2dLT092eUpCTlBjMVNURTRVNkc3d2VOTFdMQll5NWQ0dXgyeDhna2FzSlUyNlF6bnMzZExsd1I1RWlVV01XZWE2eHJrRW1DTWdaSzlGR3FraldaQ3JYZ3pUL0xDckJiQmxEU2dlRjU5Tjg5aUZvNytyeVVwOS9rNURQQWdNQkFBR2pRakJBTUE0R0ExVWREd0VCL3dRRUF3SUJCakFQQmdOVkhSTUJBZjhFQlRBREFRSC9NQjBHQTFVZERnUVdCQlJnZTJZYVJRMlh5b2xRTDMwRXpUU28vL3o5U3pBTkJna3Foa2lHOXcwQkFRVUZBQU9DQVFFQTFuUG5mRTkyMEkyLzdMcWl2alRGS0RLMWZQeHNuQ3dydlFtZVU3OXJYcW9SU0xibENLT3p5ajFoVGROR0NiTSt3NkRqWTFVYjhycnZyVG5oUTdrNG8rWXZpaVk3NzZCUVZ2bkdDdjA0emNRTGNGR1VsNWdFMzhOZmxOVVZ5UlJCbk1SZGRXUVZEZjlWTU95R2ovOE43eXk1WTBiMnF2emZ2R245TGhKSVpKcmdsZkNtN3ltUEFiRVZ0UXdkcGY1cExHa2tlQjZ6cHh4eFl1N0t5SmVzRjEyS3d2aEhobTRxeEZZeGxkQm5pWVVyK1d5bVhVYWRES3FDNUpsUjNYQzMyMVk5WWVScTRWelc5djQ5M2tITUI2NWpVcjlUVS9RcjZjZjl0dmVDWDRYU1FSamJnYk1FSE1VZnBJQnZGU0RKM2d5SUNoM1dabFhpL0VqSktTWnA0QT09IiwiTUlJRjNqQ0NBOGFnQXdJQkFnSVFBZjF0TVB5anlsR29HN3hrRGpVRExUQU5CZ2txaGtpRzl3MEJBUXdGQURDQmlERUxNQWtHQTFVRUJoTUNWVk14RXpBUkJnTlZCQWdUQ2s1bGR5QktaWEp6WlhreEZEQVNCZ05WQkFjVEMwcGxjbk5sZVNCRGFYUjVNUjR3SEFZRFZRUUtFeFZVYUdVZ1ZWTkZVbFJTVlZOVUlFNWxkSGR2Y21zeExqQXNCZ05WQkFNVEpWVlRSVkpVY25WemRDQlNVMEVnUTJWeWRHbG1hV05oZEdsdmJpQkJkWFJvYjNKcGRIa3dIaGNOTVRBd01qQXhNREF3TURBd1doY05Nemd3TVRFNE1qTTFPVFU1V2pDQmlERUxNQWtHQTFVRUJoTUNWVk14RXpBUkJnTlZCQWdUQ2s1bGR5QktaWEp6WlhreEZEQVNCZ05WQkFjVEMwcGxjbk5sZVNCRGFYUjVNUjR3SEFZRFZRUUtFeFZVYUdVZ1ZWTkZVbFJTVlZOVUlFNWxkSGR2Y21zeExqQXNCZ05WQkFNVEpWVlRSVkpVY25WemRDQlNVMEVnUTJWeWRHbG1hV05oZEdsdmJpQkJkWFJvYjNKcGRIa3dnZ0lpTUEwR0NTcUdTSWIzRFFFQkFRVUFBNElDRHdBd2dnSUtBb0lDQVFDQUVtVVhOZzdEMndpejBLeFhEWGJ0elNmVFRLMVFnMkhpcWlCTkNTMWtDZHpPaVovTVBhbnM5cy9CM1BIVHNkWjdOeWdSSzBmYU9jYThPaG0wWDZhOWZaMmpZMEsyZHZLcE95dVIrT0p2ME93V0lKQUpQdUxvZE1rWXRKSFVZbVRiZjZNRzhZZ1lhcEFpUEx6K0UvQ0hGSHYyNUIrTzFPUlJ4aEZuUmdoUnk0WVVWRCs4TS81K2JKei9GcDBZdlZHT05hYW5ac2h5WjlzaFpySFVtM2dEd0ZBNjZNenczTHllVFA2dkJaWTFIMWRhdC8vTytUMjNMTGIyVk4zSTV4STZUYTVNaXJkY21yUzNJRDNLZnlJMHJuNDdhR1lCUk9jQlRrWlRtek5nOTVTK1V6ZVFjMFB6TXNOVDc5dXEvblJPYWNkcmpHQ1Qzc1RIRE4vaE1xN01renRSZUpWbmkrNDlWdjRNMEdrUEd3L3pKU1pyTTIzM2JrZjZjMFBsZmc2bFpyRXBmREtFWTFXSnhBM0JrMVF3R1JPczAzMDNwK3RkT213MVhOdEIxeExhcVVrTDM5aUFpZ21UWW82MVpzOGxpTTJFdUxFL3BEa1AyUUtlNnhKTWxYenphd1dwWGhhRHpMaG40dWdUbmN4Ymd0Tk1zKzFiLzk3bGM2d2pPeTBBdnpWVmRBbEoyRWxZR24rU051WlJrZzd6Sm4wY1RSZTh5ZXhESnRDL1FWOUFxVVJFOUpublY0ZWVVQjlYVktnKy9YUmpMN0ZRWlFubVdFSXVReHBNdFBBbFIxbjZCQjZUMUNaR1NsQ0JzdDYrZUxmOFp4WGh5VmVFSGc5ajF1bGl1dFpmVlM3cVhNWW9DQVFsT2JnT0s2bnlUSmNjQno4TlV2WHQ3eStDRHdJREFRQUJvMEl3UURBZEJnTlZIUTRFRmdRVVUzbS9XcW9yU3M5VWdPSFltOENkOHJJRFpzc3dEZ1lEVlIwUEFRSC9CQVFEQWdFR01BOEdBMVVkRXdFQi93UUZNQU1CQWY4d0RRWUpLb1pJaHZjTkFRRU1CUUFEZ2dJQkFGelVmQTNQOXdGOVFabGxESFBGVXAvTCtNK1pCbjhiMmtNVm41NENWVmVXRlBGU1BDZUhsQ2p0SHpvQk42SjIvRk5Rd0lTYnhtdE91b3doVDZLT1ZXS1I4MmtWMkx5STQ4U3FDLzN2cU9sTFZTb0dJRzFWZUNrWjdsOHdYRXNrRVZYL0pKcHVYaW9yN2d0Tm4zLzNBVGlVRkpWREJ3bjdZS251SEtzU2pLQ2FYcWVZYWxsdGl6OEkrOGpSUmE4WUZXU1FFZzl6S0M3RjRpUk8vRmpzOFBSRi9pS3o2eStPMHRsRllRWEJsMitvZG5LUGk0dzJyNzhOQmM1eGplYW1ieDlzcG5GaXhkalFnM0lNOFdjUmlReWNFMHh5Tk4rODFYSGZxbkhkNGJsc2pEd1NYV1hhdlZjU3RrTnIvK1hlVFdZUlVjK1pydXdYdHVoeGtZemVTZjdkTlhHaUZTZVVITTloNHlhN2I2Tm5KU0ZkNXQwZEN5NW9HenVDcit5RFo0WFVtRkYwc2JtWmdJbi9mM2daWEhsS1lDNlNRSzVNTnlvc3ljZGl5QTVkOXpaYnl1QWxKUUcwM1JvSG5IY0FQOURjMWV3OTFQcTdQOHlGMW05L3FTM2Z1UUwzOVplYXRUWGF3MmV3aDBxcEtKNGpqdjljSjJ2aHNFL3pCKzRBTHRSWmg4dFNRWlhxOUVmWDdtUkJWWHlOV1FLVjNXS2R3cm51V2loMGhLV2J0NURIREFmZjlZazJkRExXS01Hd3NBdmduRXpESE5iODQybTFSMGFCTDZLQ3E5TmpSSERFamY4dE03cXRqM3UxY0lpdVBoblBRQ2pZL01pUXUxMlpJdlZTNWxqRkg0Z3hRKzZJSGRmR2pqeERhaDJuR041OVBSYnhZdm5La0tqOSIsIk1JSURyekNDQXBlZ0F3SUJBZ0lRQ0R2Z1ZwQkNSckdoZFdySldaSEhTakFOQmdrcWhraUc5dzBCQVFVRkFEQmhNUXN3Q1FZRFZRUUdFd0pWVXpFVk1CTUdBMVVFQ2hNTVJHbG5hVU5sY25RZ1NXNWpNUmt3RndZRFZRUUxFeEIzZDNjdVpHbG5hV05sY25RdVkyOXRNU0F3SGdZRFZRUURFeGRFYVdkcFEyVnlkQ0JIYkc5aVlXd2dVbTl2ZENCRFFUQWVGdzB3TmpFeE1UQXdNREF3TURCYUZ3MHpNVEV4TVRBd01EQXdNREJhTUdFeEN6QUpCZ05WQkFZVEFsVlRNUlV3RXdZRFZRUUtFd3hFYVdkcFEyVnlkQ0JKYm1NeEdUQVhCZ05WQkFzVEVIZDNkeTVrYVdkcFkyVnlkQzVqYjIweElEQWVCZ05WQkFNVEYwUnBaMmxEWlhKMElFZHNiMkpoYkNCU2IyOTBJRU5CTUlJQklqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FROEFNSUlCQ2dLQ0FRRUE0anZoRVhMZXFLVFRvMWVxVUtLUEMzZVF5YUtsN2hMT2xsc0JDU0RNQVpPblRqQzNVL2REeEdrQVY1M2lqU0xkaHdaQUFJRUp6czRiZzcvZnpUdHhSdUxXWnNjRnMzWW5Gbzk3bmg2VmZlNjNTS01JMnRhdmVndzVCbVYvU2wwZnZCZjRxNzd1S05kMGYzcDRtVm1GYUc1Y0l6Skx2MDdBNkZwdDQzQy9keEMvL0FIMmhkbW9SQkJZTXFsMUdOWFJvcjVINGlkcTlKb3orRWtJWUl2VVg3UTZoTCtocWtwTWZUN1BUMTlzZGw2Z1N6ZVJudHdpNW0zT0ZCcU9hc3YremJNVVpCZkhXeW1lTXIveTd2clRDMExVcTdkQk10b00xTy80Z2RXN2pWZy90UnZvU1NpaWNOb3hCTjMzc2hieVRBcE9CNmp0U2oxZXRYK2prTU92SndJREFRQUJvMk13WVRBT0JnTlZIUThCQWY4RUJBTUNBWVl3RHdZRFZSMFRBUUgvQkFVd0F3RUIvekFkQmdOVkhRNEVGZ1FVQTk1UU5WYlJUTHRtOEtQaUd4dkRsN0k5MFZVd0h3WURWUjBqQkJnd0ZvQVVBOTVRTlZiUlRMdG04S1BpR3h2RGw3STkwVlV3RFFZSktvWklodmNOQVFFRkJRQURnZ0VCQU11Y042cElFeElLK3QxRW5FOVNzUFRmcmdUMWVYa0lveVFZL0VzcmhNQXR1ZFhIL3ZUQkgxakx1RzJjZW5Ubm1DbXJFYlhqY0tDaHpVeUltWk9Na1hEaXF3OGN2cE9wLzJQVjVBZGcwNk8vblZzSjhkV080MVAwam1QNlA2ZmJ0R2JmWW1iVzBXNUJqZkl0dGVwM1NwK2RXT0lyV2NCQUkrMHRLSUpGUG5sVWtpYVk0SUJJcURmdjhOWjVZQmJlck9nT3pXNnNSQmM0TDBuYTRVVStLcmsyVTg4NlVBYjNMdWpFVjBsc1lTRVkxUVN0ZUR3c09vQnJwK3V2RlJUcDJJbkJ1VGhzNHBGc2l2OWt1WGNsVnpEQUd5U2o0ZHpwMzBkOHRiUWtDQVV3N0MyOUM3OUZ2MUM1cWZQcm1BRVNyY2lJeHBnMFg0MEtQTWJwMVpXVmJkND0iLCJNSUlDK1RDQ0FvQ2dBd0lCQWdJTkFLYUxlU2tBQUFBQVVOQ1IrVEFLQmdncWhrak9QUVFEQXpDQnZ6RUxNQWtHQTFVRUJoTUNWVk14RmpBVUJnTlZCQW9URFVWdWRISjFjM1FzSUVsdVl5NHhLREFtQmdOVkJBc1RIMU5sWlNCM2QzY3VaVzUwY25WemRDNXVaWFF2YkdWbllXd3RkR1Z5YlhNeE9UQTNCZ05WQkFzVE1DaGpLU0F5TURFeUlFVnVkSEoxYzNRc0lFbHVZeTRnTFNCbWIzSWdZWFYwYUc5eWFYcGxaQ0IxYzJVZ2IyNXNlVEV6TURFR0ExVUVBeE1xUlc1MGNuVnpkQ0JTYjI5MElFTmxjblJwWm1sallYUnBiMjRnUVhWMGFHOXlhWFI1SUMwZ1JVTXhNQjRYRFRFeU1USXhPREUxTWpVek5sb1hEVE0zTVRJeE9ERTFOVFV6Tmxvd2diOHhDekFKQmdOVkJBWVRBbFZUTVJZd0ZBWURWUVFLRXcxRmJuUnlkWE4wTENCSmJtTXVNU2d3SmdZRFZRUUxFeDlUWldVZ2QzZDNMbVZ1ZEhKMWMzUXVibVYwTDJ4bFoyRnNMWFJsY20xek1Ua3dOd1lEVlFRTEV6QW9ZeWtnTWpBeE1pQkZiblJ5ZFhOMExDQkpibU11SUMwZ1ptOXlJR0YxZEdodmNtbDZaV1FnZFhObElHOXViSGt4TXpBeEJnTlZCQU1US2tWdWRISjFjM1FnVW05dmRDQkRaWEowYVdacFkyRjBhVzl1SUVGMWRHaHZjbWwwZVNBdElFVkRNVEIyTUJBR0J5cUdTTTQ5QWdFR0JTdUJCQUFpQTJJQUJJUVR5ZEM2YlVGNzRtelE2MVZmWmdJYUpQUmJpV2xINDdqQ2ZmSHlBc1dmb1BaYjFZc0dHWVpQVXhCdEJ5UW5vYUQ0MVVjWllVeDl5cE1uNm5RTTcyK1dDZjVqN0hCZE5xMW5kNjdKblh4VlJEcWlZMUVmOWVOaTFLbEhCejdNSUtOQ01FQXdEZ1lEVlIwUEFRSC9CQVFEQWdFR01BOEdBMVVkRXdFQi93UUZNQU1CQWY4d0hRWURWUjBPQkJZRUZMZGo1eHJkamVrSXBsV0RwT0JxVUVGbEVVSkpNQW9HQ0NxR1NNNDlCQU1EQTJjQU1HUUNNR0Y1Mk9WQ1I5OGNybE9aRjdadkhIM2h2eEdVMFFPSWRlU05pYVNLZDBiZWJXSHZBdlg3dGQvTS9rNy8vcW5tcHdJd1c1blhoVGNHdFhzSS9lc25pMHFVK2VINnA0NG1DT2g4a21odGM5aHZKcXdoQXJpWnR5WkJXeVZncnRCSUd1NEciLCJNSUlGMkRDQ0E4Q2dBd0lCQWdJUVRLcjV5dHRqYitBZjkwN1lXd09HblRBTkJna3Foa2lHOXcwQkFRd0ZBRENCaFRFTE1Ba0dBMVVFQmhNQ1IwSXhHekFaQmdOVkJBZ1RFa2R5WldGMFpYSWdUV0Z1WTJobGMzUmxjakVRTUE0R0ExVUVCeE1IVTJGc1ptOXlaREVhTUJnR0ExVUVDaE1SUTA5TlQwUlBJRU5CSUV4cGJXbDBaV1F4S3pBcEJnTlZCQU1USWtOUFRVOUVUeUJTVTBFZ1EyVnlkR2xtYVdOaGRHbHZiaUJCZFhSb2IzSnBkSGt3SGhjTk1UQXdNVEU1TURBd01EQXdXaGNOTXpnd01URTRNak0xT1RVNVdqQ0JoVEVMTUFrR0ExVUVCaE1DUjBJeEd6QVpCZ05WQkFnVEVrZHlaV0YwWlhJZ1RXRnVZMmhsYzNSbGNqRVFNQTRHQTFVRUJ4TUhVMkZzWm05eVpERWFNQmdHQTFVRUNoTVJRMDlOVDBSUElFTkJJRXhwYldsMFpXUXhLekFwQmdOVkJBTVRJa05QVFU5RVR5QlNVMEVnUTJWeWRHbG1hV05oZEdsdmJpQkJkWFJvYjNKcGRIa3dnZ0lpTUEwR0NTcUdTSWIzRFFFQkFRVUFBNElDRHdBd2dnSUtBb0lDQVFDUjZGU1MwZ3BXc2F3TkpOM0Z6MFJuZEprck42TjlJM0FBY2J4VDM4VDZLaEtQUzM4UVZyMmZjSEszWVgvSlN3OFhwejNqc0FSaDd2OFJsOGYwaGo0SytqNWMrWlBtTkhyWkZHdm5uTE9Gb0lKNmRxOXhrTmZzL1EzNm5HejYzN0NDOUJSKytiN0VwaTlQZjVsL3RmeG5RM0s5REFEV2lldHJMTlB0ajVnY0ZLdCs1ZU51L05pbzVKSWsya05yWXJoVi9lckJ2R3kyaS9NT2pacmttMnhwbWZoNFNEQkYxYTNoRFR4RllQd3lsbEVudkdmRHlpNjJhK3BHeDhjZ29MRWZaZDVJQ0xxa1RxbnlnMFkzaE92b3pJRklRMmRPY2lxYlhMMU1HeWlLWENKN3RLdVkyZTdnVVlQRENVWk9iVDZaK3BVWDJud3pWMEU4alZIdEM3WmNyeXhqR3Q5WHlEKzg2VjNFbTY5Rm1lS2pXaVMwdXFsV1BjOXZxdjlKV0w3d3FQLzB1SzNwTi91NnVQUUxPdm5vUTBJZWlkaUV5eFB4MmJ2aGlXQzRqQ2hXckJRZG5Bcm5jZXZQRHQwOXFaYWhTTDA4OTYrMURTSk13QkdCN0ZZNzl0T2k0bHUzc2dRaVVwV0FrMm5vamt4bDhaRURMWEIwQXVxTFp4VXBhVklDdTlmZlVHcFZScitnb3loaGYzRFF3NktxTENHcVI4NG9uQVpGZHIrQ0dDZTAxYTYweTFEbWEvUk1obkV3NmFiZkZvYmcyUDlBM2Z2UVFvaC9vek02TGx3ZVFSR0JZODRZY1dzcjdLYUt0ekZjT21wSDRNTjVXZFlnR3EveWFwaXFjcnhYU3RKTG5ic1EvTEJNUWVYdEhUMWVLSjJjekwrelVkcW5SK1dFVXdJREFRQUJvMEl3UURBZEJnTlZIUTRFRmdRVXU2OStBajM2cHZFOGhJNnQ3amlZN05reU10UXdEZ1lEVlIwUEFRSC9CQVFEQWdFR01BOEdBMVVkRXdFQi93UUZNQU1CQWY4d0RRWUpLb1pJaHZjTkFRRU1CUUFEZ2dJQkFBcngxVWFFdDY1UnUyeXlUVUVVQUpOTW5Ndmx3RlRQb0NXT0F2bjlzS0lOOVNDWVBCTXRyRmFpc05aK0VaTHBMcnFlTHBweXNiMFpSR3hoTmFLYXRCWVNhVnFNNGRjK3BCcm9Md1Awcm1FZEVCc3FwSXQ2eGY0RnB1SEExc2orbnE2UEs3bzltZmpZY3dsWVJtNm1uUFRYSjlPVjJqZURjaHpUYytDaVI1a0RPRjNWU1hrQUtSekg3SnNnSEFja2FWZDRzam44T29TZ3RaeDhqYjh1azJJbnR6bmFGeGl1dlR3SmFQK0VtenpWMWdzRDQxZWVGUGZSNjAvSXZZY2p0N1pKUTNtRlhMcnJrZ3VoeHVob3FFd1dzUnFaQ3VoVExKSzdvUWtZZFF4bHFIdkxJN2Nhd2lpRnd4di8wQ3RpNzZSN0NaR1laNHdVQWMxb0JtcGpJWFVEZ0lpS2JvSEdoZktwcEMzbjlLVWtFRWVEeXMzMGpYbFlzUWFiNXhvcTJaMEIxNVI5N1FOS3l2RGI2S2tCUHZWV21ja2Vqa2s5dStVSnVlQlBTWkk5Rm9KQXpNeFp4dVk2N1JJdWFUeHNsYkg5cWgxN2Y0YStIZzR5UnZ2N0U0OTFmMHlMUzBaai9nQTBRSERCdzdtaDNhWnc0Z1N6UWJ6cGdKSHFaSng2NFNJRHFaeHVidzVsVDJ5SGgxN3picUQ1ZGFXYlFPaFRzaWVkU3JuQWR5R04vNGZ5M3J5TTd4ZmZ0MGtMMGZKdU1Bc2FEazUyN1JIODllbFdzbjIveDIwS2s0eWwwTUMySGI0NlRwU2kxMjVzQzhLS2ZQb2c4OFRrNWMwTnFNdVJrckY4aGV5MUZHbG1Eb0xuemM3SUxhWlJmeUhCTlZPRkJrcGRuNjI3RzE5MCIsIk1JSUIvakNDQVlXZ0F3SUJBZ0lJZEpjbGlzYy9lbFF3Q2dZSUtvWkl6ajBFQXdNd1JURUxNQWtHQTFVRUJoTUNWVk14RkRBU0JnTlZCQW9NQzBGbVptbHliVlJ5ZFhOME1TQXdIZ1lEVlFRRERCZEJabVpwY20xVWNuVnpkQ0JRY21WdGFYVnRJRVZEUXpBZUZ3MHhNREF4TWpreE5ESXdNalJhRncwME1ERXlNekV4TkRJd01qUmFNRVV4Q3pBSkJnTlZCQVlUQWxWVE1SUXdFZ1lEVlFRS0RBdEJabVpwY20xVWNuVnpkREVnTUI0R0ExVUVBd3dYUVdabWFYSnRWSEoxYzNRZ1VISmxiV2wxYlNCRlEwTXdkakFRQmdjcWhrak9QUUlCQmdVcmdRUUFJZ05pQUFRTk1GNGJGWjBEMEtGNU5iYzZQSko2eWhVY3pXTHpuQ1pjQnozbFZQcWoxc3dTNnZRVVgraU9HYXN2TGtqbXJCaERlS3pRTjhPOXNzMHM1a2ZpR3VaanVEMHVMM2pFVDl2MEQ2Um9URlZ5YTVVZFRoaENsWGpNTnp5UjRwdGxLeW1qUWpCQU1CMEdBMVVkRGdRV0JCU2FyeWw2d0JFMU5TWlJNQUREYXY1QTFhN1dQREFQQmdOVkhSTUJBZjhFQlRBREFRSC9NQTRHQTFVZER3RUIvd1FFQXdJQkJqQUtCZ2dxaGtqT1BRUURBd05uQURCa0FqQVhDZk9IaUZCYXI4akFRcjlIWC9Wc2FvYmd4Q2QwNURoVDF3Vi9HelRqeGkrenlnazhONTNYNTdoRzhmMmg0bkVDTUVKWmgwUFVVZCs2MHdreVdzNklmbGM5bkY5Q2EvVUhMYlh3Z3BQNVdXK3VaUHBZNVlzZTQyTyt0WUhOYndLTWVRPT0iLCJNSUlFTWpDQ0F4cWdBd0lCQWdJQkFUQU5CZ2txaGtpRzl3MEJBUVVGQURCN01Rc3dDUVlEVlFRR0V3SkhRakViTUJrR0ExVUVDQXdTUjNKbFlYUmxjaUJOWVc1amFHVnpkR1Z5TVJBd0RnWURWUVFIREFkVFlXeG1iM0prTVJvd0dBWURWUVFLREJGRGIyMXZaRzhnUTBFZ1RHbHRhWFJsWkRFaE1COEdBMVVFQXd3WVFVRkJJRU5sY25ScFptbGpZWFJsSUZObGNuWnBZMlZ6TUI0WERUQTBNREV3TVRBd01EQXdNRm9YRFRJNE1USXpNVEl6TlRrMU9Wb3dlekVMTUFrR0ExVUVCaE1DUjBJeEd6QVpCZ05WQkFnTUVrZHlaV0YwWlhJZ1RXRnVZMmhsYzNSbGNqRVFNQTRHQTFVRUJ3d0hVMkZzWm05eVpERWFNQmdHQTFVRUNnd1JRMjl0YjJSdklFTkJJRXhwYldsMFpXUXhJVEFmQmdOVkJBTU1HRUZCUVNCRFpYSjBhV1pwWTJGMFpTQlRaWEoyYVdObGN6Q0NBU0l3RFFZSktvWklodmNOQVFFQkJRQURnZ0VQQURDQ0FRb0NnZ0VCQUw1QW5mUnU0ZXAyaHh4TlJVU092a2JJZ3dhZHdTcitHQitPNUFMNjg2dGRVSW9XTVF1YUJ0REZjQ0xOU1MxVVk4eTJibWhHQzFQcXkwd2t3THh5VHVyeEZhNzBWSm9TQ3NONnNqTmc0dHFKVmZNaVdQUGUzTS92ZzRhaWpKUlBuMmp5bUpCR2hDZkhkci9qekRVc2kxNEhaR1dDd0Vpd3FKSDVZWjkySUZDb2tjZG10ZXQ0WWdOVzhJb2FFK294b3g2Z21mMDQ5dlluTWxodkIvVnJ1UHNVSzYrM3FzeldZMTl6ak5vRm1hZzRxTXNYZURaUnJPbWU5SGc2amM4UDJVTGltQXlyTDU4T0FkN3ZuNWxKOFMzZnJIUk5HNWkxUjhYbEtkSDVrQmpIWXB5K2c4Y21lejZLSmNmQTNaM21OV2dRSUoyUDJON1N3NFNjRFY3b0w4a0NBd0VBQWFPQndEQ0J2VEFkQmdOVkhRNEVGZ1FVb0JFS0l6Nlc4UWZzNHE4cDc0S2xmOUF3cExRd0RnWURWUjBQQVFIL0JBUURBZ0VHTUE4R0ExVWRFd0VCL3dRRk1BTUJBZjh3ZXdZRFZSMGZCSFF3Y2pBNG9EYWdOSVl5YUhSMGNEb3ZMMk55YkM1amIyMXZaRzlqWVM1amIyMHZRVUZCUTJWeWRHbG1hV05oZEdWVFpYSjJhV05sY3k1amNtd3dOcUEwb0RLR01HaDBkSEE2THk5amNtd3VZMjl0YjJSdkxtNWxkQzlCUVVGRFpYSjBhV1pwWTJGMFpWTmxjblpwWTJWekxtTnliREFOQmdrcWhraUc5dzBCQVFVRkFBT0NBUUVBQ0ZiOEF2Q2I2UCtrK3RaN3hrU0F6ay9FeGZZQVdNeW10cndVU1dnRWR1am03bDNzQWc5ZzFvMVFHRThtVGdIajVyQ2w3cis4ZEZSQnYvMzhFcmpIVDFyMGlXQUZmMkMzQlVyejl2SEN2OFM1ZElhMkxYMXJ6Tkx6UnQwdnh1QnF3OE0wQXl4OWx0MWF3ZzZuQ3BuQkJZdXJEQy96WERyUGJEZFZDWWZlVTBCc1dPLzh0cXRsYmdUMkc5dzg0Rm9WeHA3WjhWbElNQ0ZsQTJ6czZTRno3SnNEb2VBM3JhQVZHSS82dWdMT3B5eXBFQk1zMU9VSUpxc2lsMkQ0a0Y1MDFLS2FVNzN5cVdqZ29tN0MxMnl4b3crZXYrdG81MWJ5cnZMakt6ZzZDWUcxYTRYWHZpM3RQeHEzc21QaTlXSXNndFJxQUVGUThUbURuNVhwTnBhWWJnPT0iLCJNSUlDUmpDQ0FjMmdBd0lCQWdJUUM2RmEraDNmb0xWSlJLL05KS0JzN0RBS0JnZ3Foa2pPUFFRREF6QmxNUXN3Q1FZRFZRUUdFd0pWVXpFVk1CTUdBMVVFQ2hNTVJHbG5hVU5sY25RZ1NXNWpNUmt3RndZRFZRUUxFeEIzZDNjdVpHbG5hV05sY25RdVkyOXRNU1F3SWdZRFZRUURFeHRFYVdkcFEyVnlkQ0JCYzNOMWNtVmtJRWxFSUZKdmIzUWdSek13SGhjTk1UTXdPREF4TVRJd01EQXdXaGNOTXpnd01URTFNVEl3TURBd1dqQmxNUXN3Q1FZRFZRUUdFd0pWVXpFVk1CTUdBMVVFQ2hNTVJHbG5hVU5sY25RZ1NXNWpNUmt3RndZRFZRUUxFeEIzZDNjdVpHbG5hV05sY25RdVkyOXRNU1F3SWdZRFZRUURFeHRFYVdkcFEyVnlkQ0JCYzNOMWNtVmtJRWxFSUZKdmIzUWdSek13ZGpBUUJnY3Foa2pPUFFJQkJnVXJnUVFBSWdOaUFBUVo1N3lzUkdYdHpiZy9XUHVOc1ZlcFJDMEZGZkx2Qy84UWRKKzFZbEpmWm40ZjVkd2JSWGtMek1aVENwMk5YUUxacVZuZUFscjJsU29PalRoS2lrbkd2TVlET0FkZlZkcCtDVzdpZjE3UVJTQVBXWFlRMXFBazhDM2VOdkpzS1RtalFqQkFNQThHQTFVZEV3RUIvd1FGTUFNQkFmOHdEZ1lEVlIwUEFRSC9CQVFEQWdHR01CMEdBMVVkRGdRV0JCVEwwTDJwNFpnRlVhRk5ONktEZWM2TkhTcmtoREFLQmdncWhrak9QUVFEQXdObkFEQmtBakFscElGRkFtc1NTM1YwVDhnajQzRHlkWExlZklud3o1RnlZWjVlRUpKWlZybUR4eERuT09sWUpqWjkxZVEwaGprQ01IdzJVL0F3NVdKak9wbml0cU03bXpUNkh0b1FrbkZla1JPbjNhUnVrc3d5MXZVaFpzY3Y2cFpqYW1WRmtwVUJ0QT09IiwiTUlJRUtqQ0NBeEtnQXdJQkFnSUVPR1BlK0RBTkJna3Foa2lHOXcwQkFRVUZBRENCdERFVU1CSUdBMVVFQ2hNTFJXNTBjblZ6ZEM1dVpYUXhRREErQmdOVkJBc1VOM2QzZHk1bGJuUnlkWE4wTG01bGRDOURVRk5mTWpBME9DQnBibU52Y25BdUlHSjVJSEpsWmk0Z0tHeHBiV2wwY3lCc2FXRmlMaWt4SlRBakJnTlZCQXNUSENoaktTQXhPVGs1SUVWdWRISjFjM1F1Ym1WMElFeHBiV2wwWldReE16QXhCZ05WQkFNVEtrVnVkSEoxYzNRdWJtVjBJRU5sY25ScFptbGpZWFJwYjI0Z1FYVjBhRzl5YVhSNUlDZ3lNRFE0S1RBZUZ3MDVPVEV5TWpReE56VXdOVEZhRncweU9UQTNNalF4TkRFMU1USmFNSUcwTVJRd0VnWURWUVFLRXd0RmJuUnlkWE4wTG01bGRERkFNRDRHQTFVRUN4UTNkM2QzTG1WdWRISjFjM1F1Ym1WMEwwTlFVMTh5TURRNElHbHVZMjl5Y0M0Z1lua2djbVZtTGlBb2JHbHRhWFJ6SUd4cFlXSXVLVEVsTUNNR0ExVUVDeE1jS0dNcElERTVPVGtnUlc1MGNuVnpkQzV1WlhRZ1RHbHRhWFJsWkRFek1ERUdBMVVFQXhNcVJXNTBjblZ6ZEM1dVpYUWdRMlZ5ZEdsbWFXTmhkR2x2YmlCQmRYUm9iM0pwZEhrZ0tESXdORGdwTUlJQklqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FROEFNSUlCQ2dLQ0FRRUFyVTFMcVJLR3N1cWpJQWNWRm1RcUswdlJ2d3RLVFk3dGdIYWxaN2Q0UU1CelFzaG93TnRUSzkxZXVIYVlOWk9MR3AxOEV6b09IMXUzSHMvbEpCUWVzWUdwalgyNHpHdExBL0VDRE55cnBVQWtBSDkwbEtHZENDbXppQXYxaDNlZFZjM2t3MzdYYW1TcmhSU0dsVnVYTWxCdlBjaTZaZ3pqL0wyNFNjRjJpVWtaL2NDb3ZZbWpaeS9Hbjd4eEdXQzRMZWtzeVpCMlpudVU0cTk0MW1WVFhUelduTExQS1FQNUw2UlFzdFJJemdVeVZZcjlzbVJNRHVTWUIzWGJmOSs1Q0ZWZ2hUQXArWHRJcEdtRzR6VS9Ib1pkZW5vVnZlOEFqaFVpVkJjQWtDYVR2QTVKYUpHLytFZlRuWlZDd1E1TjMyOG16OE1ZSVdKbVEzRFcxY0FINFFJREFRQUJvMEl3UURBT0JnTlZIUThCQWY4RUJBTUNBUVl3RHdZRFZSMFRBUUgvQkFVd0F3RUIvekFkQmdOVkhRNEVGZ1FVVmVTQjBSR0F2dGlKdVFpak1mbWhKQWtXdVhBd0RRWUpLb1pJaHZjTkFRRUZCUUFEZ2dFQkFEdWJqMWFiTU9kVG1YeDZlYWRObDljWmxaRDdCaC9LTTN4R1k0K1daaVQ2UUJzaEo4cm1jblB5VC80eG1mM0lERXhvVThhQWdoT1krcmF0MmwwOThjNXU5aFVSbElJTTdqK1ZyeEdyRDljdjNoOERqMWNzSHNtN21ocEVsZXNZVDZZZnpYMVhFQytiQkFsYWhMVnUyQjA2NGRhZTBXeDVYbmtjRk1YajBFeVRPMlU4N2Q4OXZxYmxsUnJEdFJuRHZWNWJ1LzhqNzJnWnl4S1RKMXdETFc4dzBCNjJHcXplV3ZmUnFxZ25wdjU1Z2NSNW1UTlh1aEt3cWVCQ2JKUEtWdDcrYllRTENJdCtqZXJYbUNIRzgrYzhlUzllbk5GTUZZM2g3Q0kzekpwREM1ZmNnSkNOczJlYmIwZ0lGVmJQdi9FcmZGNmFkdWxaa01WOGd6VVJaVkU9IiwiTUlJQ0hqQ0NBYVNnQXdJQkFnSVJZRmxKNENZdXUxWDVDbmVLY2ZsSzJHd3dDZ1lJS29aSXpqMEVBd013VURFa01DSUdBMVVFQ3hNYlIyeHZZbUZzVTJsbmJpQkZRME1nVW05dmRDQkRRU0F0SUZJMU1STXdFUVlEVlFRS0V3cEhiRzlpWVd4VGFXZHVNUk13RVFZRFZRUURFd3BIYkc5aVlXeFRhV2R1TUI0WERURXlNVEV4TXpBd01EQXdNRm9YRFRNNE1ERXhPVEF6TVRRd04xb3dVREVrTUNJR0ExVUVDeE1iUjJ4dlltRnNVMmxuYmlCRlEwTWdVbTl2ZENCRFFTQXRJRkkxTVJNd0VRWURWUVFLRXdwSGJHOWlZV3hUYVdkdU1STXdFUVlEVlFRREV3cEhiRzlpWVd4VGFXZHVNSFl3RUFZSEtvWkl6ajBDQVFZRks0RUVBQ0lEWWdBRVIwVU9sdnQ5WGIvcE9kRWgrSjhMdHRWN0hwSTZTRmtjOEdJeExjQjZLUDRhcDF5enRzeVg1MFhVV1ByUmQyMURvc0NIWlRRS0gzcmQ2end6b2NXZFRhUnZRWlU0ZjhrZWhPdlJua21TaDVTSEREcUZTbWFmblZtVFRaZGhCb1pLbzBJd1FEQU9CZ05WSFE4QkFmOEVCQU1DQVFZd0R3WURWUjBUQVFIL0JBVXdBd0VCL3pBZEJnTlZIUTRFRmdRVVBlWXBTSnZxQjhvaFJFb20zbTdlMG9QUW4xa3dDZ1lJS29aSXpqMEVBd01EYUFBd1pRSXhBT1ZwRXNsdTI4WXh1Z2xCNFpmNCsvMmE0bjBTeWUxOFpOUExCU1dMVnRtZzUxNWRUZ3VEbkZ0MkthQUpKaUZxWWdJd2NkSzFqMXpxTytGNENZV29kWkk3eUZ6OVNPOE5kQ0tvQ09KdXhVbk94d3k4cDJGcDhmYzc0U3JMK1N2elpwQTMiLCJNSUlGZ3pDQ0EydWdBd0lCQWdJT1JlYTdBNE16dzRWbFNPYi9SVkV3RFFZSktvWklodmNOQVFFTUJRQXdUREVnTUI0R0ExVUVDeE1YUjJ4dlltRnNVMmxuYmlCU2IyOTBJRU5CSUMwZ1VqWXhFekFSQmdOVkJBb1RDa2RzYjJKaGJGTnBaMjR4RXpBUkJnTlZCQU1UQ2tkc2IySmhiRk5wWjI0d0hoY05NVFF4TWpFd01EQXdNREF3V2hjTk16UXhNakV3TURBd01EQXdXakJNTVNBd0hnWURWUVFMRXhkSGJHOWlZV3hUYVdkdUlGSnZiM1FnUTBFZ0xTQlNOakVUTUJFR0ExVUVDaE1LUjJ4dlltRnNVMmxuYmpFVE1CRUdBMVVFQXhNS1IyeHZZbUZzVTJsbmJqQ0NBaUl3RFFZSktvWklodmNOQVFFQkJRQURnZ0lQQURDQ0Fnb0NnZ0lCQUpVSDZIUEtadm5zRk1wN1BQY05DUEcwUlFzc2dyUkl4dXRiUEs2RHVFR1NNeFNrYjMvcEtzekdzSWhyeGJhSjBjYXkveFRPVVJRaDdFcmRHMXJHMW9mdVRUb1ZCdTFrWmd1U2dNcEUzbk9VVHZPbmlYOVBlR01JeUJKUWJVSm1MMDI1ZVNoTlVocUtHb0MzR1lFT2ZzU0t2R1JNSVJ4RGFOYzlQSXJGc21iVmtKcTNNUWJGdnVKdE1nYW1Idm01NjZxanVMKytnbU5RMFBBWWlkL2tEM24xNnFJZkt0SndMbnZudkpPN2JWUGlTSHlNRUFjNC8yYXlkMkYrNE9xTVBLcTBwUGJ6bFVvU0IyMzlqTEtKejlDZ1lYZklXSFN3MUNNNjkxMDZ5cUxiblFuZVhVUXRrUEdCelZlUytuNjhVQVJqTk45cmt4aSthemF5T2VTc0pEYTM4TysySEJOWGs3YmVzdmppaGJkem9yZzFxa1h5NEowMm9XOVVpdkZ5Vm00dWlNVlJRa1FWbE82anhUaVdtMDVPV2d0SDh3WTJTWGN3dkhFMzVhYnNJUWgxL09aaEZqOTMxZG1SbDRRS2JOUUNUWFRBRk8zOU9mdUQ4bDRVb1FTd0Mrbis3by9oYmd1eUNMTmhaZ2xxc1FZNlpaWlp3UEExL2NuYUtJMGFFWWR3Z1Fxb21uVWRuanFHQlFDZTI0RFdKZm5jQlo0bldVeDJPVnZxK2FXaDJJTVAwZi9mTUJINWhjOHpTUFhLYldRVUxIcFlUOU5MQ0VuRmxXUWFZdzU1UGZXempNcFlyWnhDUlhsdURvY1pYRlN4WmJhL2pKdmNFK2tOYjdndTNHZHV5WXNSdFlRVWlnQVpjSU41a1plUjFCb252emNlTWdmWUZHTThLRXl2QWdNQkFBR2pZekJoTUE0R0ExVWREd0VCL3dRRUF3SUJCakFQQmdOVkhSTUJBZjhFQlRBREFRSC9NQjBHQTFVZERnUVdCQlN1YkFXamt4UGlvdWZpMXh6V3gvQi95R2RUb0RBZkJnTlZIU01FR0RBV2dCU3ViQVdqa3hQaW91ZmkxeHpXeC9CL3lHZFRvREFOQmdrcWhraUc5dzBCQVF3RkFBT0NBZ0VBZ3lYdDZOSDlsVkxObnNBRW9KRnA1bHpRaE43Y3JhSlA2RWQ0MW1XWXFWdW9QSWQ4QW9yUmJyY1djK1pmd0ZTWTFYUyt3YzNpRVpHdEl4ZzkzZUZ5UkphMGxWN0FlNDZaZUJaREUxWlhzNkt6TzdWMzNFQnlyS1BybXpVK3NRZ2hvZWZFUXpkNU1yNjE1NXdzVEx4REtabU9NTk9zSWVEakhmcllCek4yVkFBaUtybE5JQzV3YU5ybFUveURYTk9kOHY5RURFUm04dExqdlVZQUdtMEN1aVZkamFFeFVkMVVSaHhOMjVtVzd4b2NCRnltRmU5NDRIbitYZHMrcWt4Vi9ab1ZxVy9ocHZ2ZmNERHB3KzVDUnUzQ2t3V0orbjFqZXovUWNZRjhBT2lZcmc1NE5NTWwrNjhLbnlCcjNUc1RqeEtNNGtFYVNIcHpvSGRweDdaY2Y0TElIdjVZR3lncnFHeXRYbTNBQmRKN3QrdUEvaVUzL2dLYmFLeENYY1B1OWN6YzhGQjEwalpwbk9aN0JOOXVCbW0yM2dvSlNGbUg2M3NVWUhwa3FtbEQ3NUhIVE93WTNXenZVeTJNbWVGZThuSSt6MVRJdldmc3BBOU1SZi9UdVRBakIweVBFTCtHbHRtWldyU1pWeHlrekxzVmlWTzZMQVVQNU1TZUdiRVlOTlZNbmJydDl4K3ZKSlVFZUtnRHUrNkI1ZHBmZkl0S29aQjBKYWV6UGt2SUxGYTl4OGp2T09KY2t2QjU5NXlFdW5RdFlRRWdmbjdSOGs4SFdWK0xMVU5TNjBZTWxPSDFaa2Q1ZDlWVVd4K3RKRGZMUlZwT29FUkl5Tml3bWNVVmhBbjIxa2xKd0dXNDVocHhicUNvOFlMb1JUNXMxZ0xYQ21lREJWckpwQkE9IiwiTUlJRWtUQ0NBM21nQXdJQkFnSUVSV3RRVkRBTkJna3Foa2lHOXcwQkFRVUZBRENCc0RFTE1Ba0dBMVVFQmhNQ1ZWTXhGakFVQmdOVkJBb1REVVZ1ZEhKMWMzUXNJRWx1WXk0eE9UQTNCZ05WQkFzVE1IZDNkeTVsYm5SeWRYTjBMbTVsZEM5RFVGTWdhWE1nYVc1amIzSndiM0poZEdWa0lHSjVJSEpsWm1WeVpXNWpaVEVmTUIwR0ExVUVDeE1XS0dNcElESXdNRFlnUlc1MGNuVnpkQ3dnU1c1akxqRXRNQ3NHQTFVRUF4TWtSVzUwY25WemRDQlNiMjkwSUVObGNuUnBabWxqWVhScGIyNGdRWFYwYUc5eWFYUjVNQjRYRFRBMk1URXlOekl3TWpNME1sb1hEVEkyTVRFeU56SXdOVE0wTWxvd2diQXhDekFKQmdOVkJBWVRBbFZUTVJZd0ZBWURWUVFLRXcxRmJuUnlkWE4wTENCSmJtTXVNVGt3TndZRFZRUUxFekIzZDNjdVpXNTBjblZ6ZEM1dVpYUXZRMUJUSUdseklHbHVZMjl5Y0c5eVlYUmxaQ0JpZVNCeVpXWmxjbVZ1WTJVeEh6QWRCZ05WQkFzVEZpaGpLU0F5TURBMklFVnVkSEoxYzNRc0lFbHVZeTR4TFRBckJnTlZCQU1USkVWdWRISjFjM1FnVW05dmRDQkRaWEowYVdacFkyRjBhVzl1SUVGMWRHaHZjbWwwZVRDQ0FTSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnRVBBRENDQVFvQ2dnRUJBTGFWdGtOQytzWnRLbTlJMzVSTU9WY0Y3c041RVVGb051M3MvcG9CajZFNEtQejNFRVptTGswZUdyRWFUc2JSd0pXSXNNbi9NWXN6QTl1M2czcytJSVJlN2JKV0tLZjQ0TGxBY1RmRnkwY09seXBvd0NLVlloWGJSOW4xMEN2L2drdkpyVDdlVE51UWdGQS9DWXFFQU93d0NqMFl6ZnY5S2xtYUk1VVhMRVdlSDI1RGVXME1YSmorU0tmRkkwZGNYdjF1NXg2MDltaEYwWWFEVzZLS2piSGpLWUQrSlhHSXJiNjhqNnhTbGt1cVVZM2tFekVaNkU1Tm45dXNzMnJWdkRsVWNjcDZlbitRM1gwZGdObUJ1MWttd2hIKzVwUGk5NERrWmZzME53NHBnSEJOcnppR0xwNS9WNitlRjY3ckhNc29JVisySE5qbm9nUWkrZFBhMk1zQ0F3RUFBYU9Cc0RDQnJUQU9CZ05WSFE4QkFmOEVCQU1DQVFZd0R3WURWUjBUQVFIL0JBVXdBd0VCL3pBckJnTlZIUkFFSkRBaWdBOHlNREEyTVRFeU56SXdNak0wTWxxQkR6SXdNall4TVRJM01qQTFNelF5V2pBZkJnTlZIU01FR0RBV2dCUm9rT1JucEtaVGdNZUdacVR4OTB0RCs0UzliVEFkQmdOVkhRNEVGZ1FVYUpEa1o2U21VNERIaG1hazhmZExRL3VFdlcwd0hRWUpLb1pJaHZaOUIwRUFCQkF3RGhzSVZqY3VNVG8wTGpBREFnU1FNQTBHQ1NxR1NJYjNEUUVCQlFVQUE0SUJBUUNUMURDdzF3TWdLdEQ1WStpUkRBVWdxVjhaeW50eVR0U3gyOUNXKzFSYUdTd01DUGV5dklXb25YOXRPMUt6S3R2bjFJU01ZL1lQeXlZQmtWQnM5RjhVNHBOMHdCT2VNRHBRNDdSZ3hSendJa1NOY1Vlc3lCcko2WnVhQUdBVC8zQitYeEZOU1J1ekZWSjd5VlRhdjUyVnIydWEySjdwOGVSRGplSVJSRHEvcjcyRFFuTlNpNnE3cHluUDlXUWNDazNSdktxc255clEvMzkvMm4zcXNlMHdKY0dFMmpUU1czaURWdXljTnNNbTRoSDJaMGtka3F1TSsrdi9ldTZGU3FkUWdQQ25YRXFVTGw4Rm1UeFNRZUROdEdQUEFVTzZuSVBjajJBNzgxcTB0SHV1Mmd1UU9IWHZnUjFtMHZkWGNEYXp2L3dvcjNFbGhWc1QvaDUvV3JROCIsIk1JSUI0VENDQVllZ0F3SUJBZ0lSS2ppa0hKWUtCTjVDc2lpbEMrZzBtQUl3Q2dZSUtvWkl6ajBFQXdJd1VERWtNQ0lHQTFVRUN4TWJSMnh2WW1Gc1UybG5iaUJGUTBNZ1VtOXZkQ0JEUVNBdElGSTBNUk13RVFZRFZRUUtFd3BIYkc5aVlXeFRhV2R1TVJNd0VRWURWUVFERXdwSGJHOWlZV3hUYVdkdU1CNFhEVEV5TVRFeE16QXdNREF3TUZvWERUTTRNREV4T1RBek1UUXdOMW93VURFa01DSUdBMVVFQ3hNYlIyeHZZbUZzVTJsbmJpQkZRME1nVW05dmRDQkRRU0F0SUZJME1STXdFUVlEVlFRS0V3cEhiRzlpWVd4VGFXZHVNUk13RVFZRFZRUURFd3BIYkc5aVlXeFRhV2R1TUZrd0V3WUhLb1pJemowQ0FRWUlLb1pJemowREFRY0RRZ0FFdU1aNTA0OXNKUTZmTGprWkhBT2tycHJsT1FjSkZzcGpzYm1HK0lwWHdWZk9RdnB6b2ZkbFF2OGV3UUN5Ym5NTy84Y2g1UmlrcXRseFA2alV1YzZNSGFOQ01FQXdEZ1lEVlIwUEFRSC9CQVFEQWdFR01BOEdBMVVkRXdFQi93UUZNQU1CQWY4d0hRWURWUjBPQkJZRUZGU3dlNjFGdU9KQWYvc0tidnUrTThrOG80VFZNQW9HQ0NxR1NNNDlCQU1DQTBnQU1FVUNJUURja3FHZ0U2YlBBN0RteENHWGtQb1VWeTBEN080ODAyN0txR3gydktMZXV3SWdKNmlGSnpXYlZzYWo4a2ZTdDI0YkFnQVhxbWVtRlpIZStwVHNld3Y0bjRRPSIsIk1JSUR4VENDQXEyZ0F3SUJBZ0lCQURBTkJna3Foa2lHOXcwQkFRc0ZBRENCZ3pFTE1Ba0dBMVVFQmhNQ1ZWTXhFREFPQmdOVkJBZ1RCMEZ5YVhwdmJtRXhFekFSQmdOVkJBY1RDbE5qYjNSMGMyUmhiR1V4R2pBWUJnTlZCQW9URVVkdlJHRmtaSGt1WTI5dExDQkpibU11TVRFd0x3WURWUVFERXloSGJ5QkVZV1JrZVNCU2IyOTBJRU5sY25ScFptbGpZWFJsSUVGMWRHaHZjbWwwZVNBdElFY3lNQjRYRFRBNU1Ea3dNVEF3TURBd01Gb1hEVE0zTVRJek1USXpOVGsxT1Zvd2dZTXhDekFKQmdOVkJBWVRBbFZUTVJBd0RnWURWUVFJRXdkQmNtbDZiMjVoTVJNd0VRWURWUVFIRXdwVFkyOTBkSE5rWVd4bE1Sb3dHQVlEVlFRS0V4RkhiMFJoWkdSNUxtTnZiU3dnU1c1akxqRXhNQzhHQTFVRUF4TW9SMjhnUkdGa1pIa2dVbTl2ZENCRFpYSjBhV1pwWTJGMFpTQkJkWFJvYjNKcGRIa2dMU0JITWpDQ0FTSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnRVBBRENDQVFvQ2dnRUJBTDl4WWdqeCtsazA5eHZKR0tQM2dFbFk2U0tERTZiRklFTUJPNFR4NW9WSm55ZnE5b1FiVHFDMDIzQ1l4eklCc1FVK0IwN3U5UHBQTDFrd0l1ZXJHVlpyNG9BSC9QTVdkWUE1VVh2bCtUVzJkRTZwallJVDVMWS9xUU9EK3FLK2loVnFmOTRMdzdZWkZBWEs2c09vQkpRN1Jud3lEZk1BWmlMSWpXbHROb3dSR0xmVHNoeGd0RGo2QW96TzA5MUdCOTRLUHV0ZGZNaDgrN0FyVTZTU1ltbFJKUVZoR2tTQmpDeXBRNVlqMzZ3Nmdab09LY1VjcWVsZEhyYWVuakFLT2M3eGlJRDdTMTNNTXV5RllrTWxOQUpXSndHUnREdHdLajl1c2VpY2lBRjluOVQ1MjFOdFlKMi9MT2RZcTdoZlJ2ek94QnNEUEFuclNURmNhVWF6NEVjQ0F3RUFBYU5DTUVBd0R3WURWUjBUQVFIL0JBVXdBd0VCL3pBT0JnTlZIUThCQWY4RUJBTUNBUVl3SFFZRFZSME9CQllFRkRxYWhRY1FaeWkyNy9hOUJVRnVJTUdVMmcvZU1BMEdDU3FHU0liM0RRRUJDd1VBQTRJQkFRQ1oyMTE1MWZtWFdXY0RZZkYrT3dZeGRTMmhJSTVQWlllMDk2YWN2TmpwTDlEYld1N1BkSXh6dERoQzJnVjcrQUoxdVAybHNkZXU5dGZlRTh0VEVINktSdEdYK3JjdUt4R3JrTEFuZ1Bub24xcnBONStyNU45c3M0VVhuVDNaSkU5NWtUWFdYd1RyZ0lPcm1nSXR0UkQwMkpESEJITkE3WElsb0ttZjdKNnJhQktaVjhhUEVqb0pwTDFFL1FZVk44R2I1REtqN1RqbzJHVHpMSDRVL0FMcW44My9CMmdYMnlLUU9DMTZqZEZVOFdualh6UEtlajE3Q3VQS2YxODU1ZUoxdXNWMkdEUE9MUEF2VEszM3NlZk9UNmpFbTBwVUJzVi9mZFVJRCtJYy9uNFh1S3hlOXRRV3NrTUpERTMycDJ1MG1ZUmx5bnFJNHVKRXZsejM2aHoxIiwiTUlJRGR6Q0NBbCtnQXdJQkFnSUVBZ0FBdVRBTkJna3Foa2lHOXcwQkFRVUZBREJhTVFzd0NRWURWUVFHRXdKSlJURVNNQkFHQTFVRUNoTUpRbUZzZEdsdGIzSmxNUk13RVFZRFZRUUxFd3BEZVdKbGNsUnlkWE4wTVNJd0lBWURWUVFERXhsQ1lXeDBhVzF2Y21VZ1EzbGlaWEpVY25WemRDQlNiMjkwTUI0WERUQXdNRFV4TWpFNE5EWXdNRm9YRFRJMU1EVXhNakl6TlRrd01Gb3dXakVMTUFrR0ExVUVCaE1DU1VVeEVqQVFCZ05WQkFvVENVSmhiSFJwYlc5eVpURVRNQkVHQTFVRUN4TUtRM2xpWlhKVWNuVnpkREVpTUNBR0ExVUVBeE1aUW1Gc2RHbHRiM0psSUVONVltVnlWSEoxYzNRZ1VtOXZkRENDQVNJd0RRWUpLb1pJaHZjTkFRRUJCUUFEZ2dFUEFEQ0NBUW9DZ2dFQkFLTUV1eUtybUQxWDZDWnltclY1MUNuaTRlaVZnTEd3NDF1T0t5bWFaTitoWGUyd0NRVnQyeWd1em1LaVl2NjBpTm9TNnpqcklaM0FRU3NCVW51SWQ5TWNqOGU2dVlpMWFnbm5jK2dSUUtmUnpNcGlqUzNsand1bVVOS29VTU1vNnZXckpZZUttcFljcVdlNFB3elY5L2xTRXkvQ0c5VndjUENQd0JMS0JzdWE0ZG5LTTNwMzF2anN1ZkZvUkVKSUU5TEF3cVN1WG1EK3RxWUYvTFRkQjFrQzFGa1ltR1AxcFdQZ2tBeDlYYklHZXZPRjZ1dlVBNjVlaEQ1Zi94WHRhYno1T1RaeWRjOTNVazN6eVpBc3VUM2x5U05UUHg4a21DRmNCNWtwdmNZNjdPZHVoanBybDNSak03MW9HREh3ZUkxMnYveWVqbDBxaHFkTmtOd25HamtDQXdFQUFhTkZNRU13SFFZRFZSME9CQllFRk9XZFdUQ0NSMWpNclBvSVZEYUdlenExQkUzd01CSUdBMVVkRXdFQi93UUlNQVlCQWY4Q0FRTXdEZ1lEVlIwUEFRSC9CQVFEQWdFR01BMEdDU3FHU0liM0RRRUJCUVVBQTRJQkFRQ0ZERjJPNUc5UmFFSUZvTjI3VHljbGhBTzk5MlQ5TGRjdzQ2UVFGK3ZhS1NtMmVUOTI5aGtUSTdnUUN2bFlwTlJoY0wwRVlXb1NpaGZWQ3IzRnZEQjgxdWtNSlkyR1FFL3N6S04rT01ZM0VVL3QzV2d4amt6U3N3RjA3cjUxWGdkSUduOXcveFpjaE1CNWhiZ0YvWCsrWlJHakQ4QUN0UGhTTnprRTFha3hlaGkvb0NyMEVwbjNvMFdDNHp4ZTlaMmV0Y2llZkM3SXBKNU9DQlJMYmYxd2JXc2FZNzFrNWgrM3p2RHlueTY3RzdmeVVJaHprc0xpNHhhTm1qSUNxNDRZM2VrUUVlNStOYXVRcno0d2xIclFNejJuWlEvMS9JNmVZczlIUkN3Qlhic2R0VExTUjlJNEx0RCtnZHd5YWg2MTdqelYvT2VCSFJuREpFTHFZem1wIiwiTUlJRHVqQ0NBcUtnQXdJQkFnSUxCQUFBQUFBQkQ0WW01ZzB3RFFZSktvWklodmNOQVFFRkJRQXdUREVnTUI0R0ExVUVDeE1YUjJ4dlltRnNVMmxuYmlCU2IyOTBJRU5CSUMwZ1VqSXhFekFSQmdOVkJBb1RDa2RzYjJKaGJGTnBaMjR4RXpBUkJnTlZCQU1UQ2tkc2IySmhiRk5wWjI0d0hoY05NRFl4TWpFMU1EZ3dNREF3V2hjTk1qRXhNakUxTURnd01EQXdXakJNTVNBd0hnWURWUVFMRXhkSGJHOWlZV3hUYVdkdUlGSnZiM1FnUTBFZ0xTQlNNakVUTUJFR0ExVUVDaE1LUjJ4dlltRnNVMmxuYmpFVE1CRUdBMVVFQXhNS1IyeHZZbUZzVTJsbmJqQ0NBU0l3RFFZSktvWklodmNOQVFFQkJRQURnZ0VQQURDQ0FRb0NnZ0VCQUtiUEpBNitMbThvbVVWQ3hLcytJVlNiQzlOL2hIRDZFclBMdjRkZnhuK0cwN0l3WE5iOXJmRjczT1g0WUpZSmtoRDEwRlBlKzN0K2M0aXNVb2g3U3FiS1NhWmVxS2VNV2hHOGVvTHJ2b3pwczZ5V0pRZVhTcGtxQnkrMEhuZS9pZysxQW53YmxyakZ1VG9zdk5ZU3VldFpmZUxRQm9aZlhrbHF0VGxlaURUc3ZIZ01DSmlFYktqTlM3U2dmUXg1VGZDNExjc2h5dFZzVzMzaG9DbUVvZm5UbEVuTEpHS1JJTHpkQzlYWnpQbnFKd29yYzVIR25SdXN5TXZvNEtEMEw1Q0xUZnV3Tmh2MkdYcUY0RzN5WVJPSVhKL2drd3BSbDRwYXpxK3IxZmVxQ2FwZ3ZkelpYOTl5cVdBVFhnQUJ5VXI2UDZUcUJ3TWhBbzZDeWdQQ200OENBd0VBQWFPQm5EQ0JtVEFPQmdOVkhROEJBZjhFQkFNQ0FRWXdEd1lEVlIwVEFRSC9CQVV3QXdFQi96QWRCZ05WSFE0RUZnUVVtK0lIVjJjY0hzQnFCdDVadEpvdDM5d1poaTR3TmdZRFZSMGZCQzh3TFRBcm9DbWdKNFlsYUhSMGNEb3ZMMk55YkM1bmJHOWlZV3h6YVdkdUxtNWxkQzl5YjI5MExYSXlMbU55YkRBZkJnTlZIU01FR0RBV2dCU2I0Z2RYWnh3ZXdHb0czbG0wbWkzZjNCbUdMakFOQmdrcWhraUc5dzBCQVFVRkFBT0NBUUVBbVlGVGh4eG9sNGFSN09CS3VFUUxxNEdzSjAvV3diZ2NRM2l6REpyODZpdzhibUViVFVzcDlaOEZIU2JCdU9tREFHSkZ0cWtJazdtcE0wc1ltc0w0aDRoTzI5MXhOQnJCVk5wR1ArRFRLcXR0VkNMMU9tTE5JRys2S1luWDNaSHUwMXlpUHFGYlFmWGY1V1JETGVuVk9hdlNvdCszaTlEQWdCa2NSY0F0ak9qNExhUjBWa25GQmJWUEZkNXVSSGc1aDZoK3UvTjVHSkc3OUcrZHdmQ01OWXhkQWZ2RGJibnZSRzE1UmpGK0N2NnBnc0gvNzZ0dUlNUlF5VitkVFpzWGpBemxBY21nUVdwelUvcWxVTFJ1SlEvN1RCajAvVkxaam1teDZCRVAzb2pZK3gxSjk2cmVsYzhnZU1KZ0V0c2xRSXhxL0g1Q09FQmtFdmVlZ2VHVExnPT0iLCJNSUlDRERDQ0FaR2dBd0lCQWdJUWJrZXB4MnlwY3lSQWlROERWZDJOSFRBS0JnZ3Foa2pPUFFRREF6QkhNUXN3Q1FZRFZRUUdFd0pWVXpFaU1DQUdBMVVFQ2hNWlIyOXZaMnhsSUZSeWRYTjBJRk5sY25acFkyVnpJRXhNUXpFVU1CSUdBMVVFQXhNTFIxUlRJRkp2YjNRZ1VqTXdIaGNOTVRZd05qSXlNREF3TURBd1doY05Nell3TmpJeU1EQXdNREF3V2pCSE1Rc3dDUVlEVlFRR0V3SlZVekVpTUNBR0ExVUVDaE1aUjI5dloyeGxJRlJ5ZFhOMElGTmxjblpwWTJWeklFeE1RekVVTUJJR0ExVUVBeE1MUjFSVElGSnZiM1FnVWpNd2RqQVFCZ2NxaGtqT1BRSUJCZ1VyZ1FRQUlnTmlBQVFmVHpPSE15bUtvWVRleThjaFdFR0o2bGFkSzB1RnhoMU1KN3gvSmxGeWIrS2YxcVBLekVVVVJvdXQ3MzZHak95eGZpLy9xWEdkR0lSRkJFRlZiaXZxSm4rN2tBSGpTeG02NUZTV1JRbXgxV3lSUksyRUU0NmFqQTJBRERMMjRDZWpRakJBTUE0R0ExVWREd0VCL3dRRUF3SUJCakFQQmdOVkhSTUJBZjhFQlRBREFRSC9NQjBHQTFVZERnUVdCQlRCOFNhNm9DMnVoWUhQMC9FcUVyMjRDbWY5dkRBS0JnZ3Foa2pPUFFRREF3TnBBREJtQWpFQWdGdWtmQ1BBbGFVczNMNkpieU81bzkxbEFGSmVrYXpJblhKMGdsTUxmYWxBdldoZ3hlRzRWRHZCTmhjbDJNRzlBakVBbmpXU2RJVWxVZlVrN0dSU0pGQ2xIOXZveThsMjdPeUNidldGR0ZQb3VPT2FLYXFXMDRNanlhUjdZYlBNQXVoZCIsIk1JSURqakNDQW5hZ0F3SUJBZ0lRQXpyeDVxY1JxYUM3S0dTeEhRbjY1VEFOQmdrcWhraUc5dzBCQVFzRkFEQmhNUXN3Q1FZRFZRUUdFd0pWVXpFVk1CTUdBMVVFQ2hNTVJHbG5hVU5sY25RZ1NXNWpNUmt3RndZRFZRUUxFeEIzZDNjdVpHbG5hV05sY25RdVkyOXRNU0F3SGdZRFZRUURFeGRFYVdkcFEyVnlkQ0JIYkc5aVlXd2dVbTl2ZENCSE1qQWVGdzB4TXpBNE1ERXhNakF3TURCYUZ3MHpPREF4TVRVeE1qQXdNREJhTUdFeEN6QUpCZ05WQkFZVEFsVlRNUlV3RXdZRFZRUUtFd3hFYVdkcFEyVnlkQ0JKYm1NeEdUQVhCZ05WQkFzVEVIZDNkeTVrYVdkcFkyVnlkQzVqYjIweElEQWVCZ05WQkFNVEYwUnBaMmxEWlhKMElFZHNiMkpoYkNCU2IyOTBJRWN5TUlJQklqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FROEFNSUlCQ2dLQ0FRRUF1emZOTk54N2E4bXlhSkN0U25YL1Jyb2hDZ2lOOVJsVXlmdUkyL091OGpxSmtUeDY1cXNHR212UHJDM29YZ2trUkxwaW1uN1dvNmgrNEZSMUlBV3NVTGVjWXhwc01OemFIeG14MXg3ZS9kZmd5NVNETjY3c0gwTk8zWHNzMHIwdXBTL2txYml0T3RTWnBMWWw2WnRyQUdDU1lQOVBJVWtZOTJlUXEyRUduSS95dXVtMDZaSXlhN1h6VitoZEc4Mk1IYXVWQkpWSjh6VXRsdU5KYmQxMzQvdEpTN1NzVlFlcGo1V3p0Q083VEcxRjhQYXBzcFV3dFAxTVZZd25TbGNVZklLZHpYT1MweFpLQmd5TVVOR1BIZ20rRjZIbUljcjlnK1VRdklPbENzUm5LUFp6RkJROVJuYkRoeFNKSVRSTnJ3OUZES1pKb2JxN25NV3hNNE1waFFJREFRQUJvMEl3UURBUEJnTlZIUk1CQWY4RUJUQURBUUgvTUE0R0ExVWREd0VCL3dRRUF3SUJoakFkQmdOVkhRNEVGZ1FVVGlKVUlCaVY1dU51NWcvNitya1M3UVlYanprd0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dFQkFHQm5LSlJ2RGtoajZ6SGQ2bWNZMVlsOVBNV0xTbi9wdnRzckY5K3dYM04zS2pJVE9ZRm5Rb1FqOGtWbk5leUl2L2lQc0dFTU5LU3VJRXlFeHR2NE5lRjIyZCttUXJ2SFJBaUdmelowSkZyYWJBMFVXVFc5OGtuZHRoL0pzdzFIS2oyWkw3dGN1N1hVSU9HWlgxTkdGZHRvbS9Eek1OVStNZUtOaEo3aml0cmFsajQxRTZWZjhQbHdVSEJIUVJGWEdVN0FqNjRHeEpVVEZ5OGJKWjkxOHJHT21hRnZFN0ZCY2Y2SUtzaFBFQ0JWMS9NVVJlWGdSUFRxaDVVeWt3NytVMGI2TEozL2l5SzVTOWtKUmFUZXBMaWFXTjBiZlZLZmpsbERpSUdrbmliVmI2M2REY1kzZmUwRGtodmxkMTkyN2p5TnhGMVdXNkxaWm02ek5UZmxNclk9IiwiTUlJRFREQ0NBalNnQXdJQkFnSUlmRThFT1J6VW1TMHdEUVlKS29aSWh2Y05BUUVGQlFBd1JERUxNQWtHQTFVRUJoTUNWVk14RkRBU0JnTlZCQW9NQzBGbVptbHliVlJ5ZFhOME1SOHdIUVlEVlFRRERCWkJabVpwY20xVWNuVnpkQ0JPWlhSM2IzSnJhVzVuTUI0WERURXdNREV5T1RFME1EZ3lORm9YRFRNd01USXpNVEUwTURneU5Gb3dSREVMTUFrR0ExVUVCaE1DVlZNeEZEQVNCZ05WQkFvTUMwRm1abWx5YlZSeWRYTjBNUjh3SFFZRFZRUUREQlpCWm1acGNtMVVjblZ6ZENCT1pYUjNiM0pyYVc1bk1JSUJJakFOQmdrcWhraUc5dzBCQVFFRkFBT0NBUThBTUlJQkNnS0NBUUVBdElUTU14Y3VhNVJzYTJGU29PdWp6M21VVE9XVWdKbkxWV1JFWlk5blpPSUc0MXczU2ZZdm00U0VIaTN5WUowd1RzeUVoZUlzeng2ZS9qYXJNM2MxUk5nMWxobzlOdWg2RHRqVlI2RnFhWXZaL0xzNnJubGExZlRXY2J1YWtDTnJtcmVJZEljTUhsKzVuaTM2cTFNcjNMdDJQcE5NQ0FpTUhxSWpITlJxclNLNm1RRXViV1hMdmlSbVZTUkxRRVN4RzlmaHdvWEEzaEEvUGUyNC9QSHhJMVBjdjJXWGI5bjVRSEdOZmIyVjFNNitvRjRuSTk3OXB0QW1EZ0FwNnp4RzhEMWd2ejlRMHR3bVFWR2VGRGRDQktOd1Y2Z2JoKzB0K252dWpBcmpxV2FKR2N0QitkMUVObUhQNG5kR3lIMzI5SktCTnYzYk5QRnlmdk1NRnIyMEZRSURBUUFCbzBJd1FEQWRCZ05WSFE0RUZnUVVCeC9TNTV6YXdtNmlRTFN3ZWxBUVVIVEV5TDB3RHdZRFZSMFRBUUgvQkFVd0F3RUIvekFPQmdOVkhROEJBZjhFQkFNQ0FRWXdEUVlKS29aSWh2Y05BUUVGQlFBRGdnRUJBSWxYc2haNnFNTDkxdG1ibXpUQ25MUXlGRTJucE4vc3ZxZSsrRVBia1RmT3RESXVVRlVhTlU1MlEzRWc3NU4zVGhWd0xvZkR3UjF0M011MUo5UXNWdEZTVXpwRTBuUEl4QnNGWlZwaWtwenVRWTB4MitjMDZsa2gxUUY2MTJTNFpEbk55ZTJ2N1VzRFNLZWdtUUdBM0dXak5xNWxXVWhQZ2t2SVpmRlhIZVZaTGdvL2JOalI5ZVVKdEd4VUFBcmdGVTJIZFcyM1dKWmEzVzNTQUtEMG0waSt3emVrdWpiZ2ZJZUZseG9Wb3Q0dW9sdTlyeGo1a0ZETmNGbjRKMmRIeThlZ0J6cDkwU3hkYkJrNlpyVjkvWkZ2Z3JHK0NKUGJGRWZ4b2pmSFJaNDh4M2V2WktpVDMvWnBnNEpnOGtsQ05PMWFBRlNGSEJZMmtneGMrcWF0djlzPSIsIk1JSUVIVENDQXdXZ0F3SUJBZ0lRVG9FdGlvSmw0QXNDN2o0MUFrYmxQVEFOQmdrcWhraUc5dzBCQVFVRkFEQ0JnVEVMTUFrR0ExVUVCaE1DUjBJeEd6QVpCZ05WQkFnVEVrZHlaV0YwWlhJZ1RXRnVZMmhsYzNSbGNqRVFNQTRHQTFVRUJ4TUhVMkZzWm05eVpERWFNQmdHQTFVRUNoTVJRMDlOVDBSUElFTkJJRXhwYldsMFpXUXhKekFsQmdOVkJBTVRIa05QVFU5RVR5QkRaWEowYVdacFkyRjBhVzl1SUVGMWRHaHZjbWwwZVRBZUZ3MHdOakV5TURFd01EQXdNREJhRncweU9URXlNekV5TXpVNU5UbGFNSUdCTVFzd0NRWURWUVFHRXdKSFFqRWJNQmtHQTFVRUNCTVNSM0psWVhSbGNpQk5ZVzVqYUdWemRHVnlNUkF3RGdZRFZRUUhFd2RUWVd4bWIzSmtNUm93R0FZRFZRUUtFeEZEVDAxUFJFOGdRMEVnVEdsdGFYUmxaREVuTUNVR0ExVUVBeE1lUTA5TlQwUlBJRU5sY25ScFptbGpZWFJwYjI0Z1FYVjBhRzl5YVhSNU1JSUJJakFOQmdrcWhraUc5dzBCQVFFRkFBT0NBUThBTUlJQkNnS0NBUUVBMEVDTGkzTGprUnYzVWNFYlZBU1kwNm0vd2VhS1hUdUgrN3VJemczakx6OEdsdkNpS1ZDWnJ0czdvVmV3ZEZGeHplMUNrVTFCL3FuSTJHcUdkMFM3V1dhWFVGNjAxQ3h3Uk0vYU41VkNhVHd3eEhHelV2QWhUYUhZdWpsOEhKNmpKSjN5Z3hhWXFoWjhRNXNWVzdldU5KSCsxR0ltR0VhYVArdkIrZkdRVit1c2VnMkwyM0l3YW1iVjRFYWpjTnhvMmY4RVNJbDMzclhwKzJkdFFlbThPYjB5MldJQzhiR29QVzQzbk9JdjR0T2lKb3ZHdUZWRGlPRWpQcVhTSkRscVI2c0ExS0d6cVNYK0RUK25IYnJUVWNFTHBOcXNPTzlWVUNRRlpVYVRORTh0amEzRzFDRVowbzdLQldGeEIzTkg1WW9aRXIwRVRjNU9uS1ZJckxzbTl3SURBUUFCbzRHT01JR0xNQjBHQTFVZERnUVdCQlFMV09XTHhrd1ZONlJBcVRDcEliNUhObHBXL3pBT0JnTlZIUThCQWY4RUJBTUNBUVl3RHdZRFZSMFRBUUgvQkFVd0F3RUIvekJKQmdOVkhSOEVRakJBTUQ2Z1BLQTZoamhvZEhSd09pOHZZM0pzTG1OdmJXOWtiMk5oTG1OdmJTOURUMDFQUkU5RFpYSjBhV1pwWTJGMGFXOXVRWFYwYUc5eWFYUjVMbU55YkRBTkJna3Foa2lHOXcwQkFRVUZBQU9DQVFFQVBwaWVtL1liNmRjNXQzaXVIWElZU2RPSDVFT0M2ei9KcXZXb3RlOVZmQ0ZTWmZuVkRlRnM5RDZNazNPUkxnTEVUZ2R4YjhDUE9HRUlxQjZCQ3NBdklDOUJpNUhjU0VXODhjYmV1blpyTThnQUxURkdUTzNubmMrSWxQOHp3RmJvSklZbXVOZzRPTjhxYTkwU3pNYy9SeGRNb3NJR2xnblcyLzQvUEVaQjMxamlWZzg4TzhFY2t6WFpPRktzN3Nqc0xqQk9sRFcwSkI5TGVHbmE4Z0k0ekpWU2svQndKVm1jSUdmRTd2bUxWMkgwa25aOVA0U05WYmZvNWF6VjhmVVpWcVphKzVBY3I1UHI1UnpVWjVkZEJBNitDNE9tRjRPNU1CS2d4VE1WQmJrTis4Y0ZkdVBZU28zOE5CZWp4aUVvdmpCRk1SN0hlTDVZWVRpc08rSUJaUT09IiwiTUlJQ1B6Q0NBY1dnQXdJQkFnSVFCVlZXdlBKZXBEVTF3NlFQMWF0RmNqQUtCZ2dxaGtqT1BRUURBekJoTVFzd0NRWURWUVFHRXdKVlV6RVZNQk1HQTFVRUNoTU1SR2xuYVVObGNuUWdTVzVqTVJrd0Z3WURWUVFMRXhCM2QzY3VaR2xuYVdObGNuUXVZMjl0TVNBd0hnWURWUVFERXhkRWFXZHBRMlZ5ZENCSGJHOWlZV3dnVW05dmRDQkhNekFlRncweE16QTRNREV4TWpBd01EQmFGdzB6T0RBeE1UVXhNakF3TURCYU1HRXhDekFKQmdOVkJBWVRBbFZUTVJVd0V3WURWUVFLRXd4RWFXZHBRMlZ5ZENCSmJtTXhHVEFYQmdOVkJBc1RFSGQzZHk1a2FXZHBZMlZ5ZEM1amIyMHhJREFlQmdOVkJBTVRGMFJwWjJsRFpYSjBJRWRzYjJKaGJDQlNiMjkwSUVjek1IWXdFQVlIS29aSXpqMENBUVlGSzRFRUFDSURZZ0FFM2FmWnU0cTRDL3NMZnlIUzhMNitjL016WFJxOE5PcmV4cHU4MEpYMjhNelFDN3BoVzFGR2ZwNHRuKzZPWXd3WDdBZHc5YytFTGtDRG5PZy9RVzA3cmRPa0ZGazJlSjBEUSs0UUUyeHkzcTZJcDZGcnRVUE9aOXdqL3dNY28rSStvMEl3UURBUEJnTlZIUk1CQWY4RUJUQURBUUgvTUE0R0ExVWREd0VCL3dRRUF3SUJoakFkQmdOVkhRNEVGZ1FVczl0SXBQbWh4ZGl1TmtITUVXTnBZaW04UzhZd0NnWUlLb1pJemowRUF3TURhQUF3WlFJeEFLMjg4bXcvRWtyUkxUbkRDZ21YYy9TSU5veUlKN3ZtaUkxUWhhZGorWjR5M21hVEQvSE1zUW1QM1d5cittdC9vQUl3T1daYndtU051SjVRM0tqVlNhTHR4OXpSU1g4WEFiaklobzlPaklncnFKcXBpc1hSQUwzNFZPS2E1VnQ4c3ljWCJdLCJpY29uIjoiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFCQUFBQUFRQ0FZQUFBQWY4LzloQUFBQjdrbEVRVlI0QWFXUFAyc1VRUmlIbjVtZHZleGQvcGxFY3ZsRENpMUUvRU1hYlVXSTlqYUtXUG9WL0E3QlFoQWJHN3Q4Q0NVSUtRUUx1d2hDVUJzTEJTVW1Ha0x1ZG05bjVuV0h6TUFlZ28zUDhPeTlzOHZ2ZmQranpjdFB6MllhK1pkYnU0OG1HMG1hOEVoOC9iRjN5V0dHd1B2VjgxZDcrOS8ybHB5M01ydHk3anN3UFB6OFliMjBsUUoyaWFpbjJ3OW9rMDJhTFVSV3N0eHVpSGdrbm5yRUszR0VSZzlwb1o3czNDVXhsL2R2VmZybnRtUmFnOUJ1SUNKZ3JYZkhuUnZBV3lKYUR4WEIrZXpDV3FYM3Q2ZTZpL3JpL0UxQWtkQm9MaS9jWnJMNXBxZUhiMnl2dTlSSVVLZmlXSDk1SVZtbVY2ZXVjSzEvajhKTUl3Um82ak5jWDc3UDJ2UTZaRVo3T1hyZVNGQTkzcm5EM014NnI3WWZUeFFLR2tONFdQOGVXNytiejRaM2VIRUU5RkZaQUpYdWxpWFZ5VUVmaWY5WkhJTlcrQlE1ZlNjKzNvVGp6dFRaUmt4NExFaHRmaDFhdkJNU0lrQnJBK0p2T0FvaG0xQUZnSkdScGJPb1hTL1gxS1hnSFpFNFgxU3N4cHQxOGlZSW1HSmlSRldXS0NYa0JkaVI0TDBRVUVLYW1JS3hob1FabTZmQWRNRFZqVDdjUXdCRVloM0RTc2w0QSt0clFUd0piVUNzVDVQK0NvZFRadFlEbU5KWWNyRURRU0NoSU1zVnpvVlEya0xGTUNDUUZXNEFvRGJmYlJESTdmSWk1YUFMNDFqdFZOaVFpUFVqbVVCT2dBTUNtNjgzL3NzL1RhVlh0eDRxS01vQUFBQUFTVVZPUks1Q1lJST0iLCJhdXRoZW50aWNhdG9yR2V0SW5mbyI6eyJ2ZXJzaW9ucyI6WyJGSURPXzJfMCJdLCJhYWd1aWQiOiJiOTNmZDk2MWYyZTY0NjJmYjEyMjgyMDAyMjQ3ZGU3OCIsIm9wdGlvbnMiOnsicGxhdCI6dHJ1ZSwicmsiOnRydWUsInV2Ijp0cnVlfSwidHJhbnNwb3J0cyI6WyJpbnRlcm5hbCJdLCJhbGdvcml0aG1zIjpbeyJ0eXBlIjoicHVibGljLWtleSIsImFsZyI6LTd9XX19LCJzdGF0dXNSZXBvcnRzIjpbeyJzdGF0dXMiOiJGSURPX0NFUlRJRklFRCIsImVmZmVjdGl2ZURhdGUiOiIyMDIwLTA4LTA1IiwiY2VydGlmaWNhdGlvbkRlc2NyaXB0b3IiOiJBbmRyb2lkIFNhZmV0eU5ldCBBdXRoZW50aWNhdG9yIiwiY2VydGlmaWNhdGVOdW1iZXIiOiJGSURPMjAwMjAxOTAyMjUwMDEiLCJjZXJ0aWZpY2F0aW9uUG9saWN5VmVyc2lvbiI6IjEuMy42IiwiY2VydGlmaWNhdGlvblJlcXVpcmVtZW50c1ZlcnNpb24iOiIxLjEuMCJ9LHsic3RhdHVzIjoiRklET19DRVJUSUZJRURfTDEiLCJlZmZlY3RpdmVEYXRlIjoiMjAyMC0xMi0xNyIsImNlcnRpZmljYXRpb25EZXNjcmlwdG9yIjoiQW5kcm9pZCBTYWZldHlOZXQgQXV0aGVudGljYXRvciIsImNlcnRpZmljYXRlTnVtYmVyIjoiRklETzIwMDIwMTkwMjI1MDAxIiwiY2VydGlmaWNhdGlvblBvbGljeVZlcnNpb24iOiIxLjMuNiIsImNlcnRpZmljYXRpb25SZXF1aXJlbWVudHNWZXJzaW9uIjoiMS4xLjAifSx7InN0YXR1cyI6IkZJRE9fQ0VSVElGSUVEX0wxIiwiZWZmZWN0aXZlRGF0ZSI6IjIwMjAtMDgtMjAiLCJjZXJ0aWZpY2F0aW9uRGVzY3JpcHRvciI6IkFuZHJvaWQgU2FmZXR5TmV0IEF1dGhlbnRpY2F0b3IiLCJjZXJ0aWZpY2F0ZU51bWJlciI6IkZJRE8yMDAyMDE5MDIyNTAwMSIsImNlcnRpZmljYXRpb25Qb2xpY3lWZXJzaW9uIjoiMS4zLjYiLCJjZXJ0aWZpY2F0aW9uUmVxdWlyZW1lbnRzVmVyc2lvbiI6IjEuMS4wIn1dLCJ0aW1lT2ZMYXN0U3RhdHVzQ2hhbmdlIjoiMjAyMC0xMi0xNyJ9LHsiYWFndWlkIjoiMmZjMDU3OWYtODExMy00N2VhLWIxMTYtYmI1YThkYjkyMDJhIiwibWV0YWRhdGFTdGF0ZW1lbnQiOnsibGVnYWxIZWFkZXIiOiJodHRwczovL2ZpZG9hbGxpYW5jZS5vcmcvbWV0YWRhdGEvbWV0YWRhdGEtc3RhdGVtZW50LWxlZ2FsLWhlYWRlci8iLCJhYWd1aWQiOiIyZmMwNTc5Zi04MTEzLTQ3ZWEtYjExNi1iYjVhOGRiOTIwMmEiLCJkZXNjcmlwdGlvbiI6Ill1YmlLZXkgNSBTZXJpZXMgd2l0aCBORkMiLCJhdXRoZW50aWNhdG9yVmVyc2lvbiI6NTAyMDAsInByb3RvY29sRmFtaWx5IjoiZmlkbzIiLCJzY2hlbWEiOjMsInVwdiI6W3sibWFqb3IiOjEsIm1pbm9yIjowfV0sImF1dGhlbnRpY2F0aW9uQWxnb3JpdGhtcyI6WyJzZWNwMjU2cjFfZWNkc2Ffc2hhMjU2X3JhdyIsImVkMjU1MTlfZWRkc2Ffc2hhNTEyX3JhdyJdLCJwdWJsaWNLZXlBbGdBbmRFbmNvZGluZ3MiOlsiY29zZSJdLCJhdHRlc3RhdGlvblR5cGVzIjpbImJhc2ljX2Z1bGwiXSwidXNlclZlcmlmaWNhdGlvbkRldGFpbHMiOltbeyJ1c2VyVmVyaWZpY2F0aW9uTWV0aG9kIjoicHJlc2VuY2VfaW50ZXJuYWwifSx7InVzZXJWZXJpZmljYXRpb25NZXRob2QiOiJub25lIn0seyJ1c2VyVmVyaWZpY2F0aW9uTWV0aG9kIjoicGFzc2NvZGVfaW50ZXJuYWwiLCJjYURlc2MiOnsiYmFzZSI6NjQsIm1pbkxlbmd0aCI6NCwibWF4UmV0cmllcyI6OCwiYmxvY2tTbG93ZG93biI6MH19XV0sImtleVByb3RlY3Rpb24iOlsiaGFyZHdhcmUiLCJzZWN1cmVfZWxlbWVudCJdLCJtYXRjaGVyUHJvdGVjdGlvbiI6WyJvbl9jaGlwIl0sImNyeXB0b1N0cmVuZ3RoIjoxMjgsImF0dGFjaG1lbnRIaW50IjpbImV4dGVybmFsIiwid2lyZWQiLCJ3aXJlbGVzcyIsIm5mYyJdLCJ0Y0Rpc3BsYXkiOltdLCJhdHRlc3RhdGlvblJvb3RDZXJ0aWZpY2F0ZXMiOlsiTUlJREhqQ0NBZ2FnQXdJQkFnSUVHMEJUOXpBTkJna3Foa2lHOXcwQkFRc0ZBREF1TVN3d0tnWURWUVFERXlOWmRXSnBZMjhnVlRKR0lGSnZiM1FnUTBFZ1UyVnlhV0ZzSURRMU56SXdNRFl6TVRBZ0Z3MHhOREE0TURFd01EQXdNREJhR0E4eU1EVXdNRGt3TkRBd01EQXdNRm93TGpFc01Db0dBMVVFQXhNaldYVmlhV052SUZVeVJpQlNiMjkwSUVOQklGTmxjbWxoYkNBME5UY3lNREEyTXpFd2dnRWlNQTBHQ1NxR1NJYjNEUUVCQVFVQUE0SUJEd0F3Z2dFS0FvSUJBUUMvandZdWhCVmxxYWlZV0VNc3JXRmlzZ0orUHRNOTFlU3JwSTRUSzdVNTNtd0NJYXdTREh5OHZVbWs1TjJLQWo5YWJ2VDlOUDVTTVMxaFFpM3VzeG9ZR29uWFFnZk82Wlh5VUE5YStLQWtxZEZuQm5seXVnU2VDT2VwOEVkWkZmc2FSRnRNamt3ejVHY3oyUHk0dklZdkNkTUhQdHdhejBiVnV6bmV1ZUlFejZUblFqRTYzUmR0Mnpid25lYndURzVaeWJlV1N3Ynp5K0JKMzRaSGNVaFBBWTg5eUpRWHVFMEl6TVpGY0VCYlBOUmJXRUNSS2dqcS8vcVQ5bm1ET0ZWbFNSQ3Qyd2lxUFN6bHV3bit2K3N1UUVCc1VqVEdNRWQyNXRLWFhUa05XMjF3SVdieGVTeVVvVFh3THZHUzZ4bHdRU2dOcGsycVhZd2Y4aVhnN1ZXWkFnTUJBQUdqUWpCQU1CMEdBMVVkRGdRV0JCUWdJdnowYk5HSmhqZ3BUb2tzeUtwUDl4djlvREFQQmdOVkhSTUVDREFHQVFIL0FnRUFNQTRHQTFVZER3RUIvd1FFQXdJQkJqQU5CZ2txaGtpRzl3MEJBUXNGQUFPQ0FRRUFqdmp1T01EU2ErSlhGQ0x5QktzeWNYdEJWWnNKNFVlM0xiYUVzUFk0TVlOL2hJUTVaTTVwN0VqZmNuTUc0Q3RZa05zZk5IYzBBaEJMZHE0NXJuVDg3cS82TzN2VUV0Tk1hZmJoVTZrdGhYN1krOVhGTjlOcG1ZeHIrZWtWWTV4T3hpOGg5SkRJZ29NUDRWQjF1UzBhdW5MMUlHcXJOb29MOW1tRm5MMmtMVlZlZTYvVlI2QzUrS1NUQ01DV3BwTXVKSVpJSTJ2OW80ZGtvWjhZN1FSalFsTGZZemQzcUd0S2J3N3hhRjFVc0cvNXhVYi9CdHdiMlgyZzRJbnBpQi95dC8zQ3BRWHBpV1gvSzRtQnZVS2lHbjA1WnNxZVkxZ3g0ZzB4TEJxY1U5cHNteVB6SytWc2d3MmplUlE1SmxLRHlxRTBoZWJmQzF0dkZ1MENDckpGY3c9PSJdLCJpY29uIjoiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDQUFBQUFmQ0FZQUFBQ0dWcytNQUFBQUFYTlNSMElBcnM0YzZRQUFBQVJuUVUxQkFBQ3hqd3Y4WVFVQUFBQUpjRWhaY3dBQUhZWUFBQjJHQVYyaUU0RUFBQWJOU1VSQlZGaEhwVmQ3VE5WMUZELzNkNTl3ZVFTSWdTOUFRQVhjRkxBUVppOWZwZVZ6MXRZL1dUWnI1V3hwYzdXNWtuTGE1akkzWjg1c3JTMm5NMnNqdFd3WlM3SVVINEg0eENuRVF4NERBWkY3NFY3dXM4ODV2OS9sSW5CdlZKL0I0UHY5bnUvNW51LzVudk01NTZmekEvUXYwSGIvSXJYM1ZGS1BvNDVjbm00aW5VSVdZd0xGUm1aUVV1d2pGRy9OMWlSSGgxRVowTlJWUnVkcXQxQmQrMm5TS3lTL09oeXMwK2xrM2UvM2tROXF2RDRaVXRhNFZWU1V1WTBlaXB5aVRoQWZvY29PUlZnRHV1dzNxS1JpQWQzcmJjRXRqVGpZSW9mNldhSHNDbXpWUFdDTXgrY2doOHRMcVdNS2FNV3NVakxxbzJSdEpJUTBvT3ptZXJwUXU0ZXNaZ3NPTmtHeEg3ZDBrZHZUVDE3czRPTVU3Vkk4WmhqZ0dhTStBcTlpRU51OFBpZjF1ZHowN013dktXZjhHbFZvQ0VZMDRQQzVXZFRhWFlGYlI4dk52TDUrM0tnZmI1eE5NeWE5UmFtSml5bmFNbEdUVnRGbHI2YmE5dStwcW5FWDR1TXVSUmdqU1lFaHJON3V0RkZlNmxxYWw3TmZrdzVpbUFHSHluUHBiazhWbVkweHN0bnB0bEZDVkNZdHpUdUJOODNRcE1MalR0ZXZkUHpTVW5KN2U4bWtqeFozOWZYYktEZmxkWnFidlUrVFVnR25CVkY2ZlEyaVBIZzRXMTZVV1V3dnpiazE2c01aRStQbjBwdno3SlNldUF5ZXM4bGNwQ21hS3VvL3ArcVdyMlVjd0lBSFdydlAwWUV6aFhBdExBYnNzSGhwN2lHYW12eWlqUDhyeXFyWFVXWDlYb293eHlBdWZOQnJwNDNQT0JGWFpsa2Y4TURSaXFjcHlvd0F3cHV6MngrZld2ei9EdGRlOXNtc3p5Z3RjUjZDMXdiZHpCbDZPbHE1V05ZWTRvR2F0aEpNcmtURXgwakFSU0hBVnMrNXJZa1FOWGIrUWdmUExzUTZnWHlJbnNyZVFmbXBtN1JWRllmTDg2bjFmaVVPa1l2U2hrVVB4dmJ1a3pveTZLMWloTTFobzNYelc2RXZTZlhBK2RwaVdHYVdkK2RvWHpMem1Hd0tZRkxDQXNSQWxQQkFoTWxDRlhVN3RCVVZQcjhIZ1ZjSkhXcStGMDBwbHIrRE1UZHJQNHp2eFkxMWtOTWh4VCtTZVRHZytkNFY1TFFKaXR5VUdKTkI4VkZac2pnWUJaTS9JSS9YQ1RrajBxeURPcEYyQVZRMTdDSWpVcC9EblQxVWtMNUY1Z2RqK3NTMXdnMWdFM2dpZ202MGZDWHpTblBYYnlBUGJJWHYrSURwRTE2VGhhSElTOXNreWhsbU1FNUYzY2ZxQUtocTJDMEU1UEgxZ1lhWGFMUERrWkcwSERKT25LV0hwNTFJMHo1U091eDhlMVdBdVp6ZEhRclRrcDhUbWpYb0krbGEwd0dac3p1YnFiTzNpZlE2QS9XN3ZWU1lzVjNtUjBKS3drS2M0V0hpQmttUjhJM0NDZ0k4N29PTDRxelQ1UCtSVUpCZWpFT2dBUEs4aFlQemF0TStlSVRwMklPOXlUUW1lcm9tUFJ4eDFxeEFjc2lsZS91YlNlRWJjV1FHWUVDZ2hjTFkySHlLam9nakgyNWhNcGpwVXYxT3VnbGk0ZWgyZVJ3ME8zMmJKamt5dUNnTnpnMHZ6bFlNU2lTczB1b280TUc3aE1PakNFYVgxeUZFMG5TdmpCenVUbkVwSzg2WjhJb3FGQUl1Ync4a2c5QXJFYVJFV1NaSStqSDRYYnA2ZzlFOUVuSlQzb2FSekROK01VSkJRREhuNTZhOG9VbUVCdXNPeEJzL041K3RKRWJQa0FGRGo4VUd2T3MvSVd2Y1NnbEdCaHZTNy9GVFlmcFdHWWREWThmUEF4V1NBMzVzVEM0cDQrTG00QWFxSW9QZVF0ZnVmSzZKaDBaaHhsYnNVWE9TbVhOaWZENVpUQWt5RG9mYmJjY2x4bkE4V05BcXhDYlJOeWtoWHhRcGFEdzY3ZlhVWWJzaUcwS2h0djJvZUl2aDhyaFFNWU9jRUFxWEcvZUkrem5nT2M1eXhyOHE4MklBTTFjL0ZMRk9wbHF1NWVGUVhyTVp6R2NWQ2pZYkxXRzVJNEJUMWV1UnJsYnh0Tk90TWl0RERFaExYSUl5bkFBdnVPRVdFM1gzTmRBZnQ5NFZnYUc0MlhJUXQwWlg2UGVDRS9xUUZlOXJLNkh4N1lVNTBLdkg3Zlc0ZlMrcTdLS0JKeHNnZ0JYNXBTQUdoMWpJclZoNXpRNnczUmZhYWhCWG0vYUNiQ1pUakNVRlVUeVdacVc5cDYyTWpKUFhWcU9yUGdNTzROdjc0R2tmK293ZnROVkJEUW5qRkpxSFN3MTdwWHZoV1c1S1pxZS9RNDlOL1VTVENBVldvUVhGSUhCSFhYZTNGUHJVRHN1R0RtdEYvaEhLVEhwZWt4aGlBT1BJK1NKcTZTNkhGNEk5WVd6a0JKVG80NmlVTXpXcDhQaXIvUmlkdUx4S1lzU2tzVjh2TGxPUXZoR1gyWWxSME9CaEJqQyt1L2dFY3ZZMEFwSzdZazQxTnhqUFNRbldGSFRGNjZVcmpnZXZCOEN1NWErbDJ2WVNSUHR1VkRvNzNoaGRNU0huVVg3dFRqc1ZaR3hBbC9XcHRpT0lFUTFnbkwyOW1YNi90UjF0bWxrWWo4VzRYK0NTaldjVURHWTFOcFMvQzdoU0txaU1MTS9sMlFtU1daNzNEZHorZ2lvOEJDRU5ZUFE0NnFua3p3WFVicXZCa3hqVVFzV2ZaRmdidW8zckFmK3dON2pPTzkwK3lueDRQaTNMKzBuWUwxU2NoRFVnQVA0Z1BWLzdJZDFxKzFIU2htdUdrSXFXUlBneXhNRnFQOEhmalRualh3WTViUWZiSmN0Nk9JektnTUhvdEYvSGUxZWdzYXhIU3FHNndmZG1RNXg4TnlURkZxQmNwMmlTb3dIUjN5azUrMzZoRjd2WEFBQUFBRWxGVGtTdVFtQ0MiLCJhdXRoZW50aWNhdG9yR2V0SW5mbyI6eyJ2ZXJzaW9ucyI6WyJVMkZfVjIiLCJGSURPXzJfMCIsIkZJRE9fMl8xX1BSRSJdLCJleHRlbnNpb25zIjpbImNyZWRQcm90ZWN0IiwiaG1hYy1zZWNyZXQiXSwiYWFndWlkIjoiMmZjMDU3OWY4MTEzNDdlYWIxMTZiYjVhOGRiOTIwMmEiLCJvcHRpb25zIjp7InBsYXQiOmZhbHNlLCJyayI6dHJ1ZSwiY2xpZW50UGluIjpmYWxzZSwidXAiOnRydWUsImNyZWRlbnRpYWxNZ210UHJldmlldyI6dHJ1ZX0sIm1heE1zZ1NpemUiOjEyMDAsInBpblV2QXV0aFByb3RvY29scyI6WzIsMV0sIm1heENyZWRlbnRpYWxDb3VudEluTGlzdCI6OCwibWF4Q3JlZGVudGlhbElkTGVuZ3RoIjoxMjgsInRyYW5zcG9ydHMiOlsibmZjIiwidXNiIl0sImFsZ29yaXRobXMiOlt7InR5cGUiOiJwdWJsaWMta2V5IiwiYWxnIjotN30seyJ0eXBlIjoicHVibGljLWtleSIsImFsZyI6LTh9XSwibWluUElOTGVuZ3RoIjo0LCJmaXJtd2FyZVZlcnNpb24iOjMyODcwNn19LCJzdGF0dXNSZXBvcnRzIjpbeyJzdGF0dXMiOiJGSURPX0NFUlRJRklFRF9MMSIsImVmZmVjdGl2ZURhdGUiOiIyMDIwLTA1LTEyIiwiY2VydGlmaWNhdGlvbkRlc2NyaXB0b3IiOiJZdWJpS2V5IDUgTkZDIFNlcmllcyIsImNlcnRpZmljYXRlTnVtYmVyIjoiRklETzIwMDIwMTkwODI2MDAyIiwiY2VydGlmaWNhdGlvblBvbGljeVZlcnNpb24iOiIxLjEuMSIsImNlcnRpZmljYXRpb25SZXF1aXJlbWVudHNWZXJzaW9uIjoiMS4zIn1dLCJ0aW1lT2ZMYXN0U3RhdHVzQ2hhbmdlIjoiMjAyMC0wNS0xMiJ9LHsiYXR0ZXN0YXRpb25DZXJ0aWZpY2F0ZUtleUlkZW50aWZpZXJzIjpbImUwNzc5MjY1MDRjZDc1ZWI0MDVhNDViZTE2MGY3ODMwNDRlM2Y1YTIiXSwibWV0YWRhdGFTdGF0ZW1lbnQiOnsibGVnYWxIZWFkZXIiOiJodHRwczovL2ZpZG9hbGxpYW5jZS5vcmcvbWV0YWRhdGEvbWV0YWRhdGEtc3RhdGVtZW50LWxlZ2FsLWhlYWRlci8iLCJhdHRlc3RhdGlvbkNlcnRpZmljYXRlS2V5SWRlbnRpZmllcnMiOlsiZTA3NzkyNjUwNGNkNzVlYjQwNWE0NWJlMTYwZjc4MzA0NGUzZjVhMiJdLCJkZXNjcmlwdGlvbiI6IkFUS2V5LkhlbGxvIFR5cGVDIiwiYXV0aGVudGljYXRvclZlcnNpb24iOjIsInByb3RvY29sRmFtaWx5IjoidTJmIiwic2NoZW1hIjozLCJ1cHYiOlt7Im1ham9yIjoxLCJtaW5vciI6MH1dLCJhdXRoZW50aWNhdGlvbkFsZ29yaXRobXMiOlsic2VjcDI1NnIxX2VjZHNhX3NoYTI1Nl9yYXciXSwicHVibGljS2V5QWxnQW5kRW5jb2RpbmdzIjpbImVjY194OTYyX3JhdyJdLCJhdHRlc3RhdGlvblR5cGVzIjpbImJhc2ljX2Z1bGwiXSwidXNlclZlcmlmaWNhdGlvbkRldGFpbHMiOltbeyJ1c2VyVmVyaWZpY2F0aW9uTWV0aG9kIjoiZmluZ2VycHJpbnRfaW50ZXJuYWwiLCJiYURlc2MiOnsic2VsZkF0dGVzdGVkRlJSIjowLjAsInNlbGZBdHRlc3RlZEZBUiI6MC4wLCJtYXhUZW1wbGF0ZXMiOjAsIm1heFJldHJpZXMiOjAsImJsb2NrU2xvd2Rvd24iOjB9fV1dLCJrZXlQcm90ZWN0aW9uIjpbImhhcmR3YXJlIiwic2VjdXJlX2VsZW1lbnQiXSwibWF0Y2hlclByb3RlY3Rpb24iOlsib25fY2hpcCJdLCJhdHRhY2htZW50SGludCI6WyJleHRlcm5hbCIsIndpcmVsZXNzIiwiYmx1ZXRvb3RoIl0sInRjRGlzcGxheSI6W10sImF0dGVzdGF0aW9uUm9vdENlcnRpZmljYXRlcyI6WyJNSUlCU1RDQjc2QURBZ0VDQWhEeUZNWHFPZi9uRVllRGdHNXZibWxqTUFvR0NDcUdTTTQ5QkFNQ01DZ3hKakFrQmdOVkJBTVRIVVZuYVhOVVpXTWdSbWx1WjJWeWNISnBiblFnVlRKR0lGWkVJRU5CTUI0WERURTRNREV5TXpBd01EQXdNRm9YRFRJek1ERXlNekExTlRrMU9Wb3dKVEVqTUNFR0ExVUVBeE1hUldkcGMxUmxZeUJHYVc1blpYSndjbWx1ZENCVk1rWWdWa1F3V1RBVEJnY3Foa2pPUFFJQkJnZ3Foa2pPUFFNQkJ3TkNBQVNqNi9FOUM0Y1RGc0VIdk9KR0VWdmtEZ0hSd0pXUXI0dUN0VmNiS3NGVUttOWx1TDZhUlI1MkZSR1RJZHpialVNazFpZUR5Ukh1N0tLV1JORjE0TStOTUFvR0NDcUdTTTQ5QkFNQ0Ewa0FNRVlDSVFDUWhqb2xxWnZlQURiMHc3dmRzOCsxcEZ5M1dCVWlKc0RMdmtXRDZ1UC9xUUloQUtLSHU0TGFpWkRxdFJUcTkvYUZLNEw0b1NwYVFWRzdoenZaY1ZQMllXeUoiXSwiaWNvbiI6ImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBTWdBQUFCcUNBWUFBQUQ1akI1N0FBQUFBWE5TUjBJQXJzNGM2UUFBQUFSblFVMUJBQUN4and2OFlRVUFBQUFKY0VoWmN3QUFEc0lBQUE3Q0FSVW9Tb0FBQUJ6WlNVUkJWSGhlN1owSFlGUkZHc2YvNmIwSFFraWpTSkVpZ2hwQWxONmJJQkE2eWlrSW5BVVZEanp1UEUrOXBsaG9LaXJxSVVWQUZGQzZpQ2pGQStsSWs2YVVRSUJBRXRLem0vdStlZTlsYTVMZHpTYlpsZm5wc0p2WnQ3UHo1czEvdnZubXpjenpLQ1lna1VpczRxbStTaVFTSzBpQlNDUmxJQVVpa1pTQkZJaEVVZ1pTSU5XSUhCMXhmVW9keGNvNWZ4NnBxOVpDbjU4UER3OFBOVmJpRExqSVBieThrUGpJS1BoR2hxdXhFbGVrVklGYysyRW45ajgyQVlVWm1lSmlTcHhIc1U0UEx6OC9QTEIxTFlMcTExZGpKYTVJNlYwc05ocHNPV1J3ZnZCVVh5VXVUeGsraUhJUlBUdzg0ZUVwZzFPRHNWZ2tMbzNkVGpyM3lHU3dQMGpjazlKOWtPMjdzUC94aVNqS3lJS0h0K0tEaUVQNWdoY1ZvVml2RjNHU2NpQXI0ZW5ycTc1VkxFYXhUa2R4NUlOOCt6V0M2dFVUY1JMWHhENkJrQ2k4QWdNUjJxUXhmTUxEcFVoc2dVcjMycmJ2UmVNaUJlSisyQ1VRZldFaEF1c2tvY1dzbVFpN3R5V0s4d3RFdk1RS0plNkZCelkxdkFzZ1VXaWpnVklnN29QOUFxbFhGeTNuejBaWTgyWWlUbEkrRzVJYW9iaXdTQXJFRGJIL1RqckxTWGF0YklLTFNyUS9WcHNnaVRzZ3A1cElKR1VnQlNLUmxJSDlQa2hkOGtIZWV4dGhMY2p4TktJb054ZFpQeCtEdnFDQTNOTGI2d1pZTWYzbjRlMk5pUHZ1S1JtcFlrVEJVdkZ1VEdvc2hzYWxEK0orT0UwZzJXZk9ZdStqNDVGM0pRMmVubVNZYmhlTlVPbnB5U2Z6all4RXgxMWIxVWdGS1JEM3gya0N1WFhxRFA0M2FBVHlVbE52djhtTlZPRjlvNlBSNWVoZWszWkJDc1Q5Y1o0UFFqWER3OHVUZ2pjOHFTSjRVcGZqZGdoYzZibDdKVjdWb3BEOGZwQk91a1JTQmxJZ0Vra1p1TFZBMkgwcUswZ2tGY1Z0QlNJRW9OZERuNWRQSVE4Nk5mQjdQYzhSbzgra1NDUVZ4VDBGd2haQ3A0TlBSRGdhL25rcUdyNHdGWTJtVDBHakY2YUk5M2RNL2lOOG9pTEZNWHlzUk9Jb2Jpa1Fydkw2b2lMRXB3eEJnK2VlUW9Qbm4wYURLYy9RSzRlbjBXakduMUQ3NFlmRTZqMXBSU1FWd2YwRVFoV2U3OGNFSlNVaWFkd2phcVFsaVdOR3dDYzhWTFVpYXFSRVlpZHVKeEMyQ0o3ZVhvZ2JPaGdCdFdQVldFdUM2OWREVEk5dVFpRFVJVk5qSlJMN2NDK0JzTzlCWGF1QXVEalVmcWl2R2xrNmRTYzhydmdpOUIySnhCSGNSeUFzRG43UkY2TkdsNDRJYm5pSEVsOEdRUTBiSU83aEFlQjE0WEo1c01RUjNNcUNjSGZKbHl4Qy9JaWhhb3daWmowcG52b1JOMlFnL0dwRUs3NklSR0luYmlNUVVmZkpDc1NuUEl5dzVrMUZuREZwbTdjZ2RkMTY5UzhENFMxYklPcitOc0tDeUJFdGliMjRqMERJaitEN0h2SERocWd4Qm5UNStUZzk2eDJjWDdpRUxJVmxWeXArUkFxOC9QeVZicFlVaWNRTzNFSWczUExyQzRzUTI3OHZRcG8wVm1NTlhQMW1LNjV2MzRYMC8vMkVHM3QrVW1NTlJMVzdIN1VIOWhNaWsvS1EySVByQzRTZGMvSWYvR3BHaTBwdUR0OFRPYjlrR1R4OGZhREx5Y0c1ano2bDc1aGFFWjZHejhQQ1BzRkIwaGVSMklYTEM0UmJmTzRheFhUcmpQQldMWlZJSTY1OTl6M1NkL3hZc2o0amRkVnFYTisxVy8zVVFHVGJaTlRvMmhuNmdrTHBpMGhzeHJVRndoVlpYMHorZ3k5aUJ6NEVUM28xaGljbVhsanhKWFM1dVhRbWRDcnF4dEFYbHF4UWp6REEwMDVpQi9TRFQxaUljUGFsTHlLeEJaY1dDRmRoWFg0ZVlucDJSNDFPN1pWSUl6S1BIa2ZhdW8xaVJWOEpYdDVJMi9RTjBuZGIraUxSSGRvaHVtTjc2bVpKWDBSaUc2NHJFUFk5cUtYM0RncEMwdVBXNTF5ZGZlOUQ2UEx5eFkxQXRoeDgzNE10QlQvMEozWGxhZ3Qvd3pzb0dMVjY5NlN6SmtHeEZaRkl5c0ZsQlNKYWVLcmd0ZnIwUkdpekppTE9tS3ZmL1lDMHpkL0NrNXp6RXJRdGQ4Z3B2N0Q4YytTY09hZjhiVVRjNEFHSWF0dGFPUGZTRjVHVWgyc0toQ3N1Qlg1c1FLMytmZUFkR0tSK29NQ1c0ZkxxcjZETFVYd1A0NzJvaENXaHVLTE1MUHo2MzBWcXJDbHNrY1FPSStydlNDU2w0WklDNFNyTElvaG9rNHlZN2wyVlNDTnU3RCtJeStzMkNVdFJHcDUrZnVUQWY0R2JCdzZxTVFhaTJyVkZ6YTZkeEwwVktROUpXYmlzQmVHNzQ0bVBqaEwzTU15NXZHWXQ4dFBTaEtWZ3VLdGtIQVRzaTl6TXdLVlZYMWxZQ1ord1VNVDA2azdmSjh0ajlwbEVZb3pMQ1VSVWNtcloyWExVNk54QmpUV1F2bnNQTGk1ZExycEk0czU0R1lFZDhVdkx2MFRXMFJQcXR3M0VEdXlQME9aTnlWTEpPVnFTMG5FOUM2SW5nZEIvQ2FPR3dqc2dRSTAwa1B2cmVZUzBhSTZhTEtBdUhjc01OYnQxUVhEakJzaTllRkg5dGdIdndFRDZqZUhRNTVFZkl3VWlLUVhuYlQxNitneDJEeG1Gdk5RcjhPUnVrWkhqYkN2Q2V1aUtFSm1jalB1V0x4VFBFamVGcytwWXV1SmJabmtxdUhFVGU0YU5Kai9sTUR4OWZFeWNmVnNSeFVlV3lqY3FDbDBPbTk3QkZ3VkxuOHV0UjkwWDE3SWdYTm1LUFZDcmYyOHI0bURzcjhDTXFQaFdLcjh2enc0ZVBsU0lVdnkyUkdLR3l3aEVXQTlxaVVPYk5rYjhrSUZxYk9YRHU1K0VObTlHdjAyL0wwVWlNY04xTEFoVlR1cnZJVDVsRUx4RFE5WEl5c2NuTkFTeGZYb3BkOWFsUUNSbXVJUkFOT3NSM0tnaDZqenhtQnBiZFNTT0hZbWcrblVwSDNKRVMyS0tTempwSWd2a3VFWjFiSStFa1VQRisvSmFjKzRTZVFiNm8wYjdCOFN6MjQzaENZN1h0KzFBMGExYkpmZEtTb1h5eWI5MC91TkZ1TDU3anpqZUhtZGQ1RjA2NmI5YlhFY2dGUGp4YmJ6b1NhbFpLaUlaeTdRNEwwRjFFdEYyMHhvRTE2bWp4aXJrcFY3R2pwNFBJZXZvY1RGZHhSTCtQZlV0UTNsbGtZbDVYZlJlQ2tTaVVlMWRMS1dDVVJlTG55Tk9yVGZQdVBVT3BoQkNJU3dFdmhFUllpMjZiMlNFUmZBT0N4VVA2ekhIdzlPTC9CajZycFh2Y0ZvKzlNcHBpOS9nM3dvS29wSWdTOEtXaXlwN0tXMkc1RGFrV2dXaXRiN2U0YUZvOXRhL2NkZXMxOUY4MW1zaTNEVjdwdGlJMmlzd1FBaklhZER2K1ZGcjMzRDZGUHFOTjBwK3I4V3NtYmp6bFJmaEYxdUxoQ0pGSWxHb2RndkNjNjU0NUNweDVEQ3hZMG5DOEJRUjRvY09SbUJjYlJUZXlyYld3Nm9RdkFJeE1DR09mbU9RNGZlR0RVYmRjV01SMDYwTEhVSGlrQUtSRU5VbUVHNmh1Vi9PSTFmMW5weWd4aHJnWjMyY2Vuc2V2ZEVMdjhCcFVEZU83NkNmKytBVEZHV1QrTXlvTzNFOGZLanJ4WU1BVWlTUzZyTWdhdVdMNmQ0WmZ0RlI0cjB4RjVhdFJQYXY1OFVBZ1RNTkNEdmd2TGxEeHNFanVMN3pSelhXUUdCU1BLSTdkU1NmcU5ERWo1ZmNubFRQS0JiOXBMNUlCLy9ZR0NTdldJVGdPK3FySHlnVVptVmhWODhCSWszeEJGa3JhWEZlQXFpYjFQcUxwZFJkU2xCakZmS3ZYTVdQZzRjaisrUXBxNk5ZZk1vOFloYVJmQS9hcmxtcFRIczNJdnZNT2V3YWtJS0N0R3VLUU1zNEYxRjhsVFNLZFpNczNZOTdkaU1yTTRzTW45S1c4VFBaUTBOQzBhSERnL0QzOXhkeHRsQkE1N3ZsMisrUWsyTnFOVG43UmJvaTNOV3NHWm8wdVZPTkJVNmMvQVdYVXkvQnkwdFo3MC8yWGxqVnBrMmFJTXFvUWN2SXpNVDJIN1lqaHl5K1p3VXN2WTU2Q3Z6N3pab2FWbzhlUFhvTVI0NGVoWmZaVUwxT3I4Tjk5OXlMdW5WTlJ5L3RKVGMzajhya1crUlIzclZyek5kTVI5ZW5iZXRrSkNZbVZvOUFSQVZsMzRQNi9TM212S25HR2toZHV4RUhKendsS3BKV3FjeXBpRUM0VnZDTlNVLy9BSExPWDBPdGZyM1ZEMVRvczhOVFhzQ0ZKY3NBNzdJbk1WYW1RSTRlTzRieEV5Ymk3TmxmNFUzNVlBb0xDOUN3WVVNc1c3b0lNVFZyaWpoYldQTFpNa3liL21kVmFOcjVGQ09mcmtPVE81dGczcHhadVBQT1JtbzhNT092TCtLelpTc1F5SU1rQko4bWkreTllWFBRdVhNbkVjZWNKQ0VOR3prYWFXbHBKV0t5SHlVZms1OTVHdFAvTkVXTkF6WnMzSXduSms0U1pheGNBdzdGVkFhRkdEUndJT2JNNXJwVCtyVXBqMisyZkl2SHgwOFFqWTZIaHlKQ0hWMm5nS0JBYk5tNFRnakVWSnBWQVZkT3FpRDhiSSs2azhhcmtRYUtzbk53N3YwRjBOSEZZSCtoVXVEQ3ByUjExSnFlbmI5QVdCTVQ2TE9FVWNQZ0U4bVBUcWpPamVhSzRlWHRTOEdiQk9LbEJub3ZoR1o3eFZpNGVERmVmdVVmUWh6aSsycGFuQWEzd3ZQZm5Xc2lEaVl2cndDM2J0MUNObDBQSldUVDM5a29vQXBrRE5jcmJ4S0dhUjd0RGNyM3pTMUZ6eDdkMExMVjNmVE9ReHlqSGV0TGpkNk9uVHV4ZDk4QjVVQUh5TW5KeGNKRmk0VzE4UEh4RVdsN2NmbyszdWpmcDQ4UUIxUGxBdUZXbFIrZnh1czFRdSswM0VZMGZkZVB5TmgvVU56ZmNMeHRLQjl1a2JqVnlEenlNMjVZMlNLSU42a0xiZEZjaUxrVUkxc0ZLRGN0dWV2Q2xadURrbS9iYjJZZVBIZ0lNMmUrSlZwb3JnaGFHdHhxK3ZuN1llcVU1OUNnZ2VXakpEeXAyK2xGMThBMFdKdGxZSmxIZTRQMmZXdm5OSGJNR0JRVkZZcjM0amc2bnZOeTQrWk5iUDVtaTRoM0JMYk9lL2Z1RTRMVDhzQzlpdkR3Y0hUdnppT1pDbFV2RUJLSFAzVU42b3ovZ3hwalFFLzkwRk52ekJGRHY1UnJMaEgxazBxQ0xyZ3VPeGZuRml3a0lWZytaS2YrVXhQRjhseXhJWGExaWNSeHVBOC83Yzh6a0o2ZUxpcVZxQVIwSGl3T1Bwc1haN3lBaHdjTVVBNnVFTlFyNEo2QmcwRkpRZnZIbFBZUFBvaTJiZHFRU0F6WFJ4UFNpaFdmaTY2ZEk3dys4MDFra2EvTDVhTEJYYmUyclZ1alMrZk9ha3dWQzBRVUJsVzJHcDNiSTZTeHFVbG4wbmZ1d3MxOSs4VW9VeVZMb3dRUE1xblhkK3pFalo4c3pYVmttMlJoNlZqVVZxNmRTMU5ZVUlpWFhuNFZKMDc4QWo4L1AxTngwT3VvRWNNeGF1UUk5V2pINGZUWU9yR2o2MmpJNVZkeW1BdFZTMkZNZUhnWWVuVHZWcEp2RG53dVhMRXZYa3JGMXEzYjFDTnQ1L1NwMHpodzRJRG8xbW5sd3FHSWVndERVd1lMcTZKUmRRTGhURkFHL0dKcUluNTRpaHBwZ085N25KbnpyaUlNYmlIVVZxSXlFUzBSV2FxQ0d4azQvZlljTmRZQVQzMUplblEwdkVQY2E5TnJyblRQUGo4VjI3ZnZvTk5UdWlWYUplQStkOS9ldlRGaitqVDE2SW9SR2hxQzNyMTdZZENnaC9Id3dBRU9oVUVVQmc5K0dFMnQ3SC9HMTZoZnZ6Nm9YYnUyeUw4eGZuNitXUER4SjhqTXpGSmp5b2ZUK0hUSlV1U1JxSTE5SHJaUWQ5OTFGenAyTk4wSG9jb0V3cWZHbFN3aXVaWEZDQmlUdm1zM2J1NC9SQjZmb3lNaGpzRXk5Q0lyY25YYmRtVCtmRXlKTkNJeStWNUV0VzBqbkhYekMrU3F2UHZlKzlpeTlUdjRCL2lYdEpCTUVYVWgyTitZTVdNNkF0VFJxWW9TV3lzV3I3N3lkOHlaOVJiZWZ1c05od09Qb3ZVajU5Z2FzYlZxb1hPbkRrTGN4bkJMZi9iY09YeXo1UnMxcG54NFJIRGJ0dTlGbzZIQjVjT08vK2pSSTlVWUExVm5RY2hFOG16WnVwT2VnSGVRNmZSMEZzNzV4WitoS0NORFdBN1JzbGNWcWhXaEpnUm41czYzdEJUa3A0Z05KS2lsNUhPZzBsUS9jRTFXclY2RDJYUG5JVGMzUjFRQ3JTeTVoYXhYdno3bXpuNGJ0V0ppUkp5ekVBNTZCUU8zNW1WZDl4SERoeUVvTUxDa3E4WEhjbUMvWWNuUzVhS2Jad3RyMTY4VG9pcHh6Q2t0SHI1dTJmSnVkT3hndVl0T2xRaUVNNkhMTHlEZm94TWk3bTJseGhySVBuTVdWelpzSm4vQWFCdlJxb1phbzJ2ZmIwZkdvY05xaElHSTF2Y2h2RVZ6TWZybXl2TDRZY2QyL1BOZi94SHZ1WFhWS2dEZmhBc0pEcVp1MVovUXVKR2w3K2NPTkdyWVVIUi9qSjExaG4yUkkwZU80TkRoSTJwTTJTeGU4cGtRcEZZMkRLZlpsUnp6T0N1UEZhOThnWEFtU1BVOHY2bU9sVTJvZVJYZmlYLzhSenpLZ0hJdE1sN1Y4Ryt5djFGdzlhclZSeWY0UmtaUzNoOVZMSTFhcUs3R2I3LzlobW5UWnVEeWxTc1dJMVk4dlB2czVNbm8ydFV3Zk9sdWNCZG83S05qeEgwS1BpOE80cnBSdUVFOWo5VmtPYmtoS0l0RjVIdWN2M0JCWEd1dG5uSDUxS2haQXdNSDloZC9tMVBwQXVIcUpPNTdVQitTTjJvejU4YWVmVWpmOFQreFZXaDF3OU5hTHE1Y2hYd1Npamt4dlhzSWYwUlBsbEJyZVZ3Rm5wTHkxNy85SFJjdVhoSVZTWU12UHZmYng0OTdESStNR2FYR3VpK3RXcllVVTJLTWZSR3U2QUgrL3NLdk9ISFNjb05BamN5c1cxaXo1aXY0cUpaVm82Q2dFUDM3OVVXTjZCcHFqQ21WS3hDdVNCUzh5UGVJSHpsVUxINHlodTg5WEZ6MnVaaDdSYmsyeVhoVkkzNmJXaGIyZzA2KzlwWWFhMHFkY1dPVmgvaW81K1VhRkdQNmpMOElwOXhYM2VtZXowVVRSOTgrdlRIbHVjbGtWYXFrTjEycHNHVWNscElpS3JuZXFQeUZzMDRXOUt1dnZsWmpMTm0yYlJzT0hqb2swdERncmhWM3EwYVNmMU1hbFZwcWZBcnM5SWFTNnEwOUFDZnJ4Q2xjL21xOTBuVnhKaFhRbVFkWnNyVDFtNUI1eEhKRUsrS2VsbUpEYlY3OVdOM3k0SDQwODk3N0M3QjIzWHI0cVphRHhjRVdMcDhzWGRzMnJURnR5dk1pL3ZkQ3A4NGRrSlNVQkQzVksyTkw3a3ZkeU9VclZ1THExV3RxakNrcnYvaFNXQXN1SDYyTWVEaThlNCt1cUYvUGRMS3NNWlZ2UVlqNlQwKzBPdW53L0tLbHlGTTNvUll0dU4ydzcyQ1pMbTk0N1VoNld1RVZYRXNYenpvMHg1OWFtMFRlVkVKcmpZMHVVTlhpQVIreUZqeGlOV3YySE9GamFIbm5DeTlHck9yVndac3pYMGRpa2pLbnFMTEl6YzBWTGZPZW4zNFNVemNjQ1QvdDNTdStmOEhLRnJIbXhOU01RYytlUGVpZHdjbG1lRlRxOHBYTCtIcmRXalhHQU05TTN2THRWbkVNbzMyUHU2TkRCZzB1c2J6V3FEeUJVQ1o0Ymt0STB6dmhIUmxPMXVJWGNaK0JBNzlQMjd3VmFSczJ3NHY2ajQ1VVp2b1MrUEVGV2NkUFVEaUp6S09VTm9Xc1l5ZkVvOW1LOHd2Rk1YYkRsWXkrZG1uMTE3aTJiVHZsbGRJMnlyZC9YQng4b3lMcHdPb1JCNWVWbDdjbmpsQitYbjcxVlhFWDJuZzRsN3RXMFZIUmVPbkZ2NksybFZFWlozUHgwaVU4TS9sNVBETDJjWXg5Zkp4ajRiSHhHRFZtTEZaOC9vV2FhdG1NSGpVQ1FVRUI0bHk1c212bjdrbU41YWJOVzVCMjFYVDZ5ZUxGUzhXeGZKeDJMSGMvNzcrL0xab2FUZkczUnVVSmhETkRGNDQzbXo0dzdrbnNIalFDdTRlT1ZzTGdFVGo0NUROa1BhNEt4OWdSMkNJVnBxZmowTlBQaS9SMnAxQzZISWFNeElFSlR5TW5OZFdodEVVaFV0cDVGeTlqLzRTbktOOGpEZmtlTkJ6N3gwMUNFVGw4ZEtUeWhTcUcrOUJYcWR5bVQ1K09HemN5eE14ZTdhSnI1QmZraTNsdFZRRlhQR1dtN3kweDI5ZXhjRXZNaXlvMG4xVmRDanpOdjIrZlBtUXBUWjExdHFTSERoMFdNd2cwamh6NUdXdStXcU1PWGloV2h3UFAzaDJhTXNURUo3RkdwWGF4V0NDOC9qdi8yblhrWDcrT2d1dnBJdkRmUlZuS3doM3ppMnNyL0QyMlVJWHBHWlMya3E1SW0wSmgrazIrY2hWS216cjU1TEJubXVhYkEvVngyYThTS1R1WWZrWGd2TjNNeU1DbDFNdFdMeTViRTY1d2YzdjVaUkxRRFRXMjh1RDhjTXZOZWFsbzBMcEF0akNNS2pjdjNHSkxvSFdaK1B1Wm1abjRlaTM1dFNvclZxN0VqWnNaSW4zdGNuRVhsQmQrZFd4djZSZWJVNmtDWVZnazJqUE1qUU8zMG81V1lBMytQaS9tc2tpYjRweVNObDgwczdSRitweDJCZE4zRkpFdk5XaG9yU0lIanVjSys5dHY1L0h5Sy85RU5qK21ydEl4L0w0alFVbEIrOGMybWpadElsYjk2WTEydk9Gelp5dXk5YnR0T0hQbXJHZ2d2bDYzUVl4eUdjUE8rWmpSb3hFUkVhN0dsRTZsQzBUaWZNd0Z3aTBpZDNVWXJuRDhFVmVVRFpzMll0bXk1U0src3VEZjQ2NE81OEhSd05ORmVKNFlMNlcxRmU0eThmMkxnQUEvY2U2YTBOaUs2SFJGZUh2MkhLeGR2NTY2bzJrbFpjWEhzTVhoS1RlOWhLTmZQcFVnRUZYUm5PSGJJWWh6TGZtbnl1Q0x6UldENXlCMTc5WVZDUW54b3JJeGloWHhGTmJqblhmbjQreFp5NmY5T290QS93QzBhblUzMmxCcjNqcjVQb2RDR3dvOEpKMWd0blM2UEhnYWZFSjhRa25qd1BDNTgvTGs3N1o5ajduejNoTmRLeTFlRTlHd2xNRWtMTnZXOHp0M1RmcmdVY2k3ZkZsMFRXNHJxRlh5cGY1d2w4TjcxQWdGUlRjVlc1TSs2YW5KT0hmMnJMQUlHbnpKbE12bWdiNTllMkhtZi82TjlSczI0cm1wMDhUOUFSYUhWaUc0ZGU3VXNRUGVuUGthSWlONTlNMDJwazU3QVl1WExFVVE3enBKY0Zvc3hnOC9tSThlSkVnTnJwenNwUE9OTzYybGRnVGVFTUxmMzArc1hiR0hCUjk5akZmKzhXOFNnckk2a2RIS2g0TnhXYkQxNElia2cvbnZpcmxkdHVBMEM4S3I3bmdqQnA1VHhXczdicmNncHFDb1pWSFo4TVhtZm5Udm50M3hLam5qTEI3dWJuVHIwdG5FYWVXS3dSc3BjR3Y2enZ6M1JaeXo0UW9ZRWhLQ3NOQlFoTktyb3lFc0xOUnVjVEE4Ulo2bjhITkRZSHplSERSeGFMQ0Z2Yjl0RzV2RndUak5naFJjdjQ0TGk1ZWg0RmEyU2FadUM2Z0l2UUlDY01lelQ2b1JDcUpnNlRObldoQytYQnp1YWRVU0gzMzRBWUtERGMrUVAzZnVIQ1k5K1F4K1BucFVITS9YZ1k5bDBRU0hCT085dVhQUXJ0Mzk2dEZsWTZzRmNRWDRadWxicythVU9oS21WSEhLZjBFaHZ0KzZCWFhySkNrZjJJRFRCQ0t4cERJRXdpMWxmRndjRm42eUFQV3NmSmNuN1QzK3hDUnFMUXZWb1UxRFY2dDU4K2I0NUtNUEVCMWx1VkdmT2U0a2tMTlVQa09HamNLMWExZE51cUlhbkhkZTg5R0ZMT3pISDlwblNlVW9scHZCRnpzZ0lCQWhvV0ZxakNrZE9yUVhkNXE1SlRWdSszaW84L0NSSTJLZCt1K051dFJvUC9oQVcvS0hETVBHR3Z3MyswbmNqWHRzck9WeWkvS1FBbkZMTEN1Q01ZLzk0VkhjZlhjTHNocksxSHkySWh4NDFkNjZkZXZ4OWJwMTZwRy9IL3IwN29Yd2lEQWhCdk95NFdIb2xpMWJvbFVyeThWNjVlR2dRRzR6SDZNaVZJTS9GbGU3Tmw3OHl3dmtuNFNRLzJHWXI4UldoU3ZRNjYrL2lXUEhqNnRIL3o1NHNOMERhTk82ZGNsUXR3YWZPMDhyU1JreUNJRlducnRmSG5ZTGhLOTN0UzZOZFNOWUd0WFZsTFM0cXdYK09Ha0NYUy9EVmo4c0VyRjI0dGRmeGI1UXJrbnBsckVzZUJPODJyR3hKdGFEMy9NQUJjZjM3TkZkamJVUHU1eDBkaTU5SWlKUXExOHZCTVRWRmp0OVNFcUh4Y0dGZStyTjJXTGVHRSs3WVNyaXBMT3oyYkJCQXl4ZXRCQTFhMFNMdU5MZ1RhK24vK1ZGckZxMWl2d1dRK3ZKbDV4Yld0NEhkK0tFSjlSWVUyeDEwcStucCtQTEwxY2pPeWZiNmdpU3JYQitXaWNuaTJGWVJ6aDkrZ3llbVBoSG5EcDlXalFDM0Jnb0RRUHc3RE5QNGFrbko2bEgyb2Q5QWxFUDVRVkQ5Sy80WDFJR3BCQXVNeTgvUC9IS0Y0MnBLb0V3eDQrZlJNcUlFU1NXVytKbUd1ZUI4OEticEVXRWgySCtPL09Rbkh5ZmVyUUJXd1Z5NHVSSkRCOHhHbGZTMGtURmRBVHlxSkNmbDQ5bkovUG0xVlBWV1B1WVAvOER2UGFHWWhXMUFRb2V1VXRNVE1Cbml6OUZYRnljK014ZTdKSzhkb0Y1TjBMdVpubjR5bEJtb0RMaTNlV054VkhWTkc3Y0VOT25UaFg5Y0c1UkdjNExUNU5QVDcrQlYvLzVMMlR3ZGtzT3dwV1JwM2F3Z0IwTzZ2ZTlyQ3grc3dXZXZieDY3Vm9TUkpGSk9mT28xckFoUXh3V0IrT0FEMktZVFNxRDdjRmgyRkNUd0xRZ291eTAzT3lnY3VDMUY4YnBjSXUvNzhBQkxQam9FL0czbzFnN1gwZURJK3pZOVNOK09mbUxhQVMwTkxqTEZoa1pnVDU5elI1dFlTZU9keG9sVllEaVlKc0gzaXBKcStTMndFSjRjdEpFTkd2V1JGUWNRenJGNHRFRnMrZStRMzZLNVJKamQ0Q24zUENNWmU3K2FUNFFueGV2MmUvY3NTUHFKTmwrMTl3YXBRcUUrOG42M0R3VTVlYWdLRWNHWndaZFRxNll2OFdPZTFuNCt2aWhWa3hOSk1USElUNnV0aHJpRUVOeDVzL1NLSS9ZMkZqaHJQS0dCN3pQclpaZVFudzhZbXZGWU9ueUZjTGgxdUMxNXZ6MEtPNSthWUgzd09WK3ZURThTblRyVnBiSmNYWUgvaDBLWE5udFplKysvZGkrYzZkb0JEVHJ3WGtLRFF0RDMzN1d0eksxaDFLZGRGN2JmWHJlZk9oSUlOcm9pOFE1OE14VkQrcDNOM2xwaG5nTVhXa1VVR1hNek1nVXJiNTI4Zmx5OFlOZW9pSWpIUm8xU3VNVmtXdzk2TDNXb1dFbm1aZm9Sa1ZGbGt3WS9HN2JEemgyL0pqd0R4ZytYcThyUXMvdTNaQlV4L0RvTTE2VXRIYjlCdVNROEQzVnB6VFpDNmZOVDNiaWFmUEo5MWtPR0pURm1FZkhVbDYzaTQwWHVJeTRmQXJJbW5TamZIN3c3anlyejlHM2gxSUZ3bzhwMEJYWXR0K3B4REY0c3p4M2JIeTR5ampxTHppVDR5ZE9JR1hvU0dTUkJkTkcwTGpyeU05aFhMSDhNenh3djIwVE04dWlkSUZJSkM0TUMrRnZMNzJDUlV1V21Feks1R0h3MW0yU3NXTHBFdlhJaWlIN1RoSzNKUFZ5S25iczJrbENNYlR2L0o2M0llM1RzNWNhVTNHa1FDUnV5ZWRmZkNtZXNPdkQ5K1JVNjhHVE01czJiNDVldlJ5YlZtSU5LUkNKMjFGSUR2MnlaWitMbTR1TTVoUHg2RlduOWcrSzNSZWRoUlNJeE8zNDc4SlBjZW5TSlpOUlBCWkhqZWhvREI5bStYaS9paUFGSW5FcmVGckp4bzJieFh0dEpFMTByOGc1SC9CUWYwU1RTSnlKRklqRXJkaTArUnZzM2JjUE9yMWUzQi9pd0hmUjR4TVRNTHlNeHhnNGloem1sYmdWL0lEUzdUdDJ3Sk5uSnF1M092UEplanpRcmgyZUdQY0grUG82OTBGTVVpQVNTUm5JTHBaRVVpckEvd0ZBenJnV1duZDBqQUFBQUFCSlJVNUVya0pnZ2c9PSJ9LCJzdGF0dXNSZXBvcnRzIjpbeyJzdGF0dXMiOiJGSURPX0NFUlRJRklFRCIsImVmZmVjdGl2ZURhdGUiOiIyMDE5LTAyLTI2IiwiY2VydGlmaWNhdGlvbkRlc2NyaXB0b3IiOiJBdXRoZW5UcmVuZCBUZWNobm9sb2d5IEluYy4gQVRLZXkuSGVsbG8gVHlwZUMiLCJjZXJ0aWZpY2F0ZU51bWJlciI6IlUyRjEwMDAyMDE4MDIyODAwNCIsImNlcnRpZmljYXRpb25Qb2xpY3lWZXJzaW9uIjoiMS4zLjMiLCJjZXJ0aWZpY2F0aW9uUmVxdWlyZW1lbnRzVmVyc2lvbiI6IjEuMC4wIn1dLCJ0aW1lT2ZMYXN0U3RhdHVzQ2hhbmdlIjoiMjAxOS0wMi0yNiJ9LHsiYWFpZCI6IjRlNGUjNDAwYiIsIm1ldGFkYXRhU3RhdGVtZW50Ijp7ImxlZ2FsSGVhZGVyIjoiaHR0cHM6Ly9maWRvYWxsaWFuY2Uub3JnL21ldGFkYXRhL21ldGFkYXRhLXN0YXRlbWVudC1sZWdhbC1oZWFkZXIvIiwiYWFpZCI6IjRlNGUjNDAwYiIsImRlc2NyaXB0aW9uIjoiVG91Y2ggSUQgb3IgRmFjZSBJRCIsImF1dGhlbnRpY2F0b3JWZXJzaW9uIjoyNTYsInByb3RvY29sRmFtaWx5IjoidWFmIiwic2NoZW1hIjozLCJ1cHYiOlt7Im1ham9yIjoxLCJtaW5vciI6MH0seyJtYWpvciI6MSwibWlub3IiOjF9XSwiYXV0aGVudGljYXRpb25BbGdvcml0aG1zIjpbInNlY3AyNTZyMV9lY2RzYV9zaGEyNTZfcmF3Il0sInB1YmxpY0tleUFsZ0FuZEVuY29kaW5ncyI6WyJlY2NfeDk2Ml9yYXciXSwiYXR0ZXN0YXRpb25UeXBlcyI6WyJiYXNpY19zdXJyb2dhdGUiXSwidXNlclZlcmlmaWNhdGlvbkRldGFpbHMiOltbeyJ1c2VyVmVyaWZpY2F0aW9uTWV0aG9kIjoiZmluZ2VycHJpbnRfaW50ZXJuYWwiLCJiYURlc2MiOnsic2VsZkF0dGVzdGVkRlJSIjowLjAsInNlbGZBdHRlc3RlZEZBUiI6MC4wLCJtYXhUZW1wbGF0ZXMiOjAsIm1heFJldHJpZXMiOjUsImJsb2NrU2xvd2Rvd24iOjB9fV0sW3sidXNlclZlcmlmaWNhdGlvbk1ldGhvZCI6ImZhY2VwcmludF9pbnRlcm5hbCJ9XV0sImtleVByb3RlY3Rpb24iOlsiaGFyZHdhcmUiXSwibWF0Y2hlclByb3RlY3Rpb24iOlsib25fY2hpcCJdLCJhdHRhY2htZW50SGludCI6WyJpbnRlcm5hbCJdLCJ0Y0Rpc3BsYXkiOlsiYW55Il0sInRjRGlzcGxheUNvbnRlbnRUeXBlIjoidGV4dC9wbGFpbiIsImF0dGVzdGF0aW9uUm9vdENlcnRpZmljYXRlcyI6W10sImljb24iOiJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUVnQUFBQklDQVlBQUFCVjdiTkhBQUFBQVhOU1IwSUFyczRjNlFBQUFCeHBSRTlVQUFBQUFnQUFBQUFBQUFBa0FBQUFLQUFBQUNRQUFBQWtBQUFGSmJ1SjJFa0FBQVR4U1VSQlZIZ0I3Sll4YmlOSEVFVUZKMTRZQzVqSkFnc25Ic09PSFBFQUMyaHlCK0lOTktFek1uU211Y0JpZVFQeUJtTGduTHlCZUFQU0oxamVnSDZmNmhxVXk5UGFYZzBKTytBQVg5MWRWVjM5LzUvbVFEZkg0L0htaXJ3SFYzTytjRUd1QmwwTnl2OThTajR0MXh0MHZVSFhHM1RSWDhHZzVqY0RuNTkvckw0REg4QU1iQnhXekZ2d0czZy84SmhoR2tzK1ZMbWExeEpIOUFUSWhHTWhaRjd6MnZOeS9Fdml3OXo5U3NhSXJNRyswSlErODdSMzhwWEhEdE5ZNG1LdXBwUW9va1pnSG94WnMvNEVwdUQyQlNpdk90V2JhYnA5bzlMemMveEw0c1BjTFdDSWtBcHN3V2Nnb2JkOTI0aXJybllZeHpweU12b09MTUJmNEY4MWNZL1dKVWJrYW9adDdtUGpZaElBL2dSM0xuekRXbWJNd0Fyc2dkMk12bEg1RFdoQlp3aHptZlU3K05YMzdwdm54SmZFTDJZUXhOK0REMGFZdVFUSmxDM29NNkkwZG1EL0hGU3U5enViOTQwbFJ1UnFMbUlRNUw4MW9oSUM5UFlsck5TRTBqcmRyRnBuTVg1alo4WXhKNzRrZmhHRGpDQ2taeUJuekk3Y0FrekJMYWhzbjQwcHJtK092bDFQSUdmY2l0d1B0aStPSlVia2FpNWlFR1RIWU5zajZETXhpZTIrSlZITVMydjI2VFpPZ2N5Tlp1bEY5UGJOaVMrSm45MGdTT28vWTVIMUFtVE1BeGg1QTdRR05aaUJGc3pCQnF6U1dyRUpxUHcrelluZGd4MDRCdndVYTB1TXlOV2MxU0NJeXB4SStKRllaYVNaajBBRFpFU3NmV205cDM0SmF1dWxrYlZ1bEY2QTdkMzR2T1k1OFNYeFlac2RFd2krZFNSRlZxUWJWeUl4TFRnQUUvUGFjZTk3TTYvQWsrdGIrM05Mak1qVm5OT2dwU01vYzdydmdlWmc2L0xSbURVNTRjSGhNY1hVNjVpQmpPck1ZUDRwMVczK1Z3WkI2dnRFVEVJa3lKdlRzSTYzUmpVTDBQdGZ0UmVudWZxQktYZ0NmV2JOaVorK2I0dzZUelcxOWNuZGpwTDRXVzRRWkdhSlZKODVVWkNNK2NmSDJvUm9sRENEajl1Y25NeGFnOWgzUzh5YnRMUTlKVWJrYXM1bGtNaUpjR09rTkU4eEV5THphc3RyWkQxS2RTdkdQYkJhUHg2SUs2OStuYkhNYTdBRHNYYWNlbmYxT2ZFbDhjRUdRWENjU0Q2YWVOWWk1NG5IbTFXUlg0WWFYNStieXl6dHE1SUpJK2FMMEVjMVp0SXZxaXN4SWxjemJET0hRMllHOUcydzZ6MW03Z1ZHYzFRdkViN21OZk5XNHZYUTZ5SDAyN1B1Ymx0T2ZFbjhIQWJOalF5anpQSGlvemw2KzlFTTFTekFIVGk5K1dmWkorRlZpaXV2dXJoM1E4eGVUQlB5Ryt0VFlrU3VackJCUmtKRXdUYVE3QVFUbHhndlVJTHZRZmVtbWN2Z0dXZ1RhdXV2a1pqcW8xRTYwMHhhTVBkbnROcVhFMThTSDdaWnA2Y0hZdEdjeHVXV2dmaWppVklOOHduWWh4b3ZWUHVyVkR0aXJ2MCs3MDFhaDl6YkVpTnlOV2N4Q0VMUmdGWmk5SkNiQmNLTDU4enozNTY5WG5pY3oyMHYrNmFoNzBZNVlqTFEzN0ltSjc0a1BzZ2dpTHdCSytDRmRBWVFiMEx1aWJYOUhDUmtHL0xxbzVwMWdoZHFaMmlQOVlqOVR3YVM5L0ZOaVJHNW1xRUdmWVNNRWRmb3pSbUgzSmZNVVg1c044UkdZdmRnRjNwNWt4WWhkK3BCYkozaS82bEJHMGN1bW5Od09kMkVUanh6Q1R3NitMMFY4U1ZRN3puUWVnU2lFVnRub3N5MWZxYzQ2N0hGY3JlakpENzBCa21FaUQwNHNpSjJNSEtNMFJ5Sk56RWF2VGx0eUZsZG8vNnFEZmw1aW5kbXBMelZyN1V1TVNKWE05U2dQeUJRaWFRZTVnM3c1a2hnYzBvKzU1ZXNUYlJHYjA3TSticXVqL2FFSHJYNkUvUDc5eWxXcXpZbnZpUSt5Q0NSc0FjaTgwQmNOMmZpOGw1QU5LY05lL1dUZVFDN0VCK3JIN0crbjFRVmFrOW5xN2JFaUZ6TjN3QUFBUC8vWDlMbFB3QUFCUE5KUkVGVTdWcTdqaU5WRkJ3a0pCQ3N0QjBRRWV5MklHU0R6cGFNRHNuV01jbDJTTENTSFJCc052NEF4RGdpUW5ML3dYUkFQaTN4QVRiOGdQMEgyMzh3VkxWUG1kb3J6NE54MEczSlY2bzU5OVk1NS9wVXpaMVphVFVYdDdlM0YwL0ZCZGEzTC9NQ1dBTzNoZy9rbWVmQ2ZtWTUxcTJBTEhMVlBia3NhblgzbG4xQWtmUlVjVmR0ZkJQYzdLbjYyUGRrYzlpTVlkN1pRQkpCOFRtSDQ4TGVoMDdOb2RETzd0Z2J0K3ZlZndOb3VPNWZITGgzRzF4cVhJNitmRWlEV2h1Y0FxNkEvbVVjRVBHUU9UU0JnaVlBN3lYbVFCVlJCakhtQWVjbThaazBXZnlNM0pBR05USE1CckhrTUZ6WVowQWJPUTNMd1h2ekVQbWQ3cEo4R2IycXZ5L1dVVnZiSFUxd00rTmFja01hOUI3RFhISUlMWnhMSUJYdjVsUUg4cFgxOHlYZFo0NXllWHlXem93WlVDVDl6NFkwNkRNVHhvR2JaRGdPdlFUMGNtaU9DNklaRTkzQmlEUHZtUUtYd0JXd0FieEgrMFhVZTc2L0srbDVQWmhCSnFqR1VPbXJvWkFwYTdpd1o0M0VNZEtjWXBlOS95dnFTbUFGZVArV1hlRDhYcG5tWERtWVFSanV5MlJvQ2FDWVhqeGlEcXlUdW8vTVFXNENVRlJyNEd1c2dFejJZYjhFOUJuNE43ZzNpRFhpMXNITmpDc0dNeWlHMmRnd0ZQNldQQmYySExTelBJWFF2RjQwWWdsc0FRbThLeTZzWnhuMXEvaU0zUHVENDcyNkt4dmFJQTYvQWR3WUR0amFrQnIyaWdLNGtHT2YrTWZFTmVyN1Y3bTc0Yit2eVQxOVRYQzlpVU1iOUZ5allxaTdqT0hMbWxoZG5ZanFEUWFYc3dZeEE5NEFTOERONjVqVFBZcmcrQ3BWVjVJUGJzSDlvQWJGTUQ5aElINkhOYVRISmZpOUtPeFRjL2F2aW5lbEMvVWxRSU4xWjN1Z3ByVjh5VHpPNUFydXgyQlFiUU5LeUEyNGtnTnlZYzlYd2FHVlo2ejY1QzVmNGR4RURlUEVjZ1hPYnRLK2p6WFJvM3Rud2ZXUit6RVlWR0pJRFhpTmZjbkJ0SENlQUozVjdNMEJsd0dwY2JxcllaNzNJUElPOFZ2ZEhUbnZud2RYTW5JTmJoQ0h3UEMvQURuM1dqaVhnQTlQZ1h3SkZXc1FhYzRha1BCRHNXWXRGK3B1ck5aZm1IOUdGYlhQR0xsR1lkQnVsRjVFQVJFTFlHdGlKSHdGcm1BdFltb09qWnNDZVVUMU1KYlJVMkV2ZmtHT0MxeHJmTm1UOW1VMEJtSElmMnhRQ1dIc3hXdG1uR25pMm1xWjc0MnptcG5sRy9JNDU4YTFWcnMxdmhTdk9DYURTaHVVeG13QXZvcE13MkkvQVRwQUJ1N05BY2QrcjJXdXI3Tis5WFVIT09ZK0Y2ODRHb000RUFiOERiZ0NDZzBZUE1XM2dBUXl1amwxNUZ5NDErZHh6NzdmN2hYM043bDBqY29nSHc2Q0M0QS9LdXNRTHlHTUt5Qm5QU0pyUE5lL0luQnVVSVl6b2JvMmV1Zkd2U0tYcnRFWmhJRmZBVnNiWEtJWStXcW1Fb0Y5bGRUTm1RUG5abndJYm1LMVRYRHI0Qlk4SDFxak00aERZdWhVK0FiY0pkQy9qcWlaaFRnYVJ5d2xFUHU1NWVxb3I0MWpieDduYS9VZGlxTTBLQVQ5REFIOGZmVEdCOGM1QXhwQXhxVG1GRW11ako3T2VKb3pCL2lqdWpmZFAwZjcwUnFrQVJVcEpFUzUwTlFjMW13Qm1kZS9EcHdYeGpYWXMrNVBSdDEvVnh5OVFSRHhBdmdkNkFBSlY1eEtHSElVdmJhYVRYQ0ZjZXpqaS9wUmZRL0YwUnRFQVJDVUF6ZUFqT0UrbHpqc2FVSm5lZjR5SjVjQmErTi94ZjRMOVQwbW5vUkJFZ0p4cjRIdmRXYkVlUWJJT0VZM3A0MGN1ZWszTDE1KzRyMlAyWitVUVM0SWdyOEMvZ2dEWk5BR1o3MmN2N0MvQnQ0Q3o3MzMvK3hQMWlDSmhIaitHUDBBZkFkOEd2aGErV1BqWUFZZDg4R24wbnZVLzVXY2lzaGo1andiOU1DZi81d05PaHYwOUQ4UTQ0L20rUVdkWDlCeEwraGZVd1RZeVJDYXJaOEFBQUFBU1VWT1JLNUNZSUk9In0sInN0YXR1c1JlcG9ydHMiOlt7InN0YXR1cyI6Ik5PVF9GSURPX0NFUlRJRklFRCIsImVmZmVjdGl2ZURhdGUiOiIyMDE4LTA1LTE5In1dLCJ0aW1lT2ZMYXN0U3RhdHVzQ2hhbmdlIjoiMjAxOC0wNS0xOSJ9LHsiYWFndWlkIjoiOWRkZDE4MTctYWY1YS00NjcyLWEyYjktM2UzZGQ5NTAwMGE5IiwibWV0YWRhdGFTdGF0ZW1lbnQiOnsibGVnYWxIZWFkZXIiOiJodHRwczovL2ZpZG9hbGxpYW5jZS5vcmcvbWV0YWRhdGEvbWV0YWRhdGEtc3RhdGVtZW50LWxlZ2FsLWhlYWRlci8iLCJhYWd1aWQiOiI5ZGRkMTgxNy1hZjVhLTQ2NzItYTJiOS0zZTNkZDk1MDAwYTkiLCJkZXNjcmlwdGlvbiI6IldpbmRvd3MgSGVsbG8gVkJTIEhhcmR3YXJlIEF1dGhlbnRpY2F0b3IiLCJhdXRoZW50aWNhdG9yVmVyc2lvbiI6MSwicHJvdG9jb2xGYW1pbHkiOiJmaWRvMiIsInNjaGVtYSI6MywidXB2IjpbeyJtYWpvciI6MSwibWlub3IiOjB9XSwiYXV0aGVudGljYXRpb25BbGdvcml0aG1zIjpbInJzYV9lbXNhX3BrY3MxX3NoYTI1Nl9yYXciXSwicHVibGljS2V5QWxnQW5kRW5jb2RpbmdzIjpbImNvc2UiXSwiYXR0ZXN0YXRpb25UeXBlcyI6WyJhdHRjYSJdLCJ1c2VyVmVyaWZpY2F0aW9uRGV0YWlscyI6W1t7InVzZXJWZXJpZmljYXRpb25NZXRob2QiOiJmYWNlcHJpbnRfaW50ZXJuYWwifV0sW3sidXNlclZlcmlmaWNhdGlvbk1ldGhvZCI6InBhc3Njb2RlX2ludGVybmFsIn1dLFt7InVzZXJWZXJpZmljYXRpb25NZXRob2QiOiJmaW5nZXJwcmludF9pbnRlcm5hbCJ9XSxbeyJ1c2VyVmVyaWZpY2F0aW9uTWV0aG9kIjoiZXllcHJpbnRfaW50ZXJuYWwifV1dLCJrZXlQcm90ZWN0aW9uIjpbImhhcmR3YXJlIiwidGVlIl0sImlzS2V5UmVzdHJpY3RlZCI6ZmFsc2UsIm1hdGNoZXJQcm90ZWN0aW9uIjpbInRlZSJdLCJhdHRhY2htZW50SGludCI6WyJpbnRlcm5hbCJdLCJ0Y0Rpc3BsYXkiOltdLCJhdHRlc3RhdGlvblJvb3RDZXJ0aWZpY2F0ZXMiOlsiTUlJRjlUQ0NBOTJnQXdJQkFnSVFYYll3VGd5L0o3OUp1TWhwVUI1ZHl6QU5CZ2txaGtpRzl3MEJBUXNGQURDQmpERUxNQWtHQTFVRUJoTUNWVk14RXpBUkJnTlZCQWdUQ2xkaGMyaHBibWQwYjI0eEVEQU9CZ05WQkFjVEIxSmxaRzF2Ym1ReEhqQWNCZ05WQkFvVEZVMXBZM0p2YzI5bWRDQkRiM0p3YjNKaGRHbHZiakUyTURRR0ExVUVBeE10VFdsamNtOXpiMlowSUZSUVRTQlNiMjkwSUVObGNuUnBabWxqWVhSbElFRjFkR2h2Y21sMGVTQXlNREUwTUI0WERURTBNVEl4TURJeE16RXhPVm9YRFRNNU1USXhNREl4TXpreU9Gb3dnWXd4Q3pBSkJnTlZCQVlUQWxWVE1STXdFUVlEVlFRSUV3cFhZWE5vYVc1bmRHOXVNUkF3RGdZRFZRUUhFd2RTWldSdGIyNWtNUjR3SEFZRFZRUUtFeFZOYVdOeWIzTnZablFnUTI5eWNHOXlZWFJwYjI0eE5qQTBCZ05WQkFNVExVMXBZM0p2YzI5bWRDQlVVRTBnVW05dmRDQkRaWEowYVdacFkyRjBaU0JCZFhSb2IzSnBkSGtnTWpBeE5EQ0NBaUl3RFFZSktvWklodmNOQVFFQkJRQURnZ0lQQURDQ0Fnb0NnZ0lCQUorbitibkt0L0pISVJDL29JL3hna2dzWWRQelAwZ3B2ZHVEQTJHYlJ0dGgrTDRXVXlvWktHQnc3dXo1YmpqUDhBcWw0WUV4eWpSM0VaUTRMcW5aQ2hNcG9Db2ZiZURSNE1qQ0UxVEd3V2doR3BTMG1NM0d0V0Q5WGlNRTRyRTJLMFZXM3BkTjBDTHprWWJ2WmJzMndRVEZmRTYyeU5RaURqeUhGV0FaNEJRSDRlV2E4d3JETVV4SUFuZVVDcFU2ekN3TStsNlFoNG9oWDA2M0JIelhsVFNUYzFmRHNpUGFLdU1NaldqSzl2cDVVSEZQYStkTUFXcjZPbGpRWlBGSWczYVo0Y1VmelM5eStuNzdIczFOWFBCbjZFNERiNjc5ejREVGhJWHlvS2VaVHYxYWFXT1dsL2V4c0RMR3QybVRNVHl5a1ZWOHVEMWVSallyaUZwbW9SRHdKS0FFTU9mYVVSYXJ6cDdoa2E5VE9FbEd5RDJnT1Y0RnNjcjJNeEFZQ3l3TG1PTHpBNFZEU1lMdUtBaFBTcDd5YXdFVDMwQXZZMUhSZk13QnhldFNxV1AyK3laUk5ZSmxIcG9yNVFUdVJEZ3pSK1plaithV3g2cldOWXg0M2tMdGhvemVWSjNRQ3NENWlFSS9PWmxtV241V1lmN084TEIvMUE3c2NyWXY0NEZEOGNrM1oraHhYcGtrbEFzakpNc0haYTltQnFoK1ZSMUFpY1g0dVpHOG0xNng2NVpVMnVVcEJhM3JuOENUTm13MTdaSE9pdVNXSnRTOStQclpWQThsamdmNFFnQTFnNk5QT0VpTEcyZm44R20rcjVBays5dHF2NzJLRGQyRlBCSjdYeDRzdFlqL1dqTlB0RVVoVzRyY0xLM2t0TGZjeTZlYTdSb2N3NXk1QWdNQkFBR2pVVEJQTUFzR0ExVWREd1FFQXdJQmhqQVBCZ05WSFJNQkFmOEVCVEFEQVFIL01CMEdBMVVkRGdRV0JCUjZqQXJPTDBoaUYrS1UwYTVWd1ZMc2NYU2tWakFRQmdrckJnRUVBWUkzRlFFRUF3SUJBREFOQmdrcWhraUc5dzBCQVFzRkFBT0NBZ0VBVzRpb28xK0o5VldDMFVudFNCWGNYUm0xZVBUVmFtdHN4VnkvR3BQNEVtSmQzVWI1M0p6TkJmWWRnZlVMNTFDcHBTM1pZNkJvYWdCK0Rxb0EyR2JTTCs3c0ZHSEJsNWthNkZOZWxyd3NINlZWdzR4Vi84a2xJam1xT3lmYXRQWXN6MHNVZFpldityZWVpR3BLVm9Ycks2QkRuVVUyNy9tZ1B0ZW01WUtXdkhCL3Nvb2ZVckxLelpWM1dmR2R4OXpCcjhWMHhXNnZPM0NLYXFrcVU5eTZFc1F3MzRuN2VKQ2JFVlZROFZkRmQ5aVYxcG1Yd2FCQWZCd2t2aVBUS0VQOUNtK3piRklPTHIzVjNDTDloSmorZ2tUVXVYV2xKSjZ3VlhFRzVpNHJJYkxBVjU5VXJXNExvblArc2VxdldNSllVRnh1L25pRjBSM2ZTR00rTlUxMUR0QlZraFJadDF1MGtGaFpxakR6MWRXeWZUL043SGtlM1dzRHFVRnNCaSs4U0V3OTByV3gyYVVrTHZLbzgzb1U0TXg0bmErMkkzbDlGMmEyVk5HazRLN2wzYTAwZzUxbWlQaXEwRGEwanF3MzBQYUxsdVRNVEdZNStSblpWaDUwSkQ2bmsrRWEzd1JrVThhaVlGbnBJeGZLQlo3MndobVlZYS9lZ2o5SUtlcXBSMHZ1TGViYlUwZkpCZjg4MEsxaldEM1o1U0Z5SlhvMDU3TXYwT1B3NW10dHl0RTU4NVpJeTVKc2FSWGxzT29XR1JYRTNrVVQvTUtSMVVvQWdSNTRjOEJzaCs5RHEyd3FJSzltUm4xNXp2QkRleUhHNitjenVyTG9wemlPVWVXb2t4Wk4xc3lyRWRLbGhGb1BZYXZtNnQrUHpJY3BkeFp3SEErVjNqTEpQZkk9Il0sImljb24iOiJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUVnQUFBQklDQVlBQUFCVjdiTkhBQUFDa1VsRVFWUjQydXlhaTNHRE1BeUdReWVnR3pBQ25hQ01rQkhvQmhraG5TQWowQTJTRGFBVDBFNlFiRUEzY09YVzZYRXBCdG5JbU12OXV0T2xseGpGL3FLSExUZFJTbTBnZG5rQUFnQUNJQUFDSUFBQ0lBQUNJQWdBQVJBQUFSQUFBUkFBQVJCRUFGQ1NKSU5La3BMdVNUdFNaYlF6NzZXMjV6aEtrcEZXUGJ0YXo2UTc1dlB1b2x1dVBtcXhsWksyeWk3NnM5UnpuamxwTjJLN0NyRldhVUFITlMwSFQwQXR3M1lwRFNqeGJkb1B1YXppRzN1azU3OWN2SWRlV3NiUUQ3TDdOQVlvV3BLbUx5OGNodWVPNXJlQjdLS0tyUW5RSmREWW45QUpaSGM1UUJUN2VuSU5ZMmhqeHJxSXRzdkpXU2R4RnhLdVlsT2xXSm1FNnpQUGNzSnVON1dGaUY3bWU1RE9Bd3M0T3laeUc2VE9zci9LUXppRGFKbS9tY3kyVjFWMCtUMEplWHhxcWxyV0M5bUdHeTNPNnd3RmFJMFNkUitFTWc5QUVBQUNJQUJ5cVZpWmIrL3ByZ0ZkTjZxYjMwNmozbFRXczBCSjc2UWp3MGt0TyszYWQ2MFBRaE1yZk05WXdxSzdsVVBlNGorL09SNDBjRGFxSmVKK3hvODBKc1dpaDFXVEJBY2I4eXNLcmIrVGZvd1FLeTN2NTV3YkJrazQ5RkpiUXVzcXI0c25hZEw5aEV0WEMzbk8xRzFIRzZVZnhJajVvRG5KbEhQT1ZWQWVyV0dtdllReHdjNzBoaVRoN0JpZHkzLzNaRkU2aXN4ZjhlcE5oVUNsNG41ZnRZcVdLek1QM0lJcXVhRm5xdVhPMHNaMXluL1JXcTY5U3VLNkdkUFhPUmZTejRIUG5rMWJOWE8wK1VaemU1SHFLSW9kTll3bkhWVmNPVWl2TmNTdHhqNENHRlloV0FXZ1hnbXVGNEp6ZE1objZ3RFVtMURwbUZ5Vlk3SXZRcWVUUmRvZDJ2MkY4bE5uL2djcFcrclVzT2k5bUFtRndsU28zUHc5SlEzcCs4YmhnbkFNa1BNNjEzQnhPQlFxYzJGRUI0U21QUVNBQUFpQUFBaUFBQWlBQUFpQUlBQUVRQUFFUUFBRVFQY28zd0lNQURPWGdGaE9UZ2h1QUFBQUFFbEZUa1N1UW1DQyIsImF1dGhlbnRpY2F0b3JHZXRJbmZvIjp7InZlcnNpb25zIjpbIkZJRE9fMl8wIl0sImFhZ3VpZCI6IjlkZGQxODE3YWY1YTQ2NzJhMmI5M2UzZGQ5NTAwMGE5Iiwib3B0aW9ucyI6eyJwbGF0Ijp0cnVlLCJyayI6dHJ1ZSwidXAiOnRydWV9LCJtYXhDcmVkZW50aWFsQ291bnRJbkxpc3QiOjEwMCwibWF4Q3JlZGVudGlhbElkTGVuZ3RoIjozMiwidHJhbnNwb3J0cyI6WyJpbnRlcm5hbCJdLCJhbGdvcml0aG1zIjpbeyJ0eXBlIjoicHVibGljLWtleSIsImFsZyI6LTI1N31dLCJtaW5QSU5MZW5ndGgiOjQsImZpcm13YXJlVmVyc2lvbiI6MTkwNDJ9fSwic3RhdHVzUmVwb3J0cyI6W3sic3RhdHVzIjoiRklET19DRVJUSUZJRURfTDEiLCJlZmZlY3RpdmVEYXRlIjoiMjAyMC0wOC0wNSIsImNlcnRpZmljYXRpb25EZXNjcmlwdG9yIjoiV2luZG93cyBIZWxsbyBWQlMgSGFyZHdhcmUgQXV0aGVudGljYXRvciIsImNlcnRpZmljYXRlTnVtYmVyIjoiRklETzIwMDIwMTkwNDE4MDAxIiwiY2VydGlmaWNhdGlvblBvbGljeVZlcnNpb24iOiIxLjMuNiIsImNlcnRpZmljYXRpb25SZXF1aXJlbWVudHNWZXJzaW9uIjoiMS4xLjAifV0sInRpbWVPZkxhc3RTdGF0dXNDaGFuZ2UiOiIyMDIwLTA4LTA1In0seyJhYWd1aWQiOiJkODUyMmQ5Zi01NzViLTQ4NjYtODhhOS1iYTk5ZmEwMmYzNWIiLCJtZXRhZGF0YVN0YXRlbWVudCI6eyJsZWdhbEhlYWRlciI6Imh0dHBzOi8vZmlkb2FsbGlhbmNlLm9yZy9tZXRhZGF0YS9tZXRhZGF0YS1zdGF0ZW1lbnQtbGVnYWwtaGVhZGVyLyIsImFhZ3VpZCI6ImQ4NTIyZDlmLTU3NWItNDg2Ni04OGE5LWJhOTlmYTAyZjM1YiIsImRlc2NyaXB0aW9uIjoiWXViaUtleSBCaW8gU2VyaWVzIiwiYXV0aGVudGljYXRvclZlcnNpb24iOjMyODk2NSwicHJvdG9jb2xGYW1pbHkiOiJmaWRvMiIsInNjaGVtYSI6MywidXB2IjpbeyJtYWpvciI6MSwibWlub3IiOjB9LHsibWFqb3IiOjEsIm1pbm9yIjoxfV0sImF1dGhlbnRpY2F0aW9uQWxnb3JpdGhtcyI6WyJzZWNwMjU2cjFfZWNkc2Ffc2hhMjU2X3JhdyIsImVkMjU1MTlfZWRkc2Ffc2hhNTEyX3JhdyJdLCJwdWJsaWNLZXlBbGdBbmRFbmNvZGluZ3MiOlsiY29zZSJdLCJhdHRlc3RhdGlvblR5cGVzIjpbImJhc2ljX2Z1bGwiXSwidXNlclZlcmlmaWNhdGlvbkRldGFpbHMiOltbeyJ1c2VyVmVyaWZpY2F0aW9uTWV0aG9kIjoibm9uZSJ9XSxbeyJ1c2VyVmVyaWZpY2F0aW9uTWV0aG9kIjoicHJlc2VuY2VfaW50ZXJuYWwifSx7InVzZXJWZXJpZmljYXRpb25NZXRob2QiOiJmaW5nZXJwcmludF9pbnRlcm5hbCIsImJhRGVzYyI6eyJzZWxmQXR0ZXN0ZWRGUlIiOjAuMCwic2VsZkF0dGVzdGVkRkFSIjowLjAsIm1heFRlbXBsYXRlcyI6NSwibWF4UmV0cmllcyI6NSwiYmxvY2tTbG93ZG93biI6MH19XSxbeyJ1c2VyVmVyaWZpY2F0aW9uTWV0aG9kIjoicGFzc2NvZGVfZXh0ZXJuYWwiLCJjYURlc2MiOnsiYmFzZSI6NjQsIm1pbkxlbmd0aCI6NCwibWF4UmV0cmllcyI6OCwiYmxvY2tTbG93ZG93biI6MH19LHsidXNlclZlcmlmaWNhdGlvbk1ldGhvZCI6InByZXNlbmNlX2ludGVybmFsIn1dLFt7InVzZXJWZXJpZmljYXRpb25NZXRob2QiOiJwcmVzZW5jZV9pbnRlcm5hbCJ9XSxbeyJ1c2VyVmVyaWZpY2F0aW9uTWV0aG9kIjoicGFzc2NvZGVfZXh0ZXJuYWwiLCJjYURlc2MiOnsiYmFzZSI6NjQsIm1pbkxlbmd0aCI6NCwibWF4UmV0cmllcyI6OCwiYmxvY2tTbG93ZG93biI6MH19XSxbeyJ1c2VyVmVyaWZpY2F0aW9uTWV0aG9kIjoiZmluZ2VycHJpbnRfaW50ZXJuYWwiLCJiYURlc2MiOnsic2VsZkF0dGVzdGVkRlJSIjowLjAsInNlbGZBdHRlc3RlZEZBUiI6MC4wLCJtYXhUZW1wbGF0ZXMiOjUsIm1heFJldHJpZXMiOjUsImJsb2NrU2xvd2Rvd24iOjB9fV1dLCJrZXlQcm90ZWN0aW9uIjpbImhhcmR3YXJlIiwic2VjdXJlX2VsZW1lbnQiXSwibWF0Y2hlclByb3RlY3Rpb24iOlsib25fY2hpcCJdLCJjcnlwdG9TdHJlbmd0aCI6MTI4LCJhdHRhY2htZW50SGludCI6WyJleHRlcm5hbCIsIndpcmVkIl0sInRjRGlzcGxheSI6W10sImF0dGVzdGF0aW9uUm9vdENlcnRpZmljYXRlcyI6WyJNSUlESGpDQ0FnYWdBd0lCQWdJRUcwQlQ5ekFOQmdrcWhraUc5dzBCQVFzRkFEQXVNU3d3S2dZRFZRUURFeU5aZFdKcFkyOGdWVEpHSUZKdmIzUWdRMEVnVTJWeWFXRnNJRFExTnpJd01EWXpNVEFnRncweE5EQTRNREV3TURBd01EQmFHQTh5TURVd01Ea3dOREF3TURBd01Gb3dMakVzTUNvR0ExVUVBeE1qV1hWaWFXTnZJRlV5UmlCU2IyOTBJRU5CSUZObGNtbGhiQ0EwTlRjeU1EQTJNekV3Z2dFaU1BMEdDU3FHU0liM0RRRUJBUVVBQTRJQkR3QXdnZ0VLQW9JQkFRQy9qd1l1aEJWbHFhaVlXRU1zcldGaXNnSitQdE05MWVTcnBJNFRLN1U1M213Q0lhd1NESHk4dlVtazVOMktBajlhYnZUOU5QNVNNUzFoUWkzdXN4b1lHb25YUWdmTzZaWHlVQTlhK0tBa3FkRm5Cbmx5dWdTZUNPZXA4RWRaRmZzYVJGdE1qa3d6NUdjejJQeTR2SVl2Q2RNSFB0d2F6MGJWdXpuZXVlSUV6NlRuUWpFNjNSZHQyemJ3bmVid1RHNVp5YmVXU3dienkrQkozNFpIY1VoUEFZODl5SlFYdUUwSXpNWkZjRUJiUE5SYldFQ1JLZ2pxLy9xVDlubURPRlZsU1JDdDJ3aXFQU3psdXduK3Yrc3VRRUJzVWpUR01FZDI1dEtYWFRrTlcyMXdJV2J4ZVN5VW9UWHdMdkdTNnhsd1FTZ05wazJxWFl3ZjhpWGc3VldaQWdNQkFBR2pRakJBTUIwR0ExVWREZ1FXQkJRZ0l2ejBiTkdKaGpncFRva3N5S3BQOXh2OW9EQVBCZ05WSFJNRUNEQUdBUUgvQWdFQU1BNEdBMVVkRHdFQi93UUVBd0lCQmpBTkJna3Foa2lHOXcwQkFRc0ZBQU9DQVFFQWp2anVPTURTYStKWEZDTHlCS3N5Y1h0QlZac0o0VWUzTGJhRXNQWTRNWU4vaElRNVpNNXA3RWpmY25NRzRDdFlrTnNmTkhjMEFoQkxkcTQ1cm5UODdxLzZPM3ZVRXROTWFmYmhVNmt0aFg3WSs5WEZOOU5wbVl4citla1ZZNXhPeGk4aDlKRElnb01QNFZCMXVTMGF1bkwxSUdxck5vb0w5bW1Gbkwya0xWVmVlNi9WUjZDNStLU1RDTUNXcHBNdUpJWklJMnY5bzRka29aOFk3UVJqUWxMZll6ZDNxR3RLYnc3eGFGMVVzRy81eFViL0J0d2IyWDJnNElucGlCL3l0LzNDcFFYcGlXWC9LNG1CdlVLaUduMDVac3FlWTFneDRnMHhMQnFjVTlwc215UHpLK1ZzZ3cyamVSUTVKbEtEeXFFMGhlYmZDMXR2RnUwQ0NySkZjdz09Il0sImljb24iOiJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNBQUFBQWZDQVlBQUFDR1ZzK01BQUFBQVhOU1IwSUFyczRjNlFBQUFBUm5RVTFCQUFDeGp3djhZUVVBQUFBSmNFaFpjd0FBSFlZQUFCMkdBVjJpRTRFQUFBYk5TVVJCVkZoSHBWZDdUTlYxRkQvM2Q1OXdlUVNJZ1M5QVFBWGNGTEFRWmk5ZnBlVnoxdFkvV1RacjVXeHBjN1c1a25MYTVqSTNaODVzclMybk0yc2p0V3daUzdJVUg0SDR4Q25FUXg0REFaRjc0Vjd1czg4NXY5L2xJbkJ2VkovQjRQdjludS81bnUvNW52TTU1NmZ6QS9RdjBIYi9JclgzVkZLUG80NWNubTRpblVJV1l3TEZSbVpRVXV3akZHL04xaVJIaDFFWjBOUlZSdWRxdDFCZCsyblNLeVMvT2h5czArbGszZS8za1E5cXZENFpVdGE0VlZTVXVZMGVpcHlpVGhBZm9jb09SVmdEdXV3M3FLUmlBZDNyYmNFdGpUallJb2Y2V2FIc0NtelZQV0NNeCtjZ2g4dExxV01LYU1Xc1VqTHFvMlJ0SklRMG9Pem1lcnBRdTRlc1pnc09Oa0d4SDdkMGtkdlRUMTdzNE9NVTdWSThaaGpnR2FNK0FxOWlFTnU4UGlmMXVkejA3TXd2S1dmOEdsVm9DRVkwNFBDNVdkVGFYWUZiUjh2TnZMNSszS2dmYjV4Tk15YTlSYW1KaXluYU1sR1RWdEZscjZiYTl1K3BxbkVYNHVNdVJSZ2pTWUVock43dXRGRmU2bHFhbDdOZmt3NWltQUdIeW5QcGJrOFZtWTB4c3RucHRsRkNWQ1l0elR1Qk44M1FwTUxqVHRldmRQelNVbko3ZThta2p4WjM5ZlhiS0RmbGRacWJ2VStUVWdHbkJWRjZmUTJpUEhnNFcxNlVXVXd2emJrMTZzTVpFK1BuMHB2ejdKU2V1QXllczhsY3BDbWFLdW8vcCtxV3IyVWN3SUFIV3J2UDBZRXpoWEF0TEFic3NIaHA3aUdhbXZ5aWpQOHJ5cXJYVVdYOVhvb3d4eUF1Zk5CcnA0M1BPQkZYWmxrZjhNRFJpcWNweW93QXdwdXoyeCtmV3Z6L0R0ZGU5c21zenlndGNSNkMxd2JkekJsNk9scTVXTllZNG9HYXRoSk1ya1RFeDBqQVJTSEFWcys1cllrUU5YYitRZ2ZQTHNRNmdYeUluc3JlUWZtcG03UlZGWWZMODZuMWZpVU9rWXZTaGtVUHh2YnVrem95NksxaWhNMWhvM1h6VzZFdlNmWEErZHBpV0dhV2QrZG9Yekx6bUd3S1lGTENBc1JBbFBCQWhNbENGWFU3dEJVVlByOEhnVmNKSFdxK0YwMHBscitETVRkclA0enZ4WTExa05NaHhUK1NlVEdnK2Q0VjVMUUppdHlVR0pOQjhWRlpzamdZQlpNL0lJL1hDVGtqMHF5RE9wRjJBVlExN0NJalVwL0RuVDFVa0w1RjVnZGorc1Mxd2cxZ0UzZ2lnbTYwZkNYelNuUFhieUFQYklYditJRHBFMTZUaGFISVM5c2t5aGxtTUU1RjNjZnFBS2hxMkMwRTVQSDFnWWFYYUxQRGtaRzBIREpPbktXSHA1MUkwejVTT3V4OGUxV0F1WnpkSFFyVGtwOFRtalhvSStsYTB3R1pzenVicWJPM2lmUTZBL1c3dlZTWXNWM21SMEpLd2tLYzRXSGlCa21SOEkzQ0NnSTg3b09MNHF6VDVQK1JVSkJlakVPZ0FQSzhoWVB6YXRNK2VJVHAySU85eVRRbWVyb21QUnh4MXF4QWNzaWxlL3ViU2VFYmNXUUdZRUNnaGNMWTJIeUtqb2dqSDI1aE1wanBVdjFPdWdsaTRlaDJlUncwTzMyYkpqa3l1Q2dOemcwdnpsWU1TaVNzMHVvbzRNRzdoTU9qQ0VhWDF5RkUwblN2akJ6dVRuRXBLODZaOElvcUZBSXVidzhrZzlBckVhUkVXU1pJK2pINFhicDZnOUU5RW5KVDNvYVJ6RE4rTVVKQlFESG41NmE4b1VtRUJ1c094QnMvTjUrdEpFYlBrQUZEajhVR3ZPcy9JV3ZjU2dsR0JodlM3L0ZUWWZwV0dZZERZOGZQQXhXU0EzNXNUQzRwNCtMbTRBYXFJb1BlUXRmdWZLNkpoMFpoeGxic1VYT1NtWE5pZkQ1WlRBa3lEb2ZiYmNjbHhuQThXTkFxeENiUk55a2hYeFFwYUR3NjdmWFVZYnNpRzBLaHR2Mm9lSXZoOHJoUU1ZT2NFQXFYRy9lSSt6bmdPYzV5eHI4cTgySUFNMWMvRkxGT3BscXU1ZUZRWHJNWnpHY1ZDalliTFdHNUk0QlQxZXVScmxieHROT3RNaXREREVoTFhJSXluQUF2dU9FV0UzWDNOZEFmdDk0VmdhRzQyWElRdDBaWDZQZUNFL3FRRmU5cks2SHg3WVU1MEt2SDdmVzRmUytxN0tLQkp4c2dnQlg1cFNBR2gxaklyVmg1elE2dzNSZmFhaEJYbS9hQ2JDWlRqQ1VGVVR5V1pxVzlwNjJNakpQWFZxT3JQZ01PNE52NzRHa2Yrb3dmdE5WQkRRbmpGSnFIU3cxN3BYdmhXVzVLWnFlL1E0OU4vVVNUQ0FWV29RWEZJSEJIWFhlM0ZQclVEc3VHRG10Ri9oSEtUSHBla3hoaUFPUEkrU0pxNlM2SEY0STlZV3prQkpUbzQ2aVVNeldwOFBpci9SaWR1THhLWXNTa3NWOHZMbE9RdmhHWDJZbFIwT0JoQmpDK3UvZ0VjdlkwQXBLN1lrNDFOeGpQU1FuV0ZIVEY2NlVyamdldkI4Q3U1YStsMnZZU1JQdHVWRG83M2hoZE1TSG5VWDd0VGpzVlpHeEFsL1dwdGlPSUVRMWduTDI5bVg2L3RSMXRtbGtZajhXNFgrQ1NqV2NVREdZMU5wUy9DN2hTS3FpTUxNL2wyUW1TV1o3M0RkeitnaW84QkNFTllQUTQ2cW5rendYVWJxdkJreGpVUXNXZlpGZ2J1bzNyQWYrd043ak9POTAreW54NFBpM0wrMG5ZTDFTY2hEVWdBUDRnUFYvN0lkMXErMUhTaG11R2tJcVdSUGd5eE1GcVA4SGZqVG5qWHdZNWJRZmJKY3Q2T0l6S2dNSG90Ri9IZTFlZ3NheEhTcUc2d2ZkbVE1eDhOeVRGRnFCY3AyaVNvd0hSM3lrNSszNmhGN3ZYQUFBQUFFbEZUa1N1UW1DQyIsImF1dGhlbnRpY2F0b3JHZXRJbmZvIjp7InZlcnNpb25zIjpbIkZJRE9fMl8wIiwiRklET18yXzFfUFJFIiwiRklET18yXzEiXSwiZXh0ZW5zaW9ucyI6WyJjcmVkUHJvdGVjdCIsImhtYWMtc2VjcmV0IiwibGFyZ2VCbG9iS2V5IiwiY3JlZEJsb2IiLCJtaW5QaW5MZW5ndGgiXSwiYWFndWlkIjoiZDg1MjJkOWY1NzViNDg2Njg4YTliYTk5ZmEwMmYzNWIiLCJvcHRpb25zIjp7InBsYXQiOmZhbHNlLCJyayI6dHJ1ZSwiY2xpZW50UGluIjpmYWxzZSwidXAiOnRydWUsInV2IjpmYWxzZSwicGluVXZBdXRoVG9rZW4iOnRydWUsImxhcmdlQmxvYnMiOnRydWUsImJpb0Vucm9sbCI6ZmFsc2UsInVzZXJWZXJpZmljYXRpb25NZ210UHJldmlldyI6ZmFsc2UsImF1dGhuckNmZyI6dHJ1ZSwiY3JlZE1nbXQiOnRydWUsImNyZWRlbnRpYWxNZ210UHJldmlldyI6dHJ1ZSwic2V0TWluUElOTGVuZ3RoIjp0cnVlLCJtYWtlQ3JlZFV2Tm90UnFkIjpmYWxzZSwiYWx3YXlzVXYiOnRydWV9LCJtYXhNc2dTaXplIjoxMjAwLCJwaW5VdkF1dGhQcm90b2NvbHMiOlsyLDFdLCJtYXhDcmVkZW50aWFsQ291bnRJbkxpc3QiOjgsIm1heENyZWRlbnRpYWxJZExlbmd0aCI6MTI4LCJ0cmFuc3BvcnRzIjpbInVzYiJdLCJhbGdvcml0aG1zIjpbeyJ0eXBlIjoicHVibGljLWtleSIsImFsZyI6LTd9LHsidHlwZSI6InB1YmxpYy1rZXkiLCJhbGciOi04fV0sIm1heFNlcmlhbGl6ZWRMYXJnZUJsb2JBcnJheSI6MTAyNCwibWluUElOTGVuZ3RoIjo0LCJmaXJtd2FyZVZlcnNpb24iOjMyODk2NSwibWF4Q3JlZEJsb2JMZW5ndGgiOjMyLCJtYXhSUElEc0ZvclNldE1pblBJTkxlbmd0aCI6MSwicHJlZmVycmVkUGxhdGZvcm1VdkF0dGVtcHRzIjozLCJ1dk1vZGFsaXR5IjoyLCJyZW1haW5pbmdEaXNjb3ZlcmFibGVDcmVkZW50aWFscyI6MjV9fSwic3RhdHVzUmVwb3J0cyI6W3sic3RhdHVzIjoiRklET19DRVJUSUZJRUQiLCJlZmZlY3RpdmVEYXRlIjoiMjAyMS0wOC0wNiJ9LHsic3RhdHVzIjoiRklET19DRVJUSUZJRURfTDEiLCJlZmZlY3RpdmVEYXRlIjoiMjAyMS0wOC0wNiIsInVybCI6Ind3dy55dWJpY28uY29tIiwiY2VydGlmaWNhdGlvbkRlc2NyaXB0b3IiOiJZdWJpS2V5IEJpbyIsImNlcnRpZmljYXRlTnVtYmVyIjoiRklETzIwMDIwMjEwODA2MDAxIiwiY2VydGlmaWNhdGlvblBvbGljeVZlcnNpb24iOiIxLjMiLCJjZXJ0aWZpY2F0aW9uUmVxdWlyZW1lbnRzVmVyc2lvbiI6IjEuNCJ9XSwidGltZU9mTGFzdFN0YXR1c0NoYW5nZSI6IjIwMjEtMDgtMTAifSx7ImFhZ3VpZCI6IjY5MmRiNTQ5LTdhZTUtNDRkNS1hMWU1LWRkMjBhNDkzYjcyMyIsIm1ldGFkYXRhU3RhdGVtZW50Ijp7ImxlZ2FsSGVhZGVyIjoiaHR0cHM6Ly9maWRvYWxsaWFuY2Uub3JnL21ldGFkYXRhL21ldGFkYXRhLXN0YXRlbWVudC1sZWdhbC1oZWFkZXIvIiwiYWFndWlkIjoiNjkyZGI1NDktN2FlNS00NGQ1LWExZTUtZGQyMGE0OTNiNzIzIiwiZGVzY3JpcHRpb24iOiJISUQgQ3Jlc2NlbmRvIEtleSIsImF1dGhlbnRpY2F0b3JWZXJzaW9uIjoxMCwicHJvdG9jb2xGYW1pbHkiOiJmaWRvMiIsInNjaGVtYSI6MywidXB2IjpbeyJtYWpvciI6MSwibWlub3IiOjB9XSwiYXV0aGVudGljYXRpb25BbGdvcml0aG1zIjpbInNlY3AyNTZyMV9lY2RzYV9zaGEyNTZfcmF3Il0sInB1YmxpY0tleUFsZ0FuZEVuY29kaW5ncyI6WyJjb3NlIl0sImF0dGVzdGF0aW9uVHlwZXMiOlsiYmFzaWNfZnVsbCJdLCJ1c2VyVmVyaWZpY2F0aW9uRGV0YWlscyI6W1t7InVzZXJWZXJpZmljYXRpb25NZXRob2QiOiJwYXNzY29kZV9pbnRlcm5hbCJ9XSxbeyJ1c2VyVmVyaWZpY2F0aW9uTWV0aG9kIjoicHJlc2VuY2VfaW50ZXJuYWwifV1dLCJrZXlQcm90ZWN0aW9uIjpbImhhcmR3YXJlIiwic2VjdXJlX2VsZW1lbnQiXSwibWF0Y2hlclByb3RlY3Rpb24iOlsib25fY2hpcCJdLCJjcnlwdG9TdHJlbmd0aCI6MTI4LCJhdHRhY2htZW50SGludCI6WyJleHRlcm5hbCIsIndpcmVkIiwid2lyZWxlc3MiLCJuZmMiXSwidGNEaXNwbGF5IjpbXSwiYXR0ZXN0YXRpb25Sb290Q2VydGlmaWNhdGVzIjpbIk1JSURDRENDQXErZ0F3SUJBZ0lRUUFGcVVOVEhaOGtCTjh1L2JDayt4REFLQmdncWhrak9QUVFEQWpCck1Rc3dDUVlEVlFRR0V3SlZVekVUTUJFR0ExVUVDaE1LU0VsRUlFZHNiMkpoYkRFaU1DQUdBMVVFQ3hNWlFYVjBhR1Z1ZEdsallYUnZjaUJCZEhSbGMzUmhkR2x2YmpFak1DRUdBMVVFQXhNYVJrbEVUeUJCZEhSbGMzUmhkR2x2YmlCU2IyOTBJRU5CSURFd0hoY05NVGt3TkRJME1Ua3pNVEl6V2hjTk5EUXdOREkzTVRrek1USXpXakJtTVFzd0NRWURWUVFHRXdKVlV6RVRNQkVHQTFVRUNoTUtTRWxFSUVkc2IySmhiREVpTUNBR0ExVUVDeE1aUVhWMGFHVnVkR2xqWVhSdmNpQkJkSFJsYzNSaGRHbHZiakVlTUJ3R0ExVUVBeE1WUmtsRVR5QkJkSFJsYzNSaGRHbHZiaUJEUVNBeU1Ga3dFd1lIS29aSXpqMENBUVlJS29aSXpqMERBUWNEUWdBRTRuSzljdHprNkdFR0ZOUUJjcm5CQm1XVStkQ251SFFBQVJyQjJFeWM4TWJzbGprU0ZoWnRmei9SdzZTdVZJRGs1VmFrRHpyS0JBT0o5djBSdmcvNDA2T0NBVGd3Z2dFME1CSUdBMVVkRXdFQi93UUlNQVlCQWY4Q0FRQXdEZ1lEVlIwUEFRSC9CQVFEQWdHR01JR0VCZ2dyQmdFRkJRY0JBUVI0TUhZd0xnWUlLd1lCQlFVSE1BR0dJbWgwZEhBNkx5OW9hV1F1Wm1sa2J5NXZZM053TG1sa1pXNTBjblZ6ZEM1amIyMHdSQVlJS3dZQkJRVUhNQUtHT0doMGRIQTZMeTkyWVd4cFpHRjBhVzl1TG1sa1pXNTBjblZ6ZEM1amIyMHZjbTl2ZEhNdlNFbEVSa2xFVDFKdmIzUmpZVEV1Y0Rkak1COEdBMVVkSXdRWU1CYUFGQjJtM2l3V1NZSHZXVEhiSmlIQXlLRHArQ1NqTUVjR0ExVWRId1JBTUQ0d1BLQTZvRGlHTm1oMGRIQTZMeTkyWVd4cFpHRjBhVzl1TG1sa1pXNTBjblZ6ZEM1amIyMHZZM0pzTDBoSlJFWkpSRTlTYjI5MFkyRXhMbU55YkRBZEJnTlZIUTRFRmdRVURMQ2J1THNsY2Nsck9aSXo1N0Z1MGltU01ROHdDZ1lJS29aSXpqMEVBd0lEUndBd1JBSWdEQ1c1SXJiakVJL3kzNWxQang5YSsvc0Y0bFBTb1pkQkhnRmdUV0MrOFZJQ0lFcXMyU1B6VUhnSFZoNjVBamwxb0lVbWhoMEMybHlSL1pkazdPM3UxVElLIl0sImljb24iOiJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQVZNQUFBQ3NDQVlBQUFERytFOE1BQUFBSUdOSVVrMEFBSG9sQUFDQWd3QUErZjhBQUlEcEFBQjFNQUFBNm1BQUFEcVlBQUFYYjVKZnhVWUFBQUFKY0VoWmN3QUFEMkFBQUE5Z0FYcDRSWTBBQUF5Z1NVUkJWSGhlN1oxL2JKVGxIY0J2amhqTmNDNE8rZFhlWFZ0VVRNemlQN29ZWFpZNTFJa0tkMWZObkZIajVvaEJtQTdqMk1Sc1pvbG14aGhOSm9ydDI0S2dzaUZzaW03VEFkTVlSRlFFRlRjVnh3L3J3QUVGUkNoUSt1dWVQYy8xcVFQM1ROcyszM3ZldSt2bmszelM0MmdmbnZlOXQ1OCs3NzNYSXdFQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBVUVwa0c2L1hQcG5JUlI4Z0loNXQ0MXI5Y1lhdEJmd1A5UTNuNngyMFRadFAxRGNwUk1UUE5kZVUxNHV1VnQyTXEyMUZCa3h0TWptckxwVnEwUjgzMTFaWDMycnZMbU1LUDIzMGpxbVAzRHNORWZIenpFVzdFeGZPR1dtTDhvV2trOGtmMXFYU1BYWFZxYVhKVWFQT3FLbXFPck11bWZwcmJUTFZuVXFsTHJlZlZrWk1tUDExL1pPbHc3bHpFQkVIb2ptcnpVWlRiVjMrTDNWangwNHdJUjA5ZXZUSjQxS3BLZG9iakNOSGpodzFkdXpZNUxoMGpkS3IxTFB0cDVjQkpxU3NSaEZSMHQ2Z3pyU1ZjWEdNRHFtcVNTWXordll3RTg2YXF0UzF0ZFhwNjgzdHVqRmpValZqazVQMUtyVzk5OVBMZ1Z6VTVkd1ppSWcrbXFCZU9xZk9sdVlvMHVuMGNUcW1YZmFQdzh3SzFkNU82RlA4dDJyVDZWdjB6Uytic1BiZVcrcmtvbytjT3dFUlVjSmNkTURXNWlpcXE2dVBINWVxNlZ0MUZsYW1PcUk3NjFJMTIwOUoxL1JGOWt2bEVkUDZobTg3Tng0UlVkSnN3ejIyT3A5aVlxcFhvNTMyajJabG1qL3BwSk8rcWo5MnA4ZU1PZDNlZjB4NXhEVFh0TSs1NFlpSWt1YWlEbHVkSStrOWhVOG5qdE8zQ3pFMWQ0NFlNV0tNdm4zUTNCNCtldmpKK25iZktyV0U0WFdraUJqS3k1dlBzdVg1bExwVWFtWnRNcjNmM0s2dFRyNVR1Rk5UbDB3K1dwTkszYXovcnFPMk9qM04zbDJpVEk2bU9qY1lFYkVZNXBxZXRmVTVpcnJxMURPMXlkU0JjVldwRyt4ZGlicXE1QXl6T3RYM0w3UjNsVEQxMFhMbkJpTWlGc05jVStIVTNVVnlWUElNSGRXVnA5WFdxVk5yYXZQNjl2S3FFVlduMnI4dWNlcWovYzROUmtRc2hybW9qRjR2T2hDSUtTS0cxSDBScWdJZ3BvZ1lVbUtLaUNnZ01VVkVGSkNZSWlJS1NFd1JFUVVrcG9pSUFoSlRSRVFCaVNraW9vREVGQkZSUUdLS2lDZ2dNVVZFRkpDWUlpSUtTRXdSRVFVa3BvaUlBaEpUUVM5N1dDVXVlRUFsTHB3ZFZ2TnY1aUwzbkFicjl4NTAvMXZGOWlLdGF6NERNYTdId0R6K3J2bjB4NngrL09LWWR6RTAyM0dSUG43TU1YU3AzaWVURzkzYlhHa1NVemx2bnZ1eWlvdmpycHpubk5PZzFBZi91czI3N01oaDJmbkpvZDV2UU5lOCtxUCtKbzZMYWRFcTk1ejY0ZGV1WFdCSHFRdzZ1M3RVVzN1bjJyeGpuMXE5WWFkYXNucXp1cW41WlhYeU5RdFU0dUtIVkNKVGdZRWxwbkthYjZhNHFKU1lmclRuUU5uRzlJYUhYM0xQcVIrZXFDTXpWTml6LzdCYThkWldkZVY5ejZ2RUJMMktyWlN3RWxNNWlhay94SFJvMGRuVm81NWQ5NkVhZitNaXY2ZEpTa0ZpS2ljeDlZZVlEbDNlYnRtanpwdTExTy94ajFOaUtpY3g5WWVZd2h0YmRxbFRwdXFWcXJrbzU5aFhKU3N4bFpPWStrTk13elByc1RYcXpzVnZxTHVXdktFeWR5OVR1WHVXcTE4dWZMMXczNzFMMTZzVjY3Y1ZMaWFGcENlZlY0KysrRStWdUdDMmMzK1ZwTVJVVG1McUR6RU5UMkxDYi9VcXNGRWxNZzMvblpPNUtGUzRUenRKUHg2WHpsRlZVeGFxS1hOV3FvL2JEdHV2TEQ2NzI5clZOMzY2eElUcXFQMVZraEpUT1ltcFA4UTBQSVhYaGpybTVGUkg3WmpKRGVxTzM2KzFYMTE4dW50NjFDMlByTmJINVJHeEwwV0pxWnpFMUI5aUdwNEJ4YlJQSGJaSmR5K3pJNFJoL2d2dkYxYkl6dm1VZ3NSVVRtTHFEekVOejZCaWFzdzBxaC9yMC82UVBQbnFCMzdIUnpFbHBuSVNVMytJYVhnR0hWTmpObEovLzNDUEhTa01UNy9XVXBwQkphWnlFbE4vaUdsNHZHS3FIZitUeFhha2NQenhGYjFDTGJYblVJbXBuTVRVSDJJYUh0K1ltcWk5dDIydkhTMGNQMXZ3cW5zK2NVbE01U1NtL2hEVDhIakhOQmVwODI1LzJvNFdqbncrcjhaUFgreWVVeHdTVXptSnFUL0VORHplTWRWKzVhcEg3R2hoMlhld1EyVCtJaEpUT1ltcFA4UTBQQ0l4bW1STzlUK3hJNGJsbVRVdGhkV3hjMTRoSmFaeUVsTi9pR2w0UkdLYWpkUXQ4MTZ4STRabitGV0N4LzlnSmFaeUVsTi9pR2w0cEU2VHo1eXh4STRZbnZjLzJ0djc2NitPZVFXVG1NcEpUUDBocHVHUml1bm82eCszSThiRGlPc2VkYzRybU1SVVRtTHFEekVOajFSTWgxM1JiRWVNQjNQTXh2cmNLVEdWazVqNlEwekRJeFZUY3hHcXE3dmJqaHFlcnU0ZXVXMFpqTVJVVG1McUR6RU5qMWlBOUhHemRsT3JIVFVlYnAwZjR3djVpYW1jeE5RZllob2VzWmhtR3RYQ2xSdnRxUEd3YmJjK2Z1SjZoMzVpS2ljeDlZZVloa2NzcGpwaXR6MjJ4bzRhRCswZFhTb3hNYWEzNlNPbWNoSlRmNGhwZUNSakd1ZHJUZnVJN2FvK01aVXp6cGgrNTFkL1V1Zk9lbHJFYi83OEtiVWhoamV1TUJEVDhJakZOS2JmMGY4c3R6Mit4ajIvWWt0TTVZd3pwcFVDTVEyUFdFeTE1OXkyMUk0YUg2dmUzZTZjVzlFbHBuSVNVMytJYVhncUxhWmI0N29JUlV6bEpLYitFTlB3VkZwTXQrODkyUHUvcWpybVYxU0pxWnpFMUI5aUdwNUtpK211ZmUwcWxuZmhKNlp5RWxOL2lHbDRLaTJtaGZjNHZjempHQnFzeEZST1l1b1BNUTFQeFozbWY4eHB2aXpFdEN3aHB1R3B0Smp1Mkh1SW1JcENUTXNTWWhxZVNvdnBCenYzbTdBNTUxZFVpYW1jY2NiVXZNSEU2MEt1MmJoVEhXanZzaU9IaFppR3A5Sml1bVQxWnVmY2lpNHhsVFBPbUI1cmZoS2JKOTBsdlBnaDlmckdlTjc5aDVpR1J5eW1KZkliVVBYM0xIZlByOWdTVXpuampDbS9tMjhscGdOR0xLWWw4cnY1c1p6aUc0bXBuTVRVSDJJYUhzbVlUby81dXNIK1E1MjlaMWV1K1JWYllpb25NZldIbUlaSExLYVpSclhvcFUxMjFIaFkzN0tibGFrNHhIVHdFdE5CUVV3YjFZcjEyK3lvOFhEMnpLWHV1WVdRbU1wSlRQMGhwdUVSaStua0J0WDZ5U0U3YW5qYTJ2VXAvaVV4dlRHMGtaaktTVXo5SWFiaGtYek9ORTZlV0xYSlBhOVFFbE01aWFrL3hEUThVakU5OFpyNWRzVHc5UFRrNDNuYnZTTWxwbklTVTMrSWFYaWtZbnJxOUNmc2lPSDV5N3AvbVpnNTV4Vk1ZaW9uTWZXSG1JWkhKS1k2WkpmYytad2RNU3lITzd2MU1SUGpjNlY5RWxNNWlhay94RFE4SWpITk5Lb2xxN2ZZRWNNeXJYR1ZlMDZoSmFaeUVsTi9pR2w0UkdJYTA4V25UZHYzeGZjaS9jOUtUT1VrcHY0UTAvQkl4SFQ4dEVWMnRIQzBkK2pUZTMyc3V1WVRpOFJVVG1McUR6RU5qM2RNOVNuKzNPYzMyTkhDWUs3ZW56WHpTZmQ4NHBLWXlrbE0vU0dtNGZHTjZmQWZ6TE1qaFdQR3ZKZWRjNGxWWWlvbk1mV0htSWJISzZhVEc5VGN2NFZkbGQ2K2NJMEpsM3MrY1VwTTVTU20vaERUOEF3NnB0bEluWC9Ibiswb1liaXBlVlU4L3lWSmZ5U21jaEpUZjRocGVBWVYwMHlET3ZmMlord0l4YWU3SjY5K05QdkYwbHlSOWtsTTVTU20vaERUOFBRN3BpWmsrclRlSEd2M1ByWGVmblh4T2RqZXFjWk5YZVNlVXlsSlRPVWtwdjRRMC9Ba3ZuVi83N3N0ZmRhSkQ2bGhWelNyRTYrZXIwNi9hYkhLM0wxYy9TSHdDL09YdmJtMU1BL1hQaXM1aWFtY3hOUWZZZ3FHZzRjNzFWWDNQMTlZQ2J2MlYwbEtUT1VrcHY0UTA2Rk5SMWUzZW5qWnV5cngzUWVjKzZta0phWnlFbE4vaU9uUXBMMnpTeld0Mk5CN1NsL0tGNWsrVDJJcUp6SDFoNWdPSGZMNXZIcTdaWSthTW1lbFNseWdWNkxsR3RFK2lhbWN4TlFmWWxyWmZOeDJXSzE2YjRlNjBielRVN1pSSlNaNVBOYWxKakdWYzlKdmxxbmxiMjR0WElFTTZjcDMvcTJPL2Y1YzU1d0daYVpSUGZqc1A1ei9Wckg5M2NxTitodk00NkxEeERucXBYZTNPOGN1cGl2ZTJxWXV1ZXM1OTV6NjRRbFh6MWU3OTdlcmx0YTJpdkROTGJ2VjJrMnRoWDN6NnlmV3FvbDNQcWRPTUQvd0w5YW44ZnFIdFdzZmxMM0VGTEVFTktlNDV1VklabFZlN3BydE1GZmh5K2xLdklURUZCRlJRR0tLaUNnZ01VVkVGSkNZSWlJS1NFd1JFUVVrcG9pSUFoSlRSRVFCaVNraW9vREVGQkZSUUdLS2lDZ2dNVVZFRkpDWUlpSUtTRXdSRVFVa3BvaUlBaEpUUkVRQkt6YW11YWpWdWNHSWlNWHhvSzFQaFpGdGFISnNMQ0ppY2N4RnUyeDlLb3dybXNjN054Z1JzUmhtb2wvWStsUWc1amtNMTBZaklrcWFpL0syT2hWS3J1a0Y1NFlqSWtxYWkzYlk2bFF3dWFqYnVmR0lpQkxtdE9mY2Q3d3RUZ1dUaTZZN2R3QWlvb1M1YUptdHpSQ2dQbnJOdVJNUUVYM01ScTIyTWtPSWJPTkc1ODVBUkJ5TXVhWUtmU2xVZjhoRmkvUU95T3VWcW52bklDSitrZWJLZlgzVFdsdVZJVXcyT2sydlVsdUpLaUlPMkZ5ME41RnR1czdXQkFxWXFOWkg2L1RIZlRxc25ZbjZacjJ6RUJHUDBLeENzMUdiYnNTV1JLWmhncTBIQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBRUJwa1VqOEI0QW9tK01iVCszSkFBQUFBRWxGVGtTdVFtQ0MiLCJzdXBwb3J0ZWRFeHRlbnNpb25zIjpbeyJpZCI6ImhtYWMtc2VjcmV0IiwiZmFpbF9pZl91bmtub3duIjpmYWxzZX1dLCJhdXRoZW50aWNhdG9yR2V0SW5mbyI6eyJ2ZXJzaW9ucyI6WyJVMkZfVjIiLCJGSURPXzJfMCJdLCJleHRlbnNpb25zIjpbImhtYWMtc2VjcmV0Il0sImFhZ3VpZCI6IjY5MmRiNTQ5N2FlNTQ0ZDVhMWU1ZGQyMGE0OTNiNzIzIiwib3B0aW9ucyI6eyJyayI6dHJ1ZSwiY2xpZW50UGluIjp0cnVlfSwicGluVXZBdXRoUHJvdG9jb2xzIjpbMV19fSwic3RhdHVzUmVwb3J0cyI6W3sic3RhdHVzIjoiRklET19DRVJUSUZJRURfTDEiLCJlZmZlY3RpdmVEYXRlIjoiMjAxOS0xMC0wOCIsImNlcnRpZmljYXRpb25EZXNjcmlwdG9yIjoiSElEIENyZXNjZW5kbyBLZXkiLCJjZXJ0aWZpY2F0ZU51bWJlciI6IkZJRE8yMDAyMDE5MDgyMTAwMiIsImNlcnRpZmljYXRpb25Qb2xpY3lWZXJzaW9uIjoiMS4zLjYiLCJjZXJ0aWZpY2F0aW9uUmVxdWlyZW1lbnRzVmVyc2lvbiI6IjEuMyJ9LHsic3RhdHVzIjoiTk9UX0ZJRE9fQ0VSVElGSUVEIiwiZWZmZWN0aXZlRGF0ZSI6IjIwMTktMDctMTkifV0sInRpbWVPZkxhc3RTdGF0dXNDaGFuZ2UiOiIyMDE5LTEwLTA4In0seyJhdHRlc3RhdGlvbkNlcnRpZmljYXRlS2V5SWRlbnRpZmllcnMiOlsiMzExMTZhNjQ3MDY5ZDE0OTNmNThmYzViNTRlNTQ0OWUyYTUyZDQzZSJdLCJtZXRhZGF0YVN0YXRlbWVudCI6eyJsZWdhbEhlYWRlciI6Imh0dHBzOi8vZmlkb2FsbGlhbmNlLm9yZy9tZXRhZGF0YS9tZXRhZGF0YS1zdGF0ZW1lbnQtbGVnYWwtaGVhZGVyLyIsImF0dGVzdGF0aW9uQ2VydGlmaWNhdGVLZXlJZGVudGlmaWVycyI6WyIzMTExNmE2NDcwNjlkMTQ5M2Y1OGZjNWI1NGU1NDQ5ZTJhNTJkNDNlIl0sImRlc2NyaXB0aW9uIjoiWXViaWtleSBFZGdlIiwiYXV0aGVudGljYXRvclZlcnNpb24iOjEsInByb3RvY29sRmFtaWx5IjoidTJmIiwic2NoZW1hIjozLCJ1cHYiOlt7Im1ham9yIjoxLCJtaW5vciI6MX1dLCJhdXRoZW50aWNhdGlvbkFsZ29yaXRobXMiOlsic2VjcDI1NnIxX2VjZHNhX3NoYTI1Nl9yYXciXSwicHVibGljS2V5QWxnQW5kRW5jb2RpbmdzIjpbImVjY194OTYyX3JhdyJdLCJhdHRlc3RhdGlvblR5cGVzIjpbImJhc2ljX2Z1bGwiXSwidXNlclZlcmlmaWNhdGlvbkRldGFpbHMiOltbeyJ1c2VyVmVyaWZpY2F0aW9uTWV0aG9kIjoicHJlc2VuY2VfaW50ZXJuYWwifV1dLCJrZXlQcm90ZWN0aW9uIjpbImhhcmR3YXJlIiwic2VjdXJlX2VsZW1lbnQiLCJyZW1vdGVfaGFuZGxlIl0sIm1hdGNoZXJQcm90ZWN0aW9uIjpbIm9uX2NoaXAiXSwiY3J5cHRvU3RyZW5ndGgiOjEyOCwiYXR0YWNobWVudEhpbnQiOlsiZXh0ZXJuYWwiLCJ3aXJlZCJdLCJ0Y0Rpc3BsYXkiOltdLCJhdHRlc3RhdGlvblJvb3RDZXJ0aWZpY2F0ZXMiOlsiTUlJREhqQ0NBZ2FnQXdJQkFnSUVHMEJUOXpBTkJna3Foa2lHOXcwQkFRc0ZBREF1TVN3d0tnWURWUVFERXlOWmRXSnBZMjhnVlRKR0lGSnZiM1FnUTBFZ1UyVnlhV0ZzSURRMU56SXdNRFl6TVRBZ0Z3MHhOREE0TURFd01EQXdNREJhR0E4eU1EVXdNRGt3TkRBd01EQXdNRm93TGpFc01Db0dBMVVFQXhNaldYVmlhV052SUZVeVJpQlNiMjkwSUVOQklGTmxjbWxoYkNBME5UY3lNREEyTXpFd2dnRWlNQTBHQ1NxR1NJYjNEUUVCQVFVQUE0SUJEd0F3Z2dFS0FvSUJBUUMvandZdWhCVmxxYWlZV0VNc3JXRmlzZ0orUHRNOTFlU3JwSTRUSzdVNTNtd0NJYXdTREh5OHZVbWs1TjJLQWo5YWJ2VDlOUDVTTVMxaFFpM3VzeG9ZR29uWFFnZk82Wlh5VUE5YStLQWtxZEZuQm5seXVnU2VDT2VwOEVkWkZmc2FSRnRNamt3ejVHY3oyUHk0dklZdkNkTUhQdHdhejBiVnV6bmV1ZUlFejZUblFqRTYzUmR0Mnpid25lYndURzVaeWJlV1N3Ynp5K0JKMzRaSGNVaFBBWTg5eUpRWHVFMEl6TVpGY0VCYlBOUmJXRUNSS2dqcS8vcVQ5bm1ET0ZWbFNSQ3Qyd2lxUFN6bHV3bit2K3N1UUVCc1VqVEdNRWQyNXRLWFhUa05XMjF3SVdieGVTeVVvVFh3THZHUzZ4bHdRU2dOcGsycVhZd2Y4aVhnN1ZXWkFnTUJBQUdqUWpCQU1CMEdBMVVkRGdRV0JCUWdJdnowYk5HSmhqZ3BUb2tzeUtwUDl4djlvREFQQmdOVkhSTUVDREFHQVFIL0FnRUFNQTRHQTFVZER3RUIvd1FFQXdJQkJqQU5CZ2txaGtpRzl3MEJBUXNGQUFPQ0FRRUFqdmp1T01EU2ErSlhGQ0x5QktzeWNYdEJWWnNKNFVlM0xiYUVzUFk0TVlOL2hJUTVaTTVwN0VqZmNuTUc0Q3RZa05zZk5IYzBBaEJMZHE0NXJuVDg3cS82TzN2VUV0Tk1hZmJoVTZrdGhYN1krOVhGTjlOcG1ZeHIrZWtWWTV4T3hpOGg5SkRJZ29NUDRWQjF1UzBhdW5MMUlHcXJOb29MOW1tRm5MMmtMVlZlZTYvVlI2QzUrS1NUQ01DV3BwTXVKSVpJSTJ2OW80ZGtvWjhZN1FSalFsTGZZemQzcUd0S2J3N3hhRjFVc0cvNXhVYi9CdHdiMlgyZzRJbnBpQi95dC8zQ3BRWHBpV1gvSzRtQnZVS2lHbjA1WnNxZVkxZ3g0ZzB4TEJxY1U5cHNteVB6SytWc2d3MmplUlE1SmxLRHlxRTBoZWJmQzF0dkZ1MENDckpGY3c9PSJdLCJpY29uIjoiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDQUFBQUFmQ0FZQUFBQ0dWcytNQUFBQUFYTlNSMElBcnM0YzZRQUFBQVJuUVUxQkFBQ3hqd3Y4WVFVQUFBQUpjRWhaY3dBQUhZWUFBQjJHQVYyaUU0RUFBQWJOU1VSQlZGaEhwVmQ3VE5WMUZELzNkNTl3ZVFTSWdTOUFRQVhjRkxBUVppOWZwZVZ6MXRZL1dUWnI1V3hwYzdXNWtuTGE1akkzWjg1c3JTMm5NMnNqdFd3WlM3SVVINEg0eENuRVF4NERBWkY3NFY3dXM4ODV2OS9sSW5CdlZKL0I0UHY5bnUvNW51LzVudk01NTZmekEvUXYwSGIvSXJYM1ZGS1BvNDVjbm00aW5VSVdZd0xGUm1aUVV1d2pGRy9OMWlSSGgxRVowTlJWUnVkcXQxQmQrMm5TS3lTL09oeXMwK2xrM2UvM2tROXF2RDRaVXRhNFZWU1V1WTBlaXB5aVRoQWZvY29PUlZnRHV1dzNxS1JpQWQzcmJjRXRqVGpZSW9mNldhSHNDbXpWUFdDTXgrY2doOHRMcVdNS2FNV3NVakxxbzJSdEpJUTBvT3ptZXJwUXU0ZXNaZ3NPTmtHeEg3ZDBrZHZUVDE3czRPTVU3Vkk4WmhqZ0dhTStBcTlpRU51OFBpZjF1ZHowN013dktXZjhHbFZvQ0VZMDRQQzVXZFRhWFlGYlI4dk52TDUrM0tnZmI1eE5NeWE5UmFtSml5bmFNbEdUVnRGbHI2YmE5dStwcW5FWDR1TXVSUmdqU1lFaHJON3V0RkZlNmxxYWw3TmZrdzVpbUFHSHluUHBiazhWbVkweHN0bnB0bEZDVkNZdHpUdUJOODNRcE1MalR0ZXZkUHpTVW5KN2U4bWtqeFozOWZYYktEZmxkWnFidlUrVFVnR25CVkY2ZlEyaVBIZzRXMTZVV1V3dnpiazE2c01aRStQbjBwdno3SlNldUF5ZXM4bGNwQ21hS3VvL3ArcVdyMlVjd0lBSFdydlAwWUV6aFhBdExBYnNzSGhwN2lHYW12eWlqUDhyeXFyWFVXWDlYb293eHlBdWZOQnJwNDNQT0JGWFpsa2Y4TURSaXFjcHlvd0F3cHV6MngrZld2ei9EdGRlOXNtc3p5Z3RjUjZDMXdiZHpCbDZPbHE1V05ZWTRvR2F0aEpNcmtURXgwakFSU0hBVnMrNXJZa1FOWGIrUWdmUExzUTZnWHlJbnNyZVFmbXBtN1JWRllmTDg2bjFmaVVPa1l2U2hrVVB4dmJ1a3pveTZLMWloTTFobzNYelc2RXZTZlhBK2RwaVdHYVdkK2RvWHpMem1Hd0tZRkxDQXNSQWxQQkFoTWxDRlhVN3RCVVZQcjhIZ1ZjSkhXcStGMDBwbHIrRE1UZHJQNHp2eFkxMWtOTWh4VCtTZVRHZytkNFY1TFFKaXR5VUdKTkI4VkZac2pnWUJaTS9JSS9YQ1RrajBxeURPcEYyQVZRMTdDSWpVcC9EblQxVWtMNUY1Z2RqK3NTMXdnMWdFM2dpZ202MGZDWHpTblBYYnlBUGJJWHYrSURwRTE2VGhhSElTOXNreWhsbU1FNUYzY2ZxQUtocTJDMEU1UEgxZ1lhWGFMUERrWkcwSERKT25LV0hwNTFJMHo1U091eDhlMVdBdVp6ZEhRclRrcDhUbWpYb0krbGEwd0dac3p1YnFiTzNpZlE2QS9XN3ZWU1lzVjNtUjBKS3drS2M0V0hpQmttUjhJM0NDZ0k4N29PTDRxelQ1UCtSVUpCZWpFT2dBUEs4aFlQemF0TStlSVRwMklPOXlUUW1lcm9tUFJ4eDFxeEFjc2lsZS91YlNlRWJjV1FHWUVDZ2hjTFkySHlLam9nakgyNWhNcGpwVXYxT3VnbGk0ZWgyZVJ3ME8zMmJKamt5dUNnTnpnMHZ6bFlNU2lTczB1b280TUc3aE1PakNFYVgxeUZFMG5TdmpCenVUbkVwSzg2WjhJb3FGQUl1Ync4a2c5QXJFYVJFV1NaSStqSDRYYnA2ZzlFOUVuSlQzb2FSekROK01VSkJRREhuNTZhOG9VbUVCdXNPeEJzL041K3RKRWJQa0FGRGo4VUd2T3MvSVd2Y1NnbEdCaHZTNy9GVFlmcFdHWWREWThmUEF4V1NBMzVzVEM0cDQrTG00QWFxSW9QZVF0ZnVmSzZKaDBaaHhsYnNVWE9TbVhOaWZENVpUQWt5RG9mYmJjY2x4bkE4V05BcXhDYlJOeWtoWHhRcGFEdzY3ZlhVWWJzaUcwS2h0djJvZUl2aDhyaFFNWU9jRUFxWEcvZUkrem5nT2M1eXhyOHE4MklBTTFjL0ZMRk9wbHF1NWVGUVhyTVp6R2NWQ2pZYkxXRzVJNEJUMWV1UnJsYnh0Tk90TWl0RERFaExYSUl5bkFBdnVPRVdFM1gzTmRBZnQ5NFZnYUc0MlhJUXQwWlg2UGVDRS9xUUZlOXJLNkh4N1lVNTBLdkg3Zlc0ZlMrcTdLS0JKeHNnZ0JYNXBTQUdoMWpJclZoNXpRNnczUmZhYWhCWG0vYUNiQ1pUakNVRlVUeVdacVc5cDYyTWpKUFhWcU9yUGdNTzROdjc0R2tmK293ZnROVkJEUW5qRkpxSFN3MTdwWHZoV1c1S1pxZS9RNDlOL1VTVENBVldvUVhGSUhCSFhYZTNGUHJVRHN1R0RtdEYvaEhLVEhwZWt4aGlBT1BJK1NKcTZTNkhGNEk5WVd6a0JKVG80NmlVTXpXcDhQaXIvUmlkdUx4S1lzU2tzVjh2TGxPUXZoR1gyWWxSME9CaEJqQyt1L2dFY3ZZMEFwSzdZazQxTnhqUFNRbldGSFRGNjZVcmpnZXZCOEN1NWErbDJ2WVNSUHR1VkRvNzNoaGRNU0huVVg3dFRqc1ZaR3hBbC9XcHRpT0lFUTFnbkwyOW1YNi90UjF0bWxrWWo4VzRYK0NTaldjVURHWTFOcFMvQzdoU0txaU1MTS9sMlFtU1daNzNEZHorZ2lvOEJDRU5ZUFE0NnFua3p3WFVicXZCa3hqVVFzV2ZaRmdidW8zckFmK3dON2pPTzkwK3lueDRQaTNMKzBuWUwxU2NoRFVnQVA0Z1BWLzdJZDFxKzFIU2htdUdrSXFXUlBneXhNRnFQOEhmalRualh3WTViUWZiSmN0Nk9JektnTUhvdEYvSGUxZWdzYXhIU3FHNndmZG1RNXg4TnlURkZxQmNwMmlTb3dIUjN5azUrMzZoRjd2WEFBQUFBRWxGVGtTdVFtQ0MifSwic3RhdHVzUmVwb3J0cyI6W3sic3RhdHVzIjoiRklET19DRVJUSUZJRUQiLCJlZmZlY3RpdmVEYXRlIjoiMjAyMC0xMi0yOSIsImNlcnRpZmljYXRpb25EZXNjcmlwdG9yIjoiWXViaWtleSBFZGdlICh2NCkiLCJjZXJ0aWZpY2F0ZU51bWJlciI6IlUyRjEwMDAyMDE1MDUyMDAwMiIsImNlcnRpZmljYXRpb25SZXF1aXJlbWVudHNWZXJzaW9uIjoiMS4wIn1dLCJ0aW1lT2ZMYXN0U3RhdHVzQ2hhbmdlIjoiMjAyMC0xMi0yOSJ9LHsiYXR0ZXN0YXRpb25DZXJ0aWZpY2F0ZUtleUlkZW50aWZpZXJzIjpbIjRlMjlkZjA1YTU5YzE3YTczYzdlYTY0YTk0ZmRmZmYxZjllOWFlMGYiLCJiZjEyMzY1YWZjYjE0ZDNkZDgyMGJlN2VjNGJlMTYzY2I3Yzg1ZGUwIiwiMTZlNzc0OTY0NTBiMjBjMzJjMGJkZWMyYTI0YjI5MTdiZjE4MTVmMyIsImVjOWY3MDk4NzhkZDE0ZGJiNjc2YmJlNDlmMTQwNWVjNzcwZDAyZjAiLCIyY2MxYWZiYWUwODU2OWE1ZGUwODg5ODI0ZTVjNDA0ZDM1NzIxYWQzIiwiOGU5MDAwMzdkMDk1YWQ3YThhZGE2YzRjMTgxNDNiN2RiZWI0NDY3NCIsImI4ODAyM2YyNTQ1ZmRkNmVhNjIwNjBhYjg5ZDMzMjk0MTMyYjliYzkiXSwibWV0YWRhdGFTdGF0ZW1lbnQiOnsibGVnYWxIZWFkZXIiOiJodHRwczovL2ZpZG9hbGxpYW5jZS5vcmcvbWV0YWRhdGEvbWV0YWRhdGEtc3RhdGVtZW50LWxlZ2FsLWhlYWRlci8iLCJhdHRlc3RhdGlvbkNlcnRpZmljYXRlS2V5SWRlbnRpZmllcnMiOlsiNGUyOWRmMDVhNTljMTdhNzNjN2VhNjRhOTRmZGZmZjFmOWU5YWUwZiIsImJmMTIzNjVhZmNiMTRkM2RkODIwYmU3ZWM0YmUxNjNjYjdjODVkZTAiLCIxNmU3NzQ5NjQ1MGIyMGMzMmMwYmRlYzJhMjRiMjkxN2JmMTgxNWYzIiwiZWM5ZjcwOTg3OGRkMTRkYmI2NzZiYmU0OWYxNDA1ZWM3NzBkMDJmMCIsIjJjYzFhZmJhZTA4NTY5YTVkZTA4ODk4MjRlNWM0MDRkMzU3MjFhZDMiLCI4ZTkwMDAzN2QwOTVhZDdhOGFkYTZjNGMxODE0M2I3ZGJlYjQ0Njc0IiwiYjg4MDIzZjI1NDVmZGQ2ZWE2MjA2MGFiODlkMzMyOTQxMzJiOWJjOSJdLCJkZXNjcmlwdGlvbiI6IlNlY3VyaXR5IEtleSBieSBZdWJpY28iLCJhdXRoZW50aWNhdG9yVmVyc2lvbiI6MSwicHJvdG9jb2xGYW1pbHkiOiJ1MmYiLCJzY2hlbWEiOjMsInVwdiI6W3sibWFqb3IiOjEsIm1pbm9yIjoxfV0sImF1dGhlbnRpY2F0aW9uQWxnb3JpdGhtcyI6WyJzZWNwMjU2cjFfZWNkc2Ffc2hhMjU2X3JhdyJdLCJwdWJsaWNLZXlBbGdBbmRFbmNvZGluZ3MiOlsiZWNjX3g5NjJfcmF3Il0sImF0dGVzdGF0aW9uVHlwZXMiOlsiYmFzaWNfZnVsbCJdLCJ1c2VyVmVyaWZpY2F0aW9uRGV0YWlscyI6W1t7InVzZXJWZXJpZmljYXRpb25NZXRob2QiOiJwcmVzZW5jZV9pbnRlcm5hbCJ9XV0sImtleVByb3RlY3Rpb24iOlsiaGFyZHdhcmUiLCJzZWN1cmVfZWxlbWVudCIsInJlbW90ZV9oYW5kbGUiXSwibWF0Y2hlclByb3RlY3Rpb24iOlsib25fY2hpcCJdLCJjcnlwdG9TdHJlbmd0aCI6MTI4LCJhdHRhY2htZW50SGludCI6WyJleHRlcm5hbCIsIndpcmVkIl0sInRjRGlzcGxheSI6W10sImF0dGVzdGF0aW9uUm9vdENlcnRpZmljYXRlcyI6WyJNSUlESGpDQ0FnYWdBd0lCQWdJRUcwQlQ5ekFOQmdrcWhraUc5dzBCQVFzRkFEQXVNU3d3S2dZRFZRUURFeU5aZFdKcFkyOGdWVEpHSUZKdmIzUWdRMEVnVTJWeWFXRnNJRFExTnpJd01EWXpNVEFnRncweE5EQTRNREV3TURBd01EQmFHQTh5TURVd01Ea3dOREF3TURBd01Gb3dMakVzTUNvR0ExVUVBeE1qV1hWaWFXTnZJRlV5UmlCU2IyOTBJRU5CSUZObGNtbGhiQ0EwTlRjeU1EQTJNekV3Z2dFaU1BMEdDU3FHU0liM0RRRUJBUVVBQTRJQkR3QXdnZ0VLQW9JQkFRQy9qd1l1aEJWbHFhaVlXRU1zcldGaXNnSitQdE05MWVTcnBJNFRLN1U1M213Q0lhd1NESHk4dlVtazVOMktBajlhYnZUOU5QNVNNUzFoUWkzdXN4b1lHb25YUWdmTzZaWHlVQTlhK0tBa3FkRm5Cbmx5dWdTZUNPZXA4RWRaRmZzYVJGdE1qa3d6NUdjejJQeTR2SVl2Q2RNSFB0d2F6MGJWdXpuZXVlSUV6NlRuUWpFNjNSZHQyemJ3bmVid1RHNVp5YmVXU3dienkrQkozNFpIY1VoUEFZODl5SlFYdUUwSXpNWkZjRUJiUE5SYldFQ1JLZ2pxLy9xVDlubURPRlZsU1JDdDJ3aXFQU3psdXduK3Yrc3VRRUJzVWpUR01FZDI1dEtYWFRrTlcyMXdJV2J4ZVN5VW9UWHdMdkdTNnhsd1FTZ05wazJxWFl3ZjhpWGc3VldaQWdNQkFBR2pRakJBTUIwR0ExVWREZ1FXQkJRZ0l2ejBiTkdKaGpncFRva3N5S3BQOXh2OW9EQVBCZ05WSFJNRUNEQUdBUUgvQWdFQU1BNEdBMVVkRHdFQi93UUVBd0lCQmpBTkJna3Foa2lHOXcwQkFRc0ZBQU9DQVFFQWp2anVPTURTYStKWEZDTHlCS3N5Y1h0QlZac0o0VWUzTGJhRXNQWTRNWU4vaElRNVpNNXA3RWpmY25NRzRDdFlrTnNmTkhjMEFoQkxkcTQ1cm5UODdxLzZPM3ZVRXROTWFmYmhVNmt0aFg3WSs5WEZOOU5wbVl4citla1ZZNXhPeGk4aDlKRElnb01QNFZCMXVTMGF1bkwxSUdxck5vb0w5bW1Gbkwya0xWVmVlNi9WUjZDNStLU1RDTUNXcHBNdUpJWklJMnY5bzRka29aOFk3UVJqUWxMZll6ZDNxR3RLYnc3eGFGMVVzRy81eFViL0J0d2IyWDJnNElucGlCL3l0LzNDcFFYcGlXWC9LNG1CdlVLaUduMDVac3FlWTFneDRnMHhMQnFjVTlwc215UHpLK1ZzZ3cyamVSUTVKbEtEeXFFMGhlYmZDMXR2RnUwQ0NySkZjdz09Il0sImljb24iOiJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNBQUFBQWZDQVlBQUFDR1ZzK01BQUFBQVhOU1IwSUFyczRjNlFBQUFBUm5RVTFCQUFDeGp3djhZUVVBQUFBSmNFaFpjd0FBSFlZQUFCMkdBVjJpRTRFQUFBYk5TVVJCVkZoSHBWZDdUTlYxRkQvM2Q1OXdlUVNJZ1M5QVFBWGNGTEFRWmk5ZnBlVnoxdFkvV1RacjVXeHBjN1c1a25MYTVqSTNaODVzclMybk0yc2p0V3daUzdJVUg0SDR4Q25FUXg0REFaRjc0Vjd1czg4NXY5L2xJbkJ2VkovQjRQdjludS81bnUvNW52TTU1NmZ6QS9RdjBIYi9JclgzVkZLUG80NWNubTRpblVJV1l3TEZSbVpRVXV3akZHL04xaVJIaDFFWjBOUlZSdWRxdDFCZCsyblNLeVMvT2h5czArbGszZS8za1E5cXZENFpVdGE0VlZTVXVZMGVpcHlpVGhBZm9jb09SVmdEdXV3M3FLUmlBZDNyYmNFdGpUallJb2Y2V2FIc0NtelZQV0NNeCtjZ2g4dExxV01LYU1Xc1VqTHFvMlJ0SklRMG9Pem1lcnBRdTRlc1pnc09Oa0d4SDdkMGtkdlRUMTdzNE9NVTdWSThaaGpnR2FNK0FxOWlFTnU4UGlmMXVkejA3TXd2S1dmOEdsVm9DRVkwNFBDNVdkVGFYWUZiUjh2TnZMNSszS2dmYjV4Tk15YTlSYW1KaXluYU1sR1RWdEZscjZiYTl1K3BxbkVYNHVNdVJSZ2pTWUVock43dXRGRmU2bHFhbDdOZmt3NWltQUdIeW5QcGJrOFZtWTB4c3RucHRsRkNWQ1l0elR1Qk44M1FwTUxqVHRldmRQelNVbko3ZThta2p4WjM5ZlhiS0RmbGRacWJ2VStUVWdHbkJWRjZmUTJpUEhnNFcxNlVXVXd2emJrMTZzTVpFK1BuMHB2ejdKU2V1QXllczhsY3BDbWFLdW8vcCtxV3IyVWN3SUFIV3J2UDBZRXpoWEF0TEFic3NIaHA3aUdhbXZ5aWpQOHJ5cXJYVVdYOVhvb3d4eUF1Zk5CcnA0M1BPQkZYWmxrZjhNRFJpcWNweW93QXdwdXoyeCtmV3Z6L0R0ZGU5c21zenlndGNSNkMxd2JkekJsNk9scTVXTllZNG9HYXRoSk1ya1RFeDBqQVJTSEFWcys1cllrUU5YYitRZ2ZQTHNRNmdYeUluc3JlUWZtcG03UlZGWWZMODZuMWZpVU9rWXZTaGtVUHh2YnVrem95NksxaWhNMWhvM1h6VzZFdlNmWEErZHBpV0dhV2QrZG9Yekx6bUd3S1lGTENBc1JBbFBCQWhNbENGWFU3dEJVVlByOEhnVmNKSFdxK0YwMHBscitETVRkclA0enZ4WTExa05NaHhUK1NlVEdnK2Q0VjVMUUppdHlVR0pOQjhWRlpzamdZQlpNL0lJL1hDVGtqMHF5RE9wRjJBVlExN0NJalVwL0RuVDFVa0w1RjVnZGorc1Mxd2cxZ0UzZ2lnbTYwZkNYelNuUFhieUFQYklYditJRHBFMTZUaGFISVM5c2t5aGxtTUU1RjNjZnFBS2hxMkMwRTVQSDFnWWFYYUxQRGtaRzBIREpPbktXSHA1MUkwejVTT3V4OGUxV0F1WnpkSFFyVGtwOFRtalhvSStsYTB3R1pzenVicWJPM2lmUTZBL1c3dlZTWXNWM21SMEpLd2tLYzRXSGlCa21SOEkzQ0NnSTg3b09MNHF6VDVQK1JVSkJlakVPZ0FQSzhoWVB6YXRNK2VJVHAySU85eVRRbWVyb21QUnh4MXF4QWNzaWxlL3ViU2VFYmNXUUdZRUNnaGNMWTJIeUtqb2dqSDI1aE1wanBVdjFPdWdsaTRlaDJlUncwTzMyYkpqa3l1Q2dOemcwdnpsWU1TaVNzMHVvbzRNRzdoTU9qQ0VhWDF5RkUwblN2akJ6dVRuRXBLODZaOElvcUZBSXVidzhrZzlBckVhUkVXU1pJK2pINFhicDZnOUU5RW5KVDNvYVJ6RE4rTVVKQlFESG41NmE4b1VtRUJ1c094QnMvTjUrdEpFYlBrQUZEajhVR3ZPcy9JV3ZjU2dsR0JodlM3L0ZUWWZwV0dZZERZOGZQQXhXU0EzNXNUQzRwNCtMbTRBYXFJb1BlUXRmdWZLNkpoMFpoeGxic1VYT1NtWE5pZkQ1WlRBa3lEb2ZiYmNjbHhuQThXTkFxeENiUk55a2hYeFFwYUR3NjdmWFVZYnNpRzBLaHR2Mm9lSXZoOHJoUU1ZT2NFQXFYRy9lSSt6bmdPYzV5eHI4cTgySUFNMWMvRkxGT3BscXU1ZUZRWHJNWnpHY1ZDalliTFdHNUk0QlQxZXVScmxieHROT3RNaXREREVoTFhJSXluQUF2dU9FV0UzWDNOZEFmdDk0VmdhRzQyWElRdDBaWDZQZUNFL3FRRmU5cks2SHg3WVU1MEt2SDdmVzRmUytxN0tLQkp4c2dnQlg1cFNBR2gxaklyVmg1elE2dzNSZmFhaEJYbS9hQ2JDWlRqQ1VGVVR5V1pxVzlwNjJNakpQWFZxT3JQZ01PNE52NzRHa2Yrb3dmdE5WQkRRbmpGSnFIU3cxN3BYdmhXVzVLWnFlL1E0OU4vVVNUQ0FWV29RWEZJSEJIWFhlM0ZQclVEc3VHRG10Ri9oSEtUSHBla3hoaUFPUEkrU0pxNlM2SEY0STlZV3prQkpUbzQ2aVVNeldwOFBpci9SaWR1THhLWXNTa3NWOHZMbE9RdmhHWDJZbFIwT0JoQmpDK3UvZ0VjdlkwQXBLN1lrNDFOeGpQU1FuV0ZIVEY2NlVyamdldkI4Q3U1YStsMnZZU1JQdHVWRG83M2hoZE1TSG5VWDd0VGpzVlpHeEFsL1dwdGlPSUVRMWduTDI5bVg2L3RSMXRtbGtZajhXNFgrQ1NqV2NVREdZMU5wUy9DN2hTS3FpTUxNL2wyUW1TV1o3M0RkeitnaW84QkNFTllQUTQ2cW5rendYVWJxdkJreGpVUXNXZlpGZ2J1bzNyQWYrd043ak9POTAreW54NFBpM0wrMG5ZTDFTY2hEVWdBUDRnUFYvN0lkMXErMUhTaG11R2tJcVdSUGd5eE1GcVA4SGZqVG5qWHdZNWJRZmJKY3Q2T0l6S2dNSG90Ri9IZTFlZ3NheEhTcUc2d2ZkbVE1eDhOeVRGRnFCY3AyaVNvd0hSM3lrNSszNmhGN3ZYQUFBQUFFbEZUa1N1UW1DQyJ9LCJzdGF0dXNSZXBvcnRzIjpbeyJzdGF0dXMiOiJGSURPX0NFUlRJRklFRF9MMSIsImVmZmVjdGl2ZURhdGUiOiIyMDIwLTA1LTEyIiwiY2VydGlmaWNhdGlvbkRlc2NyaXB0b3IiOiJTZWN1cml0eSBLZXkgYnkgWXViaWNvIiwiY2VydGlmaWNhdGVOdW1iZXIiOiJVMkYxMTAwMjAxOTEwMTcwMTAiLCJjZXJ0aWZpY2F0aW9uUG9saWN5VmVyc2lvbiI6IjEuMS4xIiwiY2VydGlmaWNhdGlvblJlcXVpcmVtZW50c1ZlcnNpb24iOiIxLjMifV0sInRpbWVPZkxhc3RTdGF0dXNDaGFuZ2UiOiIyMDIwLTA1LTEyIn0seyJhYWd1aWQiOiIzZTIyNDE1ZC03ZmRmLTRlYTQtOGEwYy1kZDYwYzQyNDliOWQiLCJtZXRhZGF0YVN0YXRlbWVudCI6eyJsZWdhbEhlYWRlciI6Imh0dHBzOi8vZmlkb2FsbGlhbmNlLm9yZy9tZXRhZGF0YS9tZXRhZGF0YS1zdGF0ZW1lbnQtbGVnYWwtaGVhZGVyLyIsImFhZ3VpZCI6IjNlMjI0MTVkLTdmZGYtNGVhNC04YTBjLWRkNjBjNDI0OWI5ZCIsImRlc2NyaXB0aW9uIjoiRmVpdGlhbiBpZVBhc3MgRklETyBBdXRoZW50aWNhdG9yIiwiYXV0aGVudGljYXRvclZlcnNpb24iOjEsInByb3RvY29sRmFtaWx5IjoiZmlkbzIiLCJzY2hlbWEiOjMsInVwdiI6W3sibWFqb3IiOjEsIm1pbm9yIjowfV0sImF1dGhlbnRpY2F0aW9uQWxnb3JpdGhtcyI6WyJzZWNwMjU2cjFfZWNkc2Ffc2hhMjU2X3JhdyJdLCJwdWJsaWNLZXlBbGdBbmRFbmNvZGluZ3MiOlsiY29zZSJdLCJhdHRlc3RhdGlvblR5cGVzIjpbImJhc2ljX2Z1bGwiXSwidXNlclZlcmlmaWNhdGlvbkRldGFpbHMiOltbeyJ1c2VyVmVyaWZpY2F0aW9uTWV0aG9kIjoicHJlc2VuY2VfaW50ZXJuYWwifV1dLCJrZXlQcm90ZWN0aW9uIjpbImhhcmR3YXJlIiwic2VjdXJlX2VsZW1lbnQiXSwibWF0Y2hlclByb3RlY3Rpb24iOlsib25fY2hpcCJdLCJjcnlwdG9TdHJlbmd0aCI6MTI4LCJhdHRhY2htZW50SGludCI6WyJleHRlcm5hbCIsIndpcmVkIl0sInRjRGlzcGxheSI6W10sImF0dGVzdGF0aW9uUm9vdENlcnRpZmljYXRlcyI6WyJNSUlCZmpDQ0FTV2dBd0lCQWdJQkFUQUtCZ2dxaGtqT1BRUURBakFYTVJVd0V3WURWUVFEREF4R1ZDQkdTVVJQSURBeU1EQXdJQmNOTVRZd05UQXhNREF3TURBd1doZ1BNakExTURBMU1ERXdNREF3TURCYU1CY3hGVEFUQmdOVkJBTU1ERVpVSUVaSlJFOGdNREl3TURCWk1CTUdCeXFHU000OUFnRUdDQ3FHU000OUF3RUhBMElBQk5CbXJScVZPeHp0VEpWTjE5dnRkcWNMN3RLUWVvbDJubk0yL3lZZ3Zrc1pucjUwU0tiVmdJRWt6SFFWT3U4MExWRUUzbFZoZU8xSGpnZ3hBbFQ2bzRXallEQmVNQjBHQTFVZERnUVdCQlJKRldRdDFidkczak02WGdtVi9JY2pOdE8vQ3pBZkJnTlZIU01FR0RBV2dCUkpGV1F0MWJ2RzNqTTZYZ21WL0ljak50Ty9DekFNQmdOVkhSTUVCVEFEQVFIL01BNEdBMVVkRHdFQi93UUVBd0lCQmpBS0JnZ3Foa2pPUFFRREFnTkhBREJFQWlBd2ZQcWdJV0lVQitRQkJhVkdzZEh5MHM1Uk14bGt6cFNYL3pTeVRabVVwUUlnQjJ3SjZuWlJNOG9YL25BNDNSaDZTSm92TTJYd0NDSC8vK0xpckJBYkIwTT0iLCJNSUlCMkRDQ0FYNmdBd0lCQWdJUUdCVXJRYmREcm0yMEZabkRzWDJDQlRBS0JnZ3Foa2pPUFFRREFqQkxNUXN3Q1FZRFZRUUdFd0pWVXpFZE1Cc0dBMVVFQ2d3VVJtVnBkR2xoYmlCVVpXTm9ibTlzYjJkcFpYTXhIVEFiQmdOVkJBTU1GRVpsYVhScFlXNGdSa2xFVHlCU2IyOTBJRU5CTUNBWERURTRNRFF3TVRBd01EQXdNRm9ZRHpJd05EZ3dNek14TWpNMU9UVTVXakJMTVFzd0NRWURWUVFHRXdKVlV6RWRNQnNHQTFVRUNnd1VSbVZwZEdsaGJpQlVaV05vYm05c2IyZHBaWE14SFRBYkJnTlZCQU1NRkVabGFYUnBZVzRnUmtsRVR5QlNiMjkwSUVOQk1Ga3dFd1lIS29aSXpqMENBUVlJS29aSXpqMERBUWNEUWdBRXNGWUVFaGlKdXFxbk1nUWpTaWl2QmpWN0RHQ1RmNFhCQkgvQjd1dlpzS3hYU2hGMEw4dURJU1dVdmNFeGl4UnM2Z0Izb2xkU3Jqb3g2TDhUOTROT3pxTkNNRUF3SFFZRFZSME9CQllFRkV1OWh5WVJyUnlKendSWXZuRFNDSXhyRmlPM01BOEdBMVVkRXdFQi93UUZNQU1CQWY4d0RnWURWUjBQQVFIL0JBUURBZ0VHTUFvR0NDcUdTTTQ5QkFNQ0EwZ0FNRVVDSURIU2IybWJOREFVTlh2cFBVMG9XS2VOeWUwZlEybDlEMDFBUjIrc0xaZGhBaUVBbzN3ejY4NElGTVZzQ0NSbXVKcXhINkZRUkVTTnFlenVvMUUrS2tHeFd1TT0iLCJNSUlCMkRDQ0FYNmdBd0lCQWdJUUZaOTd3czJKR1BFb2E1TkkrcDh6MWpBS0JnZ3Foa2pPUFFRREFqQkxNUXN3Q1FZRFZRUUdFd0pEVGpFZE1Cc0dBMVVFQ2d3VVJtVnBkR2xoYmlCVVpXTm9ibTlzYjJkcFpYTXhIVEFiQmdOVkJBTU1GRVpsYVhScFlXNGdSa2xFVHlCU2IyOTBJRU5CTUNBWERURTRNRFF3TVRBd01EQXdNRm9ZRHpJd05EZ3dNek14TWpNMU9UVTVXakJMTVFzd0NRWURWUVFHRXdKRFRqRWRNQnNHQTFVRUNnd1VSbVZwZEdsaGJpQlVaV05vYm05c2IyZHBaWE14SFRBYkJnTlZCQU1NRkVabGFYUnBZVzRnUmtsRVR5QlNiMjkwSUVOQk1Ga3dFd1lIS29aSXpqMENBUVlJS29aSXpqMERBUWNEUWdBRW5mQUtianZNWDFFeTFiNmsrV1FRZE5WTXQ5SmdHV3lKM1B2TTRCU0s1WHFUZm8rKzBvQWovNHRud3lJTDBIRkJSOVN0K2t0anFTWERmamlYQXVyczg2TkNNRUF3SFFZRFZSME9CQllFRk5HaG1FMkJmOE81YS9ZSFo3MVFFdjZRUmZGVU1BOEdBMVVkRXdFQi93UUZNQU1CQWY4d0RnWURWUjBQQVFIL0JBUURBZ0VHTUFvR0NDcUdTTTQ5QkFNQ0EwZ0FNRVVDSVFDM3NUMWxCakdlRit4S1RwelYxS1lVMmNrYWhUZDRtTEp5ellPaGFIdjRpZ0lnRDJKWWtmeUg1UTRCcG84cnJvTzBJdDdvWWpGMmtneS9lU1ozVTlHbGFxdz0iXSwiaWNvbiI6ImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBRkFBQUFBVUNBTUFBQUF0QmtybEFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFCSFpwVkZoMFdFMU1PbU52YlM1aFpHOWlaUzU0YlhBQUFBQUFBRHcvZUhCaFkydGxkQ0JpWldkcGJqMGk3N3UvSWlCcFpEMGlWelZOTUUxd1EyVm9hVWg2Y21WVGVrNVVZM3ByWXpsa0lqOCtJRHg0T25odGNHMWxkR0VnZUcxc2JuTTZlRDBpWVdSdlltVTZibk02YldWMFlTOGlJSGc2ZUcxd2RHczlJa0ZrYjJKbElGaE5VQ0JEYjNKbElEVXVOaTFqTURFMElEYzVMakUxTmpjNU55d2dNakF4TkM4d09DOHlNQzB3T1RvMU16b3dNaUFnSUNBZ0lDQWdJajRnUEhKa1pqcFNSRVlnZUcxc2JuTTZjbVJtUFNKb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk4eE9UazVMekF5THpJeUxYSmtaaTF6ZVc1MFlYZ3Ribk1qSWo0Z1BISmtaanBFWlhOamNtbHdkR2x2YmlCeVpHWTZZV0p2ZFhROUlpSWdlRzFzYm5NNmVHMXdQU0pvZEhSd09pOHZibk11WVdSdlltVXVZMjl0TDNoaGNDOHhMakF2SWlCNGJXeHVjenBrWXowaWFIUjBjRG92TDNCMWNtd3ViM0puTDJSakwyVnNaVzFsYm5Sekx6RXVNUzhpSUhodGJHNXpPbkJvYjNSdmMyaHZjRDBpYUhSMGNEb3ZMMjV6TG1Ga2IySmxMbU52YlM5d2FHOTBiM05vYjNBdk1TNHdMeUlnZUcxc2JuTTZlRzF3VFUwOUltaDBkSEE2THk5dWN5NWhaRzlpWlM1amIyMHZlR0Z3THpFdU1DOXRiUzhpSUhodGJHNXpPbk4wVW1WbVBTSm9kSFJ3T2k4dmJuTXVZV1J2WW1VdVkyOXRMM2hoY0M4eExqQXZjMVI1Y0dVdlVtVnpiM1Z5WTJWU1pXWWpJaUI0YlhBNlEzSmxZWFJ2Y2xSdmIydzlJa0ZrYjJKbElGQm9iM1J2YzJodmNDQkRReUF5TURFMElDaE5ZV05wYm5SdmMyZ3BJaUI0YlhBNlEzSmxZWFJsUkdGMFpUMGlNakF4TmkweE1pMHpNRlF4TkRvek16b3dPQ3N3T0Rvd01DSWdlRzF3T2sxdlpHbG1lVVJoZEdVOUlqSXdNVFl0TVRJdE16QlVNRGM2TXpFNk5Ua3JNRGc2TURBaUlIaHRjRHBOWlhSaFpHRjBZVVJoZEdVOUlqSXdNVFl0TVRJdE16QlVNRGM2TXpFNk5Ua3JNRGc2TURBaUlHUmpPbVp2Y20xaGREMGlhVzFoWjJVdmNHNW5JaUJ3YUc5MGIzTm9iM0E2U0dsemRHOXllVDBpTWpBeE5pMHhNaTB6TUZReE5Ub3pNRG95Tnlzd09Eb3dNQ1lqZURrNzVwYUg1THUySU9hY3F1YWdoK21pbUMweElPVzNzdWFKaytXOGdDWWplRUU3SWlCNGJYQk5UVHBKYm5OMFlXNWpaVWxFUFNKNGJYQXVhV2xrT2pKRk56RkNSa1pEUXpZM1JqRXhSVFk1TnpoRVFUbERRa0kyTkRZelJqa3dJaUI0YlhCTlRUcEViMk4xYldWdWRFbEVQU0o0YlhBdVpHbGtPakpGTnpGQ1JrWkVRelkzUmpFeFJUWTVOemhFUVRsRFFrSTJORFl6Umprd0lqNGdQSGh0Y0UxTk9rUmxjbWwyWldSR2NtOXRJSE4wVW1WbU9tbHVjM1JoYm1ObFNVUTlJbmh0Y0M1cGFXUTZNa1UzTVVKR1JrRkROamRHTVRGRk5qazNPRVJCT1VOQ1FqWTBOak5HT1RBaUlITjBVbVZtT21SdlkzVnRaVzUwU1VROUluaHRjQzVrYVdRNk1rVTNNVUpHUmtKRE5qZEdNVEZGTmprM09FUkJPVU5DUWpZME5qTkdPVEFpTHo0Z1BDOXlaR1k2UkdWelkzSnBjSFJwYjI0K0lEd3ZjbVJtT2xKRVJqNGdQQzk0T25odGNHMWxkR0UrSUR3L2VIQmhZMnRsZENCbGJtUTlJbklpUHo0NzdKWEZBQUFBWUZCTVZFWC8vLzhFVnFJWFphdkcyT29xY0xHMnpPT2t3dDBCU0p0cWxjWFY0dSthdXRsV2hiems3UFVBTVk5SGNyS2p0TmJxOGZlQWw4YUJvc3p6OXZwZGpzR0dxdEYzbjh1VHNOU1pwYzZKc05UNSt2MHhZS251OFBmZjUvTDQ4ZmcvZnJpY3pKZ1lBQUFEQUVsRVFWUjQya1JVQ1piRElBakZYWk9ZMVRhdE5jMzliemtzU1ljM3I0TUU0Zk1CQWFENnpsOHkvOVRPZ2V0OGQ1amZONzhid00vZERDUnBSNTIxelhmb2pISjA1SUl5aEJBVVNWQU9OZEd6Qll0MmY3S0ZyZmtKYUFrSGg5RlpoY0RYSFJrVEtvOU1MaWhHYWF2SW1uVjNxeUVYMEVwcmd6LzREd1VEN2tDSFJuZDhRRk40M0dvNFVWbUREZ3phNHcyN29pemRBMitjSyt1dVVwampvMit4d2MvNDJXNTB4NUxHWWVEQnNSMEhWSXg1eDhpRjYwQ2JsYlRFRWtGcjI3Yk5EQlVWU3ExT0tWUGJFNjJiM0VIOEZxQmc1T09PRXVjMnQ4WkppcU1PdUdwK2NLamc3d1ZHY2VvenFONHB4Z1ZQUWtqRllnYlZKS0RVaERDallyYXdQNXE0RVRnQzlmSU1SSHRpdHBRY0N2Sk9FTGNiTXNRZ25jaVJrbGpweVFqdkc0NGpxQlVFVEZpQmkxUEVJeWVrT3pzVytUeTVjTEhvczVSK2RNUzFMdFNTeGYzZ1FIY3pSMkNJNGdNTnBXNElSQTFRTWE2dEo0K0M2dUh1R0U4bU5ESXlGcWcvT1AvTU1VdWVTNklxOFM5MGRBZUJKU0V5L3FLa0srQk53ejhjWVk0amI1SjZ1NGlXQ0kyQjFaNTZMVzVrRWM0aGtkTXBzdlVDNTU4NVNYMFF1YmNnTnF5ZmdERkVjVHQrNDAvMFM1Tngwd2FDdzNPS2tjT2JBNUluMEFZcDAxcGpqdzJuNjI2VURqdEh3YTI4aUh1VEtxdHJ2K3JlVzQxTlo2aUdscjd1dUxKQ2ZrRnRjdGNHMDRzZ20xZU5TK1phRG5wYVRFckdveVg1SksyaU16OHhzMG5Pd1dHY1BETjQ5cWFDZDRiekpvekRabS9hQksrRW96THcrWGhOQmlZd0hmMHNpT3UxWFBrRy96S3d2cVlLY2ZTd0RFY0gvb1VlMDdlcy9XUThySXlnMkRPWGo4dGprWmR1REIvYjhoekRsbE1NT0NTNUJFbmQ1MzRmOHRpM1VaYzRrTXMzeEx5YWZNU3NKaGRHOFhQcWpOazV0QWdPMjVmZUtDaG5WZERqL0owRk1rT3NVL3hNQnYwd0ZoWWVFR2ZWSDEzZnVEVTB5REZMYTRmYzdSbldIQmZ1VEZWMnRFbU53YWRjN2FjM1VZMmpmQmw3SFQzNmZlMzRpUU81bU5DRkZCVzA3S2pQZ3FoT0xVMDF2WjhQdWVaMkpDbEZaTjhqa1VzNjl1a2E5ZVBwNitFZkw0QUY1K055d1NiaXJIdGNCOE1sL2drd0FFamtLNjRLakhQZUFBQUFBRWxGVGtTdVFtQ0MiLCJhdXRoZW50aWNhdG9yR2V0SW5mbyI6eyJ2ZXJzaW9ucyI6WyJVMkZfVjIiLCJGSURPXzJfMCIsIkZJRE9fMl8xX1BSRSJdLCJleHRlbnNpb25zIjpbImNyZWRQcm90ZWN0IiwiaG1hYy1zZWNyZXQiXSwiYWFndWlkIjoiM2UyMjQxNWQ3ZmRmNGVhNDhhMGNkZDYwYzQyNDliOWQiLCJvcHRpb25zIjp7InBsYXQiOmZhbHNlLCJyayI6dHJ1ZSwiY2xpZW50UGluIjpmYWxzZSwidXAiOnRydWUsImNyZWRlbnRpYWxNZ210UHJldmlldyI6dHJ1ZX0sIm1heE1zZ1NpemUiOjEwMjQsInBpblV2QXV0aFByb3RvY29scyI6WzFdLCJtYXhDcmVkZW50aWFsQ291bnRJbkxpc3QiOjYsIm1heENyZWRlbnRpYWxJZExlbmd0aCI6OTYsInRyYW5zcG9ydHMiOlsidXNiIl0sImFsZ29yaXRobXMiOlt7InR5cGUiOiJwdWJsaWMta2V5IiwiYWxnIjotN31dfX0sInN0YXR1c1JlcG9ydHMiOlt7InN0YXR1cyI6IkZJRE9fQ0VSVElGSUVEX0wxIiwiZWZmZWN0aXZlRGF0ZSI6IjIwMjAtMDQtMjQiLCJjZXJ0aWZpY2F0aW9uRGVzY3JpcHRvciI6IkZlaXRpYW4gaWVQYXNzIEZJRE_CriIsImNlcnRpZmljYXRlTnVtYmVyIjoiRklETzIwMDIwMjAwNDE3MDAyIiwiY2VydGlmaWNhdGlvblBvbGljeVZlcnNpb24iOiIxLjIiLCJjZXJ0aWZpY2F0aW9uUmVxdWlyZW1lbnRzVmVyc2lvbiI6IjEuMyJ9XSwidGltZU9mTGFzdFN0YXR1c0NoYW5nZSI6IjIwMjAtMDQtMjQifSx7ImF0dGVzdGF0aW9uQ2VydGlmaWNhdGVLZXlJZGVudGlmaWVycyI6WyJiZjhmMzlhNTgyNmViOTEwZGU0ZTQzNjYzNWE1MzBlM2VjY2U0MTBmIl0sIm1ldGFkYXRhU3RhdGVtZW50Ijp7ImxlZ2FsSGVhZGVyIjoiaHR0cHM6Ly9maWRvYWxsaWFuY2Uub3JnL21ldGFkYXRhL21ldGFkYXRhLXN0YXRlbWVudC1sZWdhbC1oZWFkZXIvIiwiYXR0ZXN0YXRpb25DZXJ0aWZpY2F0ZUtleUlkZW50aWZpZXJzIjpbImJmOGYzOWE1ODI2ZWI5MTBkZTRlNDM2NjM1YTUzMGUzZWNjZTQxMGYiXSwiZGVzY3JpcHRpb24iOiJIaWRlZXogS2V5IFUyRiBTREsiLCJhbHRlcm5hdGl2ZURlc2NyaXB0aW9ucyI6eyJydS1SVSI6IlUyRiBLZXkgU0RLIC0g0L7RgiBIaWRlZXoifSwiYXV0aGVudGljYXRvclZlcnNpb24iOjIsInByb3RvY29sRmFtaWx5IjoidTJmIiwic2NoZW1hIjozLCJ1cHYiOlt7Im1ham9yIjoxLCJtaW5vciI6MX1dLCJhdXRoZW50aWNhdGlvbkFsZ29yaXRobXMiOlsic2VjcDI1NnIxX2VjZHNhX3NoYTI1Nl9yYXciXSwicHVibGljS2V5QWxnQW5kRW5jb2RpbmdzIjpbImVjY194OTYyX3JhdyJdLCJhdHRlc3RhdGlvblR5cGVzIjpbImJhc2ljX2Z1bGwiXSwidXNlclZlcmlmaWNhdGlvbkRldGFpbHMiOltbeyJ1c2VyVmVyaWZpY2F0aW9uTWV0aG9kIjoicHJlc2VuY2VfaW50ZXJuYWwifV1dLCJrZXlQcm90ZWN0aW9uIjpbImhhcmR3YXJlIiwic2VjdXJlX2VsZW1lbnQiXSwibWF0Y2hlclByb3RlY3Rpb24iOlsib25fY2hpcCJdLCJjcnlwdG9TdHJlbmd0aCI6MTI4LCJhdHRhY2htZW50SGludCI6WyJleHRlcm5hbCIsIndpcmVkIiwid2lyZWxlc3MiLCJuZmMiLCJibHVldG9vdGgiXSwidGNEaXNwbGF5IjpbXSwiYXR0ZXN0YXRpb25Sb290Q2VydGlmaWNhdGVzIjpbIlxuTUlJQ01qQ0NBZG1nQXdJQkFnSUJBakFLQmdncWhrak9QUVFEQWpDQmh6RVhNQlVHQTFVRUF3d09TR2xrWldWNklGSnZiM1FnUTBFeEh6QWRCZ2txaGtpRzl3MEJDUUVXRUd4bFoyRnNRR2hwWkdWbGVpNWpiMjB4R2pBWUJnTlZCQW9NRVVocFpHVmxlaUJIY205MWNDQkpibU11TVNJd0lBWURWUVFMREJsQmRYUm9aVzUwYVdOaGRHOXlJRUYwZEdWemRHRjBhVzl1TVFzd0NRWURWUVFHRXdKVlV6QWVGdzB5TVRBNE1UWXhOekkwTURWYUZ3MDBPVEF4TURFeE56STBNRFZhTUlHTU1Sd3dHZ1lEVlFRRERCTklhV1JsWlhvZ1JrbEVUeUJTYjI5MElFTkJNUjh3SFFZSktvWklodmNOQVFrQkZoQnNaV2RoYkVCb2FXUmxaWG91WTI5dE1Sb3dHQVlEVlFRS0RCRklhV1JsWlhvZ1IzSnZkWEFnU1c1akxqRWlNQ0FHQTFVRUN3d1pRWFYwYUdWdWRHbGpZWFJ2Y2lCQmRIUmxjM1JoZEdsdmJqRUxNQWtHQTFVRUJoTUNWVk13V1RBVEJnY3Foa2pPUFFJQkJnZ3Foa2pPUFFNQkJ3TkNBQVMwQWNUL2hSRlVibEZjSXA2Ymg0UDJaU3ExYWppVWFnaGVjOXVkU0ZHSW9VWjQwWTNJRVBsdGsyVHhid00vUnBXbUNGclpzQWRmeXgyMXJ2WWRwTDhSb3k4d0xUQU1CZ05WSFJNRUJUQURBUUgvTUIwR0ExVWREZ1FXQkJUbFo4RHYzcUFLZUtjMUMyT2lOdkh6R3FnMUpUQUtCZ2dxaGtqT1BRUURBZ05IQURCRUFpQUhwdHN4KzZHcXY2bmJhK2JUOWZXN244eHNmSDhSaElLOFZZRlBLRXNCWkFJZ1FoT1NEeGtEa2N5OW5iUFQ0eDBFbUREOVVzTDUwMXRrU3NjZldhMGFMYnc9IiwiTUlJQ1pEQ0NBZ3VnQXdJQkFnSVVJeWxiU0VBRTE1elNFdndGMHI4R3dVZC81b0V3Q2dZSUtvWkl6ajBFQXdJd2dZY3hGekFWQmdOVkJBTU1Ea2hwWkdWbGVpQlNiMjkwSUVOQk1SOHdIUVlKS29aSWh2Y05BUWtCRmhCc1pXZGhiRUJvYVdSbFpYb3VZMjl0TVJvd0dBWURWUVFLREJGSWFXUmxaWG9nUjNKdmRYQWdTVzVqTGpFaU1DQUdBMVVFQ3d3WlFYVjBhR1Z1ZEdsallYUnZjaUJCZEhSbGMzUmhkR2x2YmpFTE1Ba0dBMVVFQmhNQ1ZWTXdIaGNOTWpFd09ERTJNVGN5TXpFNFdoY05ORGt3TVRBeE1UY3lNekU0V2pDQmh6RVhNQlVHQTFVRUF3d09TR2xrWldWNklGSnZiM1FnUTBFeEh6QWRCZ2txaGtpRzl3MEJDUUVXRUd4bFoyRnNRR2hwWkdWbGVpNWpiMjB4R2pBWUJnTlZCQW9NRVVocFpHVmxlaUJIY205MWNDQkpibU11TVNJd0lBWURWUVFMREJsQmRYUm9aVzUwYVdOaGRHOXlJRUYwZEdWemRHRjBhVzl1TVFzd0NRWURWUVFHRXdKVlV6QlpNQk1HQnlxR1NNNDlBZ0VHQ0NxR1NNNDlBd0VIQTBJQUJBcWxtQU1BejRoNUl3ZlZad1NiNGpBaTVvdDg1RkUwYnV1Q0tzNG1mdWQyMXFzbzVycHVLSDQzc0txYnJORlFTdHg1UlNDOWJtQnFkUzJseWNsMzVsYWpVekJSTUIwR0ExVWREZ1FXQkJSV0lpUlZXYXlaQm5INUJsVG5RRGlHeVE2T0xUQWZCZ05WSFNNRUdEQVdnQlJXSWlSVldheVpCbkg1QmxUblFEaUd5UTZPTFRBUEJnTlZIUk1CQWY4RUJUQURBUUgvTUFvR0NDcUdTTTQ5QkFNQ0EwY0FNRVFDSUVaWGg3NlhGaEx4SklUOEZzSW9RSFR3ZkhDRThzVXNLeVByY0x2LzN0b01BaUIrcGpZOWJJNm5LVDZxRnVxZ1JuK2JYQkFkTWVnLzJ2WDh3RzRhQnRvTUFBPT0iXSwiaWNvbiI6ImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBSUFBQUFDQUNBWUFBQUcwT1ZGZEFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBeVJwVkZoMFdFMU1PbU52YlM1aFpHOWlaUzU0YlhBQUFBQUFBRHcvZUhCaFkydGxkQ0JpWldkcGJqMGk3N3UvSWlCcFpEMGlWelZOTUUxd1EyVm9hVWg2Y21WVGVrNVVZM3ByWXpsa0lqOCtJRHg0T25odGNHMWxkR0VnZUcxc2JuTTZlRDBpWVdSdlltVTZibk02YldWMFlTOGlJSGc2ZUcxd2RHczlJa0ZrYjJKbElGaE5VQ0JEYjNKbElEVXVNeTFqTURFeElEWTJMakUwTlRZMk1Td2dNakF4TWk4d01pOHdOaTB4TkRvMU5qb3lOeUFnSUNBZ0lDQWdJajRnUEhKa1pqcFNSRVlnZUcxc2JuTTZjbVJtUFNKb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk4eE9UazVMekF5THpJeUxYSmtaaTF6ZVc1MFlYZ3Ribk1qSWo0Z1BISmtaanBFWlhOamNtbHdkR2x2YmlCeVpHWTZZV0p2ZFhROUlpSWdlRzFzYm5NNmVHMXdQU0pvZEhSd09pOHZibk11WVdSdlltVXVZMjl0TDNoaGNDOHhMakF2SWlCNGJXeHVjenA0YlhCTlRUMGlhSFIwY0RvdkwyNXpMbUZrYjJKbExtTnZiUzk0WVhBdk1TNHdMMjF0THlJZ2VHMXNibk02YzNSU1pXWTlJbWgwZEhBNkx5OXVjeTVoWkc5aVpTNWpiMjB2ZUdGd0x6RXVNQzl6Vkhsd1pTOVNaWE52ZFhKalpWSmxaaU1pSUhodGNEcERjbVZoZEc5eVZHOXZiRDBpUVdSdlltVWdVR2h2ZEc5emFHOXdJRU5UTmlBb1RXRmphVzUwYjNOb0tTSWdlRzF3VFUwNlNXNXpkR0Z1WTJWSlJEMGllRzF3TG1scFpEb3hNakZET1VJMk9UVkJNREV4TVVVMVFrUkJSRVF3UWtKRk1VWkZSamhHUkNJZ2VHMXdUVTA2Ukc5amRXMWxiblJKUkQwaWVHMXdMbVJwWkRveE1qRkRPVUkyUVRWQk1ERXhNVVUxUWtSQlJFUXdRa0pGTVVaRlJqaEdSQ0krSUR4NGJYQk5UVHBFWlhKcGRtVmtSbkp2YlNCemRGSmxaanBwYm5OMFlXNWpaVWxFUFNKNGJYQXVhV2xrT2pFeU1VTTVRalkzTlVFd01URXhSVFZDUkVGRVJEQkNRa1V4UmtWR09FWkVJaUJ6ZEZKbFpqcGtiMk4xYldWdWRFbEVQU0o0YlhBdVpHbGtPakV5TVVNNVFqWTROVUV3TVRFeFJUVkNSRUZFUkRCQ1FrVXhSa1ZHT0VaRUlpOCtJRHd2Y21SbU9rUmxjMk55YVhCMGFXOXVQaUE4TDNKa1pqcFNSRVkrSUR3dmVEcDRiWEJ0WlhSaFBpQThQM2h3WVdOclpYUWdaVzVrUFNKeUlqOCt2cjVYSWdBQUUvOUpSRUZVZU5waUREbDZnUUVQNEFMaUJDQ2Voa3NCRXc3eC8xQ3NEZFc4RDBrTUJiQmcwUWdDQWtEOEVVbmNDVW8vUmxMRGlHNEFpZ1FPSUl1azlpOFFNNk83QUo5bWRIWC9rY1BnUHdtYVVReGhJdEZtZEhBRlpBQTNFSjhoRUJ2L2NjanJnQXlJQjJKak1sMEFEb05wREJRQUZpSUNpcUFMWUdBZGlaYi9SM1lCSTU2QXd1dEM5THh3Z0FUYlBkSERBT1lLSlNDK2gwZHpBQkM3QVBGZWJJSElpSll2Q0FZc1FBQXhFaWdQd29INEN4QnZKU1VhL3hOd0VTTytBZ1U1U3pPaWFjTHFQU1kwelZZRUVnK0dJU3hrWkdkR3BBd0dUd2ZwWkpRRmNCZjhKN004QU9uNXgwUWd0Y0d3RTdGSkdSZllTMnE5QUFMOUJMTDFUUFJDRlIwVVlVa1B5Q0FOaUU4d1VWQ2dnb0Fsc2hmcVNDMU1rTDBBY2tVak9XbUJDVnR0UTRUdGpMaGlBU1N4QnkwTklHTXQ5REFEQ0NCQzVRRTYrQXpFUEdoaTM2RHRDR1N3SElpamlLMVhHSWhNemYraGxqT2lZVzQwZmljUVI2THBTeWEzZ1lNYzVveEVKcmtLTE9ybjRLcWltZkJZRERPQWlZRXlnTzV3a1BtcXVBcFVFQkNsTUhNUjQ1QmJRTHdkdVVCK0RjVG5nZGlJZ2ZZQXVWWmdoWVdBQ0JCM2s5RzBRTWFUeVhETUw1QURRcUdjWmVRVVJVZ2doNXptRFJNMEh3OFlZRUpyZEZTUkVJL21CRkk3U1lYNVFpamRTb0xqVDVGWVBzQ0FDYllxT1lGQS9GSVRuSWJTNXRocW8xUWFPd0s1a0R1RnJTU2NRMlFMbDFRZ0J6V3ZIejI2V0FnVUZ0SkEvQVNML0Ixb3RqMEc3ZE5LUWh2OG9LaGtKYUk0SnJxVDlCUk5JeWpFL2dDeENwNG16Rm0waElZWEFBUVFxZTBCbEFZVjFLTHZRTHdmaU8vU29wdUlESHlBZURNSjVjdC9ZaFVTQWllZ2htM0dFYS9ZNHZjZlVoT01vaEQ0anlWTnlCRGI5d0dDcTRRNjNMaENvQUdMNVl4NExDZVU0ditUNG9BbFFGeFBaaG1QN3BBTGhCeUI3Z0F6SUk0bVl3UUpGekRFMGVyQzZZQ1RWTFNjQVVmM0YyOG5tOXFXNHhxZ21Jb3ZEZERDY25TenM5QWQ4SjhPbHFNN29oNWJkVXd2d0FmTjZtQUhhQTlBVS9BemNrbDRnSUxVVFduYVlXS0M5Z2tvdFp6Y0Jrd2ZPZjIrNTFTSWdqSllEWXZzQUM0aU5VdmdrZk1pMG93bW1KM0lEcGhIcE9ZbGVPUzJFV2tHTzZ4MlJYWkFPSkdhWTZtWUcrWXpRZHR3bEJTckROREdLVG01WUJvTHRGMzNud3FPSUJic3cxY2JmcUZESWVTSXp3SGNkQ3dONVpBZGdCeWNMVFMwRkRtcUg2T0h3Q2NvWFUybnlnZ2pDdml4TlJobzVQdlB1TklBUm9PQnhpMGp2QzJpRHpUcWxoUFZMMkNFUmtrWmhSWXpBL0ZHZk9VR0M0R2dBcm04RTR2Y0dpRGV4QUFaY0FSMXgwMmhSYms1am9LSGtkeXVHYTdCaWhBb3ByaTBaQ0loNFlCd0R4RnFyVW5wVFFFRUVDWGpBOFFDRFNBdWhQYTRTQ2xwUVpQam9OSFhSYlIwSEJPVnpkdk9nRG1FZkowQk1zV0Y3dmtTcEpqaUJlS1hhUEtnU25vaEEvYVpINlBCRWdBRmFBN3p3S0h1STlTVHlPTXB2V2lOQUFrMCtWbDQ3RDJMWk9jdmVnZUFIcExsL1RqVXZFUHpqQUFaTFoxME5ETlc0RkRIaXVTZUI3UU1nTVZRU3k0UzRXQmhHbVRYU0NUekZYQ29rV2ZBdjNpR3JBQ29neG9ZZzYxRlRXU1NwVFo0aUdTdkg1N2FuMkJBa0RwRUNRTzhkR3E4RXdNMk0rQ2ZYUGdQVGIxeHBLU0FZaHlHd1VKOXNIZ2VsL3V3ZFdUL0U1c0Nkak5BVmlxaEI5Ui9ocUVEY0tXSS80UmE0K3ZSUEcvQlFQNUNzOEdhSW5DT0VBY3lRTmFwZ2NCTXFNYVRETU1EWUZzNmdSRUE2NUFVWnpBTVR3RHkyMndvdXhzNUFKQzc0RXAwY0lnbnRMR0UzSXBjUWFkQVNFVnFpc01EQUhrSWdKYkRBVERQZ3NZd0JkSGt3cEhrOTlBcE1EeEFBV0NKcFFxa05nZ2pzU0IxcGxIQnE0L2VJV05pSUdGdW5RS3drdHdZb3JJNzBNY1RORUVCOEIyTHdzQkJVbWpkb3JKNUx0aGFndnV3S0Z4Rm80WUpxV01MOTZqb0JsTXNZbnVZY0ZnQ2FpRnkwaUFRRHBDZzFvdks5aC9GSXRhTmJkMFdETHlsUVpKMlJPdmp1MEY3YzBvTTVDMUNJNlh3dzdhWTZRcjZ5amxrQUVvQndUVE80N3VodmJuN05MYm5BbzdJUUdrSll1c1lyUmtHcmI5WFdNUXV3N0lqY2dDQXRseFprVEFtTUJRQXFITW5pa1ZjRDFkdjhEZ0Q5dG1Gb1JnSVU1RTZkemhySkd3RElxZHdGRVJES1JEbVltblNiOExtTDBKelU5ZEFyU1Y4QXdxREVPd0NZbGRpMnlHRUJrVzFjQXdvTUExU3p6OUc4M3dkb1FnamRXNE91Y0RVSFdTZUIwV01ESnJIbXdscFlpSFJFbGdnZ1BydWw3RElmNFBtdFEwTWtLMEIxQnc4QlEzUCtVSUxOaTFxTmJtcE1UazZnNEgwZllYVUJLQjFUMlJQajFFakwyZWdOV05yYU9oWlVJdFJHTTAraXVZR1dXamd5RllHN0p0UldLQnRmMmRvUTBRQnFjUEZEQzNBYmtIYklxQ1MvRFk5a2c5QUFQS3VMU1NMSUFvZk5hUkFKQklTSTdzUVdrU1FKVVpKbWQzd0pheGVJb2dzRUl3dWhEMEkwb05HMFVObFJROVpVWUVRQlJLSWtSSGR5Q0x5SVNxUUlnc2lxTWdLb1ljU3BGRHI5Si9oMzZZenU3UDd6Nnk3ZngvOG9MT3pPM08rbmN1Wk0yZk9odUVmSUtPWWZnVzBRRUhoUHhFQldKbWhNQ3N6TG9ReWFtbU1LUE54RHc2ZWwzNy9qaGkyQ1ZnWkEyVGdHMjJIcElIenZJdndxbE5zT1VUYUczckdkK28ra1NaZ01WVVd6L2hzOU1pTDUwRFFYVTZjaG0zd3lJLzVidEx6TzZOR3dIeXFXSTlHWHJHVGl3ckxOMGQ2QzZXdjBIakdPaXJ2WGhRSUdGRVlHMlEwZy90ZXZrQTM1U3NrYmRNTmxVUkUzVmdRc0VkelliU044aHp3K2Z3UE5FRG5hS3hDejZheVVnMHlDK0NVbGUrUlp6ZVk4WGdkcEplRVUrWkhqYlVBdXVTOXN0a0NSajJFdjBodjNMUzdiejg5MTJ1anBBOW96ODhHQVc3TjdBZFZzTWF5VG5HVHlubmtrdWNvclUrTUV1QW0vRlpJSHNRSUMrZ09PODNsT3VvUXJhYkdBTzI0UFdOZy9NZ2d2U09MdWI2REZLbGpxYlNBVVJkVk5TcW1zWEcwZU9MUTRtVzRjU1BnaWlMOUtTVGM1S0tFS2xESHQra05Ra0FKOFA3dzZQMWZDdEhFZmxCSHRCbnlTOEF6SmcxRDVxeUhhQVBydUZaaE5kcXVTOEJGSnEwTE5PTUZSUURYcVV2SU9LTkxnT3dUL0FBU3hzZzRBUWRGYm51OXc0c0EyVm5pM2UvZmNvZ25iakNLMlFZdkF1VGw2SFNJTjdBN04wcHBiU29DamtSSXlURUpQSFoyV3RKY1dRSWEwbEI0Z1oyMGpoQllJeE9RNjdpWUJla0pYRWtLVS9zNW1RQnhPaEZQZll4QStxSllIdHNFQWNJNXVneitIOHprWm9FRklSWGVBWDg3U21PTXZaVWh0Z0N4V3Z4RFFHNklyTGVSd1BKOGpQRTg3b0o5TDVSbGpyODNpYVZrVlVqQ282Tml1YWI5d2RZczVIUU1MeFF0SUl5bVY2MHB2SmNkSWxYSURtRFptVXkvTDdaUThOVUE5NnkyVUk5NTB2OXpNaUVabmwyZ3duQ2hRZTJGclNHMHpHbEl3RVNQOVlBSkJTUUlpa0lnWUVJbW8vaXNNbHhJSGtRRFhGeThEQkd4MFlsOHd3VUg5Y0FZTmx3UHpxYng1MXNJQTVhWmZ4cndQdE9Ic2JsNFVmMUl3QXZtd2d6RGhmY0V1TWYwNlRYT3NOT0hCSEFmc3FnMVhIaTV6L3dIUXhvWEJwQ0EyOHlGT2d1RjZlNUVvODdRWkxqc1F0VUZKSUE3SHp6WkFnSEQ4Ry9RVHhub1BtZkQ5TjdJcE4zeGVpdEl3aGNMbFJHYUo1NFR3ckNPUTRwV2FCTGNlSExLdVJ6bUJzSVd5NVZDOTdkcklRaXZRcWVUQUs2SmJJSDBRTDNiUlVGQWwrSjZmaG9RY01KdG5aRXBOVWtaMTJNdWZJNGlmUmRIQUxlcFdCcHpBcmhRbzBOY0YwQzhWRHprZUl3SldPWmxGUEhhR2tQc2phbndaeFhwdlc0RWRDdHVhbzRoQVp3Mk8xYzFDemd4aFVuYm53WnYveFBYelRrQytoWEt5YUdZdi8wQ056MUFCdWVidnk4bXduUE9YWnU5RkNFTzJVeGFld3dJa0oyN01QemY1U0FFL0lUa2g1RUVOa1pjZU02NXEwUkhGVllCNHdmSW42VjZIVkhoeHpQQ0dnbHJpOUdGblo1alJaYnNCYW5pcTEvaGRRbEExRWpMNDg4UkUzNGh0UUJmd3ZzaEFJRXVOT3NjLytNV2R6V003VW55SW1xaFR4empscStOVmIrVmR3WWh3QzF1dE4raHFVdnM4K01nMU9RMThBVEFKTEpQSU9rL0hPWGhlQ1M4V3k0b1ppNVhCRDA0aVNROGhJVGZ2anppNGs5MlhNYnpnV2g5Zms3YTJIdEhOOEtkcVR4U1ZHWkJ3a3lHei9Eam9vZHhRZ0x0YjZSeWNuUXBKRDdQTWFpUkYvTlZnUG1OMTVQZ1lmRXgzUVdBZWJQWUdoYUYzUGU3cU56NlZCOWthZ0I3VEJYQ3B2ak9vdURpTTZmR2ZKZE5qK0FEMUhleGtwV2dqa0t0Qy9HQkFmSHA0Y09tR2JWNWV2eStOQnZNcGtYV0VwcStwa0p5QnhpNzBsc2lESS9FM2dMenU4TXNmZ25RM3JtR1dsRkZjWHg1NkZKa0pJU2FtTVpOTDVtaWZiQ0lvdWdxOXBLRXlwSXdBODJ1bE4wTU5Bc3EreEpob1dDWjVhT1hWcGJhQTdPWGtkNk1vcUw4RUpSbUQ1TWtQNVFhMkFQTE1zemZQV3QzaHRPWm1UMlBNMmZtM1AySGc5ZHpadmJNM212TjdMM1dYdXUvR3NFZlVHK1F6a01DWlp0K0JxdVBvNjkrVHRCRlU0dFVZaU5LT3IzK29TOTFOSG12K2hDZzhmNU9QenNzWC9xRndURUZ2R2RZTjRoMW5xQlBWRm9SL2N6VUpscW9MY0o1S0VhWHJnazNTMEpLazZ4Unl2bjl0YW94dnQreitEMm9nejBqZ2ZBUFNYbHZxTDh1c3Bmb2QzSEEyaFVIM0p2YWhybFAzaUR6eGE1aXAxTUFCUXVIVHoyRHlMdzRWNUtIbVdFcVRwUUs4UkJUQUh0ais5U0pjSnQrWjM2bmxNV1hDYS9KaXZBdU5YcE1mOTZUbklYak4xb0JtSk5mOWd6UWxoUUc2Qzk5dWsvMUNCVGk2UFVSMmxpckZxazVuNy9Ub0JsdXIxSndlRno3OURRRllEWDhoVlJ5SkpLUzF2S3FuU1hsTkNlRWRhdyszVCtrZU0rOERhNzFLQVJQOTZQeS8valNxTURMZUVESFlxc0UweUVVV2dGd1VyMnVIWVhoWTJTQ3R0aTBtKzRSeHNrcWpDelR2UGFyMHJWNEZHSlp3amJQVm92amlMNXRlaldEQWx5dkhUb2t0VU5QYklDTDkxNjFXSHFwU2JjeVoyc1hGT0lXajFLeS8vNStndlltU2FXUS9WVkZWQURENnZSY3pQTnhUb3pTd2VUdGNYOVdqcEdVc0VQbmU2TVFTUUpMVEdyaG9pSW9nQ2xFRnlmR2VxUGE0UXdZVWJUYm1zamZjcDlIR2VKV0xwcXRZN3M2andxd1RQd0w4UVVCMStkZ3FkU1IrRVdhSHl1a2RxMU5XMHpSc1Y2WUJ3V1lxamR6YzR6ekdBQjg1WHVrNThKVW15VmY0TnNZNXpMMjF6UkNBU0EySmFCNlZZUnpXT0VPMGc0L0t3NWU0UEE2WGNmbXFZam5FZ20zWFdLNjllTW9BRjR6Q09ST3N6eStTMjMwVmlrejZEb0VvME1WSVVxbTRBaTFscWJYV3dGSWVWeHNlZXdHN2NoRjB0eFVMUFhDTW9sZVk0dTN4Nlo2S0FCUEw1c3c1MW9jYStpaXIzUXlUQVVieFk1QzE0QUhqdktkL2RKU2dIYWRvOEtxemIwamRuVFpEdkZnS0lSdHdvRW9YNHFML0t5a0NuQzVoSmNFL0Z5VjQxSW5vMHhnQXVKc1BJU0VZbzZOcXdCanhEOS9GUHdxNVkwZHFnbjg2ZVNTT1Y1VlJlZ01PUTVPME5GUkZZQ2svYUJ5RGN6dmJHTis0K1RRY0N4VlJYZ2c0QmgyR3R0c0ZZQWRydGQ4R2pJRnl6YTRjYzhkN2xiWnJQV1I4eHUyQ29BcFVSMXE5WlpZVnFwemFEZ21xNnkyVm4wL1RHcFFzVlVyQUFzTEwwa0dRUlVEZERIb1VDeVFyWEdLbE9NbkRDQU12VGhJQWFybkVTSmhmbkpqV1ZoUWc2aDZWM1crOXo5ZS8zR0h2aWE4WUZ1V09QcmZtMmhRV09QZ09oMnE5akliS2poT2RxbkNIMjZpdmhKTVc4MlhTdVFSWVhpdlZDdEFMWE9Dc0drQ0lqOHA4Q0JBanZ1NENqd0tpRnRrbC9PakF2ZWRvSnBhOU5DZFJnSE1GRUM2a2w5U2F4SHJTSkRrWWFKdnUySUkzd3plaDFJSjV5NGl0Lzc1UHQrUFZWUC9Qd1VJOHVKZFVMQk84N1NUdnBWbS9IMjdUZzBMQ3pZVzQwTDYxSzBBSkNvRytZejU3YmlDZEJqVFowWWQyNThyNGE3eHZLQ2Z6dmRCVmtKL0ZJQkV5dUVCQnc0TWFTZ3ZXSmZSZmJaTDlLQ05Sb0NkMjZDNmQ4aDhtQ2xaMmpla3NmRTU3eXl2K3l4WmpLYkZYRmRraVRBYWZPUStvS1NXUU5nQ1owTE9PenNxNCt1VmFwak1lVU9ZODY0N01MV2t3Zy9iRmo1VDhzMGYrbk1EcnZsM2pzY0RxdEN3VWlqZCtZa0lIaEtFQXhhTlhwM2pEclBSa1dWME1idWdtM0k4SGpiVElSRmVCMUVBL1AwMnhEYVRjdHhoc29abVpuaTlqaHlQUll2bHcwcVUxMjRVZ0lpZXp5eE9hTXY1V29DM3dHVVpYSWRTR0Iva2VCeW1pQTg3YkJYWUkraXVIOEtyb011eThadHl2dkF4Y1hQdjFxSHQ5ZHIyeHprZmcwN0w0d2cyUFZ6eUROdytpNU1tU1BwVnR1cUJjU3FzaDFOb3krVDFUU3hBdnlkWitrS1k4amVMWi9YUGJ0OWF5NHZjSThYQmJLbms0ZUVYaDVGamQ4aThTTzdlT1pKT1ptL1dzQzA4OUlKYUFlS2xpY01qdU1PeUFRcHhyaE9IUEFFNjN3VVd4NUdrZ3hQcmU2bXkvMkh1ZU16eVlyeGFqM2Rqbmh1MEh2MDhhSG5zQWlQOGFnVUFzRnJaVk0waVRPeHBOKzY1d1dxeFMvSmhpcHZuL2FMNnBOL0V2b0lncEVtejNOZzNISXZGZjkrL2x2L2lueUFGTVBhMGJaV1VSNlIya1JHSGJIQ0RsTE8xYlRDdmxubGNDamg0VFFUYmU1aVRSZVlZRTJFYVh1SDNVQWZORzllcGNHMEFFK2RBSjVQTVFMRHVGc3RqSVpueVpYQUpXempnV3JVcG85aGJsYUNQazAzZFFaQ3ViWDF1K0FZRDl3VnNWbzU0LzU2d3RBellKVHZSeWFpdTVwNnQ4QitTMmdYVUl5c0FnUGJOeHNkTUdEbWV0cE9jckZMSEdXckcyWlFHbW5iME04ZW0wU2dVTWVTVkVXUVFScXNPMXg4WktZT2N6RklES2ZnMlhscG85dUFiZnNhMjRhZ2NRVkNaRVNFY3h2SUZZVE54QmlPYzdCS0RzSHlic2k0cjlPR0xSSklkbHladXFtcGxHSDNyZGpWWEhPSUJIb2F3MkFPY2QwTWxKZ05wRXFKSUFra0lLTDBqNURqTWxjbE9scEZCN0VWWWpZT1p1dWplRmZjaWFWREZVbFdUYmRPZ2pTUzJIKzkwTXJVR01RakxBMzVmcEdPK1BPbUYwaVNMdmxWdmFxblA3OVI4VytKa0c0b25wVXlQSHlUNDI5TzZXRDNvNGp2MUp1ZjRLTWw2SjJOZlFMMXpvODkwa0tyZ0RiS29HMGp1NFVZSnpxVFpvd3ZHYmZyaDc2K2x6RVRXRE1Bdk1seXRJajRqOWQrQklRdm9TOVNrcmh1eUxoeEpqWnhWa3F3Y0NwbS9PNlZjcjIrbkxvQjJxL216UitwUE9ZK3pDNHA3NkZmZ1N5WmFlb2orUFVSTjRMaWc0QldVK3k5bEpaQkdWZzVGR2VERDdlbVJSYnpseUdoK3NSRVhiMlRaT0p4SnZmVnR3SGJ5MnoxSTZORHd0V3JmK3pSSytJMVdBQy9ZUkJvdmxVaGM1c3ZuUlNOWEN3NmNaU3QxTFdUNmQ0VUVSeWYzT0FXb3hsYzZGNVk4ZzNhaGxOMmRlM01zN0wwNnJaM251VytjWmROMXZaSTdORVAxY0xhaGlZbURFR0cwcnJENzExSEFXQ2t3a2NCQkJJSFVqMFVldkY1SGpqVERXOVloTHY0Rk1GYkI3by8vSklVQUFBQUFTVVZPUks1Q1lJSSJ9LCJzdGF0dXNSZXBvcnRzIjpbeyJzdGF0dXMiOiJGSURPX0NFUlRJRklFRF9MMSIsImVmZmVjdGl2ZURhdGUiOiIyMDIxLTEyLTEwIiwiY2VydGlmaWNhdGlvbkRlc2NyaXB0b3IiOiJIaWRlZXogS2V5IDQiLCJjZXJ0aWZpY2F0ZU51bWJlciI6IlUyRjEwMDAyMDIxMDQwOTAwMSIsImNlcnRpZmljYXRpb25Qb2xpY3lWZXJzaW9uIjoiMS4zIiwiY2VydGlmaWNhdGlvblJlcXVpcmVtZW50c1ZlcnNpb24iOiIxLjMifSx7InN0YXR1cyI6IkZJRE9fQ0VSVElGSUVEIiwiZWZmZWN0aXZlRGF0ZSI6IjIwMjEtMTItMTAifV0sInRpbWVPZkxhc3RTdGF0dXNDaGFuZ2UiOiIyMDIxLTA5LTEzIn0seyJhYWd1aWQiOiJhZWI2NTY5Yy1mOGZiLTQ5NTAtYWM2MC0yNGNhMmJiZTJlNTIiLCJtZXRhZGF0YVN0YXRlbWVudCI6eyJsZWdhbEhlYWRlciI6Imh0dHBzOi8vZmlkb2FsbGlhbmNlLm9yZy9tZXRhZGF0YS9tZXRhZGF0YS1zdGF0ZW1lbnQtbGVnYWwtaGVhZGVyLyIsImFhZ3VpZCI6ImFlYjY1NjljLWY4ZmItNDk1MC1hYzYwLTI0Y2EyYmJlMmU1MiIsImRlc2NyaXB0aW9uIjoiSElEIENyZXNjZW5kbyBDMjMwMCIsImF1dGhlbnRpY2F0b3JWZXJzaW9uIjozMCwicHJvdG9jb2xGYW1pbHkiOiJmaWRvMiIsInNjaGVtYSI6MywidXB2IjpbeyJtYWpvciI6MSwibWlub3IiOjB9XSwiYXV0aGVudGljYXRpb25BbGdvcml0aG1zIjpbInNlY3AyNTZyMV9lY2RzYV9zaGEyNTZfcmF3Il0sInB1YmxpY0tleUFsZ0FuZEVuY29kaW5ncyI6WyJjb3NlIl0sImF0dGVzdGF0aW9uVHlwZXMiOlsiYmFzaWNfZnVsbCJdLCJ1c2VyVmVyaWZpY2F0aW9uRGV0YWlscyI6W1t7InVzZXJWZXJpZmljYXRpb25NZXRob2QiOiJwcmVzZW5jZV9pbnRlcm5hbCJ9XSxbeyJ1c2VyVmVyaWZpY2F0aW9uTWV0aG9kIjoicGFzc2NvZGVfaW50ZXJuYWwifV1dLCJrZXlQcm90ZWN0aW9uIjpbImhhcmR3YXJlIiwic2VjdXJlX2VsZW1lbnQiXSwibWF0Y2hlclByb3RlY3Rpb24iOlsib25fY2hpcCJdLCJjcnlwdG9TdHJlbmd0aCI6MTI4LCJhdHRhY2htZW50SGludCI6WyJleHRlcm5hbCIsIndpcmVsZXNzIiwibmZjIl0sInRjRGlzcGxheSI6W10sImF0dGVzdGF0aW9uUm9vdENlcnRpZmljYXRlcyI6WyJNSUlEQ1RDQ0FxK2dBd0lCQWdJUVFBRnFVTlNlNVNXQUlMczhIMkRTMURBS0JnZ3Foa2pPUFFRREFqQnJNUXN3Q1FZRFZRUUdFd0pWVXpFVE1CRUdBMVVFQ2hNS1NFbEVJRWRzYjJKaGJERWlNQ0FHQTFVRUN4TVpRWFYwYUdWdWRHbGpZWFJ2Y2lCQmRIUmxjM1JoZEdsdmJqRWpNQ0VHQTFVRUF4TWFSa2xFVHlCQmRIUmxjM1JoZEdsdmJpQlNiMjkwSUVOQklERXdIaGNOTVRrd05ESTBNVGt6TVRFeVdoY05ORFF3TkRJM01Ua3pNVEV5V2pCbU1Rc3dDUVlEVlFRR0V3SlZVekVUTUJFR0ExVUVDaE1LU0VsRUlFZHNiMkpoYkRFaU1DQUdBMVVFQ3hNWlFYVjBhR1Z1ZEdsallYUnZjaUJCZEhSbGMzUmhkR2x2YmpFZU1Cd0dBMVVFQXhNVlJrbEVUeUJCZEhSbGMzUmhkR2x2YmlCRFFTQXhNRmt3RXdZSEtvWkl6ajBDQVFZSUtvWkl6ajBEQVFjRFFnQUVHaFNNTDdjdXBDeFRCQ3pzcmNpcHdnUG96M2R2VDNyQm4xemFrRHpCZzZVYzNIZEdLSnJWYnJEK3lYRjZZNFpxa3NVVTdyYlJpdnFPT3pLeGNKdlBGcU9DQVRnd2dnRTBNQklHQTFVZEV3RUIvd1FJTUFZQkFmOENBUUF3RGdZRFZSMFBBUUgvQkFRREFnR0dNSUdFQmdnckJnRUZCUWNCQVFSNE1IWXdMZ1lJS3dZQkJRVUhNQUdHSW1oMGRIQTZMeTlvYVdRdVptbGtieTV2WTNOd0xtbGtaVzUwY25WemRDNWpiMjB3UkFZSUt3WUJCUVVITUFLR09HaDBkSEE2THk5MllXeHBaR0YwYVc5dUxtbGtaVzUwY25WemRDNWpiMjB2Y205dmRITXZTRWxFUmtsRVQxSnZiM1JqWVRFdWNEZGpNQjhHQTFVZEl3UVlNQmFBRkIybTNpd1dTWUh2V1RIYkppSEF5S0RwK0NTak1FY0dBMVVkSHdSQU1ENHdQS0E2b0RpR05taDBkSEE2THk5MllXeHBaR0YwYVc5dUxtbGtaVzUwY25WemRDNWpiMjB2WTNKc0wwaEpSRVpKUkU5U2IyOTBZMkV4TG1OeWJEQWRCZ05WSFE0RUZnUVUzOGJRQU5XOWR5VkJrV2w1OUJsTkxEMDllL1F3Q2dZSUtvWkl6ajBFQXdJRFNBQXdSUUloQUlVcTd6dnBlZGZaUkh0R3J2Skp6ODJSOTlEK1NyN2JWN3lySERmQnM4djZBaUJhSVc1MGo4V0dWUjFYSFhhSW1OS2xsbVJ5TmxrOWtsWDhnVGtuT0V0RDhnPT0iXSwiaWNvbiI6ImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBVk1BQUFDc0NBWUFBQURHK0U4TUFBQUFJR05JVWswQUFIb2xBQUNBZ3dBQStmOEFBSURwQUFCMU1BQUE2bUFBQURxWUFBQVhiNUpmeFVZQUFBQUpjRWhaY3dBQUQyQUFBQTlnQVhwNFJZMEFBQXlnU1VSQlZIaGU3WjEvYkpUbEhjQnZqaGpOY0M0TytkWGVYVnRVVE16aVA3b1lYWlk1MUlrS2QxZk5uRkhqNW9oQm1BN2oyTVJzWm9sbXhoaE5Kb3J0MjRLZ3NpRnNpbTdUQWRNWVJGUUVGVGNWeHcvcndBRUZSQ2hRK3V1ZVBjLzFxUVAzVE5zKzMzdmV1K3ZuazN6UzQyZ2ZudmU5dDU4Kzc3M1hJd0VBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFVRXBrRzYvWFBwbklSUjhnSWg1dDQxcjljWWF0QmZ3UDlRM242eDIwVFp0UDFEY3BSTVRQTmRlVTE0dXVWdDJNcTIxRkJreHRNam1yTHBWcTBSODMxMVpYMzJydkxtTUtQMjMwanFtUDNEc05FZkh6ekVXN0V4Zk9HV21MOG9Xa2s4a2YxcVhTUFhYVnFhWEpVYVBPcUttcU9yTXVtZnByYlRMVm5VcWxMcmVmVmtaTW1QMTEvWk9sdzdsekVCRUhvam1yelVaVGJWMytMM1ZqeDA0d0lSMDlldlRKNDFLcEtkb2JqQ05Iamh3MWR1elk1TGgwamRLcjFMUHRwNWNCSnFTc1JoRlIwdDZnenJTVmNYR01EcW1xU1NZeit2WXdFODZhcXRTMXRkWHA2ODN0dWpGalVqVmprNVAxS3JXOTk5UExnVnpVNWR3WmlJZyttcUJlT3FmT2x1WW8wdW4wY1RxbVhmYVB3OHdLMWQ1TzZGUDh0MnJUNlZ2MHpTK2JzUGJlVytya29vK2NPd0VSVWNKY2RNRFc1aWlxcTZ1UEg1ZXE2VnQxRmxhbU9xSTc2MUkxMjA5SjEvUkY5a3ZsRWRQNmhtODdOeDRSVWRKc3d6MjJPcDlpWXFwWG81MzJqMlpsbWovcHBKTytxajkycDhlTU9kM2VmMHg1eERUWHRNKzU0WWlJa3VhaURsdWRJK2s5aFU4bmp0TzNDekUxZDQ0WU1XS012bjNRM0I0K2V2akorbmJmS3JXRTRYV2tpQmpLeTV2UHN1WDVsTHBVYW1adE1yM2YzSzZ0VHI1VHVGTlRsMHcrV3BOSzNhei9ycU8yT2ozTjNsMmlUSTZtT2pjWUViRVk1cHFldGZVNWlycnExRE8xeWRTQmNWV3BHK3hkaWJxcTVBeXpPdFgzTDdSM2xURDEwWExuQmlNaUZzTmNVK0hVM1VWeVZQSU1IZFdWcDlYV3FWTnJhdlA2OXZLcUVWV24ycjh1Y2Vxai9jNE5Sa1FzaHJtb2pGNHZPaENJS1NLRzFIMFJxZ0lncG9nWVVtS0tpQ2dnTVVWRUZKQ1lJaUlLU0V3UkVRVWtwb2lJQWhKVFJFUUJpU2tpb29ERUZCRlJRR0tLaUNnZ01VVkVGSkNZSWlJS1NFd1JFUVVrcG9pSUFoSlRRUzk3V0NVdWVFQWxMcHdkVnZOdjVpTDNuQWJyOXg1MC8xdkY5aUt0YXo0RE1hN0h3RHorcnZuMHg2eCsvT0tZZHpFMDIzR1JQbjdNTVhTcDNpZVRHOTNiWEdrU1V6bHZudnV5aW92anJwem5uTk9nMUFmL3VzMjc3TWhoMmZuSm9kNXZRTmU4K3FQK0pvNkxhZEVxOTV6NjRkZXVYV0JIcVF3NnUzdFVXM3VuMnJ4am4xcTlZYWRhc25xenVxbjVaWFh5TlF0VTR1S0hWQ0pUZ1lFbHBuS2FiNmE0cUpTWWZyVG5RTm5HOUlhSFgzTFBxUitlcUNNelZOaXovN0JhOGRaV2RlVjl6NnZFQkwyS3JaU3dFbE01aWFrL3hIUm8wZG5WbzU1ZDk2RWFmK01pdjZkSlNrRmlLaWN4OVllWURsM2VidG1qenB1MTFPL3hqMU5pS2ljeDlZZVl3aHRiZHFsVHB1cVZxcmtvNTloWEpTc3hsWk9ZK2tOTXd6UHJzVFhxenNWdnFMdVd2S0V5ZHk5VHVYdVdxMTh1ZkwxdzM3MUwxNnNWNjdjVkxpYUZwQ2VmVjQrKytFK1Z1R0MyYzMrVnBNUlVUbUxxRHpFTlQyTENiL1Vxc0ZFbE1nMy9uWk81S0ZTNFR6dEpQeDZYemxGVlV4YXFLWE5XcW8vYkR0dXZMRDY3MjlyVk4zNjZ4SVRxcVAxVmtoSlRPWW1wUDhRMFBJWFhoanJtNUZSSDdaakpEZXFPMzYrMVgxMTh1bnQ2MUMyUHJOYkg1Ukd4TDBXSnFaekUxQjlpR3A0QnhiUlBIYlpKZHkrekk0UmgvZ3Z2RjFiSXp2bVVnc1JVVG1McUR6RU56NkJpYXN3MHFoL3IwLzZRUFBucUIzN0hSekVscG5JU1UzK0lhWGdHSFZOak5sSi8vM0NQSFNrTVQ3L1dVcHBCSmFaeUVsTi9pR2w0dkdLcUhmK1R4WGFrY1B6eEZiMUNMYlhuVUltcG5NVFVIMklhSHQrWW1xaTl0MjJ2SFMwY1AxdndxbnMrY1VsTTVTU20vaERUOEhqSE5CZXA4MjUvMm80V2pudytyOFpQWCt5ZVV4d1NVem1KcVQvRU5EemVNZFYrNWFwSDdHaGgyWGV3UTJUK0loSlRPWW1wUDhRMFBDSXhtbVJPOVQreEk0YmxtVFV0aGRXeGMxNGhKYVp5RWxOL2lHbDRSR0thamRRdDgxNnhJNFpuK0ZXQ3gvOWdKYVp5RWxOL2lHbDRwRTZUejV5eHhJNFludmMvMnR2NzY2K09lUVdUbU1wSlRQMGhwdUdSaXVubzZ4KzNJOGJEaU9zZWRjNHJtTVJVVG1McUR6RU5qMVJNaDEzUmJFZU1CM1BNeHZyY0tUR1ZrNWo2UTB6REl4VlRjeEdxcTd2YmpocWVydTRldVcwWmpNUlVUbUxxRHpFTmoxaUE5SEd6ZGxPckhUVWVicDBmNHd2NWlhbWN4TlFmWWhvZXNaaG1HdFhDbFJ2dHFQR3diYmMrZnVKNmgzNWlLaWN4OVllWWhrY3NwanBpdHoyMnhvNGFEKzBkWFNveE1hYTM2U09tY2hKVGY0aHBlQ1JqR3VkclRmdUk3YW8rTVpVenpwaCs1MWQvVXVmT2VsckViLzc4S2JVaGhqZXVNQkRUOElqRk5LYmYwZjhzdHoyK3hqMi9Za3RNNVl3enBwVUNNUTJQV0V5MTU5eTIxSTRhSDZ2ZTNlNmNXOUVscG5JU1UzK0lhWGdxTGFaYjQ3b0lSVXpsSktiK0VOUHdWRnBNdCs4OTJQdS9xanJtVjFTSnFaekUxQjlpR3A1S2krbXVmZTBxbG5maEo2WnlFbE4vaUdsNEtpMm1oZmM0dmN6akdCcXN4RlJPWXVvUE1RMVB4WjNtZjh4cHZpekV0Q3docHVHcHRKanUySHVJbUlwQ1RNc1NZaHFlU292cEJ6djNtN0E1NTFkVWlhbWNjY2JVdk1IRTYwS3UyYmhUSFdqdnNpT0hoWmlHcDlKaXVtVDFadWZjaWk0eGxUUE9tQjVyZmhLYko5MGx2UGdoOWZyR2VONzloNWlHUnl5bUpmSWJVUFgzTEhmUHI5Z1NVem5qakNtL20yOGxwZ05HTEtZbDhydjVzWnppRzRtcG5NVFVIMklhSHNtWVRvLzV1c0grUTUyOVoxZXUrUlZiWWlvbk1mV0htSVpITEthWlJyWG9wVTEyMUhoWTM3S2JsYWs0eEhUd0V0TkJRVXdiMVlyMTIreW84WEQyektYdXVZV1FtTXBKVFAwaHB1RVJpK25rQnRYNnlTRTdhbmphMnZVcC9pVXh2VEcwa1pqS1NVejlJYWJoa1h6T05FNmVXTFhKUGE5UUVsTTVpYWsveERROFVqRTk4WnI1ZHNUdzlQVGs0M25idlNNbHBuSVNVMytJYVhpa1lucnE5Q2ZzaU9INXk3cC9tWmc1NXhWTVlpb25NZldIbUlaSEpLWTZaSmZjK1p3ZE1TeUhPN3YxTVJQamM2VjlFbE01aWFrL3hEUThJakhOTktvbHE3ZllFY015clhHVmUwNmhKYVp5RWxOL2lHbDRSR0lhMDhXblRkdjN4ZmNpL2M5S1RPVWtwdjRRMC9CSXhIVDh0RVYydEhDMGQralRlMzJzdXVZVGk4UlVUbUxxRHpFTmozZE05U24rM09jMzJOSENZSzdlbnpYelNmZDg0cEtZeWtsTS9TR200ZkdONmZBZnpMTWpoV1BHdkplZGM0bFZZaW9uTWZXSG1JYkhLNmFURzlUY3Y0VmRsZDYrY0kwSmwzcytjVXBNNVNTbS9oRFQ4QXc2cHRsSW5YL0huKzBvWWJpcGVWVTgveVZKZnlTbWNoSlRmNGhwZUFZVjAweURPdmYyWit3SXhhZTdKNjkrTlB2RjBseVI5a2xNNVNTbS9oRFQ4UFE3cGlaaytyVGVIR3YzUHJYZWZuWHhPZGplcWNaTlhlU2VVeWxKVE9Va3B2NFEwL0Frdm5WLzc3c3RmZGFKRDZsaFZ6U3JFNitlcjA2L2FiSEszTDFjL1NId0MvT1h2Ym0xTUEvWFBpczVpYW1jeE5RZllncUdnNGM3MVZYM1AxOVlDYnYyVjBsS1RPVWtwdjRRMDZGTlIxZTNlbmpadXlyeDNRZWMrNm1rSmFaeUVsTi9pT25RcEwyelN6V3QyTkI3U2wvS0Y1aytUMklxSnpIMWg1Z09IZkw1dkhxN1pZK2FNbWVsU2x5Z1Y2TGxHdEUraWFtY3hOUWZZbHJaZk54MldLMTZiNGU2MGJ6VFU3WlJKU1o1UE5hbEpqR1ZjOUp2bHFubGIyNHRYSUVNNmNwMy9xMk8vZjVjNTV3R1phWlJQZmpzUDV6L1ZySDkzY3FOK2h2TTQ2TER4RG5xcFhlM084Y3VwaXZlMnFZdXVlczU5NXo2NFFsWHoxZTc5N2VybHRhMml2RE5MYnZWMmsydGhYM3o2eWZXcW9sM1BxZE9NRC93TDlhbjhmcUh0V3NmbEwzRUZMRUVOS2U0NXVWSVpsVmU3cHJ0TUZmaHkrbEt2SVRFRkJGUlFHS0tpQ2dnTVVWRUZKQ1lJaUlLU0V3UkVRVWtwb2lJQWhKVFJFUUJpU2tpb29ERUZCRlJRR0tLaUNnZ01VVkVGSkNZSWlJS1NFd1JFUVVrcG9pSUFoSlRSRVFCS3phbXVhalZ1Y0dJaU1YeG9LMVBoWkZ0YUhKc0xDSmljY3hGdTJ4OUtvd3Jtc2M3TnhnUnNSaG1vbC9ZK2xRZzVqa00xMFlqSWtxYWkvSzJPaFZLcnVrRjU0WWpJa3FhaTNiWTZsUXd1YWpidWZHSWlCTG10T2ZjZDd3dFRnV1RpNlk3ZHdBaW9vUzVhSm10elJDZ1Buck51Uk1RRVgzTVJxMjJNa09JYk9ORzU4NUFSQnlNdWFZS2ZTbFVmOGhGaS9RT3lPdVZxbnZuSUNKK2tlYktmWDNUV2x1VklVdzJPazJ2VWx1SktpSU8yRnkwTjVGdHVzN1dCQXFZcU5aSDYvVEhmVHFzblluNlpyMnpFQkdQMEt4Q3MxR2Jic1NXUktaaGdxMEhBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFFQnBrVWo4QjRBb20rTWJUKzNKQUFBQUFFbEZUa1N1UW1DQyIsInN1cHBvcnRlZEV4dGVuc2lvbnMiOlt7ImlkIjoiaG1hYy1zZWNyZXQiLCJmYWlsX2lmX3Vua25vd24iOmZhbHNlfV0sImF1dGhlbnRpY2F0b3JHZXRJbmZvIjp7InZlcnNpb25zIjpbIlUyRl9WMiIsIkZJRE9fMl8wIl0sImV4dGVuc2lvbnMiOlsiaG1hYy1zZWNyZXQiXSwiYWFndWlkIjoiYWViNjU2OWNmOGZiNDk1MGFjNjAyNGNhMmJiZTJlNTIiLCJvcHRpb25zIjp7InJrIjp0cnVlLCJjbGllbnRQaW4iOnRydWV9LCJwaW5VdkF1dGhQcm90b2NvbHMiOlsxXX19LCJzdGF0dXNSZXBvcnRzIjpbeyJzdGF0dXMiOiJOT1RfRklET19DRVJUSUZJRUQiLCJlZmZlY3RpdmVEYXRlIjoiMjAxOS0wNy0xNiJ9LHsic3RhdHVzIjoiRklET19DRVJUSUZJRURfTDEiLCJlZmZlY3RpdmVEYXRlIjoiMjAxOS0wOS0yNyIsImNlcnRpZmljYXRpb25EZXNjcmlwdG9yIjoiSElEIENyZXNjZW5kbyBDMjMwMCIsImNlcnRpZmljYXRlTnVtYmVyIjoiRklETzIwMDIwMTkwODIxMDAxIiwiY2VydGlmaWNhdGlvblBvbGljeVZlcnNpb24iOiIxLjMuNiIsImNlcnRpZmljYXRpb25SZXF1aXJlbWVudHNWZXJzaW9uIjoiMS4zIn1dLCJ0aW1lT2ZMYXN0U3RhdHVzQ2hhbmdlIjoiMjAxOS0wOS0yNyJ9LHsiYWFpZCI6IjRlNGUjNDAwYSIsIm1ldGFkYXRhU3RhdGVtZW50Ijp7ImxlZ2FsSGVhZGVyIjoiaHR0cHM6Ly9maWRvYWxsaWFuY2Uub3JnL21ldGFkYXRhL21ldGFkYXRhLXN0YXRlbWVudC1sZWdhbC1oZWFkZXIvIiwiYWFpZCI6IjRlNGUjNDAwYSIsImRlc2NyaXB0aW9uIjoiVG91Y2ggSUQgb3IgRmFjZSBJRCIsImF1dGhlbnRpY2F0b3JWZXJzaW9uIjoyNTYsInByb3RvY29sRmFtaWx5IjoidWFmIiwic2NoZW1hIjozLCJ1cHYiOlt7Im1ham9yIjoxLCJtaW5vciI6MX0seyJtYWpvciI6MSwibWlub3IiOjB9XSwiYXV0aGVudGljYXRpb25BbGdvcml0aG1zIjpbInNlY3AyNTZyMV9lY2RzYV9zaGEyNTZfcmF3Il0sInB1YmxpY0tleUFsZ0FuZEVuY29kaW5ncyI6WyJlY2NfeDk2Ml9yYXciXSwiYXR0ZXN0YXRpb25UeXBlcyI6WyJiYXNpY19zdXJyb2dhdGUiXSwidXNlclZlcmlmaWNhdGlvbkRldGFpbHMiOltbeyJ1c2VyVmVyaWZpY2F0aW9uTWV0aG9kIjoiZmFjZXByaW50X2ludGVybmFsIn1dLFt7InVzZXJWZXJpZmljYXRpb25NZXRob2QiOiJmaW5nZXJwcmludF9pbnRlcm5hbCIsImJhRGVzYyI6eyJzZWxmQXR0ZXN0ZWRGUlIiOjAuMCwic2VsZkF0dGVzdGVkRkFSIjowLjAsIm1heFRlbXBsYXRlcyI6MCwibWF4UmV0cmllcyI6NSwiYmxvY2tTbG93ZG93biI6MH19XV0sImtleVByb3RlY3Rpb24iOlsiaGFyZHdhcmUiXSwibWF0Y2hlclByb3RlY3Rpb24iOlsib25fY2hpcCJdLCJhdHRhY2htZW50SGludCI6WyJpbnRlcm5hbCJdLCJ0Y0Rpc3BsYXkiOlsiYW55Il0sInRjRGlzcGxheUNvbnRlbnRUeXBlIjoidGV4dC9wbGFpbiIsImF0dGVzdGF0aW9uUm9vdENlcnRpZmljYXRlcyI6W10sImljb24iOiJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUVnQUFBQklDQVlBQUFCVjdiTkhBQUFBQVhOU1IwSUFyczRjNlFBQUFCeHBSRTlVQUFBQUFnQUFBQUFBQUFBa0FBQUFLQUFBQUNRQUFBQWtBQUFGSmJ1SjJFa0FBQVR4U1VSQlZIZ0I3Sll4YmlOSEVFVUZKMTRZQzVqSkFnc25Ic09PSFBFQUMyaHlCK0lOTktFek1uU211Y0JpZVFQeUJtTGduTHlCZUFQU0oxamVnSDZmNmhxVXk5UGFYZzBKTytBQVg5MWRWVjM5LzUvbVFEZkg0L0htaXJ3SFYzTytjRUd1QmwwTnl2OThTajR0MXh0MHZVSFhHM1RSWDhHZzVqY0RuNTkvckw0REg4QU1iQnhXekZ2d0czZy84SmhoR2tzK1ZMbWExeEpIOUFUSWhHTWhaRjd6MnZOeS9Fdml3OXo5U3NhSXJNRyswSlErODdSMzhwWEhEdE5ZNG1LdXBwUW9va1pnSG94WnMvNEVwdUQyQlNpdk90V2JhYnA5bzlMemMveEw0c1BjTFdDSWtBcHN3V2Nnb2JkOTI0aXJybllZeHpweU12b09MTUJmNEY4MWNZL1dKVWJrYW9adDdtUGpZaElBL2dSM0xuekRXbWJNd0Fyc2dkMk12bEg1RFdoQlp3aHptZlU3K05YMzdwdm54SmZFTDJZUXhOK0REMGFZdVFUSmxDM29NNkkwZG1EL0hGU3U5enViOTQwbFJ1UnFMbUlRNUw4MW9oSUM5UFlsck5TRTBqcmRyRnBuTVg1alo4WXhKNzRrZmhHRGpDQ2taeUJuekk3Y0FrekJMYWhzbjQwcHJtK092bDFQSUdmY2l0d1B0aStPSlVia2FpNWlFR1RIWU5zajZETXhpZTIrSlZITVMydjI2VFpPZ2N5Tlp1bEY5UGJOaVMrSm45MGdTT28vWTVIMUFtVE1BeGg1QTdRR05aaUJGc3pCQnF6U1dyRUpxUHcrelluZGd4MDRCdndVYTB1TXlOV2MxU0NJeXB4SStKRllaYVNaajBBRFpFU3NmV205cDM0SmF1dWxrYlZ1bEY2QTdkMzR2T1k1OFNYeFlac2RFd2krZFNSRlZxUWJWeUl4TFRnQUUvUGFjZTk3TTYvQWsrdGIrM05Mak1qVm5OT2dwU01vYzdydmdlWmc2L0xSbURVNTRjSGhNY1hVNjVpQmpPck1ZUDRwMVczK1Z3WkI2dnRFVEVJa3lKdlRzSTYzUmpVTDBQdGZ0UmVudWZxQktYZ0NmV2JOaVorK2I0dzZUelcxOWNuZGpwTDRXVzRRWkdhSlZKODVVWkNNK2NmSDJvUm9sRENEajl1Y25NeGFnOWgzUzh5YnRMUTlKVWJrYXM1bGtNaUpjR09rTkU4eEV5THphc3RyWkQxS2RTdkdQYkJhUHg2SUs2OStuYkhNYTdBRHNYYWNlbmYxT2ZFbDhjRUdRWENjU0Q2YWVOWWk1NG5IbTFXUlg0WWFYNStieXl6dHE1SUpJK2FMMEVjMVp0SXZxaXN4SWxjemJET0hRMllHOUcydzZ6MW03Z1ZHYzFRdkViN21OZk5XNHZYUTZ5SDAyN1B1Ymx0T2ZFbjhIQWJOalF5anpQSGlvemw2KzlFTTFTekFIVGk5K1dmWkorRlZpaXV2dXJoM1E4eGVUQlB5Ryt0VFlrU3VackJCUmtKRXdUYVE3QVFUbHhndlVJTHZRZmVtbWN2Z0dXZ1RhdXV2a1pqcW8xRTYwMHhhTVBkbnROcVhFMThTSDdaWnA2Y0hZdEdjeHVXV2dmaWppVklOOHduWWh4b3ZWUHVyVkR0aXJ2MCs3MDFhaDl6YkVpTnlOV2N4Q0VMUmdGWmk5SkNiQmNLTDU4enozNTY5WG5pY3oyMHYrNmFoNzBZNVlqTFEzN0ltSjc0a1BzZ2dpTHdCSytDRmRBWVFiMEx1aWJYOUhDUmtHL0xxbzVwMWdoZHFaMmlQOVlqOVR3YVM5L0ZOaVJHNW1xRUdmWVNNRWRmb3pSbUgzSmZNVVg1c044UkdZdmRnRjNwNWt4WWhkK3BCYkozaS82bEJHMGN1bW5Od09kMkVUanh6Q1R3NitMMFY4U1ZRN3puUWVnU2lFVnRub3N5MWZxYzQ2N0hGY3JlakpENzBCa21FaUQwNHNpSjJNSEtNMFJ5Sk56RWF2VGx0eUZsZG8vNnFEZmw1aW5kbXBMelZyN1V1TVNKWE05U2dQeUJRaWFRZTVnM3c1a2hnYzBvKzU1ZXNUYlJHYjA3TSticXVqL2FFSHJYNkUvUDc5eWxXcXpZbnZpUSt5Q0NSc0FjaTgwQmNOMmZpOGw1QU5LY05lL1dUZVFDN0VCK3JIN0crbjFRVmFrOW5xN2JFaUZ6TjN3QUFBUC8vWDlMbFB3QUFCUE5KUkVGVTdWcTdqaU5WRkJ3a0pCQ3N0QjBRRWV5MklHU0R6cGFNRHNuV01jbDJTTENTSFJCc052NEF4RGdpUW5ML3dYUkFQaTN4QVRiOGdQMEgyMzh3VkxWUG1kb3J6NE54MEczSlY2bzU5OVk1NS9wVXpaMVphVFVYdDdlM0YwL0ZCZGEzTC9NQ1dBTzNoZy9rbWVmQ2ZtWTUxcTJBTEhMVlBia3NhblgzbG4xQWtmUlVjVmR0ZkJQYzdLbjYyUGRrYzlpTVlkN1pRQkpCOFRtSDQ4TGVoMDdOb2RETzd0Z2J0K3ZlZndOb3VPNWZITGgzRzF4cVhJNitmRWlEV2h1Y0FxNkEvbVVjRVBHUU9UU0JnaVlBN3lYbVFCVlJCakhtQWVjbThaazBXZnlNM0pBR05USE1CckhrTUZ6WVowQWJPUTNMd1h2ekVQbWQ3cEo4R2IycXZ5L1dVVnZiSFUxd00rTmFja01hOUI3RFhISUlMWnhMSUJYdjVsUUg4cFgxOHlYZFo0NXllWHlXem93WlVDVDl6NFkwNkRNVHhvR2JaRGdPdlFUMGNtaU9DNklaRTkzQmlEUHZtUUtYd0JXd0FieEgrMFhVZTc2L0srbDVQWmhCSnFqR1VPbXJvWkFwYTdpd1o0M0VNZEtjWXBlOS95dnFTbUFGZVArV1hlRDhYcG5tWERtWVFSanV5MlJvQ2FDWVhqeGlEcXlUdW8vTVFXNENVRlJyNEd1c2dFejJZYjhFOUJuNE43ZzNpRFhpMXNITmpDc0dNeWlHMmRnd0ZQNldQQmYySExTelBJWFF2RjQwWWdsc0FRbThLeTZzWnhuMXEvaU0zUHVENDcyNkt4dmFJQTYvQWR3WUR0amFrQnIyaWdLNGtHT2YrTWZFTmVyN1Y3bTc0Yit2eVQxOVRYQzlpVU1iOUZ5allxaTdqT0hMbWxoZG5ZanFEUWFYc3dZeEE5NEFTOERONjVqVFBZcmcrQ3BWVjVJUGJzSDlvQWJGTUQ5aElINkhOYVRISmZpOUtPeFRjL2F2aW5lbEMvVWxRSU4xWjN1Z3ByVjh5VHpPNUFydXgyQlFiUU5LeUEyNGtnTnlZYzlYd2FHVlo2ejY1QzVmNGR4RURlUEVjZ1hPYnRLK2p6WFJvM3Rud2ZXUit6RVlWR0pJRFhpTmZjbkJ0SENlQUozVjdNMEJsd0dwY2JxcllaNzNJUElPOFZ2ZEhUbnZud2RYTW5JTmJoQ0h3UEMvQURuM1dqaVhnQTlQZ1h3SkZXc1FhYzRha1BCRHNXWXRGK3B1ck5aZm1IOUdGYlhQR0xsR1lkQnVsRjVFQVJFTFlHdGlKSHdGcm1BdFltb09qWnNDZVVUMU1KYlJVMkV2ZmtHT0MxeHJmTm1UOW1VMEJtSElmMnhRQ1dIc3hXdG1uR25pMm1xWjc0MnptcG5sRy9JNDU4YTFWcnMxdmhTdk9DYURTaHVVeG13QXZvcE13MkkvQVRwQUJ1N05BY2QrcjJXdXI3Tis5WFVIT09ZK0Y2ODRHb000RUFiOERiZ0NDZzBZUE1XM2dBUXl1amwxNUZ5NDErZHh6NzdmN2hYM043bDBqY29nSHc2Q0M0QS9LdXNRTHlHTUt5Qm5QU0pyUE5lL0luQnVVSVl6b2JvMmV1Zkd2U0tYcnRFWmhJRmZBVnNiWEtJWStXcW1Fb0Y5bGRUTm1RUG5abndJYm1LMVRYRHI0Qlk4SDFxak00aERZdWhVK0FiY0pkQy9qcWlaaFRnYVJ5d2xFUHU1NWVxb3I0MWpieDduYS9VZGlxTTBLQVQ5REFIOGZmVEdCOGM1QXhwQXhxVG1GRW11ako3T2VKb3pCL2lqdWpmZFAwZjcwUnFrQVJVcEpFUzUwTlFjMW13Qm1kZS9EcHdYeGpYWXMrNVBSdDEvVnh5OVFSRHhBdmdkNkFBSlY1eEtHSElVdmJhYVRYQ0ZjZXpqaS9wUmZRL0YwUnRFQVJDVUF6ZUFqT0UrbHpqc2FVSm5lZjR5SjVjQmErTi94ZjRMOVQwbW5vUkJFZ0p4cjRIdmRXYkVlUWJJT0VZM3A0MGN1ZWszTDE1KzRyMlAyWitVUVM0SWdyOEMvZ2dEWk5BR1o3MmN2N0MvQnQ0Q3o3MzMvK3hQMWlDSmhIaitHUDBBZkFkOEd2aGErV1BqWUFZZDg4R24wbnZVLzVXY2lzaGo1andiOU1DZi81d05PaHYwOUQ4UTQ0L20rUVdkWDlCeEwraGZVd1RZeVJDYXJaOEFBQUFBU1VWT1JLNUNZSUk9In0sInN0YXR1c1JlcG9ydHMiOlt7InN0YXR1cyI6Ik5PVF9GSURPX0NFUlRJRklFRCIsImVmZmVjdGl2ZURhdGUiOiIyMDE4LTA1LTE5In1dLCJ0aW1lT2ZMYXN0U3RhdHVzQ2hhbmdlIjoiMjAxOC0wNS0xOSJ9LHsiYWFndWlkIjoiOWYwZDgxNTAtYmFhNS00YzAwLTkyOTktYWQ2MmM4YmI0ZTg3IiwibWV0YWRhdGFTdGF0ZW1lbnQiOnsibGVnYWxIZWFkZXIiOiJodHRwczovL2ZpZG9hbGxpYW5jZS5vcmcvbWV0YWRhdGEvbWV0YWRhdGEtc3RhdGVtZW50LWxlZ2FsLWhlYWRlci8iLCJhYWd1aWQiOiI5ZjBkODE1MC1iYWE1LTRjMDAtOTI5OS1hZDYyYzhiYjRlODciLCJkZXNjcmlwdGlvbiI6IkdvVHJ1c3QgSWRlbSBDYXJkIEZJRE8yIEF1dGhlbnRpY2F0b3IiLCJhdXRoZW50aWNhdG9yVmVyc2lvbiI6MiwicHJvdG9jb2xGYW1pbHkiOiJmaWRvMiIsInNjaGVtYSI6MywidXB2IjpbeyJtYWpvciI6MSwibWlub3IiOjB9XSwiYXV0aGVudGljYXRpb25BbGdvcml0aG1zIjpbInNlY3AyNTZyMV9lY2RzYV9zaGEyNTZfcmF3Il0sInB1YmxpY0tleUFsZ0FuZEVuY29kaW5ncyI6WyJjb3NlIl0sImF0dGVzdGF0aW9uVHlwZXMiOlsiYmFzaWNfZnVsbCJdLCJ1c2VyVmVyaWZpY2F0aW9uRGV0YWlscyI6W1t7InVzZXJWZXJpZmljYXRpb25NZXRob2QiOiJwYXNzY29kZV9pbnRlcm5hbCIsImNhRGVzYyI6eyJiYXNlIjoxMCwibWluTGVuZ3RoIjo0LCJtYXhSZXRyaWVzIjo4LCJibG9ja1Nsb3dkb3duIjowfX1dLFt7InVzZXJWZXJpZmljYXRpb25NZXRob2QiOiJwcmVzZW5jZV9pbnRlcm5hbCJ9XV0sImtleVByb3RlY3Rpb24iOlsiaGFyZHdhcmUiLCJzZWN1cmVfZWxlbWVudCJdLCJtYXRjaGVyUHJvdGVjdGlvbiI6WyJvbl9jaGlwIl0sImNyeXB0b1N0cmVuZ3RoIjoxMjgsImF0dGFjaG1lbnRIaW50IjpbImV4dGVybmFsIl0sInRjRGlzcGxheSI6W10sImF0dGVzdGF0aW9uUm9vdENlcnRpZmljYXRlcyI6WyJNSUlCcURDQ0FVK2dBd0lCQWdJQkFUQUtCZ2dxaGtqT1BRUURBakE3TVNBd0hnWURWUVFEREJkSGIxUnlkWE4wSUVaSlJFOHlJRkp2YjNRZ1EwRWdNakVYTUJVR0ExVUVDZ3dPUjI5VWNuVnpkRWxFSUVsdVl5NHdJQmNOTWpFd016QXlNRFl5TXpFM1doZ1BNakExTVRBeU1qTXdOakl6TVRkYU1Ec3hJREFlQmdOVkJBTU1GMGR2VkhKMWMzUWdSa2xFVHpJZ1VtOXZkQ0JEUVNBeU1SY3dGUVlEVlFRS0RBNUhiMVJ5ZFhOMFNVUWdTVzVqTGpCWk1CTUdCeXFHU000OUFnRUdDQ3FHU000OUF3RUhBMElBQkE3Nlp5RzNlK0Rab1cvS3ZNMzZYSkFKNkJMOWtYTU5qRXY0cUdJRDVsQThaOHVSZU0xWWZNaW81bkVITFUyU1pMUTNxWFJSdnhHTjRJK0g1KzZmVncyalFqQkFNQThHQTFVZEV3UUlNQVlCQWY4Q0FRQXdEZ1lEVlIwUEFRSC9CQVFEQWdFR01CMEdBMVVkRGdRV0JCUnMrVWttTTV4VWs2L3o1UU50V0IyNmk0dzc3REFLQmdncWhrak9QUVFEQWdOSEFEQkVBaUJBK0lYNUYvODdXL2VtWmtpSlRIcXJpTEZaT2E3OTd6c0UvMEtQN0FVNVFnSWdCNjR4RnFQU0JDNEtpMVVyck5YOVYydGhiKzQ1UmJ0U1ZtaTY2V1YrZ2xFPSIsIk1JSUJ6akNDQVhPZ0F3SUJBZ0lKQU1oVi92UVl1NEtBTUFvR0NDcUdTTTQ5QkFNQ01Ec3hJREFlQmdOVkJBTU1GMGR2VkhKMWMzUWdSa2xFVHpJZ1VtOXZkQ0JEUVNBeU1SY3dGUVlEVlFRS0RBNUhiMVJ5ZFhOMFNVUWdTVzVqTGpBZUZ3MHhPVEV5TURRd056QXpNREZhRncwME9URXhNall3TnpBek1ERmFNRHN4SURBZUJnTlZCQU1NRjBkdlZISjFjM1FnUmtsRVR6SWdVbTl2ZENCRFFTQXlNUmN3RlFZRFZRUUtEQTVIYjFSeWRYTjBTVVFnU1c1akxqQlpNQk1HQnlxR1NNNDlBZ0VHQ0NxR1NNNDlBd0VIQTBJQUJKSGdLOWZOcU5FV0lZVHNaL2dOaTE3enBFcks3RkMxWW8rRnpxUlZNWUdVSmdBSjl2ZzMxaVRDSjFWWXhiQUtNUWJsTEdrVm4vZGZQNzNnZVRLZWQ5T2pZREJlTUF3R0ExVWRFd0VCL3dRQ01BQXdEZ1lEVlIwUEFRSC9CQVFEQWdFR01CMEdBMVVkRGdRV0JCUmdMWFdkV2VyMWtTR3BwZ1BsaVppMUhzWVBoREFmQmdOVkhTTUVHREFXZ0JSZ0xYV2RXZXIxa1NHcHBnUGxpWmkxSHNZUGhEQUtCZ2dxaGtqT1BRUURBZ05KQURCR0FpRUF1anJLV1p3K1MwVGZHMWJKSmNzcW1HdTVXTGJCMkVnb3JEMmhBMnE2Qm9JQ0lRQ2l5eG52QW42TWkrRGRSbnczU1FHUVpvTEtGS3dIcjRYR05JTzVwQUhBSEE9PSJdLCJpY29uIjoiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDQUFBQUFqQ0FZQUFBRDE3Z2hhQUFBQUJHZEJUVUVBQUxHT2ZQdFJrd0FBQUNCalNGSk5BQUNIRHdBQWpBOEFBUDFTQUFDQlFBQUFmWGtBQU9tTEFBQTg1UUFBR2N4elBJVjNBQUFLTDJsRFExQkpRME1nVUhKdlptbHNaUUFBU01lZGxuZFVWTmNXaDgrOWQzcWh6VERTR1hxVExqQ0E5QzRnSFFSUkdHWUdHTW9Bd3d4TmJJaW9RRVFSRVFGRmtLQ0FBYU9oU0t5SVlpRW9xR0FQU0JCUVlqQ0txS2hrUnRaS2ZIbDU3K1hsOThlOTM5cG43M1AzMlh1ZnRTNEFKRThmTGk4RmxnSWdtU2ZnQjNvNDAxZUZSOUN4L1FBR2VJQUJwZ0F3V2VtcHZrSHV3VUFrTHpjWGVycklDZnlMM2d3QlNQeStaZWpwVDZlRC8wL1NyRlMrQUFESVg4VG1iRTQ2UzhUNUlrN0tGS1NLN1RNaXBzWWtpaGxHaVprdlNsREVjbUtPVytTbG4zMFcyVkhNN0dRZVc4VGluRlBaeVd3eDk0aDRlNGFRSTJMRVI4UUZHVnhPcG9odmkxZ3pTWmpNRmZGYmNXd3loNWtPQUlva3RnczRySGdSbTRpWXhBOE9kQkh4Y2dCd3BMZ3ZPT1lMRm5DeUJPSkR1YVNrWnZPNWNmRUN1aTVMajI1cWJjMmdlM0l5a3pnQ2dhRS9rNVhJNUxQcExpbkpxVXhlTmdDTFovNHNHWEZ0NmFJaVc1cGFXMW9hbWhtWmZsR28vN3I0TnlYdTdTSzlDdmpjTTRqVzk0ZnRyL3hTNmdCZ3pJcHFzK3NQVzh4K0FEcTJBaUIzL3crYjVpRUFKRVY5YTcveHhYbG80bm1KRndoU2JZeU5Nek16amJnY2xwRzRvTC9yZnpyOERYM3hQU1B4ZHIrWGgrN0tpV1VLa3dSMGNkMVlLVWtwUWo0OVBaWEo0dEFOL3p6RS96andyL05ZR3NpSjVmQTVQRkZFcUdqS3VMdzRVYnQ1Yks2QW04S2pjM24vcVluL01PeFBXcHhya1NqMW53QTF5Z2hJM2FBQzVPYytnS0lRQVJKNVVOejEzL3ZtZ3c4RjRwc1hwanF4T1BlZkJmMzdybkNKK0pIT2pmc2M1eElZVEdjSitSbUxhK0pyQ2RDQUFDUUJGY2dERmFBQmRJRWhNQU5Xd0JZNEFqZXdBdmlCWUJBTzFnSVdpQWZKZ0E4eVFTN1lEQXBBRWRnRjlvSktVQVBxUVNOb0FTZEFCemdOTG9ETDREcTRDZTZBQjJBRWpJUG5ZQWE4QWZNUUJHRWhNa1NCNUNGVlNBc3lnTXdnQm1RUHVVRStVQ0FVRGtWRGNSQVBFa0s1MEJhb0NDcUZLcUZhcUJINkZqb0ZYWUN1UWdQUVBXZ1Vtb0oraGQ3RENFeUNxYkF5ckEwYnd3ellDZmFHZytFMWNCeWNCdWZBK2ZCT3VBS3VnNC9CN2ZBRitEcDhCeDZCbjhPekNFQ0lDQTFSUXd3UkJ1S0MrQ0VSU0N6Q1J6WWdoVWc1VW9lMElGMUlMM0lMR1VHbWtYY29ESXFDb3FNTVViWW9UMVFJaW9WS1EyMUFGYU1xVVVkUjdhZ2UxQzNVS0dvRzlRbE5SaXVoRGRBMmFDLzBLblFjT2hOZGdDNUhONkRiMEpmUWQ5RGo2RGNZRElhRzBjRllZVHd4NFpnRXpEcE1NZVlBcGhWekhqT0FHY1BNWXJGWWVhd0IxZzdyaDJWaUJkZ0M3SDdzTWV3NTdDQjJIUHNXUjhTcDRzeHc3cmdJSEErWGh5dkhOZUhPNGdaeEU3aDV2QlJlQzIrRDk4T3o4ZG40RW53OXZndC9BeitPbnlkSUUzUUlkb1JnUWdKaE02R0MwRUs0UkhoSWVFVWtFdFdKMXNRQUlwZTRpVmhCUEU2OFFod2x2aVBKa1BSSkxxUklrcEMwazNTRWRKNTBqL1NLVENacmt4M0pFV1FCZVNlNWtYeVIvSmo4Vm9JaVlTVGhKY0dXMkNoUkpkRXVNU2p4UWhJdnFTWHBKTGxXTWtleVhQS2s1QTNKYVNtOGxMYVVpeFJUYW9OVWxkUXBxV0dwV1dtS3RLbTBuM1N5ZExGMGsvUlY2VWtackl5MmpKc01XeVpmNXJETVJaa3hDa0xSb0xoUVdKUXRsSHJLSmNvNEZVUFZvWHBSRTZoRjFHK28vZFFaV1JuWlpiS2hzbG15VmJKblpFZG9DRTJiNWtWTG9wWFFUdENHYU8rWEtDOXhXc0pac21OSnk1TEJKWE55aW5LT2NoeTVRcmxXdVR0eTcrWHA4bTd5aWZLNzVUdmtIeW1nRlBRVkFoUXlGUTRxWEZLWVZxUXEyaXF5RkFzVlR5amVWNEtWOUpVQ2xkWXBIVmJxVTVwVlZsSDJVRTVWM3E5OFVYbGFoYWJpcUpLZ1VxWnlWbVZLbGFKcXI4cFZMVk05cC9xTUxrdDNvaWZSSytnOTlCazFKVFZQTmFGYXJWcS8ycnk2am5xSWVwNTZxL29qRFlJR1F5TldvMHlqVzJOR1UxWFRWek5YczFuenZoWmVpNkVWcjdWUHExZHJUbHRITzB4N20zYUg5cVNPbkk2WFRvNU9zODVEWGJLdWcyNmFicDN1YlQyTUhrTXZVZStBM2sxOVdOOUNQMTYvU3YrR0FXeGdhY0ExT0dBd3NCUzkxSG9wYjJuZDBtRkRrcUdUWVlaaHMrR29FYzNJeHlqUHFNUG9oYkdtY1lUeGJ1TmU0MDhtRmlaSkp2VW1EMHhsVEZlWTVwbDJtZjVxcG0vR01xc3l1MjFPTm5jMzMyamVhZjV5bWNFeXpyS0R5KzVhVUN4OExiWlpkRnQ4dExTeTVGdTJXRTVaYVZwRlcxVmJEVE9vREg5R01lT0tOZHJhMlhxajlXbnJkemFXTmdLYkV6YS8yQnJhSnRvMjJVNHUxMW5PV1Y2L2ZNeE8zWTVwVjJzM1lrKzNqN1kvWkQvaW9PYkFkS2h6ZU9LbzRjaDJiSENjY05KelNuQTY1dlRDMmNTWjc5em1QT2RpNDdMZTVid3I0dXJoV3VqYTd5YmpGdUpXNmZiWVhkMDl6cjNaZmNiRHdtT2R4M2xQdEtlMzUyN1BZUzlsTDVaWG85Zk1DcXNWNjFmMGVKTzhnN3dydlovNDZQdndmYnA4WWQ4VnZudDhINjdVV3NsYjJlRUgvTHo4OXZnOTh0ZnhUL1AvUGdBVDRCOVFGZkEwMERRd043QTNpQklVRmRRVTlDYllPYmdrK0VHSWJvZ3dwRHRVTWpReXRERjBMc3cxckRSc1pKWHhxdldycm9jcmhIUERPeU93RWFFUkRSR3pxOTFXNzEwOUhta1JXUkE1dEVablRkYWFxMnNWMWlhdFBSTWxHY1dNT2htTmpnNkxib3Ird1BSajFqRm5ZN3hpcW1ObVdDNnNmYXpuYkVkMkdYdUtZOGNwNVV6RTJzV1d4azdHMmNYdGladUtkNGd2ajUvbXVuQXJ1UzhUUEJOcUV1WVMvUktQSkM0a2hTVzFKdU9TbzVOUDhXUjRpYnllRkpXVXJKU0JWSVBVZ3RTUk5KdTB2V2t6Zkc5K1F6cVV2aWE5VTBBVi9VejFDWFdGVzRXakdmWVpWUmx2TTBNelQyWkpaL0d5K3JMMXMzZGtUK1M0NTN5OURyV090YTQ3VnkxM2MrN29lcWYxdFJ1Z0RURWJ1amRxYk16Zk9MN0pZOVBSellUTmladC95RFBKSzgxN3ZTVnNTMWUrY3Y2bS9MR3RIbHViQ3lRSytBWEQyMnkzMVd4SGJlZHU3OTlodm1QL2prK0Y3TUpyUlNaRjVVVWZpbG5GMTc0eS9hcmlxNFdkc1R2N1N5eExEdTdDN09MdEd0cnRzUHRvcVhScFR1bllIdDg5N1dYMHNzS3kxM3VqOWw0dFgxWmVzNCt3VDdodnBNS25vbk8vNXY1ZCt6OVV4bGZlcVhLdWFxMVdxdDVSUFhlQWZXRHdvT1BCbGhybG1xS2E5NGU0aCs3V2V0UzIxMm5YbFIvR0hNNDQvTFErdEw3M2E4YlhqUTBLRFVVTkg0L3dqb3djRFR6YTAyalYyTmlrMUZUU0REY0xtNmVPUlI2NytZM3JONTB0aGkyMXJiVFdvdVBndVBENHMyK2p2eDA2NFgyaSt5VGpaTXQzV3Q5VnQxSGFDdHVoOXV6Mm1ZNzRqcEhPOE02QlV5dE9kWGZaZHJWOWIvVDlrZE5xcDZ2T3lKNHBPVXM0bTM5MjRWek91ZG56cWVlbkw4UmRHT3VPNm41d2NkWEYyejBCUGYyWHZDOWR1ZXgrK1dLdlUrKzVLM1pYVGwrMXVYcnFHdU5heDNYTDYrMTlGbjF0UDFqODBOWnYyZDkrdytwRzUwM3JtMTBEeXdmT0Rqb01YcmpsZXV2eWJhL2IxKytzdkRNd0ZESjBkemh5ZU9RdSsrN2t2YVI3TCs5bjNKOS9zT2toK21IaEk2bEg1WStWSHRmOXFQZGo2NGpseUpsUjE5RytKMEZQSG95eHhwNy9sUDdUaC9IOHArU241Uk9xRTQyVFpwT25wOXluYmo1Yi9XejhlZXJ6K2VtQ242Vi9ybjZoKytLN1h4eC82WnRaTlRQK2t2OXk0ZGZpVi9LdmpyeGU5cnA3MW4vMjhadmtOL056aFcvbDN4NTl4M2pYK3o3cy9jUjg1Z2ZzaDRxUGVoKzdQbmwvZXJpUXZMRHdHL2VFOC9zM0JDa2VBQUFBQ1hCSVdYTUFBQTdFQUFBT3hBR1ZLdzRiQUFBQUlYUkZXSFJEY21WaGRHbHZiaUJVYVcxbEFESXdNVGc2TURVNk1qZ2dNVFk2TkRJNk1UVDlod3JmQUFBSUhVbEVRVlJZUjUxWEMxQlU1eFgrZGxsZ1FkNFBVUkFmaVNoYU5HMWk3Qmh0bTA1S1VrblRXQitOUWEwWUcyT0Rsam9PR2sxaU81MXFOR1Fjazlva1JKczA0SXc2cHVOMFRFeFRhT3NZUzdTU3BocGYxS0FWQlJaaFdSNHJJTHQ3YjcvejM3dnNRaGFDL1M3L3N2ejN2TS81ei9teDZBU0dDWjJQL0ZnczhwZjY2SU5mak1WNE9XeFl6ZC9EZytaWFlFSGxKNS9qdmdXYjhPanFIV2hzY2FuOU8xVXVHRjRFaE1RVTN0cmhSdDdxbDNHcXNocElpQUY4UHFEck5wWVY1T0gxRjFjZ0pqb3FLRkxDSStJSE4yeDRFVENWLzN6Ykg1QThjUkZPVlY4Q1JpY0RVWkZBTkpmVml2SURGYWo2OXhlS1Rpa2tqNmJSRkgxdzVZSkJJdERmNmo5Vm5zYThaM2JRV3k4UVM2K3Q1anQzdDRyQTFzMEYyTHpxY1dPUDZMMWFwNHlLR0RmRzNDRUdDNFFZRUF5Tmp4KzExNXYwS1krdTE1R1dweU1uWDhjMFdVdDFaRCtoSStsaGZXSFJUdDNyOVpuVUJocFhiZFRQSVZ3L2p4RzZZODBXYzVkeWZRRzV3UmkwQnZLTGQyTi8yUWZNY3l4Z1o1Z0ZrdStXZG95Y09BWlYrMytOdXpQVGpIM0N0ZnNkT05ZVzAxRWZ3cERBSFkxUEIvKzJJV05mS2VLWHpEY0lCOENpTVZIQjFmdjJINDloWldFSk1NSU94SXpnRHUzVFdQNGRYVFRFaHZKWGlyRDBzVGtHTWRGVGZRWjEzMTRBWDNjakZiTXUrQ2xRaGFoaTd1WFRnc2praVJoejdCRHNPZG5xRFZnZkZxYXlMd0pmWEcvQzdDVy93czNMekY5S29sR2U4cWFuVnlsZnUzWWhYbnUrUUVnVnZNMnRhSmozRkRxcmp0TEhWTzdZMUw1RXdJZDJxclpRUkx6Nk5QWTkzRzlHYk80aVpCNHRKM21ZTXEvUEFNdTRIOUhEQ0s1d1E3R1BYamUxWXNhRDk2TGluUmVZaVdnaFUzQ3NmZzdPMHRmb2F3eUZSQ3RCdWdxNUMySFdSR1JXSFlidTlURXk4NkZyN2FSTDRuc3hpV0pwbkMwcEExbk9jMHFXTXErK3ljV3ozQU5FbXNwN2JzTVdic1hISCszQzZmZTI5U2x2ZS9jUUxsamk0Q3A5aS82bWtGbVVpODl1cmphTTNMb2RrM3gxaVBybWZZaWVQUlBadmhzWXViMkVLV2dtdDRlVU9ubGk0V210ZytabVNna1ZBWWV6RGFOemxnSnBTVHhEWHFTUFRrTDlYM2NyQWtIM3ljOXc0NGNyNEdtdVVlRVdNWVkzM2FyUUVuOWNnUFNEYnhqRVJBZUZoOW1zTENQV2tZbmFqQm53TlRTUkw0d0d0V055VnlPc1VYWXpRU0pPTXFHV3h2N0NWSmk0Tm1zZXJzeWFCYTM1SnBWTDFRdUxGNzFvZ0gzYTF6Q3BycmFmOHBLM2p5QithajVpNk5EcmJFNSsyTWFtMDFpdmlvSlJuTExNRkNpb1BXUFRMQXNGOTBrcHNsSDhKa2RSd3UxVVFpYjhwUUlUenY0TjRabnBpdTVFOVVWRTVPUmp3NWE5UUJ4VEZoR093azBCdytRSUc5TDdJMkNBNkF4UzdFY1k3R1NVRXBJaTYwYnE5aDNJMXVzeEl2Yzc2djMxbXk1TW03Y0IzM3FrQ0I1aFQ0NGpFNDhpajVoTkRQa0tCQXdZQk1vdXRYZ3E2RlhLeG1mVnZxQjljU0hHM3JNTTV5NWVBektZbnJCUVBnYndaZmNHU2NGQXlBRlNqOFVnYjMxMUR5NWFZdUErZUFqVzlCVGo5SWlCYnA2a0xzNEh2eVpwWUVFWU9nWHNUQU1aQk1JazNpdVoxa2hjdWVzQk5QNWlIVk9UeUhuRHdTUkdkN05aT1Z3b0xseUFqVDliUUNONHhDZ3FNdHhvVG41STdSaEZHRURBQUU0dnRRWkFUTExLWTJIbjZ2YkF3MGtuUFVCMmRhMFhXa01MN3YxNkZ0cHEzOFBMNi9QWmlHaVFNUEdYUFZ3aUU0Q1N3eWNZUVJFZ1Y0Z2lORG9jUDNrOGpXNG12VjVUcDhFZGw0REtEM2JpMDBOYkVXODJLMWNudlRmSGRiQTArUzZTNUFsRy93aUVxQUdibW15R2Fqa05HanBWMTB2NzdXNU1haitIaDc2UnBlamFlVGVZdGZnRnZQSDdJN3lrUkNtZVlJamtyNDVBaUJxUXJxV2hoK0o2MkV3YmtMQnlKYWJxSFVoYUV4aE1ULzl5RHhMR1BZNlQvNnBoRCtBRUZXMnNxYzViUnJzVkRCMEJDWDFRRGRnNHFmeklkckczVDc4SEVWT21ZSEp6RTBidDVhZzI4ZGJCU2xnbXpNZmVzZytCZEU1RXVUZElGQ1VObkNjbHhjdE1TbTVUdGhIRi9sRldHbFhxbVdQMWhVM2s4alVIL256aWpMeENXRUlpeHA5aDE3dndkOWhTT0N1STA1OWZRY29EcS9ETXVsMjhNekRjZnE5djh6VGNhTWFTUmQrRmZ2VXdpcGJuS1hxQnQxRUdFZ3QzUUdxVUFaR1I5RmpHcjRBRnBETVZjeGMraHlrL0tFYWR3Mm5zRTIyOEY4eGMvQ0ptUGxRSVoxdUhlVytnQ0M5NUcxdVJNM2s4NmkvdHg3NGRhMHdPOHJ4Wnpna2FEMi9kTmRvWXJpS2dNN0hRZUxzaSttNUV1U3QrdzRyK0I1QnFDcFZLRm8rYTIvRFRaK2NqbFMzMnBhM3ZBb2xCVnpTcG1YWTM1M3NjanY1dUEzTG5URGYyaWE0VHAxRC95Rko0dWhwWXlNbFVha3hRTDBlM0xUNEZrOXA0c3laTUE5UlhsQjA1Z2VVYk9JYWxveVdhVFVad2k5MU5HbFdNakZkelQvSk1iTnU4SEp1ZUR0eUl2YzFPM0ppN0RMYytyZUNCVFNPMVRYR0kxeDdjUk95TTd5SHo0OE93MEFuWlZ3WUlZL0M5c0xoa0gxNTVxWXlEaFVjd2lxTlp2ZU9TT3VuMXNPczU4Y1JUaitIQXppS0R3VVRqVDliQlZWNUt4WEdrdGxPcDhQbW91aFVSOWpSa1ZCN2dSZVYrZzFqcVRlVEtoU1FVdkpwUG4vM2tGbDdKNXhyWDhLbFBxdTlaMzErbk8xcmFUQ29EemxmMzhDcHU1MVU4VWE5Qkp0ZFkvUkxYQmY1OUhyRzZzN1RNcEpScmYvOXIvSmNNa0lqd3B3L1Y1MnYxMURtcmRRdi9MM2ovK0dmbXJvSE9pdVA2ZjJLenFDUmFLYXpCZUs1eCtrV2tjUzlLYnloWWIxSUtSSzZ4Z2pIby93VkR3Y09yVmIzaytleHhoanVGZ1phaEkySWt6MDJJdVQ4WFk5N2ZCOXRJS1Q2VnZFRmhkSjRoSVNJQ05qYXRmUjQxR2FQUWZmWXMxWTd1VTY0eHo5WUlPKzZxK2dUai8vbWhvVng4QzdDR2hrVGdUbkQ3OG4vMXE5TWZaczRqR2VwVWhqcWV1VTdTbmJ2Mm1oUjNoanN5UUdOaCtqUG8vdWlZWHBlWHJ6dUt0Z1Q5TnhuNi83K2g4SC9WUUNpSWtLRnlIUnJBL3dDNGUrTytaMWNuNFFBQUFBQkpSVTVFcmtKZ2dnPT0iLCJhdXRoZW50aWNhdG9yR2V0SW5mbyI6eyJ2ZXJzaW9ucyI6WyJVMkZfVjIiLCJGSURPXzJfMCJdLCJleHRlbnNpb25zIjpbImhtYWMtc2VjcmV0Il0sImFhZ3VpZCI6IjlmMGQ4MTUwYmFhNTRjMDA5Mjk5YWQ2MmM4YmI0ZTg3Iiwib3B0aW9ucyI6eyJwbGF0IjpmYWxzZSwicmsiOnRydWUsImNsaWVudFBpbiI6dHJ1ZSwidXAiOnRydWV9LCJtYXhNc2dTaXplIjoxMDI0LCJwaW5VdkF1dGhQcm90b2NvbHMiOlsxXX19LCJzdGF0dXNSZXBvcnRzIjpbeyJzdGF0dXMiOiJGSURPX0NFUlRJRklFRF9MMSIsImVmZmVjdGl2ZURhdGUiOiIyMDE5LTEyLTA0IiwiY2VydGlmaWNhdGlvbkRlc2NyaXB0b3IiOiJHb1RydXN0IElkZW0gQ2FyZCIsImNlcnRpZmljYXRlTnVtYmVyIjoiRklETzIwMDIwMTkwNTIwMDAxIiwiY2VydGlmaWNhdGlvblBvbGljeVZlcnNpb24iOiIxLjMiLCJjZXJ0aWZpY2F0aW9uUmVxdWlyZW1lbnRzVmVyc2lvbiI6IjEuMS4wIn1dLCJ0aW1lT2ZMYXN0U3RhdHVzQ2hhbmdlIjoiMjAxOS0xMi0wNCJ9LHsiYWFndWlkIjoiMTJkZWQ3NDUtNGJlZC00N2Q0LWFiYWEtZTcxM2Y1MWQ2MzkzIiwibWV0YWRhdGFTdGF0ZW1lbnQiOnsibGVnYWxIZWFkZXIiOiJodHRwczovL2ZpZG9hbGxpYW5jZS5vcmcvbWV0YWRhdGEvbWV0YWRhdGEtc3RhdGVtZW50LWxlZ2FsLWhlYWRlci8iLCJhYWd1aWQiOiIxMmRlZDc0NS00YmVkLTQ3ZDQtYWJhYS1lNzEzZjUxZDYzOTMiLCJkZXNjcmlwdGlvbiI6IkZlaXRpYW4gQWxsaW5PbmUgRklETzIgQXV0aGVudGljYXRvciIsImF1dGhlbnRpY2F0b3JWZXJzaW9uIjoxLCJwcm90b2NvbEZhbWlseSI6ImZpZG8yIiwic2NoZW1hIjozLCJ1cHYiOlt7Im1ham9yIjoxLCJtaW5vciI6MH1dLCJhdXRoZW50aWNhdGlvbkFsZ29yaXRobXMiOlsic2VjcDI1NnIxX2VjZHNhX3NoYTI1Nl9yYXciXSwicHVibGljS2V5QWxnQW5kRW5jb2RpbmdzIjpbImNvc2UiXSwiYXR0ZXN0YXRpb25UeXBlcyI6WyJiYXNpY19mdWxsIl0sInVzZXJWZXJpZmljYXRpb25EZXRhaWxzIjpbW3sidXNlclZlcmlmaWNhdGlvbk1ldGhvZCI6InByZXNlbmNlX2ludGVybmFsIn1dLFt7InVzZXJWZXJpZmljYXRpb25NZXRob2QiOiJmaW5nZXJwcmludF9pbnRlcm5hbCJ9XV0sImtleVByb3RlY3Rpb24iOlsiaGFyZHdhcmUiLCJzZWN1cmVfZWxlbWVudCJdLCJtYXRjaGVyUHJvdGVjdGlvbiI6WyJvbl9jaGlwIl0sImNyeXB0b1N0cmVuZ3RoIjoxMjgsImF0dGFjaG1lbnRIaW50IjpbImV4dGVybmFsIiwid2lyZWQiLCJ3aXJlbGVzcyIsIm5mYyIsImJsdWV0b290aCJdLCJ0Y0Rpc3BsYXkiOltdLCJhdHRlc3RhdGlvblJvb3RDZXJ0aWZpY2F0ZXMiOlsiTUlJQmZqQ0NBU1dnQXdJQkFnSUJBVEFLQmdncWhrak9QUVFEQWpBWE1SVXdFd1lEVlFRRERBeEdWQ0JHU1VSUElEQXlNREF3SUJjTk1UWXdOVEF4TURBd01EQXdXaGdQTWpBMU1EQTFNREV3TURBd01EQmFNQmN4RlRBVEJnTlZCQU1NREVaVUlFWkpSRThnTURJd01EQlpNQk1HQnlxR1NNNDlBZ0VHQ0NxR1NNNDlBd0VIQTBJQUJOQm1yUnFWT3h6dFRKVk4xOXZ0ZHFjTDd0S1Flb2wybm5NMi95WWd2a3NabnI1MFNLYlZnSUVrekhRVk91ODBMVkVFM2xWaGVPMUhqZ2d4QWxUNm80V2pZREJlTUIwR0ExVWREZ1FXQkJSSkZXUXQxYnZHM2pNNlhnbVYvSWNqTnRPL0N6QWZCZ05WSFNNRUdEQVdnQlJKRldRdDFidkczak02WGdtVi9JY2pOdE8vQ3pBTUJnTlZIUk1FQlRBREFRSC9NQTRHQTFVZER3RUIvd1FFQXdJQkJqQUtCZ2dxaGtqT1BRUURBZ05IQURCRUFpQXdmUHFnSVdJVUIrUUJCYVZHc2RIeTBzNVJNeGxrenBTWC96U3lUWm1VcFFJZ0Iyd0o2blpSTThvWC9uQTQzUmg2U0pvdk0yWHdDQ0gvLytMaXJCQWJCME09IiwiTUlJQjJEQ0NBWDZnQXdJQkFnSVFGWjk3d3MySkdQRW9hNU5JK3A4ejFqQUtCZ2dxaGtqT1BRUURBakJMTVFzd0NRWURWUVFHRXdKRFRqRWRNQnNHQTFVRUNnd1VSbVZwZEdsaGJpQlVaV05vYm05c2IyZHBaWE14SFRBYkJnTlZCQU1NRkVabGFYUnBZVzRnUmtsRVR5QlNiMjkwSUVOQk1DQVhEVEU0TURRd01UQXdNREF3TUZvWUR6SXdORGd3TXpNeE1qTTFPVFU1V2pCTE1Rc3dDUVlEVlFRR0V3SkRUakVkTUJzR0ExVUVDZ3dVUm1WcGRHbGhiaUJVWldOb2JtOXNiMmRwWlhNeEhUQWJCZ05WQkFNTUZFWmxhWFJwWVc0Z1JrbEVUeUJTYjI5MElFTkJNRmt3RXdZSEtvWkl6ajBDQVFZSUtvWkl6ajBEQVFjRFFnQUVuZkFLYmp2TVgxRXkxYjZrK1dRUWROVk10OUpnR1d5SjNQdk00QlNLNVhxVGZvKyswb0FqLzR0bnd5SUwwSEZCUjlTdCtrdGpxU1hEZmppWEF1cnM4Nk5DTUVBd0hRWURWUjBPQkJZRUZOR2htRTJCZjhPNWEvWUhaNzFRRXY2UVJmRlVNQThHQTFVZEV3RUIvd1FGTUFNQkFmOHdEZ1lEVlIwUEFRSC9CQVFEQWdFR01Bb0dDQ3FHU000OUJBTUNBMGdBTUVVQ0lRQzNzVDFsQmpHZUYreEtUcHpWMUtZVTJja2FoVGQ0bUxKeXpZT2hhSHY0aWdJZ0QySllrZnlINVE0QnBvOHJyb08wSXQ3b1lqRjJrZ3kvZVNaM1U5R2xhcXc9IiwiTUlJQjJEQ0NBWDZnQXdJQkFnSVFHQlVyUWJkRHJtMjBGWm5Ec1gyQ0JUQUtCZ2dxaGtqT1BRUURBakJMTVFzd0NRWURWUVFHRXdKVlV6RWRNQnNHQTFVRUNnd1VSbVZwZEdsaGJpQlVaV05vYm05c2IyZHBaWE14SFRBYkJnTlZCQU1NRkVabGFYUnBZVzRnUmtsRVR5QlNiMjkwSUVOQk1DQVhEVEU0TURRd01UQXdNREF3TUZvWUR6SXdORGd3TXpNeE1qTTFPVFU1V2pCTE1Rc3dDUVlEVlFRR0V3SlZVekVkTUJzR0ExVUVDZ3dVUm1WcGRHbGhiaUJVWldOb2JtOXNiMmRwWlhNeEhUQWJCZ05WQkFNTUZFWmxhWFJwWVc0Z1JrbEVUeUJTYjI5MElFTkJNRmt3RXdZSEtvWkl6ajBDQVFZSUtvWkl6ajBEQVFjRFFnQUVzRllFRWhpSnVxcW5NZ1FqU2lpdkJqVjdER0NUZjRYQkJIL0I3dXZac0t4WFNoRjBMOHVESVNXVXZjRXhpeFJzNmdCM29sZFNyam94Nkw4VDk0Tk96cU5DTUVBd0hRWURWUjBPQkJZRUZFdTloeVlSclJ5Snp3Ull2bkRTQ0l4ckZpTzNNQThHQTFVZEV3RUIvd1FGTUFNQkFmOHdEZ1lEVlIwUEFRSC9CQVFEQWdFR01Bb0dDQ3FHU000OUJBTUNBMGdBTUVVQ0lESFNiMm1iTkRBVU5YdnBQVTBvV0tlTnllMGZRMmw5RDAxQVIyK3NMWmRoQWlFQW8zd3o2ODRJRk1Wc0NDUm11SnF4SDZGUVJFU05xZXp1bzFFK0trR3hXdU09Il0sImljb24iOiJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUZBQUFBQVVDQU1BQUFBdEJrcmxBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQkhacFZGaDBXRTFNT21OdmJTNWhaRzlpWlM1NGJYQUFBQUFBQUR3L2VIQmhZMnRsZENCaVpXZHBiajBpNzd1L0lpQnBaRDBpVnpWTk1FMXdRMlZvYVVoNmNtVlRlazVVWTNwcll6bGtJajgrSUR4NE9uaHRjRzFsZEdFZ2VHMXNibk02ZUQwaVlXUnZZbVU2Ym5NNmJXVjBZUzhpSUhnNmVHMXdkR3M5SWtGa2IySmxJRmhOVUNCRGIzSmxJRFV1Tmkxak1ERTBJRGM1TGpFMU5qYzVOeXdnTWpBeE5DOHdPQzh5TUMwd09UbzFNem93TWlBZ0lDQWdJQ0FnSWo0Z1BISmtaanBTUkVZZ2VHMXNibk02Y21SbVBTSm9kSFJ3T2k4dmQzZDNMbmN6TG05eVp5OHhPVGs1THpBeUx6SXlMWEprWmkxemVXNTBZWGd0Ym5NaklqNGdQSEprWmpwRVpYTmpjbWx3ZEdsdmJpQnlaR1k2WVdKdmRYUTlJaUlnZUcxc2JuTTZlRzF3UFNKb2RIUndPaTh2Ym5NdVlXUnZZbVV1WTI5dEwzaGhjQzh4TGpBdklpQjRiV3h1Y3pwa1l6MGlhSFIwY0RvdkwzQjFjbXd1YjNKbkwyUmpMMlZzWlcxbGJuUnpMekV1TVM4aUlIaHRiRzV6T25Cb2IzUnZjMmh2Y0QwaWFIUjBjRG92TDI1ekxtRmtiMkpsTG1OdmJTOXdhRzkwYjNOb2IzQXZNUzR3THlJZ2VHMXNibk02ZUcxd1RVMDlJbWgwZEhBNkx5OXVjeTVoWkc5aVpTNWpiMjB2ZUdGd0x6RXVNQzl0YlM4aUlIaHRiRzV6T25OMFVtVm1QU0pvZEhSd09pOHZibk11WVdSdlltVXVZMjl0TDNoaGNDOHhMakF2YzFSNWNHVXZVbVZ6YjNWeVkyVlNaV1lqSWlCNGJYQTZRM0psWVhSdmNsUnZiMnc5SWtGa2IySmxJRkJvYjNSdmMyaHZjQ0JEUXlBeU1ERTBJQ2hOWVdOcGJuUnZjMmdwSWlCNGJYQTZRM0psWVhSbFJHRjBaVDBpTWpBeE5pMHhNaTB6TUZReE5Eb3pNem93T0Nzd09Eb3dNQ0lnZUcxd09rMXZaR2xtZVVSaGRHVTlJakl3TVRZdE1USXRNekJVTURjNk16RTZOVGtyTURnNk1EQWlJSGh0Y0RwTlpYUmhaR0YwWVVSaGRHVTlJakl3TVRZdE1USXRNekJVTURjNk16RTZOVGtyTURnNk1EQWlJR1JqT21admNtMWhkRDBpYVcxaFoyVXZjRzVuSWlCd2FHOTBiM05vYjNBNlNHbHpkRzl5ZVQwaU1qQXhOaTB4TWkwek1GUXhOVG96TURveU55c3dPRG93TUNZamVEazc1cGFINUx1MklPYWNxdWFnaCttaW1DMHhJT1czc3VhSmsrVzhnQ1lqZUVFN0lpQjRiWEJOVFRwSmJuTjBZVzVqWlVsRVBTSjRiWEF1YVdsa09qSkZOekZDUmtaRFF6WTNSakV4UlRZNU56aEVRVGxEUWtJMk5EWXpSamt3SWlCNGJYQk5UVHBFYjJOMWJXVnVkRWxFUFNKNGJYQXVaR2xrT2pKRk56RkNSa1pFUXpZM1JqRXhSVFk1TnpoRVFUbERRa0kyTkRZelJqa3dJajRnUEhodGNFMU5Pa1JsY21sMlpXUkdjbTl0SUhOMFVtVm1PbWx1YzNSaGJtTmxTVVE5SW5odGNDNXBhV1E2TWtVM01VSkdSa0ZETmpkR01URkZOamszT0VSQk9VTkNRalkwTmpOR09UQWlJSE4wVW1WbU9tUnZZM1Z0Wlc1MFNVUTlJbmh0Y0M1a2FXUTZNa1UzTVVKR1JrSkROamRHTVRGRk5qazNPRVJCT1VOQ1FqWTBOak5HT1RBaUx6NGdQQzl5WkdZNlJHVnpZM0pwY0hScGIyNCtJRHd2Y21SbU9sSkVSajRnUEM5NE9uaHRjRzFsZEdFK0lEdy9lSEJoWTJ0bGRDQmxibVE5SW5JaVB6NDc3SlhGQUFBQVlGQk1WRVgvLy84RVZxSVhaYXZHMk9vcWNMRzJ6T09rd3QwQlNKdHFsY1hWNHUrYXV0bFdoYnprN1BVQU1ZOUhjcktqdE5icThmZUFsOGFCb3N6ejl2cGRqc0dHcXRGM244dVRzTlNacGM2SnNOVDUrdjB4WUtudThQZmY1L0w0OGZnL2ZyaWN6SmdZQUFBREFFbEVRVlI0MmtSVUNaYkRJQWpGWFpPWTFUYXROYzM5Ynprc1NZYzNyNE1FNGZNQkFhRDZ6bDh5LzlUT2dldDhkNWpmTjc4YndNL2REQ1JwUjUyMXpYZm9qSEowNUlJeWhCQVVTVkFPTmRHekJZdDJmN0tGcmZrSmFBa0hoOUZaaGNEWEhSa1RLbzlNTGloR2FhdkltblYzcXlFWDBFcHJnei80RHdVRDdrQ0hSbmQ4UUZONDNHbzRVVm1ERGd6YTR3MjdvaXpkQTIrY0srdXVVcGpqbzIreHdjLzQyVzUweDVMR1llREJzUjBIVkl4NXg4aUY2MENibGJURUVrRnIyN2JOREJVVlNxMU9LVlBiRTYyYjNFSDhGcUJnNU9PT0V1YzJ0OFpKaXFNT3VHcCtjS2pnN3dWR2Nlb3pxTjRweGdWUFFrakZZZ2JWSktEVWhEQ2pZcmF3UDVxNEVUZ0M5ZklNUkh0aXRwUWNDdkpPRUxjYk1zUWduY2lSa2xqcHlRanZHNDRqcUJVRVRGaUJpMVBFSXlla096c1crVHk1Y0xIb3M1UitkTVMxTHRTU3hmM2dRSGN6UjJDSTRnTU5wVzRJUkExUU1hNnRKNCtDNnVIdUdFOG1OREl5RnFnL09QL01NVXVlUzZJcThTOTBkQWVCSlNFeS9xS2tLK0JOd3o4Y1lZNGpiNUo2dTRpV0NJMkIxWjU2TFc1a0VjNGhrZE1wc3ZVQzU1ODVTWDBRdWJjZ05xeWZnREZFY1R0KzQwLzBTNU54MHdhQ3czT0trY09iQTVJbjBBWXAwMXBqancybjYyNlVEanRId2EyOGlIdVRLcXRydityZVc0MU5aNmlHbHI3dXVMSkNma0Z0Y3RjRzA0c2dtMWVOUytaYURucGFURXJHb3lYNUpLMmlNejh4czBuT3dXR2NQRE40OXFhQ2Q0YnpKb3pEWm0vYUJLK0Vvekx3K1hoTkJpWXdIZjBzaU91MVhQa0cvekt3dnFZS2NmU3dERWNIL29VZTA3ZXMvV1E4ckl5ZzJET1hqOHRqa1pkdURCL2I4aHpEbGxNTU9DUzVCRW5kNTM0Zjh0aTNVWmM0a01zM3hMeWFmTVNzSmhkRzhYUHFqTms1dEFnTzI1ZmVLQ2huVmREai9KMEZNa09zVS94TUJ2MHdGaFllRUdmVkgxM2Z1RFUweURGTGE0ZmM3Um5XSEJmdVRGVjJ0RW1Od2FkYzdhYzNVWTJqZkJsN0hUMzZmZTM0aVFPNW1OQ0ZGQlcwN0tqUGdxaE9MVTAxdlo4UHVlWjJKQ2xGWk44amtVczY5dWthOWVQcDYrRWZMNEFGNStOeXdTYmlySHRjQjhNbC9na3dBRWprSzY0S2pIUGVBQUFBQUVsRlRrU3VRbUNDIiwiYXV0aGVudGljYXRvckdldEluZm8iOnsidmVyc2lvbnMiOlsiVTJGX1YyIiwiRklET18yXzAiLCJGSURPXzJfMV9QUkUiXSwiZXh0ZW5zaW9ucyI6WyJjcmVkUHJvdGVjdCIsImhtYWMtc2VjcmV0Il0sImFhZ3VpZCI6IjEyZGVkNzQ1NGJlZDQ3ZDRhYmFhZTcxM2Y1MWQ2MzkzIiwib3B0aW9ucyI6eyJwbGF0IjpmYWxzZSwicmsiOnRydWUsImNsaWVudFBpbiI6ZmFsc2UsInVwIjp0cnVlLCJ1diI6ZmFsc2UsInVzZXJWZXJpZmljYXRpb25NZ210UHJldmlldyI6ZmFsc2UsImNyZWRlbnRpYWxNZ210UHJldmlldyI6dHJ1ZX0sIm1heE1zZ1NpemUiOjIwNDgsInBpblV2QXV0aFByb3RvY29scyI6WzFdLCJtYXhDcmVkZW50aWFsQ291bnRJbkxpc3QiOjEwLCJtYXhDcmVkZW50aWFsSWRMZW5ndGgiOjk2LCJ0cmFuc3BvcnRzIjpbImJsZSIsIm5mYyIsInVzYiJdLCJhbGdvcml0aG1zIjpbeyJ0eXBlIjoicHVibGljLWtleSIsImFsZyI6LTd9XX19LCJzdGF0dXNSZXBvcnRzIjpbeyJzdGF0dXMiOiJGSURPX0NFUlRJRklFRF9MMSIsImVmZmVjdGl2ZURhdGUiOiIyMDE5LTA1LTI3IiwiY2VydGlmaWNhdGlvbkRlc2NyaXB0b3IiOiJGZWl0aWFuIEJpb1Bhc3MgRklETyBVU0IvTkZDL0JMRSIsImNlcnRpZmljYXRlTnVtYmVyIjoiRklETzIwMDIwMTkwMzExMDA0IiwiY2VydGlmaWNhdGlvblBvbGljeVZlcnNpb24iOiIxLjMuNiIsImNlcnRpZmljYXRpb25SZXF1aXJlbWVudHNWZXJzaW9uIjoiMS4wLjAifV0sInRpbWVPZkxhc3RTdGF0dXNDaGFuZ2UiOiIyMDE5LTA1LTI3In0seyJhYWd1aWQiOiI4OGJiZDJmMC0zNDJhLTQyZTctOTcyOS1kZDE1OGJlNTQwN2EiLCJtZXRhZGF0YVN0YXRlbWVudCI6eyJsZWdhbEhlYWRlciI6Imh0dHBzOi8vZmlkb2FsbGlhbmNlLm9yZy9tZXRhZGF0YS9tZXRhZGF0YS1zdGF0ZW1lbnQtbGVnYWwtaGVhZGVyLyIsImFhZ3VpZCI6Ijg4YmJkMmYwLTM0MmEtNDJlNy05NzI5LWRkMTU4YmU1NDA3YSIsImRlc2NyaXB0aW9uIjoiUHJlY2lzaW9uIElubmFJVCBLZXkgRklETyAyIExldmVsIDIgY2VydGlmaWVkIiwiYXV0aGVudGljYXRvclZlcnNpb24iOjEsInByb3RvY29sRmFtaWx5IjoiZmlkbzIiLCJzY2hlbWEiOjMsInVwdiI6W3sibWFqb3IiOjEsIm1pbm9yIjowfV0sImF1dGhlbnRpY2F0aW9uQWxnb3JpdGhtcyI6WyJzZWNwMjU2cjFfZWNkc2Ffc2hhMjU2X3JhdyJdLCJwdWJsaWNLZXlBbGdBbmRFbmNvZGluZ3MiOlsiY29zZSJdLCJhdHRlc3RhdGlvblR5cGVzIjpbImJhc2ljX2Z1bGwiXSwidXNlclZlcmlmaWNhdGlvbkRldGFpbHMiOltbeyJ1c2VyVmVyaWZpY2F0aW9uTWV0aG9kIjoiZmluZ2VycHJpbnRfaW50ZXJuYWwifSx7InVzZXJWZXJpZmljYXRpb25NZXRob2QiOiJwcmVzZW5jZV9pbnRlcm5hbCJ9XV0sImtleVByb3RlY3Rpb24iOlsiaGFyZHdhcmUiLCJzZWN1cmVfZWxlbWVudCJdLCJtYXRjaGVyUHJvdGVjdGlvbiI6WyJvbl9jaGlwIl0sImNyeXB0b1N0cmVuZ3RoIjoxMjgsImF0dGFjaG1lbnRIaW50IjpbImV4dGVybmFsIiwid2lyZWQiXSwidGNEaXNwbGF5IjpbXSwiYXR0ZXN0YXRpb25Sb290Q2VydGlmaWNhdGVzIjpbIk1JSURnekNDQW11Z0F3SUJBZ0lRYVlqbnhPdWs0N0JHYytFaWgyN2JtakFOQmdrcWhraUc5dzBCQVFzRkFEQkhNUk13RVFZS0NaSW1pWlB5TEdRQkdSWURZMjl0TVJrd0Z3WUtDWkltaVpQeUxHUUJHUllKVUhKbFkybHphVzl1TVJVd0V3WURWUVFERXd4UWNtVmphWE5wYjI0dFEwRXdJQmNOTVRrd09ERXpNVEl6TURVM1doZ1BNakV4T1RBNE1UTXhNalF3TlRkYU1FY3hFekFSQmdvSmtpYUprL0lzWkFFWkZnTmpiMjB4R1RBWEJnb0praWFKay9Jc1pBRVpGZ2xRY21WamFYTnBiMjR4RlRBVEJnTlZCQU1UREZCeVpXTnBjMmx2YmkxRFFUQ0NBU0l3RFFZSktvWklodmNOQVFFQkJRQURnZ0VQQURDQ0FRb0NnZ0VCQU9zNWF2UnhidFJOemJRRHB2V2dDTUZDV0VSQUY3SlM5YlVtMUhKTXpiZzFQMzlVVEp0NE1yVUd6YTE0M09XK1QyQ3RMYTZZd3VPc3ZFZm9WQVJuQ2Y1UUh1dVNzQzJTUzFnbmcxMkdDT2JHQmFzSUJIQzIxUjlIVnNJMFc0dXhmNWtjR05oOFl5U3RwbHhYUGNLeGlnMnRyTUQxVTRpem00TGVOdUZTcWNYZjF4ay9qcklvZ2dudk1JVlVZSzBXTTNwUjkxbGVibmloc1huUjhHdFdqQUZkcFFIQU9VWTk0UmpOOXE4bnhHdU11TmNmKzJFWjBWTGVWM3RHM2lRWnhKeWwzeDlkWkN3SzcwV1hqM0d0S2RwUi9GU3VjcmlEUkxxYlVGV3VNZ0tBWGlmazRva2p6azVmZDVPRm5lelBpbDdoMGpZM3ErSEtLbEhqTTliNDd3VUNBd0VBQWFOcE1HY3dFd1lKS3dZQkJBR0NOeFFDQkFZZUJBQkRBRUV3RGdZRFZSMFBBUUgvQkFRREFnR0dNQThHQTFVZEV3RUIvd1FGTUFNQkFmOHdIUVlEVlIwT0JCWUVGUDJyanczY0xwd1V6aFoybHRQdHYrY3ZkQ09nTUJBR0NTc0dBUVFCZ2pjVkFRUURBZ0VBTUEwR0NTcUdTSWIzRFFFQkN3VUFBNElCQVFDVnVYbmVnNTI2QmNQUWpCYXZYOVA2MGcwSklKS2FKMENSb1BVRzgzSWxNNXFseUtRT3JtRzRmcC9QSG5oUEQvbUE3TzRjWExWdXhEQisyVytnbmhMRGlWRUpwY2p5cEIxR1hpVjVocWZjMFhwbUhUNDhDYTlEaXRuMUVlVmVCMXQ4cldDSzE4WG82eDV4WE1UOW9UVURwUDQxMG5WQzJ3ZlZRMjFJWEE2Ymt6Z1FNaUs3QkNKZ2dXSjhIb2tnUGhtUGI0Ui9wUE53THVDbHZSeHBwbjIwWmNKcXBZUUhlSTAycjBMS2h3Y2Ura1pwakpEK2hVbnlybzI2MlJLck9mOSszeTh6ckZZQzEwY2JzTFVtVUpzNXBKeHlnajRmVkdia0I5anZzRzF4VHU2MmtvOHFVWDVtWEpOdHozZFJQQ0VjR3g0eTJyb202dXNoQVB0cXIxSWsiXSwiaWNvbiI6ImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBYTRBQUFDeUNBWUFBQUFhbGl2T0FBQUFBWE5TUjBJQXJzNGM2UUFBQUFSblFVMUJBQUN4and2OFlRVUFBQUFKY0VoWmN3QUFEc1FBQUE3RUFaVXJEaHNBQUdYclNVUkJWSGhlN1owRllCUkhGOGYva1pPNEt6R0N1N3M3eGFWQ1M0R1dPcVZHNVd0THFidFJvRlJvYVNrVnBGQ2tVSXE3T3hSM0RVa2c3cmtrMzN0emUzQjN1U1FYejhIODJpRjN1N043cS9PZk4vUG1qVjBlQVlsRUlwRkliQVI3NWE5RUlwRklKRGFCRkM2SlJDS1IyQlJTdUNRU2lVUmlVMGpoa2tna0VvbE5JWVZMSXBGSUpEYUZGQzZKUkNLUjJCUlN1Q1FTaVVSaVUwamhra2drRW9sTklZVkxJcEZJSkRhRkZDNkpSQ0tSMkJSU3VDUVNpVVJpVTBqaGtrZ2tFb2xOSVlWTElwRklKRGFGRkM2SlJDS1IyQlJTdUNRU2lVUmlVMGpoa2tna0VvbE5JWVZMSXBGSUpEYUZGQzZKUkNLUjJCUlN1Q1FTaVVSaVUwamhra2drRW9sTklZVkxJcEZJSkRhRkZDNkpSQ0tSMkJSU3VDUVNpVVJpVTBqaGtrZ2tFb2xOSVlWTElwRklKRGFGRkM2SlJDS1IyQlJTdUNRU2lVUmlVMGpoc2tCdWJpNFNFNU9VYnhLSlJDS3BTa2poc3NDTUgyWmkwbHZ2NFBxTkc4b1NpVVFpa1ZRVjdQSUk1Yk9FK1B6TEtZaU5pWVZhclVKT2JnNmVmZVpwQkFZRUtHc2xFb2xFVXRsSTRWSklTMDNEVjlPbUl6a3BDUnFOQmprNU9YQndjRUJNVEF5ZWUzWTg2dFNwcmVTVVNDUVNTV1VpaFl1SWowL0FWMU8rUmxaV3BoQXJUajQrUHJoNDhTTGMzTnlRbXBLSzNyMTdvbWZQN3NvV0VvbEVJcWtzN25qaDJyRnpKLzc4Y3hGY1hKeVJuWjBOWjJkblBQYm9XQVFHQm1EV3JObjQ3OGhSSVY3eDhmRm8wclF4SGg0eld0bFNJcEZJSkpYQkhTMWNDeGN1d3RhdDIrSHU0WTdVMUZUNGVQdGczTGduNE83dXB1UUFWcTVhZzZWTGw4SGYzNC95cE1EWDF3OFBQbkEvZ3FzRktUa2tFb2xFVXBIY2tjSVZIUk9EbjJiK2dvVEVCRGc1T1NFbEpSVU5HOWJINkZFallXK2YzOUZ5Nzc0RG1EdDNQalFhTmZoeTVlaDBHRFJvQU5xM2I2ZmtrRWdrRWtsRmNVY0pWMlptRnRhdlg0OGxTNWZEejg5WGlGQldkaGE2ZGUyS3ZuMTZLYmtzYysxYU5HYlAvZzB4c2JGd2RYVkZRa0lDUWtOQ2NmLzk5eUE0T0ZqSkpaRklKSkx5NW80UnJxTkhqMkwrZ2tWSUkrdkt4ZFVGU1VuSjBHbzF3dDA5SU1CZnlWVTRXVmxaK0d2UlltemV2RTBJSC9lSjVlWUNqUnZYeC8wajdsTnlTU1FTaWFROHVhMkZpMC90NU1sVG1ETjNIdUxpNHVIdDdTM0VoMm5YcmgwR0RyaExmQzR1Rnk5ZEV0WlhRbUlTM01qNlNrOVBGMEo0NzczRDBhSkZjN0ZNSXBGSUpPWERiU3RjMjdmdndMNzlCM0QyN0RuaEtjZ3U3dGV2MzBEdDJqVXhmUGhRVkN0bDh4NDNNVzdhdUFVTHlRTHo5UEFRWTc4NFRKU2ZudythTkdtTUh0MjdDNHRPSXBGSUpHWEw3U05jZEJhSlNVbllzblViTm0vZUtoYW9WQ3BoZFhHVG5vdUxpMmpPcTFXcmhqNS9JYXlLMm9lL0wrM0N0TlpQS2tzS0ppVWxCWDh1K0V0WWRuWjJkbkIwZEtUZjB3a3JySEhqaHVqWm96dUNnZ0xGc1Vna0VvbWs5Tmk4Y0VWRlhjUFJZOGR3L3R3Ri9IZmtDRmxXam5CMWRSRmlsWmlVak5xMWFxSlZ5eFpvMTY2TnNrWGh6RDIvR2FNMmZRQmQyZzA4MXVSQnpHajNuTEttY05peTI3NkRyTHg5QjRWbklvOExZMmVRcEtSRVZLOGVJU0p2Vks5ZUhRMGIxRmUya0Vna0VrbEpzRW5oT243aUpBNGVQSXpqeDQ2VFJaV0w5SXlNbXhFdk9GUlRXbG9hd3NMRE1YQkFQMFNTYVBCeWEvajIxQ3FNMi9RaG9IWURTQUNSbm9BbWdZMXhvUDhVSlVmUmNGL2Ftalhyc0hQWGJyS3lISVVGeHJDUU9wTFZwVkdyNE9YbGpmWWtwUFhyMXhQdStCS0pSQ0t4bmlvbFhEeWRDSXRRWmthbUdCQ2NrcHFDbE9RVTBRUjQ4Y0lsbkx0d0FUSFJNYUt3ZDNMUzNvd3B5TTF5ZG5iMkNBNE9JcUdxanU3ZHU0aG9GOFhoNGEyVE1ldklmTUF0a0w3WjZSZnluL1JFK0xvR1lGT3ZqMUhQTTB5LzNFcTR5Zkw0aVJPNGN1V3E2UC9pUGk4K1pqNVBQajlPZkp6aEpMSWhJZFVRNE84SFoyY1h1THU3MDE4NlIyY3RuTFJPc3BsUklwRklqS2h3NFVvbUlmcGp6anpvY25Td3QxTUVndERwZENSQ3VmUTNHOWxaMmNqTXlrSUdpMWhtbHJCYzJHcGk2NFgvWm1abUNyRktTMHRIYUdnSU9uWm9oNGlJQ0NGY0xBekZJVG9qQ2Zlc200VE5VWWNBRng5bHFURjBqTm1wME5CbG10bmxkWXdNNzZRc3R4NGVBM2IxNmxYczMzOEFlL1lkSUpHRkdBdW1VYXRGdnhpTEw1OC9KMjVtMUdxMVVOTTZqbEN2VW12Z1NNdUVlUEhZYU9WdXNRWFhxVk5ITkd2YVJMOUFJcEZJN2hBcVhMaDQ0TzdrTDZkQ2w2dVB2bTc0ZWY0clB0SS91WG01eW5mNlROWUo1OU95aFVXRk9SZmczR2RVcjE0OTFLOVhWMnhiRXZpbnZqdnhEOFp0ZUo4RXl4ZHc1Q2E3UWk0RkgxektOWFNMNklSWkhTWWd6Sm0yS1NHSlNZbll2bTBuenB3OWkrU1VWR1NURUxOUXN5Q3pxdG1UOVdobnIvd2xrV054NDhTSFlFL0wrVzlHUmpvR0R1eVB6aVJlWmNYbHk1Zng3Ny8vNHV1dnY4YkJnd2ZGc3I1OSsrTHBwNThta2V3RUR3OFBzVXdpdVYzWXRHa1RmdjMxVi96MDAwK2lyQWtMQzhQRER6K013WU1IbzFtelprb3VTVldqd29Vck1URVJVNmRNaDQ3RWljZFVaVk15ZU9PeDI3cEdxNEdIdXp2YzNkeEVreGtYbHR4czV1dm5DejlmM3pMcEUxb2ZmUVN2N3ArRlhWRjdTYlQ4YU1rdHk2OVFXRVhTNHVDcTljSW5UVWRpWEoyQnlvcVN3NWMvTmpaV3VPcXpxSE5UYVh4Y3ZCQTAvZmQwWk5LeWxOUTBPQ3JXSm85SFMwL1BRUC8rZmNuYWJLL3NxWFQ4OHNzdkdEOSt2UENTdEVUdDJyVXhjK1pNZE94WWRrSXBrVlFXM0FMQ0ZiTEZpeGNyUy9Mei9QUFBZL0xreWNvMzY5aTVjeWYrK3VzdkpDY25peFlVZnI5dlZQQ0V0UHliM0dyRDNSQmNybktaT1h6NGNMUnZYelpsUlZXZzBvUXJQVE1EZGV2VXdjaVJJMFFUb2NHeTRLWXlTL0VDeTRKektkRjRiTzlNckQyL0dWQ1RBQW9yaTdIMkVpZ0NsNnNEc3RJQWxSWXJ1MHhDejhCR0pzMmVaUVhYQVBuMmNNcWh6eXA2Q0UrZlBvT1pQODJpYStSUVpzSTFhdFFvL1BiYmI4cTN3cGs3ZHk3dXUwOUdDWkhZTHFkUG4wYmJ0bTJ0RWhTdVBIT1pWUlQ3OXUxRDc5NjlLMXlraWdOUDFiUnk1VXEwYU5GQ1dXSzdWTTdVL1ZUSWk4SlltYXhSOU9Xb1ZLSjJVQjZpOVhmVUFZelpPUTJSQzBaaDdaVmRnQ3RaV1dwWE9nNzZMWkVjckV4S2ZnYzE0T3hKZjFYbzgrOEVSQzUvQmpQT3JFWjZUcmJ5aTJVRFh3dEQzeDQzay9MM25CeWRFTFN5MHNrWk0yWllMVnJNaUJFanhCUXZFb210MHJwMWE2c0ZKaWtwQ1hmZmZiZnl6VEpzdGJFWVZHWFJZdmo0V3Jac2liLy8vbHRaWXJ1VXZVb1VCUWxXTGh0NVhQS1dzNjMzOVprMWFMajhXUXphL0FsbW45c0VCL2RxY0hEeWhnTlpLK3lGZUt2MHB3UEp5eTA4Y1I3T1R0dXh0ZU5vN3dnSFJ3MGNQTU53SVQwT1QrejZEaldYUG9YN2RreERkR2FTMkd0NXdKZnVKcVVVcnl0WHJtRFNwRW5LTit2aFBnQ0p4Qlo1NDQwM2lsM3hXcmh3SVRaczJLQjhNK1hzMmJNWU5teVk4czAyR0RSb0VJNGZQNjU4czAwcVhMZ3lzN09SbnA2bTF3Q0hzdnY1bUl3a2JMbCtnaXlmTmVpMC9uM1kvZFFUeit6OEhtZXowdUNsOW9DYnhvdjBKd2M1V2VuSXlVaUZsazY5bXNZVGpkMnFvYjFuRGZUM2I0QUJmZzB4a1A0YXAvNytEZEhIdHg3YWVFYWd0bk1BZkZVdXNDT0xSNWVlakp6c0xEaVNwbm1xM2VIbDdJOGtPcXY1bDNZaGNNNjlVQzhZalRmL1c0QVZWdy9nVlBJMTVTakxEdEhDbTFjNjVlS2FWMHhNalBMTmVyWnMyWUtUSjA4cTN5UVMyNEQ3blFycjB5cU01Y3VYSzU5TWVlbWxsL1R2b28zeDVKTkZSd1dxeWxSNEh4YzdJWHp4SlhkNDJvdVFTUGVQdUZlL29oamtrUFZ6S3VrcWRzZWZ4YllicDNFcDlRYXVwTWZqWEdvMGtyTFQ0YUZ5aHF1akZqbTVPc1JscHlLVExDQTNKeS8wQzJxQk50NlJxTzdxRDMrTk80SnBtYS9hRmE2cW9oMCt1SThwUGpzRnNSbkppTXBNUUV4NkFvNG1YOFhLYTRld0svYVlzTVE4Tkc1d2NkQ1NOZWFBYkJMSkcxa2tidlEzd2pVQUVjNCs4S1BmYk90VEUwMDlxNk9wVjVnNHp1THkzMzlIOGN2c1gwVVRZbzhlM2RHclozZGxUZkhoRGx2dVNDNEp5NVl0US8vKy9aVnZFa25WWjlldVhjSkJnYnNvaWd2M2lXM2Z2bDM1ZGd2dWw3ZFZiRkZ3RFZSWjRmcjQyQkljakQ4djNPWVR5R3FLeVVvaXF5cFJDSk5hTk5YWjAxK1YrT3hnNXdBVkNRY0xScG91azBRakY5NGFGM2lUS1BHNHE1RVJIYUhsZnFseTVIRENSZng4YmlPMlhUOU94NXVLVkYwRzNCeWRvR0lSeThzUlFwYURYR1RuNkpCRng1ZWRsMDNubGl1YVRjTmRmT0d2OVlDVGd3cStKRzU4ck84MnZBZUJKS3ptWEx4NENkT21md3NIT3YvdTNicWlkKytleXByaXc1NUh3Z1cvQkh6MzNYZDQ0b2tubEc4U1NkV0hXeGk0bWF5a21CZVZIS0dIWTZEYUtydDM3eFo5WHJaSXhmZHhFZGJVVXM0bVhzSGUyT000bnhpRlJMS1luT2xRYXpyNW9KVkhHSnE0VlVNRGx5RFVjdkpGdU1ZTHdTbzNPT1haSXlNakZmMERtdURkUm5kamJiYzNzYTc3VzNpa1J2ZHlGeTJta1djWXZtdzJDanQ2ZllCZjJqeU4xK3NOUVlqYUhXbDBUSjUyYWxTanoyRnFUOVNnWTY3bjRvL0dydFhRM0QwVUxlaDhQTzAxU010TVJXeHFQQTVkUDBQbmZSSTNNaTI3cFF2bkZlWDlzU3RsSjFkSlJZdXA2aDNSRW9rNUxEUmxDZmNSMnpLSER4OVdQdGtlRlM1YzdCR24wK1hjOG9zb0FDN282MUFoSCtua2llcGM2S3RjRWV6b2pBQUhyVDZSTmVOanI0WmJuaDFjcUNaMGYzZzdiT243RWFhMmZnd1BSWGFIajhhNmtFOXM4V1RsNnBDUms0Vk1zdFpTczlPUVFLS1JRR0taU3BZZUw4dk15UllXazdXMDhhMkZwMnIzeGQvZDM4RENMcStnanJNdnRIVGVIblM1L1EzSHI2UkFTaUVxRjBUUU9VWnFQRkNieExrRy9WVVZKRXJHdGI1S2JLVzRmdjI2OGtraXNRMUsyNnpINHlxTnFWbXpwdkxKTmdrSUNGQSsyUjRWM2xSNDlXb1VQdjdrTTdpNnVxRkprNGE0Nzk1N2xEV21URDQwSHdldm40YVRvNlVRVG5aSXlrcUJsOW9OTGZ6cjRPRzZQQ0ZrMFEvbHVkUVkwYVIzT2VFOHpxVmR4Nzc0Q3ppY2VBbXg5Qm5wOFlBdW5hVGNnWElxKzJKdlFoWXNFaE5vM1ZIWFBSajEzY2xTOGdoSHNLcy93dWx6Ri8rR2NMRGloVGhGdjdQMC9GYnNJMnRLUXhZZ1c0RjVCdFBKQ0hFN2FIK3ZOSDBBa2U1Qnl0SmJjSFNMS1ZPbml6NnVydDI2b0cvdlhzcWE0bE9hRi9uRkYxL0U1NTkvcm55VFNLbys4K2ZQTDlVWXhFdVhMaUVrSkVUNXBrZjJjVlVPRlc1eDhZM1czK3c4VWZnV2hMTzlCaDVxSjNpb3RIQ254SDg1T1R1b2tKR2RpajRocmZCUjJ5ZEl0UHBSN29JZm5oaXluSjdZL1QzYUwzMFM3WmVOeCtDMWIrTHBiVlB3K1gvenNDNXFMMkl6U2JBYzFRQ0pFbnlwQnVWVm5WS0VQbmxIQW42MTZHQTg2Q2Z5Y0R6eEF2NDZ2d2x2N1A4Sll6ZDlqTjZyWDBlVHY4YWc5VC9QNGRkem01UmZ0RXd0ajFDODJHUUVKclVZZzFBWFgrU1FoZWVtb25OVXp1OW1VbE55MUJZb2hybTUvTERwMTZXblpZaS9Fb21rL0xFMHh2VHR0OTlXUHRrV1BCalpscW1VUGk1cjhLQUMzRS9qQVY5Sy9OZWJyQ3NYZXpYcWVvVGhteTR2WXpSWldXNXF5MTU1KytMUFlkTCsyYkQ3dVFjQ2Z1eUVHWWZuWTN2aVpWekx6Z1FjeUlMak1FOGFMMERsU2xlQXZ0dngxQ01rQml3S1hBc3hUa0lvZVBDeGl2NDQ2YWM4MFhxVEZlYU5IRHNISEVsUHdPN3JwekI2OVd1d20xb2Z0Wlk4anZubk51Sk1TclE0Rm5QcWVvWGpuZGFQNHBGNkErQlA1K1hxb0Q5UDlqalVKLzdzQmhVUGVMYUFQdEN3UGw0aDdIaDhtVVFpcVN4ZWZmVlZkT2pRUWZsbU8remZ2MS81Wkp0VVdlR3lvNUxaeTlFWmJtUjlzR0J4TWQ0M3ZEMGVhemdFVHJUTUVzdXY3RVB2ZjE5Q2k3K2Z4dnY3ZmlSeElwSHhJWXZKeVpOS2ZCSW9ubU9MYTAxc3pWaE12TTVTc3BTWEVqY3JrZ1VJZHFmblpqMi8ramlkZEJuM3JYMERMWlkvZytlM1QwTlVBWU9SV3djMnhGT043a1pEbjBqazVlUUlEMFJEY3FmemRpeEF1QXlJUXlqRTBwUklKT1VQejBheGRPbFNtd3FqeEtJVkdocXFmTE5OcUZTdW1uaW9YZUZMZ3VPbWNvRy9zeGRlYURZS3JRSWJLR3ROMlJoOUJIN3o3c09BVlM5amRleHh2WkM0Qk5EWjhUeFdYTUtiQzVFaHNTVkZmNFZsbFFOd3lLYWNMS05FM3prdUlhKy9tVi9aeGp5SjM2RkV4d3ZYUUNUU3RsTk9MVWZ3N0g0WXN2RkRYRXVMRThkcWpBc2Q1NUFhM1RDc1ZuYzZYeGQ0YXVpY3RlN3cwcm9pMTBML2wwUWlxWHB3ME9zOWUvYUlQclRJeU1ncTV5TFBVeVR4TVhMb0t2YXNiTnEwcWJMR2RxbHc1NHpMVjY3Z3M4OG1pNm50bXpkdmlydUhXdzZYc3ZQcVFjU214aUhDTXhRTmZXdm9SY0dNelRGSDhQYkJQN0R1M0hwOTg5OU5Sdzd6VXpKc3k4dnBzeTREeUU3WEoxN203SThBRWtkL2xhc1lkOFZPRTJ6TjhPektjWlNIUXpvaC9RWUpHVGMxa3JYSFRaUnM5WWxqTXQ2M01jcHl2cnlaQ1NTQXdDdU43c1ZielI0Uy9YVG1KR1lrNFVETUNXVGxab3ZwVEpyNTE0VTNXNHBtc0hQTDFHbGYweWM3dEczYkdrTUdsM3hjaW5UT2tOeEpsTlk1ZzkzZmc0T0RsVzhGdzJHZzJLcUpqbzRXNGFVc0RYam0yS3hSVVZHWU5tMmFzcVQ0akIwN0ZyVnExUkt6YkJqRFJUclA5OGNCZ3RraTVKa2RlQUQxN1VTRkM5ZWx5NWVwd0p0Q3d1VlVzSERSSVIyT1BRVlBzajVDM1hsRzR2dzh0dnNIL0hoa29iNnBqcXdWSVJ6NXRJTUtaajQ5RWdPOTlVUkpsNDRhZ2ZTNzFWcWhYMkFUNFNpaGN0REF5VkVOTFZsb0pvVTViWnFWcDBPcUxoTlpsTkowYVZoRjF0MzhTenV3NC9JdWZiTWpqeEZqSzB6OFpjdXJnT05naXk0ckdXNWFEL3paK1hYMENjby9BU1FQVGo0VmZ3SHAyV21vNVYwZDdtU0JtU09GS3o4OHhNSVFzTGs4Z2pSWEZ2eHE4dFFZZkorNGI5TVc0T05kdTNhdG1NK05DM28rZHA3MGxGM0htemR2amk1ZHVpZzVLNTZLRWk1cjRYaUI5ZXZYRi9lNUpHemN1QkdkTzNkV3Z0MVpWSUp3WGFFQzc2dENoWXNQaWNkT2FkbmJ6NHlOTWNjd2ZPTjd1SkVhUzFaV1FaTTVLZ1V5Q1FWMDJXam1WeHUxUGF2anlWcDNvYXRmeVNlZk5PZEV5alY4YzJJNS9ydHhBdXRpamxNSlNqVWZyUmNKbWlLWStXQUIwd0h4NS9GZ2t3ZnhRNXR4SkpiNUM2VG8xT3Z3SU5IU1d1akxzMlhoU2sxTkZSUDNHUVl2czhoMDdkcTFXSVhCcWxXcmNPellNY3llUFZ0TUpWRVEzRnpUczJkUDlPblRSMHc2eXI5VG5xeGJ0NDd1elZWeFRWbElPUUo1blRwMWxMVkZ3MEZjT2Y3akgzLzhJUXFrZ21CeDd0YXRHd1lNR0lDNmRldUtxVFJLY3g5THk3VnIxN0JtelJxc1g3OWVUTVpvRFEwYU5NQUxMN3lBMGFOSDYyZjJMZ1NPN3NCaHlYZ0dBeDRLd3JBRjhjQUREK0QrKys4WG42MmxxZ2tYaDZCcTA2YU44cTM0Y1B6RWZ2M1lxL3JPbzBvS1YwSDhmbTRqSHR3Mm1VbzhzbkE0enAvNW9mUDd5OHU0Q1RBMUd0MXE5c1hFZW9QUnhyY3VYQzJJWUZuQ0FYNFhYOXlCTC9iUDBqY2xhdHoxeDJsUnYraEEwK01SNkJxQWt3Ty9nWnVGc1dwOFd5d1ZTTFlxWEJ3aTZzc3Z2OFNwVTZlVUpYcDRYRXlQSGowd2F4WmR0MEw0NTU5LzhONTc3MkhIamgzS2t1TEJ0WDJPNGoxeDRrUmxTZG5BTTBhLzhzb3IrYUlRK1ByNmlyNkUxYXRYSzBzc3cwMUt2RDBYL2lXaFNaTW13b3FaTW1XS3NxVGllUHp4eDhYNTgvaW1rc0ROWER6Yk5vdXZKZmlaZWVxcHA1UnYrZUVKRWxrc2Vhb2RhNmhxd3NXaXpCV2NrbkluQzFlRnQ2dVV0S3djdXVWelBMamhQWHBhU1JEWVcxQTAwM0VUSFNleVdqaVJZTG5TRC9RTGFZVzh4N1ppWGJkSjZCSFkyQ3JSU3N4T3c1VzBPRndnUzg2UUxxZmR3UFhNWkdTTGFVMEtwNk52SFh6ZWZBenlIbG1QbDVxT1FnQ0xGMjNMeDJrbmpzOXdySlQ0Mk1sYXZLWkxoL3Z2QXpIdjBrNWxMN2VvekZwMFdjSk5lT3d1ekFXUXVXZ3hYSXZtMlplNW9MZFVoN3B3NFlLd25qaWdiMGxGaTJIcmpLZTA0T3RxcldWUUZDTkhqc1JkZDkxbE1YUU9SeFpoTWVKNGtGemdtY1BXR1ZzZUxLZ2xGUzJHbStTbVRwMHF6b3NyQnVVTno1QTlZY0lFOFhzLy9QQkRpVVdMNGVlQkxXSytqdWIzL3ZYWFh5OVV0SmowOUhSaGRaV21uMGhpbTFTNGNQRmNXSmJORU10d3pyczJmVUxXekZab3ZhcERhNmVtNUVESmtaSktKSHZPbEJLTDBSRmRzYnZQNTFqZStUV3hiV0dzdUxvZnJ4NzRCWTl1L0JEOVZyK0dMaXRlRkFPSld5eC9GaTJWeE44N3JuZ0JmVmYrRDJNM2ZvQm5kMzJMWDg1dFFGeFdxcklYeTN6V2FBU085WnVLNXh1UU5abVJqTHdjM2MxajFSODNKem9IUjJmWXV3WmpCSW55dE5PcmxLMXZMN2hKWjl1MmJjcTNndUhtdzBhTkdpbmY5SENoRkJFUlVlWXg1aDU1NUJFODlOQkR5TWdvK1FCdXRwSzRXYThvT0I2a3VSY1hXNnZWcWxYRDBhTkhsU1ZsQSsrWHJSZnU5QzhQdURtUSsyU0tPNTE5VWZCMTVQMGFZbWR5cyt0SEgzMGtQbHZEczg4K2k3MTc5eXJmSkhjQ0ZkNVVHQlYxVFlSODRscTBOVTJGMVpZOWcyc1o4ZkJXazZWbEpuaDg1UEhacVFqVnVHTitoeGZRMnJ1R3NpWS9DVmtwV0VLV3padi96Y1BWRzJlZ1l5dUk5OGM3NFg2bW0yN3Q1dEQ2WExLNDh0Z3ppUCtTK05JbkQ0MEhIcXM3Q0c4MXZCY3FzdWdjTFc0TEpKRWwxM3J0V3ppUkhBVXZ0U3NjREE0Y043SFRSOERQVE1UN2plOFhUWnVGWVV0TmhVVTE5VmlDK3ozWU11TCtxWXNYTHlwTHl3Y2V5N0oxNjlaaWoybmhKaHJ1WXlvTzNKZkJ6V29kTzNiRWtTTkhsS1hsQTkvWEF3Y09vSEhqeHNxUzB2UE9PKytVZTVRSWpwM0gxMmpJa0NIQzBpNE9mRCtLbXRuM1Rtc3FuSHA4S1Y0N1BFY0VNN0FYL1NobGc0N0t3a0N0SjM1bzlSUzZCSnBXTml1S0NyZTRUQXZ0Z3NuTXpVYW5kZThpaGF5YkNDZGZ1Tm1yS0tuMXlZR1RTcXg3T0x3anpnLzh1a0RSK3V2aWRvemUrQkc4WnZmSFEydmZ3TVhFeTlCcDNmUjlaRHg5UHpjNzhyZ3ZNVUJaWlNHcGFUMjd3THRRb3J5MFRRNmx1SnhNZkxKdkpweC83SVIyS3laZ3hzbC9XTmJ5NFU2L2M3enZaL2lDUkVtbnl3TDNacm56OFJ2T2hjN0xpL1lmNGVLUGQvNWJnTStQVzU2d3pnRFhNOFFNMGdRN0FWUlYySk9NbTVLS0N6dGRjSWQ3ZVlzV3c4MWNQSEEwTmpaV1dXSWRNMmZPVkQ1Wno4NmRPK0hsNVZYdW9zWHdNOEo5WHlkT25GQ1dsSTV4NDhaVlNHZ2pkaDl2MXF4WnNVV0w0Zm5oVHA4K3JYeVQxRjA0QnM5dCtBQnBtY2xJekVoQVBGWCt5eW9sWnliaFZQeFpkUDFyTkNic21hSDhZc1ZTNGNMRlphNVM3dDc4YTRueGUyYmliUEpWVkhmeWdTdUxsaEFyZmVMWml5K254R0J0bDlmeFk2dkhsUzFNMlJaN0hQVVdqY1h3ZFcvajF6TnJBR2N2d0kxcVN5eEN3cnJpWEh3QXhVeThIU2NXTldjZk1yMUNzSWQrNjRtdFh5QjQ3cjM0NFpUbEpyOEpkZnBqVjgvM1lVZldsWDFlcmw2OERJa0V6TjFCZ3pva1hoK1FlSzJOTG5pNkFSYXJQQkdHU2o5cXY2ckNNeXNYNXZWWFZXRFI0aHErK1ZpWWdraE1UQ3l5Wmw5VllLdTF0Rkg4dVQvcjIyKy9WYjVWYmNxcmlkVFdlSEgvTEp5NFRwVVdLcHRFeGJzOEVsZjhQU013ZWQ4c25Fb3FlVDluU2FsdzRWS3BIS0hWNmd0Y0h2TlJFQ21acVFoWGU4REhRUXRmbytSaVo0ZFF0VHV1RFptQkR2NzVYZHVQSjF4RXgzOWZRWWQ1OStBNGladnc4Tk42MEJwU0czYXlNQ2lub2tQNlpGQWpRK0xMWXZTZDE1dms1MFQvR0pTWExUYU5PNkoxR1hoODdadndvdCtlY3o1LzBOMjZIc0U0TVdBSzJuaFdod05abEg2T1RpYm41dS9vaktidTFUQmg5MHljU0xRODE0OStuQklmRjUyYW1zU3ppc0xOSUxZQzk4RlpPNVU1VzJtRlBiZFZDWFo4WWVlUmtzS1dWbG4zWjVVblBQQlhBdngwZEJIZ3lsT1dLT1ZUZWNGZERmYU8rT25NV21WQnhWSGh3c1h0Ny9iQ1FhTndmQjJjNEVWV2lISFMwSDN3Sk90a1FkZFg0YzN1NW1aTVBQUUhHaTU1SEZ1djdRZDg2bEROZ0FYU1VORHpYK1BFWWtRN3pLRkNpT01KSnBQSUpaQllKRndBYnB6Ui8wMmdta1F5MWVMUzQ0RHNETXF2NytQS3Z5OGxjWWdwcXVVa1pLYmhnYlZ2NElYdFUybTVLYzZPV3Z6Uy9qa1NxSEJTN2l4NG01Mmp0NzFHQ0hOeUFRNGdxYW5zcUtDNHlndkJyWnFjT1VQWDBJYjQrZWVmRVJlWFB5eVhPV3hKMmhJY2lxZ2tqZ3RzVmRxS3BXV0FtNmNsZ0JPWGJWdyttTU9UMDZiUzg4c1JnTW9LS3N0NXh2ZUtoa3ZjQ3NYQndWNVlYVXg2ZXNFWGtQdDkvS2lROTFHU3E1MER3cDI5c0tUSFczQmpDOGVJSzJueGFQUDNlSHk0K3p2a3FMVmtZYm5SalNPUllYZERrOFM1NmVIbXFVeklPZ3BWYWRDVXJLQlI5UWJqMTk0Zll0K0l1Ymc4WmpYeXhoOUF6TmoxT1BYZ1Vxd2U5RDNlYS9zTU9sWnJqanBxVjdqejRHSU80YVNqbTJYcE4zaVptZ1RUeFJkZkhWOEN1OWw5Y2Rvc1VqeDdWdjdROFZsMEQyZ28rcndNNXlnU25YZXd4ZzJlSWhwSWZySkk3QmdXTG1kbnNpYXJLT3djWUdzOCtPQ0R5cWVDS1d0UHdJcGd6Smd4eWlmcllEZDFkbEczTmVUa3BnWll0S2dzTXNBVjlLdzBqSXJvaXQ5N2ZZZ0dicUVBeDA0MXRCaVZrcUlDZ3BjSEZTNWNiRzBaUnN2bjZMTHAybEZCYjRGZ0p5OFNLQzA4U2FSY0hkUmtZYm5nMHpaUFFzVjlTMFljSkt1b3lkOVBZTmYxWXlRVy9uVFArQ0x5alROTDdNaVFkQlhxUEVkTWFqSUt2M2VkaUpQRGY4ZCtFcWJaSkV3UFJuUkdNNi9xcU9ic1Rma2hwaGlwNlJhRW5vR044VWFENGRqYzh3TWN2K2QzYk8wM0JWKzBmaG85QXBzRExFaVpKR0Q1bWhxVlJPZkFOWkphQzBmakh3NFJaWVE5SGVkcnpVYWlwbnNnVkhiMjhLRHp2SmtjbmFBU1RZTDVTVTlMdi9tODJUdFcvQU5qTGJaWWlCdzZkS2pJZmhKMklMQTF1QW1Ob3pSWUN6Y1JKaWNuSzk5c2g4TG05N3Vqb1VwNmo0QW1tTjMxZFR3UTNobi9EZjRPdjNWNEdVaThLTmJaSWhVdVhHeHRPVGxwUmVHYlRjTEYwL2hiZ3IzeHVCQjNKZkhLeTh2QmU2MGZ5emYvMXFhWW8yaTY1QW5jeUV6VGgxcmluWEtoZmpPUmVIQi9SRVlTSEhOMFdIVFhWNGkvYnc3ZWJmNHdIZ2pyQUsxd2lTOGVEVDFDTWFIQk1Ld21DeTFsekJyMERXMUgrMDhVTlJyaFZtalNIMGIvOEJ4ZUpFVDkvMzBKczA2YlJsRmdxK21GSmlNUTVPUXBBdS95UkpJczF1dzI3K3lRUDl3VGsyNDA5cWdxOTNHeEU0T3R3ZTdPMjdkdlY3NVpoZ2U5MmhwOHpOeGthQTNzVUZPYUFkR1NLa2l1RHVFY2hOeUlrWFg3WXh0VjNDUFlVNXJMcnpLeXZpcUtTckM0SEtGU3EwVVRMUGZYWkdaYTl1YnkwM3FRdGVVQ0p6czFIcTgvVEV3QllzeUJoQXZvc3VnUkVnVTFsZUMwVGhnNTlJOGhzY1dTRVUrV21qT210M2tXMmFPV1lVaG9HemhiQ0s5VUV2am5YRWhJVjNSL0d4ZEgvSWtoSWEzMVRaQjVKSlRDYTlGd0xKU1JyVVJYZnp5ODVnMThmL0pmc2IwQm5yN2xrUWFEeFR4Y0huUytubzZ1ZE15dVVCY1E3U09GYXNLaWY0dVNrOGF5dUZVRnlpUFlMUWVhYmRldW5mQUM1SUcyNGVIaHlwcXlnK01GRm9hNDl1VkF5NVl0TVhqd1lQVHQyN2RZTVE2dHhkcW1XeDcwTGJuTklDTmc3cVZ0T012T2FrYTA4NitMYy9mTnc2Z2F2WUcwNi9yK2ZsRmdWWDBxeGVKeTFtckJVOURuMElYSzVhanBGdUFDWFdPdlJpTy9HcWpyWTFwQUhVK09RcXZsTHdCdUFWU2FrU2p3dGI0cEZFcWlQTDFDMitMd2dHOHdydDVBL1lZRkVKdVpqS2tuVitDNXZiUFFlZDBrZEYzM0ZqcXZmUXVETjMrS1NZZm5ZVlBzTVNXblpVS2R2TENvK3p1WVMwazRjdWd5elk2SE12RmZ6eEE4dWZVenJHZm5FU01DblgzUVBhU0Z1Qm51Sk1Jc1lCb1NlRXR3RTQ0RGlZSTk3YytsQ3ZkeGxUWFRwMDhYd1hYWkdsaTBhQkZXckZnaHhrWnhOSWRXclZvcHVVcFBSZmRoZmZEQkIvanZ2Ly9FZVN4ZXZGakVaT1JCMFp3NHRtSlpZYzNRQkI3OFc1UndGeGV1YkxBWWN6eEI4OGdva2dyQzNnRnB1Vm1vdTNBVXBoOWRyQ3k4eGV6Ty84TWYzZDhUOFYyUmZCV2lDeVJmSXRHclFzMktGUzVjM0E2dGRXTHJLVTlZWEJrWmxoMDB2RFJ1OEhmMlFKL3c5c29TUFluWjZhaS81QW5vOHJMcDZNa3F1ZGtzeDRuRWdac0cwK0l3bzlzN1dOWHpBOUZYWnM0bFdyLzQwblowV1BVYTdMNXRCZitmdXVNNUVwU3BSK1pnODlVRDJIaDFMelpIN2NYUzh4dngvcDRmMFdYeFk3Q2IxZ0QyYysvRmV3Zm5ZRHVQa2JEQWZlR2RrUGZJSm9Td0t5ckhLVFJwTnVRY0RxTGZxL3VDaDNDVnpYTWptZ1hVUnlPZm1pUmNMdkNuUE5vQ0xNUHIxK1BvT2JTSEhWbDFidTc1UFN0dk56ajZBdytvNVg0WG5ockQ0SkRDRmgxSFd1Q283OXgvd3k3dFBBZFJhYWtvTi82Z29DQnhYaHlUajJNV0dvNmRMVG9mSHgrMGI5OGVDeGN1RkRFTitYdHBZYy9Db3J6dVNqSmczQkljaVlTREdmUDU4Vzl5SldQT25EbWlENUdYY2JSM2p0RW9xVUFjMU1oMmRNTDR6UitLY0hhWGswbU1qTGcvc2l2eW50aUpXYjArd3BKK1U3RDRycTlNMHVxQjM2Q1pkMTI5ZDdXK01LdFVLbHk0R01OTHlxS2xLMkJNak1yQkVSMkRteW5mYmpGcTAwZklZM2RPOXJwakR6OXVraklrNU1BeE54T3p1NzJKeDJyMDBHOWd4cVNEZjZEVlA4OWo2T3JYc1MzbU1PQVRTYWtHeEVTVVdrL2FMeFdNSWtvR0paNFB5OFZiUDVBdmtBdFFIZDdjOXlQYXI1aUFYbXNtWXNXMWc4cGVUVGszK0h2MEQrK29yOEZRYmVmV01mTHgwbmZ2U0xUOTl3V2tzR1ZtUkhQL2VpVFk3bkRYRkd4SlhiOStRNGcvN1ltdTQrMXRjWEhUR1FlUnRRWnVRdVNDa1lQYWxnWWVwOFdGYTNuQ2NmbFlrS3lCQlk3SFkvbjcreXRMU2s1aGtWYllrbWRCS1MzRGh3OFhGdVQ3NzcrdkxNblAwS0ZEaFpEeVJJaVNDb1RMSVBjUTdJMDVnanFMeHVKYkM4RVN4bFR2aWtIVldtSndTQ3VUeEU1cUczcTlqd2dPdWxBRkl2WndhVi9ocUJXdlFnNnFtWmxsMmVJS2N3OUNOVmZUU1NRNUpOTGY3SjJuSlRFUlZneGJOSnpvTkhKeVlKK1pqaDBEcG1OVVJQN0o2bFpGN1lQZHp6M3gvc0hmRUoyZFJvSkUrMWE1S2R0VGhwdjdzcFJvUFVlcnNDY3J5SmtLRUpVcjFrUWZRYjkvWGtDMzllOGlqcTBySXpodTRiSXViNkJuWkhlbDQ1T096M2gvRGxwY1NyaUN4M2FZanZOeTFiaWdsbGM0ZkN4WWlRWlMwMUpFcmR6T3dRNXFkcnUvVFdITGlwdk9pa1AxNnRXdGRrSW9DSjR6ek5LTXRXVkpjY00rc1JnYjVxSXFEWVo1MEN4UkZ0RkFPUER3Z2dVTHhNeTcxc0Noc3lvaW9yM0VES3FVcDJVbFlzNkp2Nm5zU2xFV0ZvMjd5Z20rWkxYcEM4VEtwVktFeThYVlJSUytqbzRPaUx0aGVkQW5UMTl2M0UrWW1KV0M5dzc5cHJlQzdPakM4VHBESWtzTDJTbFkwT050dFBDcXpndE02THZ4QS9SWjhTS1ZoaVI0SEVXRHZRbkZQc3oySXhMOWN6T1pyMU8yWWN1Sm5VVmNBN0RoMGpZRUx4eUR2NjdrYjJKYTFlMHR0QXhvRE9qbzRURFpIKzJEam1YdXNhWFlISHRjNURWUXpjMGYzdXdoV1FDNU9ibWk1c3h4NzI1bnVCK3JKSEN6RzZmU1lHMzRwNUpRMG9LYWg1Q01HalZLK1ZZeUN2UDBMTzE4WGh5aDQ1TlBQbEcrV1E5UEtNblIraVVWUkZZcU5McE12TlZxSERZTm1DWWN3WXhKejZTS215NHJYMktQNmJjUHpjV2VaS3BBVmNLNExYTXFSYmg4dkgxZ1IyWXJkOXhldldKZGZMSDd0aytsbW5BMmlRNWJHWHpZU3VLTFNMV0dWNXM5aktIczJXZEdqY1dQWWVXRjdTUXlRWlNYTFQxV0RzUDJ0SzI0Q2ZTWnpWL2VQemZmM1V6MFhUaVBLTDhqNHNJYnRsVlV5TWtIbWZZT0dMN3VMWHhuTmpVSjU5amRoMTVtanFqQkhqdUczeEw3bzBUQzl6QlBqR2tFMlZKaTltTkxjSE1PRHg4UXd1WEpZYXh1VDNoeXlkTDBnWEI4dmRLUWtKQ2dmQ3A3aWh0VjNwalNGdkNGV1Z5bENmN0x6Wms4cDFwSitmNzc3MldmVjNuRDQyVlRyOFBmT1FESkR5ekcyMDBlVUZiY29zZnFTYWcyL3g2RS9Iay9wUkVtcWRxOHUvSE9nVi8xWlJsWHdpc1pMa1VySEg5L1ArRVY1MENXeitVb3l6SDVqRG1XZkEwcno2M1hOeEd5SEFocmpCTDNGMlVtWTJCWWUzelV5SFM2Z2tTcVdRVDgrU0RPMHMwU0FYYkZOa2JiaXUzcE96ZnpaU1Fnd3NVSHZmM3JZMVJvRzR5czFnb1BrZ2dPQ1dxQ2htN1ZTTURTcUNvU1Q5dXd0VVcvYWJ3UFBoNFdVNDBYbnRyNElTYWYrRWQvQUVZYzZVZTFXZTZYNDc0VDQrMGN0VGlURklXdnpiWXA2TG00Y3VXcWlEekNUVmwrZnFiak1tNG5lRVprbmxpeXBIQWZVbWtvcjZqN25UdDNMcFVMZjJCZ29OWE5jSmJRRmRDZnpONlozRVJhVXRocUtzM3p5SDIybjM3NnFmSk5VdVp3dWFQTHdKZGtaVVhmTTV1c2Q5T2hSWE12YklYbkwvMnc3dElXeER1b2NTMVhSeW5ISkYxbFp6Z1ZsWE5jL2xVQnVBU3RjTHk5dlVVQnpFMkYxNkpNdlZzczhlSGhPU0tJTFpmMWV2RlJFdGNpeUVyNnVmMEwrb3hHMVBubk9jUmtwOUIyYnZvRnh0dHgwcVVEOFpkd1gyUlAvTnY3WTJ6dCtSRlc5bmdQc3p2OUQ3OTFlUTIvZG40Vmk3cTlpVTI5UHNTT1BwL2hNNDVDbjBvMTFqUktZaDhzUUViN1V6bytKK3ljaHZtWFRac042M3VFWWxTdHU0QnNEaE5sdkIxOXBvZmgrek5ya1NVc3U4SzVjUEdTYURMaXBxeVFhaVNvdHltbGRVVGdQaUcxMnZJNE9Hc29yN0ZhUEhsa2FZNkxSYXMwZ2w0UXBZM2kvL1RUVHl1ZlNnNVhWc3JDZTFKaWdleDA5QTVzSVlJZG1QUGUzbDl3LzlvM2tNaVZlTzViNXpLSnhjazhjV3RST2IwWEpZR09zdUxoaUE4T0RwenNjZTFhNFVGTER5VmV4QjhzQkZ4THVGbmdLNG1zcFZrZFg0UVBld0FhMFdYRCs0am1ZSklhRDhwSEM0eTNZVElUMFR1b0tmSWUyNGk1N1o5Rm44REdDSGJ5MUs4encwdnRqRFkrdGZCU3ZTSEllMmdsM21yK01JbGxGcVVNMnAreENGRmk4WEx5eG4yYlNPemlUT2NHK3JuMWsvQ2xkZm9CeW9adGFJWEtHZi9GSE1UV0lzYUtNVEhSTWFKNU5Tc3JHNUdSa2NyUzI0L2lUdXhvRGxlTTJGVytxc0VXVTJuZ2ZzMnk4QzQwaDhmSGxSUnU0aXVybUpsdnZmV1c4a2xTdHVRaWdDditSbHhMVDREcjc0UHc1cjRaZXNFcW84QU1GVVdsQ0JjVEVPQ0hiRjBPbkp3MHVGNUkyL3V1NnllUm01Vk1SOHI5VTN5NFNpTHJOOVExQUlQRE9uSzJtL3g3ZFM4MlhhVWFKRGNyc2pnWThyUEljQk5RU2d5V2RYc0xLN3RPRXZtTHk5c043OEVtc3N3QytVRmc3MFRqZml0T1lyNGFSd3piYXRvSjcwREg4bng5L1ZUK3BuMWRkSXhhSDd6NDMzeVJyeURZMms5T1NSWi9QVHpjYjA0TmN6dFNHcXZFUUhtN3RKY0VOemZGK2k4RjVXRU5KaVVsS1orS1QzRUQrQlpHYWFaZ2tSU0Nvek5WL3JkaDJaVzl5TWhLeDlRaml4QTAvMzZrY2dYYzRMbk43NHRoMmlkenNsTDBRWGx6TFRjMVZ3WmNlbFlLZGV2VVJtWkdoaWlrVHAwcWVPYlN5VHdKcE5vTkdoSWV0WkkwYkxyeTdNZTErOEpUWlRwdTU1NmQzd29yaHZPbzZmUkVmaElLRHR5TzNHeXM3amNaL1lOYjZET2JrVVFtZFhSNkhHTG9Kc1drM1VBYy9ZYWw0cStUYjIwY292M1Vjd3NTZlZmaXR3ekhSMmFVUnUyT3FJUkxtSEYyZzdLRm5vbDFCOUs1dU5LeDVJbGowdWUzaHlOWmpQdWpEbHFjUWRsQWZIeThjQnJnQXRuSHgxZjBDOXl1M0s1TlJpNHVwaTBEeGFVOHhKajc4NndkVTJhSk5tM2FLSjlLajZlbnAyaFJrSlF4OXR3dm5vVzdWLzBQalplUHgvTTd2dEpYbUttY0ZFS1ZrdzAxcmZmbnp4d2R3eEQ0bkw5bnBXRkFTSHQ4MnZaWlVDbXFiMjJxQWxTYWNOV3JWMC9FS1ZTcDFEaGR5TnhOUjJPT3dJbkVTVVdIeWxIVURZbWJDZCtwUDF6SnBXZm11UTFJU1kyR3E4b0pqaVFnTi9QVGpjdk5pTWNxc3JKNit1ZnZ1Rjk4ZVRjZTJ2UXhndjRhamNCWnZSRHdjM2VSZk9iZGkrNHJYOEhzTTZiQmNSay9FdFBkZlQ2SFhXNGV2Znc1VUpONDNmdzkrbTFIRjE5OGRud3hzc3hxS1MvWEcwZ1Zsd3h4VEliOExNb2NiL0huY3h1VlhQbGhqN0RrWkI1anBFTjRlRWk1MUx5ckNtVmhtVlJGU2x2WktJOTd6azRaWENrcUtld0JXbFp3MzJSWVdKanlUVkptVUpuaG8zRkQ2cGhWT0RsMEpnNE1tdzAxeDA5bGdhTHlpZWNJUERGMEZxSkhMc0Z6ZFlmb3hZdlJwYU9yZjBQODNlTnR2TnhnR1BiMkk4SGp1cE5CMkNxUlNoTXVUMDhQMGNmRnFhQ3hYRXpmaU01STEyWERrWVZCU1psVVE2Z1RsRCtxeGtmSGxrRHI3Q2NHQUJ2eXF1MGRrWktaaExHMUI2QlhRRU1sNXkwR3JINGRROWU4aGw5T3IwSWFoelB4REFlOGExQ3FTVmZIQVJ1dUhjU1lUUitKV1kxenpXcThMbzVxL05yMkdXVFRkc2EveWNmS1U3R2NUbzdHUDFHSGxOeDZPdm5XcGYycVJPM0ZrSitUdlowNjM1Z3VZMkppWTRWQWNxMDc5RFoyekdES3k2dXZzcW1LelpkTWFRWmNselpTaVRFczdMZHJwYVZTeWRNaDFDMUV4RGhsNnJzSG93NzNhd2tMS3gzRHE3VkdoS3ZlSy9UcGVvUGhyWGJYaTVNdUM2Mzk2b25sRE0vVUVjUmRKRlhnT2E0MDRXTHZ1Rm8xYXdnWDNZVEVKRVJGWFZQV21QSndlQ2RSSzlCUzRjNU5jbG9Tb215cUVVeXNhem9lWnRXMXc0ak9TSUk3MVI0NG55SFJ4Z2h6RGNDMFpxUDFHUldTV0d4K0c0VGxQTWFMUS90enVDZmF0N2dwb3EyWEV2ZEZzVG10OFJDemZEck03SUpEY2VlVVBlZ1pHZDRlOTRTMVF6YlZhb3gvbDQ5VDdhakJ6eGRNcmFpdWZ2VkZFNk1EVlo2Tjh6dVRDRjdoQUwwRmNPcmthVkhqNWlsaGZNdWhnMTV5NTFKVnJIY1c5dkljL0gzbmtvYzhvM3Vzb3dwd2prRjhxR3lONU5pcUN0eENaUHc0NUJoNU8rZFFtY2lwS2xCcHdzVXZTM2hFaEJDdUpCS3V1QUthS3hxNGh5Q0FSSVVQVkUxMmlpTjkwamhvVU0vRDFPcllGMytPTEtKY2ZkOFI1VE1rRnBUUllaMU1walBoRjJUWStyZXBwcG11ajBYSWQ0cHZsdmhiUUNKQmhOWVZiVmJrZDcxL3VtWWY2TGlkMk9oM3VXblRoMFJ2blpuRnhmTnRWWGYyRlgxdXh2bnR5Y3BvNzFOYnlaV2Y0eWRPaXY1QWpWcUQ0S0RTZWFkSkpGVVJGcTJZbU1LOWpDVWx3YTZRSUUxMitib3pLdCtlS3BwS0V5Nm1XbkFRT01vM2orYzZjc1R5ZEJJTlBFTFExcnNtN0VoczJPcmlydHQ2cm9Ga3N0NEtlY1NWaDhNSkYrRkc0bVN3ekRpeDg0T25veE5aUmUyVW5Icm1udHVFdGVjMzZkM2xoV0x4WlZBUzl6Y3g0cTlaY25SR1JsWVNCbTR3RFNEYXhiOHUvTW1FWnM5QjQ5OTNJNEZOeVV4QkZBOWVOcUtwWnhnZGM2Nnd5Z3g1ODhneWZLSkdkeVdIS1Zlam9wQ1JrUzZhZEFKSnRKeEVkSDJKcFBSd0JiSTBGaGZIR3kwck1qSXlDbzN1SVNrYmNxaXNTYzFLcFpwQ010M0FKS1FiQmZ0bWF5eVp2UWc1TUFPbE5LTjFWUWt1a1N1TmlPb1JJbEk4V3hLSERoOVdsdWFuaTE5ZDVPWG1rUkE1a0cxaWh5Q3l3SGg4bFlIVW5BeGNTbzJGcTcxYTVHR3JpeFAzTzNtUXBWU1hyRFpqSHR2ekRWbGFpdWNhdjdPR3hDVHp2RE5aOUplYkxybTVrUDRZcjlkNllSbUpubkFsTldKNFNDdGswVExqMytmUFhscDNySTh4RGFmVDBqdFM5RmNaOHJIeTFpSXh0alFGQzdONzkxNW9OQm9SVGI5K3ZicktVb21rOVBEN3h5R2JTa3BaenQvRmtma2w1WStqdlFwakkzdmdxVnAzNFpHNmc5SEJxQi9MUitPSzUycjB3VGhsWFdmLzBzWDlMQzhxVmJpOFBEM2g3dTRtYW56eGNRa0YxcmJHMWVvdExLMmJZa0NpNWN6anBSUXljcklSUnpVSFYwZjFUVEZnYThhQkJLRWhUMGxpUm1yaUZYQ0VkaE5WWXZzNDdUcTJEUDRPYVE4c3dvSGh2NUNBY1pnbWJ0TTF5c2UxVXdkSHpMKzBsYjdmb3FOdlhkSDhKNndvNVJqWWtuSW5xK3RLdXVsNTFYWWxTNU4ra05kei90VHNOTHhRdTUreU5qK25UNTBXd3BXV25vYTJiY3ZPL1ZnaVlkZ052YVRNblR0WCtWUjZmdnp4UitXVHBHekpvNUtMeXk4OUdnY1YzbXp6Rkw3cCtESis3RFlKZDBkMlZkWUFJYzQrK0t6OWM1amU4U1ZhOXdaRzFMVGNDbFRaVktwd01TMWJ0a0JxV3BvUXNOVnIxeXRMVGVFTDNTZWdFWFI1T21qSml2SlZ1ZWdGUklIN3JOZ0YzVWtJZ1pKSU9GZ2M2cmlaOWdmdGpUdEwyM0owZUhiY1VKb0ErVE9aeFIrMUhZOE8vdlhoUkwvWHhMc0dQbXcrbHNTTFhVT1ZmQ0xwdHp2RGxwa1JJV1F0aWQrbmZSa2ZneHZWYnRLeVRjMXREUWtmcjNlaTlTeklJV1JCRGc1cHFWOXB4dWt6WnhHWGtJQ2MzRnhVajRoUWxrb2taVWRwb25IOCt1dXZ5cWZTODhjZmZ5aWZKR1dMSFhJNFlrOHBjYVJ5azd0RHFnSmNFbGNxN2R1MVJYSlNrckFvenB3dWVEelhDL1VISURNekRTNVU2SnRQYTg5aHRseElJSnhwdWVHdlNIU2h0U0lpL0MxU3VSblFnY1dLTmhJVE8xSVNOeU5YUDBtYUVUeStRV0RJZHpQWkl5WFhWSXhZUFBuM2J2NjJrdHpKQ2hSUjdZMnd6N09IdTcyYXJFWjkxUGlCd1MzZ3BySWNOdWZzMlRQSXpjbEJPb2w3bTlabE4wVzlSR0tnUm8wYXlxZmlrMGJQWlZuTTViVnMyVEtrcEZnL041U2tHRkM1ZElNbnRTMGxWMUpqRVNWaXRWYTZiRlMrY0RITm16VVhIa1VweWNuWXUrK0FzdFNVZWg1aEdCclNsaXlnSERpYXU3M2trYlhGb21GSFlpRCtrbmpSWHhjU0J6c3o5MDBlaUNjbWN6UjJ2dURQWlAxYzV3NUxJeHk0T1pMRTUyWStRMTZxd2VpeWxFRjZDcUV1UHZSN2pzcHg4TytyeEdkZmxTdDJSQi9GanBoand1dVJvOWEvZjJnT0lweDhvYUg5Y1IvY3FNaHV5bDVNeWM3T3d0NDkrOFg0Rmc4UEQ5U3ZmNnN0V2lJcEt6alVFanRKbFpSMzNubW5WR1B2ZU50Smswb1dnazFpQlZUWmo4cEloUDJzM3JoNzQ0ZDRZc2MzZUhUNzEwV214eWlOMnZJRkh0NDZGVS92bVluT0M4ZVEyVVZsWWhXd3Vrcit0SlloYlZxM0ZCNUZmRUVLNit3ZEdOWmFOTEZ4djVQeFlFNEhzb0xZc3VHbU9pY1dEeVh4c21Rek1RcHdjdGVMa2JDNDZQUTVpYzhxWERIei9ndm1DUjE1eWhLVHZQeVhhakJtZVRsYVIwM1hBTEI5eDVhVzRSaWNhYi91amhwOGRHQXVYdG41QThiVHczQWpMUTRlSEtvcVY0Zm0zalVRNFdZNUlPemxTMWNSSFJNclBnY0ZCY0xQcit3amcwc2tQSE4wYVFiKzhqVDhIMzc0b2ZLdCtIejg4Y2M0Y01CeWhWVlNSbEI1eVhKekp1RUNadXlhaHBsSC84VE00NHNvL1ZWQVdvUWZELytPMzQ0dHdrT1JuZkJhZzJINHNzdEVybVdJZlZVMlZBcFhQclhyMUJiUnZIbFE4cTVkdTVHUVlIbW0xdllCOWRIWUt4enBXZW5JekwzVi9LWWlnV0IzZEtjOEJ5RWFiUG1JWmpwN2pjaHJqQzhQTnVZK0xWb3YvaG8ray9Ec1RERDFhbXJrR1FZZnRTdXRWL0laOGpvNllVMzhPUks2V3hNT2VxaGQwRGU0QmV4emNtOGVnK0U0UEJ5MFlreFhOSm5aRHJUZWwvYkovVnU1T2gzZWExRndrTklGaXhiRDFkVkZoTVpxMXliL0pKa1NTVm5SdDI5ZjVWUEpZSXZwbjMveXowVlhGQnMyYk1ERWlWUWdTc3FQbkd6VWNQWkR6a09yc0gvdzkxZzdZcUdJbVNxQ0szRGxuSU12bUNTdXNLdmc1QllNM2FPYjBDV29tZWpEZjZIQlVMVHlDQ1BoS25ta2xiS2lTZ2lYaTRzejZ0YXBoZXpzYkNGZWE5YXNWZGJrNTdsR3czRWpNd0daUnU3b0tqc1NMaWRQRVQ1S1RXYXhJVG1wMUVqUldaZ2dqeXd4TVpDWnhFTWtkckluQzJobjRsa2xnNTVhcnY3dzVPbE9xSUp4S3kvOUJsbFExMU91NFVqaUJTV25uaUdSSGVHaGRSRUdtdkZ4Y05JNHFrVElGQ2VWUm56bjR4OVJzNXNJRDJXSlM1Y3U0M3BzckdnbVZLbFZhTlM0a2JKR0lpbDdYbi85ZGVWVHllbmZ2eisrK3VvcjVWdlJmUFBOTitqV3pYSXp1YVFNMGFXalo5QXQ1Ni91L3ZXeHRmOVVnQ1AxOEFTMzVtUW1Jc0E1QUplSHo0YURVWC9XMWZSNFhNeGdvNEp0dDhxbFNnZ1h3elUrYmk3a0NOcTdkdThwc00yY3d6ZjFEV21GV0NOcmgrTVIrbWs5OUdPb1NBZ01JaU5jMDBtaWtzeWFDMXNFTnFiOTY2Q2xXZ1huNGVaSGQ3S2kwdUx6anlQcDR0ZUF6T01jNFdtb3o2dHZBblRVdW1QQ29UbEtMajFPRGhxODIzSXNXWGtaNEFqdzR2Y05nbWVVT0xBdVJ3TVpXcjJ6c21WK3RtelpKa1NMcCt2djJVTyszSkx5cFU2ZE9xV2VMNHpoMlpBN2RPaFE2RUJpSHEvVm9rV0xNcG1BVW1JRkRscHN1MkVhNEtHOWR3MHM0cG5aZWNpUHNmTllaaEpWbE4xdzdlNWY0RzAyeitGOTY5NUJkQWJkMXdJcTJ4VkpsUkV1alVhTmxpMmFDeThsbnRKLzRWK0xsVFg1NlJQV2hvU0tMQ0VEVkFFSWMvRVRFZHFGd0NqSnlVRU5qc0orSVRsS3lhaG5aRWc3TWViS3pWNHRndUZ5NHM5dzhzR3Y1emNydWZSODNQQStJRHZqWmo2UjdGVUkxSGpneVBYVFdIckZkUGJZSUJjZmZONWhIQUtkdk1YNExQYUFkT0wrTjZPVW5KbUtjV1IydTNBL2x3VXVYcnlFQXdjUGlpa2VlSXhOdTNadGxUVVNTZm5BWHIxbFlYVXgyN1p0RXpNMWQrM2FGVE5tek1CdnYvMkczMy8vSFpNblQwYnQyclZGQlBqU3pyb3NLUVpVNWh5T080MGVLMTlURnVnWlVxMGxOdlNmcm9pWERzaElRQ08vK2tqaHBrUWprbWw5MEY4UFljdTEvZm9teGlwQWxSRXVwa2ZQSG5UOWRPQVprZzhkT295a3BHUmxqU2srWkYxNWFFd3ZvSWZLUlZnemFqdTl1N3doY2ZTTW1EUlRSNHAydmpYQVFaYjA0NjMwVmhSYmFrRk9ubGh3ZWFlU1M0K2YxZzB0Zkd0RFJ6ZVdMYTJiK2VtM3d0MkQ4TCtEdjR0NXU0d0pjdmJGSzgxSFlrU05uc2ptd2RGa0hhWmxwU09MSG9EWXREaDBDR2lJbXA0RlR3ZXgvSjhWVktseEVKNld6Wm8yZ1ZNWlJ1Q1dTQXJpd1FjZkxOVmdaSE0yYnR5SUo1NTRBcU5HalJMN25qQmhBazZkT3FXc2xWUW9HbmVzdTdRVm5WYThyQ3pRMDhXdk5oYjBmQStJUFlycTdtSFllZGRrTWdCTVphSDY0c2R3TGVrcVlEWmNxREtwVXNJVkdPQ1BqcDA2aWZoblhHalBtVmY0ck1ER1JIcFdneWVKbVpZc0ltNnlNeVFYUnkydXBzV0tmaW9EZGQxQzBObTdEalJpUEpYbVpncFF1ZUowNGxVY1NqRHR1L3FoMWVQZ0NTTFpLalBPNytQZ2pHeGRObnF0ZlJlcFhHc3hRa1BIMFQyMEpiN3M5RHkrNnZnQ25tbzBESGZYNkk1WFc0ekdvdzBISzdueWMrYk1XUnc5ZWd4YXFnRnJORm9NR0NCbmhaVlVERjVlWHNLMVhYS2I0dUpMVnROZU5QenJZV1FaTlE4T0QybURrNDlzd3VsaFAxSGwvRll6WUhwMkp1eG1kc1dOdEJncTBLcUdwV1dnU2drWDA3TjdGL3JYRHM3T3pqaDQ0QkNpbzYwYk9NZlQrUE1nWG5iVTRENHZRM0oxZEVKTWFqd0p5eTN2UWsrMU0xcjdWQ2ZyekE3dURvNXdVNUtIZ3dxcXZGeXNqVHFvNU5UVHpMczY3aUlyeVQ0dnh5Uy9LNlZRcmJ1WVptWE10cThRbTJGNUNuU2VDTE91VndUYUJUVkdUWTlRWldsK2NuUTVXTEwwYjFHQWNCOUJuOTQ5WUdmVU9TcXhEdTRmTlI0dWNidFFFZWYwN0xQUHdzOVBQemVUNURaRTY0VWppUmZSYU5GRHlnSTl0ZHlEWVc5VTFzU2x4U1BnenhIZ0NXNkY5MkVWbzhxVmlxNXVidWpaczd0d2lmZjE5Y0dzWDM0VEEzZXRvWnFybjNCODRMNHRRM0pXYWFoMmtabXZ1WEJrUkNkNGt3WGxTVmFadDVLOEhMUUkwM3JpNy9OYmtaeWRwdVRVODEyYmNYQ3hjNENibllyeWFtOXU0MG0vVWRQWkZ5bnB5YmhuM1FmNVJLODRyRjIvSGxGUk1jakp5VVZZV0NqYXR6ZU5hbCtWS0tvUUxjMkExTkxDMGZPNTRsTWVWS1lnc3JNT3A1Smk3YkV2WEdqYXgyRXIzSTZWbFRLRnkxRU9ZVWVWK1pNSmwxRnozajI0d0UyQVpoeFB1QVNmbjdycW84U3pSSWcrTVBiaXJqclh0MHBXNTltTExqRFFYMHpqY2YzNmRTeGR1a3haVXpqdEFodnowMHVDZGN0QlEydXZncS9HQTd1aVRlZkZxdWNaaG5vZXdkQ1NkY2ZobC9TSlJNbFJLLzUrZjlUc04rMkF6MXFPaFVOdURseEp3RzV0dzQ0ZEtnU1FLUjJxOWNCSCszL0hLenRtNEorTE81SEtNeXBieVRXeUxKY3YvMWNNRGVBUVVjT0hEVlhXVkUyS0trQXJjeVpiZGpRb3I2bGYyR0dtc3VCWkZOZ2FMeW5XemxiY3FWTW5mUEhGRjhvMzI2RTBNUmV0d2NlbmJQdDRLbFJvV1h3eTA5REVJd0tOcWV4ckZOQVFPVlFCZjJEVFI4Z3dLcWYyeFozRGtEV3ZvVTVvV3pUeXFZVkdIdUZvNGhtQnVxNUJRRnFjWHZ5cUFGVzJIV3JRd0FISXp0YUphUmZXcmwxdlZaTmhNRmxjTG1SaHFSeFZZdHlVSWJtb3RVak9UREdaZDRZWlYyOGdkTG9zdUpGWXVUcHFSSEloSzZxYXN3OE8zamlGSS9HbWZWMnQvZXJpMGJyOWtKT3JvM3dxeW45ck8xZmF6bDNsaExwdXdiaWVIbzg1cDlmaWZ6dS94ZGdOSDRzd1QwWHgrKzl6cWJCM1JYbzZQVnlORzZONjlhb2RVTGNvMStuU05EZVYxbHJqc1lDY1NrcGhvaHNTVXJCVFRWR1VoUlZhbXNLdU9KVUpkcVJncjBCYm9xaktWR25DV2pGY0lTcEx1R0plR3F4K25xaTg4aVVyNit6d1g3Q2wzNWZZM1BjTGJPbjdPUTROK1FIemVyd0RSNGRibGJFYXJ2N1lPUEFiN09vM2hmSlF2cnUrRVBuM0Q1eU9UOXMvRDJTbENlT2dzcW15d2xXdlhsMnl2TG9qTVpHYkRIMHgrYXV2OVdHaGlxQmxZRU82VVd4MWFjbml1cFhjMUs3WUYyMDZscUdlVndSNkJEY1hZWm80WnFCeEN0UzQ0N2RqLzVDNWJOcGtPQ0M4SFo2b04wREVpT2ZJR09iYmNYaW5RSzA3Z2lnNTBQMTl0c0hkSXFwR1lmenh4MXdoekR5OWk0cHE5UGZmZjUreXBuemhhQ1VseGR2YlcvbGttY2pJU09WVDhlSEtTbW5nc1lDbDhZNWp5NllnUWtNTDdxTXNpckx3MkN1TkpWdGNLM1Q5K3ZYbzA2ZVA4cTNxVTlRelZ4b3J2RHdzK0ZxMWFwV3FnbVgxUEdyWmFiZ25yQXVxdXdlSlNqWlhzRGx4aFQzRXlSdU9WSTRaNExJcWdNbytkeFdWWllaODlKbWQzbDZ1TnhSdHZPa2F5OGdaaGRPN2R3OTRlSGlLQ1JUdDdlMHc4NmRaeXBxQ2FlUlhHMkh1Z2FJMndrMkdodVJHTlk2RXpDU2tacHVHZ09vZjBUN2ZPQ3RPSG1LaXlsek1PcFkvOG5XWGFzM3hSSVBCM0hvb3d2eWJiK3RBSzlnTmZsTExoOUhVcjZaK293TFl1blU3OXU3YkwvcGtNdEl6TUhyMGc4cWE4cWRCZzVKUEVsZFVzMHlyVmlXTFpNK2l3V045U2t0Sm05UzRJQ21zWnMwRGRVdEthYUt3R3loTlphTWtFMFl1WDc0Y0xWdGFubktucWxIVVBTOU5NeXNQbUM1cnVFSmVVaXVRSzdrY1k5SXE3Rlg0TDZYMGszUW1aMmNnVmxUa1plU01Jbm51MlhGUWE5U2lRRGx6NXJ4dzFpZ01EbEhTS2FRbDZ2dEdpcGsrdFE0YU9KTm91YWljb2JaVDRaUlo4MStZV3dENmgzVVFiYmZ1bE1mTlVaOWNLUVU2ZTRzZ3ZmTk9ybEp5MzZLaFQwMTgwbUU4SWwyRFJEK2FodmJONHNpaHBLcTdWY09IN2NiQmw4TkZGY0x4RXlleFlPRmZvaGFkbkp5Q29VTUhVNkZkUzFsYi92VHJWL0RrbFlVUkhoNWVwREMxYTFjeXh4SzJsa296STYrQmtvWVNHanAwcUNnVUNvSUh6NWJrK0ZnTXUzY3YvYVI4OTl4emovS3BlTlN0VzdkRURpdmMvTFo3OTI3Y2ZmZmR5cEx5bzJiTm1zS3JzU1IwN05oUmJGOFlYSEVvYWVXaHBPOUtVWlJVVEhtN29sbzlia0pXMCthb0F4aTkrVE1jdW5ZVXU2TU9GU3Z0b2JUcjZnRjBXVEVCWnptWWc0eWNVVFRjdlBMd21GR0lpNHVqbStXQkF3Y09ZdldhZGNyYWdxbm5Vd010QXVwRDdhZ1N0UnJ1NjNMVHVJaitwelF4T2VRdE9sUnJnam9lWVNKa2xNRTgxcHZTVGlJQ1JteHFISmFkMmFqa051WGhob054YjYxZUpHU1JJc3hUeDZER0dGdC9FRmxlaGJlSGM5UGdiNy85SWFZclNVeE1Rck9tamRHK2ZjVkd5T2pjdWVDUVU0WEJvbFZVSHhiWEpubmdhWEVaUFhxMDhxbDBqQnMzVHZsVVBBWU5HcVI4c2d3WC9vOCsrcWp5elhxYU5HbFNxQ0JhUy92MjdVdlVYRGhtVE1IQm5LM2h6ei8vTEZZY3d1TEN6OVBLbFNzeFpjb1U5TzdkVzFscVBUekF1YkFtWG9hdDFhWk5teXJmcklmdlcwbmZsYUo0OGNVWGxVL0Y0Nk9QUGxJK1dZTDdvTXllTmJVTGZqMzlMNW9zR1l2V1N4OHZWbXBGcWMyeXA3QS80UnlnemYvczZTckJnOWd1ejBaOFNMZHUyNDc1Znk2RU45VTB1TjlyK1BDaDZHQ0Z1N2d1VjRlejhaZVJsSjBDQnhFdkkwOUVrK2NtUmVON20wWm04TW9MVzVHVmt3VjdFakJ6MGtucy9KMTkwRE9zYllHQmNUTjBtZEFXSVZnTTk5VzlObkVTM0Z6ZHhFQnJkbjEvNnNuSDZBV3ArSHJFeUpFaml6M3pyTFdQREh1RU5tclVDTmV1WFZPV0ZBNFhFRWxKU2FYdTR6TEFRVnlMRXcrUEN5ZU85bUFOM014NjlLaHBuMmxoY0h5KzBqaDJHTVBIMkxVWWpoUGM5THAvdjc0NXVyUnMzcnhaVkM3T256K3ZMQ2s5TE9yLy92dnZUWWNmZGxyZ1BpVU91bTBOYk1tdVhWdHdZRzVqRWhJU2ltM2xzSlU3Zjc3MXdSQ0tBMCtleWNlajAxay9RekUvZTRjT0hTcXdtVEhnajZHSXljMGhjOW1TQjJ4cEtrOFczdnZVV0V4czhSamViMVkyRlU1cnFmSVdsd0VXcWI1OWVpRXhLVmxZWWJObi80WTllNHFPZDhZZGo3VjlJbERiS3dKdWFtY1NGalVjNklaZk5ac1IxRm1sUlovdzluQjIwTUtGblRtVUprTkRDdEQ2SUNzN0M2dk9iVU4weW5WbEsxT3NFUzEyZTMvMzNRL2c3dVloWGt3ZmJ4ODg5dWpEbFNKYURNZVFhOXZXZWt1dk9MUGRzdFcxWThjT3E5eVVXYlFPSGp4WVpxTEZzTlhGM25IV3dLSmlyV2d4UjQ0Y3Nkb0JoYWY3S0N2UllycDA2WUxwMDZjcjN3cUhCV0RObWpWbE5xNk5YZVhQblR1SE45OThzOVI5ZGx6d3NxWEVjM0VaZTZseTgrVHAwNmV0ZW03dXUrOCtxMFdMNGJKajhlS0M0NkNhd3lKUlhxTEY4UFBPODVsWkN6OXpQRnQwWVgxancydmVSVFZ4THFNc2lSU0xUMG1UR1Z5QnpkRmhXRmg3WlVIRllUUEN4ZHpWdHc4NnRHdURtSmhZVVJEOE1XY2UxcTNmb0t3dEhIZU5LNnA3aGlEWXhSOGFldzNTc2pLUmFqWlhsN1BLQ1IycU5ZTUwvWFhWT05NMnQ1S2J4Z20renA0a2ZrNDRHbjhHaDJKT0lKdXN1ZUtRVEtJN1plbzNTaHpDYlBIM2lTY2ZoVXBWZUJOSGViTjkrM1lSVTY0by92dnZQd3dZTUVENVpoM2NIOGJ4NmU2OTkxNWxTWDRhTm15SWl4Y3ZDdXVzck9IeFNOOS8vNzN5elRKRGhnekJpUk1ubEcvV2MvejRjUkVOdlNDNEpzM256ak1NbHpVc3lpdFdyRkMrV1lhYnhkZ3FMSTBuWkVGd2FLaGR1M1poOWVyVkpkby9ON2VlUFhzV3YvNzZxN0xFRk81TFBIUG1qT2h6dEFUM2VmUHZ6NTA3VjFsaVBZTUhEN2JxZnJObHljOThlZE80Y1dOeHJzSEJ3Y29TeS9UczJWT0lYRVJFNFVObFBtcytCczVPWkZXbXhwQ3drTlZhSGttWEJTUmR4ajBOaHFPNVQrRjlpK1dCelRRVkdyUGs3MlhZdEhHenFEMWRqWXBDbDQ2ZE1PTCs0blZhcDJTbWliNHVMNjBiVkE2bUxxblp1ZGs0RTM4Sk9qSzNqZWVqeWN2alVFSVEvV1VCcm40a1lvVzd1UnR6Nk5CL21QbnpMSGpSTVdka1pwS2w1WVdubjM2S0hyRHlHU2hiRXRnQzVBS1JhOVRjSE1zT0JWd2o1TDRxYmxJc0xmeW92ZmZlZXlKNk9OY1l1VGI3OXR0dkM0ZU1pdUNOTjk3QXBrMmJSRk10bnhkWGZyaFBwYVFkNU1aOC92bm53bjJjdlZsWnJOOTY2NjB5Y1RLeGhxKy8vaHJ6NXMwVHpjNXNZWEZmRGx0RXBmRWFMUWxMbGl3UllzcUZNRnZRL0F6eFg0TVZ6YzRUL0h4eFFWMWNkdTdjaWN1WEw0dCtMSzQ4OFg3TGdyLysrZ3N6Wjg0VTB3ZWxwNmVML2tNV1luNHV5bUw0UW5IaGlnNjNFdkR4cEthbWl1UGg1NVF0N09MMmJUNjUrM3NjdnJvWEdXUjVjZWRHV1JYMGZPVWQ2RjBlMS9RQmpJcW9uTEYrTmlsY3pMOHJWNUhKdnhUVnFsVVQvU0pjQzNsNlhORldnekZjeU9qeWNvUndtYjhHSEEyZXcwU3hpUEZMa3Nzekc1TzF4YzJOSEh1d09LeGF0UlpyMXE0VnpUWDhNTHE3dStQRkY1K3ZVcUlsa1VodVQzS29oT2NoT21VQmkwVVo3YXBVMkt4d01WdTJiTWVpeFV1b1J1Y2lPamZaWW5qcHhRbnc5L2RWY3BRZW5xbllqdjVUMjVOVlZzdzd4alhndWZQK0ZGTzBjSzB6SlNVVmRlclV3c05qUnNOUlZYbWhneVFTaWNTV3NXbmhZbmdha0JrL3pCUWR1aHhIanMzOXJsMDZvMy8veXAwT2hLZmUvMlgyNzBoTVRCQk5ZZkVKQ2VqU3VST0dEUzE0U2hPSlJDS1JGSTNOQ3hjVEV4dUxIMy84R1dscDZTUmVEdlEzRGFGaG9SZzE4Z0Y0ZW5vb3VTcU9mMWV1eHNhTm0vVGp4elFhSWFhREJnMUF1N1p0bEJ3U2lVUWlLU20zaFhBeFNZbEorUEtycWFJL2loTjN3S2VTZ0hHVTlRNGQyZ2tYK1BMbTNQa0xtRE5uUG1KaW9rV0hQeDlIY2tvSzd1clRDOTI3bHl5U2cwUWlrVWhNc1NsMytNTElOaHJBeHpNb016eFltU2RtL09LTHlhSkpzVHo1NmVkWitPNjdIOGphMHp0ZmNIK1c4SHlpZWtFTzk0NUtKQktKcEV5NGJZU0xEVWUySFZtMEdqU29oMmJObWdrUFBpZXRsdjZtWVRKWlkxT21Uc2Q1c29yS2lwVFVGQ3o3WndXZUh2OENUcDgrQjYyVFZsaDZQUEQyM251SGlWQk9RcnpLekJGVklwRklKTGVOY0xFOHNFYXdpM3RtWmhidXVYc29ubnppY1hoNHVJdHA4RmxNT1BUUXRLKy93YSsvL1lGTGx5L3JOeXdoeTBtd3BwSVFybHU3WG5neDZuVFpJbEF1OTJVOSs4dzRWQThQUjJhVzZmeGZFb2xFSWlrOXQ0MXdHV0FMeHpEQldtUmtCRjUrYVFMR1BqU0dsdVdKNWM3T0xqaCsvQVNtVFBrYVgwMlpoaXRYcm9DbnlyZUdoTVFFTEZueU4vNzN2OWV4WmNzMk1kMEtPMTl3c3lBSHlmMzR3L2ZRdVZOSGtaY0hHUmZUZTE0aWtVZ2tWbkRiT0dmY3VINEQwNlovSzVvS2E5YXNnVWZHUHFTc3VjV0tGU3V4NzhCQlhJK05GVk1DY042RWhFUVIvNnQ5dTlhbzM2QSszQzJNVHVkeFdDeDJXN2Z2Z0ZxbEVtT3lNck95a0phYWlyWnRXcU56NTQ3NXdyWHdLUDlQUC90U1RKZmVxMmNQOU9yVlExbFRkVmg4YVFlT0psMUdIa2xzajRCR2FPdWJmeDZzVkYwR2ZqaTlHdGw1T2JBdktKNGlQVUhzL0JMdTdJZmVRVTNoVWtUTVJuN2c1bC9ZakhPcHNTTGdjVkZ3QllEblVlc2IzQUt0ek1MTFpPWms0N2R6RzNBMUl3RjNCVGRIUysraTQrZHRpejJPRFRGSGtKMmJoVEhWdXlQQ1ZUL0hWVUpXS21iVHZqSnpzd3MrVnd2azBpdkVFVmFlcTkzL3BoUFEvcml6V0haMW40aFkwSnFPcVdkd003R2MrZm5zV2tSbkpFSk41MjcxeTBjWk9VRDBvSkRXbUhOMkhadzE5SnptNVlvWnV4K3YxUWVPaFJ6dnFxZ0QyQk4zV3NUdHpLTDdPYjdPUUhnV0krcUxnZGlNWk15OXVCa1pkTTN0UlJPNFpiaElDWEx5eHNpSVRzcVMvQnhMdkl3L0wyeUJxOXJacW11UVE1Vk9uckhob2NodVlsSkRjNDRsWHNIcWF3ZVFsYXRUbXVjdGswUFhMRkRyaVh2RE90QitMRS9pdURmdURGYlNOZU1yM3NBakZJTkRDdllHNXVPYWMyRVRycVRIMDNYSndqUDBESGhyOHNmYlBKVWNoYi9vZlhQa0FONUYxR2hGdHdmOTF5T2dNWnJ6eEkwV3lNN1I0YjNEYytHcDlSQjVpNEovTWlFN0RTL1dHYVRNTlhpTHBPeFVmSEYwTVR3MDdnWHVpNCtKMyt2cTlLNzBEYnIxTEZjV2Q1UndNYngreTladElwcUZpd3U5TkhUNkhEZVFtL280WEU1b1NBZ0dEeDRJWDE4ZkxGKytRb1JxU2s1SkZoYWJScU1XNDhVNGYzQndFSVlOSFZUZ0ZQYTJJRnk5MWs3RW10TWNvTlFPRTlzOGpmZWI1cC9FOG5MYURZUXVlSURlbEN5eXorbWw0OWxQTFQweDl2UnFPR3JoNzZCRlp4S1FQN3Urb2F6SVR3NWQ4L1lybnNldUszdG9HM3FKOG5TVUNyTjZhZDlwc1hpenkwUzgwNWlPeFlpNHpCUTBXUG80cmlWY0ZGTTMvTjM5SFF3SUxUeG84SVQ5UDJQeTdoL29ZVWpDOGlFejBTOVVYekFkVDdxQ2Vvdkcwcm1tMFUrYUNlcE5nYVdUNThqYnhwRFFnVjdxNUZIL2lCbG1tY25IRm1QQ3hnL29rejNHTnJ3SE16dStKSll6Z1F0SEkvckdTVko3czhncFl0WUJwVlFUMTluNFF0Tm5LaGlYRC9nYXl5NXR4N2M3dndIY3FMS2tTOE5EOVlmaDV3NldwOGM0bFh3TnRmOFlCbkMwbC9RRVBFdjNlVXJMUjVTMTFuTWc0UUtHcmZ3Znp0RjkwSjkvSWNVR2l5aWx4Z0VOY2JEZkZHV2hLVCtmV1lPeC83eEE1eENrUDlkQzQzN1NOYUZ6MTFLaGVYN1lMQVJRWVczTTd1c24wSHJKNDNROVNkQjRQNFVjbXVoUG9Pc2M0T0tQVTBObmdtY0JOdWY5L3haZzB2YkpZbCs5YXZiR3FoN3ZLV3Z5azZiTFF0dmxUK013VllaQXorSi9EeXhGQTYvOHNSdi9vSXJheU5XdjB6RXFsVHArWmdwQ3pFNWhCMGNTMXU4N3Y0S3hWTGt5aCtjSmRQKzZDU0JtSktaM1IxeS9RaytjTm9yQ3FiSHJVZFBkdEpKOUx2a0tJbWQyQlR5cksvc3llNzRGdEcrNmJ2YU9UZ2lpQ3NSb0VzQVBteFYvMnFLeXd2cHFaVG5Ba2RJUEhEaUUzWHYzWXMvZWZXUUpXWTY2WHBadzAxNkQrdlZGbEEwV0xSWWpPenVxWnlqMy9OejU4M2puM2ZmeDFMaG5zR256RnFXZnlrNUV3ZUJZWWR6Y21FTzFuY0RBZ0FKRnF5emhpQ0JIamg3Rm5qMTdzWGZ2ZnB3NmZVWlpVM3BjdU9EVXV0TkZjWVhHMFhLZ1g3WWt0Q3FxblhNTm4vS0ZlWVFoM0RPVS90NUtFWjVoY0tVYU5qS1NFRU5XeklJejYyRDNjMCtjVFlwUzltSUtseDA4VVNmVXRFK1ZNNnA3UnFDWlh6MDA5cTFqT2ZuVlFZUmZBMVRqM3pDRG8rcTdxNmlHNjBTRkdiMVVBNWM4Z1UvL202ZXN0WXlUUFowci96YWRrM0djU3JaSTZ0TDVWS056Tkp4Yk9KMGJKMUh3ODF4RUpJNzZaY3I1MDk5cTlKMnZpNzFCZEFnTkYxRDhHN1NOdVFWYW13cnJRSTl3c2ExaEg5VTl3MG4zOWZjQ2FpY0V1MWNUMTlWd0hLRzBmei82eXpYMmIwaDhYbTczdkNqTTRScUlXUWYvd0x1VXpEa1VmdzROL3hwRE45cEhGR3l2ZFh5eFJLTEZMTCswRStkUzZINnFYVkhYcHhhYUZuQy9XdmpYUjZpNFhzNDRkR1VmZHR3NHBlekJGQTFIb2xHdXA2dVRqOWpPMHY3MHFUYnEwelBRMXF1R1Jjdnl5VDB6OUtKRnZ4bEExNDJ2cGVHNkdhZElXdTdFMTRJc2ptaXlRTGRFSDFIMllBclBtTTdIeGMrSEsxWEVDb090TzFmRCswSG5vM2F3WEtScXVDSWtuamtYcXVONG9FMUFJd3ZuV1FjdC9SdFFCZHBUNU5NcE03Qm5LMTBmeGdpTFYwdlBDdjJ1SS8xdUk3bytUZnpxV3R5blNMUStpQ29TVGhhbU9oSHhXTlg2WjA5Rit3cjNNbm8ybFJSQjE0NnZXMjVHSXE3UWMvZlJ6bWtJV3ZBZ1dXdW1jeHRXRkpWbWNmMnpZaVcyYjkrSjVPUWtZY1h3SER3OHFXS25UaDNRczBmeFo0cTExdUppTGwrK0lyd00xU1JpYlZxMVJOdDJiYkJwMDJiUmI4V0RodG1kbmYveWdPYjQrRGcwYWRJWUhUdDJFR096cHROdk9ORE5iOUdpR2U0ZWJqbHlOVk1XRmxkc1RDeCttdlVyWW1OamhHRHFoVmFMNEdxQmVIYTg5Zk5NRmNTUURlOWp5WVZOVkpuS3c3c3RIOE9raHZranVFZWx4eU55OFNOaXJqRjNLclQrNmZFdWFsRE5OOXVvVnNZRjlvMnNaQ1JuSktEamlnbkMrZ0N0ajNRUHhaSEIzMEY3MDFyUlEyZUNYcXRleDdxby9Wd253R0xhWjcrZ2xralBLZGlaUlVjMVFiWm11SG5ObUlTc05MVDU1M21jcEZxaktMeVl0RGowait5T1pkM2YwbjgzWStMQjMvSGgvdGxBVmhKV0RaaU9YbVFoTXR5TXhFMCtqRUdDK053MFZKRDUvVFpRaUtNbmZUODZkQlp5S1MrZkIyTm9YZ2x6dmhWcTdKdVRLL0QwbHM5b0IvWjRwdTVnVEczN2pMSUd1RXEvd1UxYXhnR2MzYWdTMFhuTnF6aE1Zb1BVNjlnNmJDWnF1RlVUK1F6b203azhiamFWM2JmeGZjdy92Z3lnd2hycGNaalQ3VzJNcU41RnJHUGMvaGlLRkxwdnlFekFtSVlqTUt0ZHlXWVhadDdjK3hQZU96Q2JOTlVMcTNwOWdMWSt0VVV6clRGOEZkeW9Odjcxc1VWNDdtOTZQdWs1V1Qxc05ub0c1by82LzhlNWpSaTU1alVxZkQzUk02UTFWdE94SjJXYnp0WmdERjlqRHIzbVRwV1RtemRIb2RiZlQrRTBXWVRRcGVQUG5oK2pLNGxnT291NkdWNGtSaU8yZm9ubEY3WlFKU3NCTTN1OGpiRTE4azlhK2NXeEpYaHAxM1Q2MFZ3TWplaUd2N3BPVk5ia2g1dE51Njk4R2R2WmdzNUt3Y2w3NXFBVzN3OHpGbDdjanJzM2tPVkd4eDdwSG9ZejlGNllueTlmUDFleUFCZGMzSUlSNjk2aDkwaU4xdDQxc2I3dlozQTJXR29LcWRscGNQMmhQVmxKRVlna0lWeERlUUxvV25KZzhJTGc1bjV2dWdaOEhZMjVTQldTOE5rRDZEa0tRaHVxSE16dE5na3FldklOenpmRFFzbXRMNmZvT285YStZcjRYV1RFWVV5dGZwalZpYjVYTUpWaWNmMjU0QytzV2JPV0JNQmVOTTg1cWxUMDF4bDI5blpZdEdncGxpeWxsN0dZOENVdXJnVG5rUml3YUFZR0JPRGVlKzdHMUNsZjRxRXhvK0RyNncyMVdvWE9uVHRneG94dk1mN3BwOUNVeEl1RDRySWpCMWQyaWtOSjZnWlIxNjdoL1E4L1FVcEtzcmhHUEkwREo3WVFyMFZGWStLa3Q0WFlWeWhjY0ZKdGtQc0lRcDE5YnFacXp0NW9URFd5RG9GTmNHbkVmQ3E4eUpxaUYvQnM5Q0Vzb3hlMlVPamFlR3Zjb2VJS0F4VjZCU1YrNGN4Rnk1UTh1SE9CemdXMXN4ZVduMXVQYW92R2lsaVQxc0pDRWtibnc4bjQzSHk1Tm0wb0VPaVpDYUpyd01zTmVWaXdqRVdyS0lLcDhJOXc4YnU1UFNkUGpUUEUyZkdqUW9XaEwxMWpiaEl6enNQYkdQZnZ6T3Z5QnZyVjdFV2lSV0pMK2U5ZitTSTJ4eDRUNjd6L0hJa1VidkxNVE1RenpjZVdTclFZOGNncno3MFBWV0EwZEMvTTc1RUhKUzVRUmtUMFFOU3pSNUUzYnI5RjBib0Y3WkR1djRnRFNwanZ6emg1MERQRmY4M0tYSUgrOWFJVjlHN3lzZkg5TXI1dWhzU2lrTTNQZzlJVTdGZ3B4UiszN3VndHFQem42RVRQb0IxYWs0WEUwKzN6KzZidlM3Uncwa1k0MG5wL3V2L085R3lZNzlNNDhiVXhGeTBUNkVMeTc0VTRlWnM4MzV5NHRhTU5XZG9QMXVpSnZmZk9wV2Z1Qmxsb252amx4TjlrMlpmZHBLTFdVdUYzTGpibU9uYnMzQ21zR2c3TjFLcGxDOXh6OTNDMGF0VUNTWW5KQ0Fqd3g0WU5HNUdTbXFwc1lSM3U3bTVDQ0lzckV1YjVtelp0Z21lZkdZL1hYL3NmQnZUdlozS2JoYmRpNGM5UVBuanYzSmRXWEpiOXZWeHN4MDJhUEwzQzhHRkRoSVhIeDh0aXE2UGx5NWYvcStTdUdMaldXMWlOamdseDhzRjlFVlRyMTJWUVllcUI3OCt1VWRZVWdMMERWbC9kajZWWDl1QlBFamxEbW5WdUEyNWtKaW1acklBSysvWlVPNTNmZFJLUWVKbCsyeDFYRXk4aGJNRW9IT2JhZUJsU1h0VUZRL25MTmFPaXJyT0JKZDNmUmFmZ2xucnhJZ3V0MjZyWDBHbkZpNGpuaVFTcGdPNVJ2UnVtdG5oVXlWMXlSRkdiWjRkY09yNWZ6bTdBZExJb3A1eFlsaTk5UmVuUFMxdXg1NFkxVGRwMHhuWU91RUkxK1ZYWERwcmMvOS9PYjhKVzdqY3FKam5jWDFZSVQ5YnNqWi9KRXQ4eDdDZmN5ODlwSmNDaVh4aGFGbkt1Z05GendJNC9oWmRvZGtqT3k2WnJ0azA0ZnhoZnc1bG5yWjlnVTBDL1o4MDczc2k3QmpvR3Q2Q0hnaXh1eXZ0ZmZQa0dkN0JFaFRjVnJscTFCaXRYclJaOVRlM2J0Y1dBQWYyVU5jQlNzclI0aW41dVh1TjVkOWpTc09idytGM25YRHlIRFkvaHFsa3owcXFtUXJaZytCaDQ3SlUxUkVmSDROUFB2NFNHanExNTg4S2JDcTljdm94UFB2dFNlQy95dVhLeTlseTRHWXJIaExGUWVubDU0dkhISDRXck1tZlZ4VXVYOGNNUE0yK3VlM3JjaytJNmxZVGlOaFd5SmJXNy94VFVjU3Q4d3J1M0RzM0Z1L3QrSWhQR0VXRWVJYmd3YUlheVJvOUpVNkZhU3dVc2laeEpzeE5kaGRUcldIUFA3K2dSVVBpY1VqZWJDaFBPbzRsUERSd1krQzNXWER1RXZxdGVKWUhoNjIwUEJ4TFJSYjAvd2NBUUt1Q0oxdy8raG8vMi81cXZxYkF3N0g3b1JEVVFiM2ptNXVINmcwdUZ0MkJoRk5aVVdCRE5saitMQTl4VW1Id05SeDc0Qy9VOXJKK2cwWC9CU01TbXhsTDFtNTRGYmw2a2N4NU1vclc0RUNlWjR2RDVzY1Y0ZWV1WHdwb1Y5MHF4R2l6Q2w1Mk9JWUFzeTJzai90UXZNK05tVTZGcklCMHI3VS9IeldhRzk0UHVmMVl5V1pOOXNMekh1OHF5Z3FtNTlDbWNTYndvbXVwVzk1OUdWbDd4NS9zeXBseWJDa20wWEZRdWVEaXlHNUxvblBsOU44Qm56LzJoSzY3c3hmbmtxN1FnRCszSitscmI5MU85bUJseHM2blFxd1pkYTdwKy9BNlppRGJ0bWZhUlI1WnZVUmczRmJZbFVWcmY1L01DUFM0TlBMcnBZOHc4djU3dVd4YkdON3dQMDFvL3FheXBHQ3JjNHJwMDVZb1FKWFkzYnQyNmxiSlVUOWV1blVUa0NiWW8yTkpJU0VnUWs5RVZsUktVdjd3ZHc5dFdOdG5aT3VFcXl4SHI5VzczMXA5TFVsS3ljZzEwcUZlbjdrM1JZc0pDUTFBOUlseUlJSThmNDMxWE5ialpUN1NuMGpGeU0wYWhVQjUzalFmOHFBRHpjZkZYa2g4YzNBTHo5WTBWQmRkTzJlV1hDNjVqdzM1R09IZHk1MlFnUitPQ1FTc25ZTUplRWxQQ2lmdmdpamdzVytQcXNGOVJ6N3VXVW5qbG9xVi93eklUTFdaRVJHZDBENkgzTllPc1lMS1F1Qit4d0pTZElpemVhQkxTYjArdFZQWlFBSFRQSEtpUURLRDdmZXYrKzBQakdnQWZlaTV1TytpOVRxWHI4L1crbVpoOWFBNSsrVzgrZmpuK042V2xtRTNwMndPLzQzemNhYjBZcGNhZ0pRbVh1V2lad3c1S3Z2VE9HRjgvZm9kQTE3Uzh1RlVGNStiRmltOXlyZkJmMUdxY2hMV1FReWJtMWF1bVhtYzhKYjg5RlZiNlFqa0Y4Zkh4eFVveE1USENVN0ZlL1hyS0hpdVBpT29SeU1yTUZ1ZklrVHNzSFc5QmlVTkZzVGNoTzRqY2lLT0N3QWoyYnVRODdNM2s2S2k2S2RaVmlmUDB3Z21veHVwZlZPRkRsdHgzYmNmanlLQnZzWTlxeS9zRzZOT0o0YitnbFJWanNncWlGaFY4TzhqNmF1cERoWGxHSXFtVk55YnZuWWwzeVJya0RtL2pWKzkyd0pHZWxUN2NaTWpXRUZtaG9ybTJET0YrajdWOXY4REJZYk93WStoUDJDblN6L25TdnVHek1iL25oMEJtTWhYU0twd2g2N0ZRY2pMUk1hQWhUZy81MGVqK1Q4VXgrdjVGeTlJM2Nab3ppY1NDMHdXMlRpc0Ryc3c2YU5BMXNpZmFWZStNR240TjZCcGtVY0ZJbFN5eXhOcUV0VU92aUU1b0g5QU1uM1o2QlIrMUdLdHNXQUJVVWFtdTljQ2FYaC9oME1EcE45OGZUaWZ2enU5cFdoYndtM09hMzNIMmxNelJvU1lQYWFoZ0tseTRXcmR1anZUMERORk05L2V5NVRoeTVLaG80b3VLaXNKMzMvOEFUMDkzRVdQdzRZZkhZTnJVeVpqOHhXZVkvS1YxNll2UFA4SFBNNzlIRnlWNlJXWHp3NHpwbURybGkyS2R3MWVUUDhkSEg3MG5RbFh4RkMxNzkrOFRUYXVKU1VtSWk0dkhIM1BtSVNiMnVoRDM4UERRWWsvblhUcUtMdXczUlIvRjc2ZFg2WnVzTXBQd2ZKMGltbUZ6OCtCTEw1NmZ4aDFoTG5vbkIwN3N1YWkyNExwYkhOaUpaUCtnNy9CZy9XRmtDWkNWNE9xSHQvYk93QU5idjRRZHV6RGZabVNKc1VGMGo2aFNrODU5SkdYSXBkVHJXQmQ5R0haVVVMYnhiNERXSkRhdEEvaXZhV3JtVnhkMTJIVmFPTVhZQzhPN1lQUldPZmY1c09PRThmMnZUbGFESHowWHhZSk92YWduZFArTk0zaC8rMlJFVEcrR1Q0NVlic1kwZ1k2dk1IaHRFVmxNeWMxQ2JaY0FyTy8xQWJiMS9wUUVld2JHTjd5YnJDc1NVcnBZTzZPUDRPYzJ6MkJyMzAvd2NzTjdoY05Ga2VUcUhYNkNxWEpodUg2Y2FwWEE0dUp5cGFqVCtlYkVDbXdTWXpEMXgzWlhKUXhJcm5EaGlxeGVIUkhoWWFJNWo5UHNYLy9BdDkvL2lLK21mZzFYVnpjeGR4WFBvZFZBc1pwNHBtQnVick1tY1JOa1ZVTWNXekhPZ1MwbzlsNXMyYUtGYURMMDlQREVtalhyOE0wMzM0azRpOGVPSFllenN6TlNVOUxRcVlJRm10M0NnNTE5bEcrbUpGTkJPZm5FY2d4Zi95WXl1SE0zTnhQdXJrSG9GZFJDeVdFSmVrWG9aZlVyNXlhaFg5czloeGVhUFFTa1JJdnhLbkdaaWNpcmhPYU5DcVVNbTBJVHNsSlFiOWs0OUZqeU9ONHFZb3djYytzWnlVVzJrVHQvUWJoWUdBUmNIRzQ2RTloUlpZNEVyekI4ZWJ5Zms2OFl1T3ZEWTVjc29POGJaZkxneDgzTmhjQmp2cnhVdC9xWWVYQjlVYVNaRFQ2ZTF2WlpUR3hPejJmQ2VkR1VHREwzSG54MVpLR3l0bWljSFZYMERwVkJCWmFPblNPcWlIRnNGcmlRZGgwVDkvMkM4ZHU0cjVQSGJTYWpaMmhiMVBRSVVYSlVISlV5amlzOUl4TlRwazRUQTQ1VktoNEFMSW93NkxKMVlxelVpeE9lRTI3ZjVVVkZPR2VVQlFzV0xzTE9uYnVFb0FrM1Z2cWZYZUM1R2ZHaE1hUFJxRkhoamd0Rk1YVEQrMWhjaEhQR3RmUjRWRi95S0RKeWxBSW9QWUhLSTdQQ2lHOGdXMGZjRnMrRkVOVzJ1ZHhjM3V0ajNHVVU2c2lBY001WS9UcldYZDB2Qm8zeU9DTmtGMkloOE00eVU5QThzaHYyOXZ0S3YwekIyRG1qc1U4a052YjlFcDY4VHd1c2pqcUkzdjg4UStMbFNzZEplWkt2WXZXQXI5R3pXTTRad1BVSGwxanBuUEU1WFJOMnpoaFU3czRaelBqZE16RDlLQlY0T1psMFA1L0FwTWIzSzJ0S1IycDJCbHpuRHFlTFFHTFBJc0g5WERjTGR3dW9OR0NQVW00dS9LVDFlTHhTZjRpeTRoWjY1NHpYOWM0WlBKNnBxSDN5N3pwcWNHckVQTlRrYll4b3RlcGw3SWs2TEFiSTh2aXNBcDhsZms1NTBMTnk3K2YwL2tUMDNaa3o5ZVEvZUc0YlBXYzhHSnk5WTlNVGxUVVc0R3ZDWXNpV1VVb01UdHczRDdVTGRNNTRuL0xuSWNJdEJPZkkwakpuR29uVnM5dnBkMW40VTJMUks3STdWdlcwSExWRDc1elJnUVM0aG5qZnhIa1hOanlHenowbENrY2ZXb3Q2WGhIS1FqM0NPZU5YS2dPOXF0TzFvL09saWgwM2Fab2crcTNwSFdkUkU5YzVDU0ZhTCt3ZlBrcy9YS1NDcVpScXA1TldnMWRmZVFsOSsvUkc3VHExRUJ3VWhGbzFhbUJBLzd2d3YvOU5LRmZSc2lWWUdNZU9mUWpObWpWRmNMVWdWS3RXRFIwNnRNZkxMNzFRYXRGaTB2aWw1QUtEUkVHTWI3R0Fqa1F0ZzlhTGZEeitoWnNIK01FMVRvWWFKNjlQaWhJRjd1bytuMXNVTFlhclN1bWNOeXRabnpqRWpmaytqUk1MRWYyMUZOMkRIVExTc2xQcEhKS1FscFV1UERJTG9sZFFFK3djOUtNWUV3UjJGNmR0ckxFSUJIeWNWQkNuay9YQnYxa1U0bnBtOGJWTlFxYVZ6WGJwWElEekVBQkt1aUxjdWkwaEJodnpjZEs5NHJoNVpZV0xTaXV1SFpLdTBBVW5hMEZOOTl2OEhoa252cC9jOUVYM1kyd055d1B2eGNCcThlelI4VnF6VDM3R1NMZ2NSRGdrVTU2cTBRZEl2S0N2VkJYMkxQRSt1QUtXU3BZMzVldkEvVXNXR0JMU1dvZy9PMGVJUGtOTCt6SWtqcWpDMXozeENrSkpFSUlLYUpISTVQTVZ6MUFTVXZoNXRjQXpEWWJqOSs0a1ZDSjhtUk5XazRDR0xSaUp5eGI2NDRTOXdkZFB2SmYwM0loSUxSYU96NUQ0M0NrNTJPZHZmaGZEZlBnKzhMNzR2TG55YWI0OUx5UFJGZm1vWXRVL3JEMTJELzJ4VWtTTHFSU0x5eHh1TWxTUlZTRnFCUldBclZoY3hyQ1Z4YkQxVlZhOGUzZ2VOa1lmNXVFNWVLSm1IOXdYbmo4b0tzY0NmR1RITk5GL29pODA4ajh1TEJZMTNBSkZRTktCd2ExRTRNK0NtaHNZZnVKZVBUQUwrK0xPVWo2T0NGRFVJMmlIdEp3TXRQV3RoL2VibU1ZcVRLRWE0dlA3ZnNRNWVwbllEZm56NWcrTC9wTENZQXZpZ1cyZkl5bzlEdCswZWdvdDJZR2pFUGdWNlVRV29pZTl3RnpUVzlSMUlsbGNoZGY1bGwzWmc4K1BMUkxHNHJDUWRtUjFGZjJNUGJQbkI1d21TK0I2UmlJV2RINjF5R1l2Yzc0OTlTLyt1cmhWdUdnL1Zic2ZIckJnVFpRVWRxYjY0ZlFxL0gxMUQvZGNpZk1xQ0xhbzY3dUg0RkY2cG1xYnhjVXpzRDdtTUNidW53MC9yYWUrRUM0VU8rVFFmeXFxOGYvUTVtbUxmVitycnU3Rm5QTmJFSjJWV09qQTRpeXFFRFQyQ01Nak5YcWlUaUVXN1NVU3JVK1BMaEtCb0l1cTNmUFlzUzcrRFRDK2RuODRHeXB4Wm15TFBZYjNEczhYMFU5Q1hmd3dzKzE0WlUxKzVwN2ZpTzlPcnhhRGhqa21vYjI5QTlhYXhVdmtaN2pqNnY4aGpKNFJxNHB3S2x0ajB1T3hzTk9ycU9aaU9sZytLaTBPQXphK2l4Qm52d0wzeFhGaUdudFdSelBQQ0hUMHIwc0M3YWVzcVJ5cWhIQlZOTmV1UmVNekVpQVdyazRkTzZBL1dYcld3QjUrSDM3NHFlaEw0d0hUdzRZT1Z0WklKQktKcEtLb2xLYkN5dWJRd1VOQ3ROaDZ1VVRXbDdVY09uU1l0bU1uQ2dkRVJWMFRsb05FSXBGSUtwWTd5dUk2Yy9ZY3Z2bm1lOUVpeVFGOUdSN0FlK1hxVll3WjlTQzZkclhjdEhMcDhpVjhQZjA3WkdkbEMrY1Joc2RUOFN6S0Q5eC9IM3IzNmltV1NTUVNpYVQ4dVdPRWk3M3hYcHM0Q1JvMTk2bllJVEV4QVRxT1NPL3VMa0lteGNmRlk5VG9rV2plcktsK0F5TmVmZTBOWVozeGdHQ09nTUhidWJtNndjV0Z0b3RQeEwzM0RFTzdkb1hQQVNXUlNDU1NzdUdPYVNxY04rOVBzQmNDNnpRUGNwNDQ4VlZNL2VvTE5HN2NVSXdkYzNOMzArY3hZOUhpSmREcGNzaEtzeE1DOTlwci84UFhVeWFqVFp0V3RGMm1DTzc3MTZJbFNtNkpSQ0tSbERkM2pIQ2R2M0FSV3ExR2hKSjZjY0x6Q1BEM0YxYlUvU1B1UTFoWXFCQTBuc2FmbzNnWWMrYk1PVGc3TzRuQndCTmVlQlpCZ1FHd2Q3QVhqaGsxYTBVS1M0NmozRitOc2p4cG9rUWlrVWpLbGp0Q3VGaFljbk56eEhnRmI1LzhzK2hHUkVRSWwzd25KNjNvN3pLUW5wRkJ3cVFUMjNFa2RvN3dia3pOR2pWRlg1ZGFyYzBYZDFFaWtVZ2s1Y01kSVZ3Y0lvbG5MZVp3U2h5dGc1c0dqVGwyN0pnUUpZNmhHQjRXcGl6bGdkSmFwVy9MUWNRSjVNanR4aHc1Y2tSc2w1bVpqa2dTUDRsRUlwR1VQM2RNVTJGb1NJZ1NCOUVUVTZkTkY4RjlvMk5pTVBPbldVS1V1S25RdzlNajM5eFdrWkhWUmRCZmpwODRmZnAzT0hqd01HSmlZL0hMcjcvanlwVW8wZmZGTVJZdFdYSVNpVVFpS1h2dUtIZDQ5ZzdrdVd0NFduNFdNWjZHWCt1a2hZb3NzWVRrWkl4LzhuSFVyTVZUWHBqeStodHZpbm56VExiVGFzUllzUGo0QkRGcEpUdDVTQ1FTaWFUOHVhT0VLL1o2TEg3K2VUWXVYTGhJVnBLcnNKWXlNaktGdGZYSTJERWtQbzJVbktiRUp5U0k3VTZmUGdNM04vMTIzTGZGRXowK05HWVVXclNvK0xEK0VvbEVjcWR5UjRaOE9ucnNPSTRmUHk3YzNFT3FCYU54azhZbXN3d1h4SWtUSjNIazZGRms1K1FneUQ4UVRaczJncnU3NWFrUkpCS0pSRkkrM0pIQ0paRklKQkxiNVk1eHpwQklKQkxKN1lFVUxvbEVJcEhZRkZLNEpCS0pSR0pUU09HU1NDUVNpVTBoaFVzaWtVZ2tOb1VVTG9sRUlwSFlGRks0SkJLSlJHSlRTT0dTU0NRU2lVMGhoVXNpa1Vna05vVVVMb2xFSXBIWUZGSzRKQktKUkdKVFNPR1NTQ1FTaVUwaGhVc2lrVWdrTm9VVUxvbEVJcEhZRkZLNEpCS0pSR0pUU09HU1NDUVNpVTBoaFVzaWtVZ2tOb1VVTG9sRUlwSFlGRks0SkJLSlJHSlRTT0dTU0NRU2lVMGhoVXNpa1Vna05vVVVMb2xFSXBIWUZGSzRKQktKUkdKVFNPR1NTQ1FTaVUwaGhVc2lrVWdrTm9VVUxvbEVJcEhZRkZLNEpCS0pSR0pEQVA4SDVsRGdqbjNlTFhRQUFBQUFTVVZPUks1Q1lJST0iLCJhdXRoZW50aWNhdG9yR2V0SW5mbyI6eyJ2ZXJzaW9ucyI6WyJGSURPXzJfMCJdLCJleHRlbnNpb25zIjpbImhtYWMtc2VjcmV0Il0sImFhZ3VpZCI6Ijg4YmJkMmYwMzQyYTQyZTc5NzI5ZGQxNThiZTU0MDdhIiwib3B0aW9ucyI6eyJyayI6dHJ1ZSwidXAiOnRydWUsInV2Ijp0cnVlfSwibWF4TXNnU2l6ZSI6MjIwMCwicGluVXZBdXRoUHJvdG9jb2xzIjpbXSwibWF4Q3JlZGVudGlhbENvdW50SW5MaXN0IjoxNiwibWF4Q3JlZGVudGlhbElkTGVuZ3RoIjoxNiwidHJhbnNwb3J0cyI6WyJ1c2IiXSwiYWxnb3JpdGhtcyI6W3sidHlwZSI6InB1YmxpYy1rZXkiLCJhbGciOi03fSx7InR5cGUiOiJwdWJsaWMta2V5IiwiYWxnIjotMjU3fV0sImZpcm13YXJlVmVyc2lvbiI6MX19LCJzdGF0dXNSZXBvcnRzIjpbeyJzdGF0dXMiOiJGSURPX0NFUlRJRklFRCIsImVmZmVjdGl2ZURhdGUiOiIyMDIxLTA5LTI3In0seyJzdGF0dXMiOiJGSURPX0NFUlRJRklFRF9MMiIsImVmZmVjdGl2ZURhdGUiOiIyMDIxLTA5LTI3IiwiY2VydGlmaWNhdGlvbkRlc2NyaXB0b3IiOiJJbm5hSVQgS2V5IFBLMTEwMCIsImNlcnRpZmljYXRlTnVtYmVyIjoiRklETzIwMDIwMjExMDE4MDAxIiwiY2VydGlmaWNhdGlvblBvbGljeVZlcnNpb24iOiIxLjMiLCJjZXJ0aWZpY2F0aW9uUmVxdWlyZW1lbnRzVmVyc2lvbiI6IjEuMyJ9XSwidGltZU9mTGFzdFN0YXR1c0NoYW5nZSI6IjIwMjEtMTItMTUifSx7ImFhaWQiOiI0ZTRlIzQwMDkiLCJtZXRhZGF0YVN0YXRlbWVudCI6eyJsZWdhbEhlYWRlciI6Imh0dHBzOi8vZmlkb2FsbGlhbmNlLm9yZy9tZXRhZGF0YS9tZXRhZGF0YS1zdGF0ZW1lbnQtbGVnYWwtaGVhZGVyLyIsImFhaWQiOiI0ZTRlIzQwMDkiLCJkZXNjcmlwdGlvbiI6ImlPUyBQYXNzY29kZSIsImF1dGhlbnRpY2F0b3JWZXJzaW9uIjoyNTYsInByb3RvY29sRmFtaWx5IjoidWFmIiwic2NoZW1hIjozLCJ1cHYiOlt7Im1ham9yIjoxLCJtaW5vciI6MX0seyJtYWpvciI6MSwibWlub3IiOjB9XSwiYXV0aGVudGljYXRpb25BbGdvcml0aG1zIjpbInNlY3AyNTZyMV9lY2RzYV9zaGEyNTZfcmF3Il0sInB1YmxpY0tleUFsZ0FuZEVuY29kaW5ncyI6WyJlY2NfeDk2Ml9yYXciXSwiYXR0ZXN0YXRpb25UeXBlcyI6WyJiYXNpY19zdXJyb2dhdGUiXSwidXNlclZlcmlmaWNhdGlvbkRldGFpbHMiOltbeyJ1c2VyVmVyaWZpY2F0aW9uTWV0aG9kIjoicGFzc2NvZGVfaW50ZXJuYWwiLCJjYURlc2MiOnsiYmFzZSI6MTAsIm1pbkxlbmd0aCI6NCwibWF4UmV0cmllcyI6NSwiYmxvY2tTbG93ZG93biI6NjB9fV1dLCJrZXlQcm90ZWN0aW9uIjpbImhhcmR3YXJlIiwidGVlIl0sIm1hdGNoZXJQcm90ZWN0aW9uIjpbIm9uX2NoaXAiXSwiYXR0YWNobWVudEhpbnQiOlsiaW50ZXJuYWwiXSwidGNEaXNwbGF5IjpbImFueSJdLCJ0Y0Rpc3BsYXlDb250ZW50VHlwZSI6InRleHQvcGxhaW4iLCJhdHRlc3RhdGlvblJvb3RDZXJ0aWZpY2F0ZXMiOltdLCJpY29uIjoiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFFZ0FBQUJJQ0FZQUFBQlY3Yk5IQUFBQUNYQklXWE1BQUFzU0FBQUxFZ0hTM1g3OEFBQUtUMmxEUTFCUWFHOTBiM05vYjNBZ1NVTkRJSEJ5YjJacGJHVUFBSGphblZOblZGUHBGajMzM3ZSQ1M0aUFsRXR2VWhVSUlGSkNpNEFVa1NZcUlRa1FTb2dob2RrVlVjRVJSVVVFRzhpZ2lBT09qb0NNRlZFc0RJb0syQWZrSWFLT2c2T0lpc3I3NFh1amE5YTg5K2JOL3JYWFB1ZXM4NTJ6endmQUNBeVdTRE5STllBTXFVSWVFZUNEeDhURzRlUXVRSUVLSkhBQUVBaXpaQ0Z6L1NNQkFQaCtQRHdySXNBSHZnQUJlTk1MQ0FEQVRadkFNQnlIL3cvcVFwbGNBWUNFQWNCMGtUaExDSUFVQUVCNmprS21BRUJHQVlDZG1DWlRBS0FFQUdETFkyTGpBRkF0QUdBbmYrYlRBSUNkK0psN0FRQmJsQ0VWQWFDUkFDQVRaWWhFQUdnN0FLelBWb3BGQUZnd0FCUm1TOFE1QU5ndEFEQkpWMlpJQUxDM0FNRE9FQXV5QUFnTUFEQlJpSVVwQUFSN0FHRElJeU40QUlTWkFCUkc4bGM4OFN1dUVPY3FBQUI0bWJJOHVTUTVSWUZiQ0MxeEIxZFhMaDRvemtrWEt4UTJZUUpobWtBdXdubVpHVEtCTkEvZzg4d0FBS0NSRlJIZ2cvUDllTTRPcnM3T05vNjJEbDh0NnI4Ry95SmlZdVArNWMrcmNFQUFBT0YwZnRIK0xDK3pHb0E3Qm9CdC9xSWw3Z1JvWGd1Z2RmZUxacklQUUxVQW9PbmFWL053K0g0OFBFV2hrTG5aMmVYazVOaEt4RUpiWWNwWGZmNW53bC9BVi8xcytYNDgvUGYxNEw3aUpJRXlYWUZIQlBqZ3dzejBUS1VjejVJSmhHTGM1bzlIL0xjTC8vd2QweUxFU1dLNVdDb1U0MUVTY1k1RW1venpNcVVpaVVLU0tjVWwwdjlrNHQ4cyt3TSszelVBc0dvK0FYdVJMYWhkWXdQMlN5Y1FXSFRBNHZjQUFQSzdiOEhVS0FnRGdHaUQ0YzkzLys4Ly9VZWdKUUNBWmttU2NRQUFYa1FrTGxUS3N6L0hDQUFBUktDQktyQkJHL1RCR0N6QUJoekJCZHpCQy94Z05vUkNKTVRDUWhCQ0NtU0FISEpnS2F5Q1FpaUd6YkFkS21BdjFFQWROTUJSYUlhVGNBNHV3bFc0RGoxd0QvcGhDSjdCS0x5QkNRUkJ5QWdUWVNIYWlBRmlpbGdqamdnWG1ZWDRJY0ZJQkJLTEpDREppQlJSSWt1Uk5VZ3hVb3BVSUZWSUhmSTljZ0k1aDF4R3VwRTd5QUF5Z3Z5R3ZFY3hsSUd5VVQzVURMVkR1YWczR29SR29ndlFaSFF4bW84V29KdlFjclFhUFl3Mm9lZlFxMmdQMm84K1E4Y3d3T2dZQnpQRWJEQXV4c05Dc1Rnc0NaTmp5N0VpckF5cnhocXdWcXdEdTRuMVk4K3hkd1FTZ1VYQUNUWUVkMElnWVI1QlNGaE1XRTdZU0tnZ0hDUTBFZG9KTndrRGhGSENKeUtUcUV1MEpyb1IrY1FZWWpJeGgxaElMQ1BXRW84VEx4QjdpRVBFTnlRU2lVTXlKN21RQWtteHBGVFNFdEpHMG01U0kra3NxWnMwU0Jvams4bmFaR3V5QnptVUxDQXJ5SVhrbmVURDVEUGtHK1FoOGxzS25XSkFjYVQ0VStJb1VzcHFTaG5sRU9VMDVRWmxtREpCVmFPYVV0Mm9vVlFSTlk5YVFxMmh0bEt2VVllb0V6UjFtam5OZ3haSlM2V3RvcFhUR21nWGFQZHByK2gwdWhIZGxSNU9sOUJYMHN2cFIraVg2QVAwZHd3TmhoV0R4NGhuS0JtYkdBY1laeGwzR0srWVRLWVowNHNaeDFRd056SHJtT2VaRDVsdlZWZ3F0aXA4RlpIS0NwVktsU2FWR3lvdlZLbXFwcXJlcWd0VjgxWExWSStwWGxOOXJrWlZNMVBqcVFuVWxxdFZxcDFRNjFNYlUyZXBPNmlIcW1lb2IxUS9wSDVaL1lrR1djTk13MDlEcEZHZ3NWL2p2TVlnQzJNWnMzZ3NJV3NOcTRaMWdUWEVKckhOMlh4MktydVkvUjI3aXoycXFhRTVRek5LTTFlelV2T1VaajhINDVoeCtKeDBUZ25uS0tlWDgzNkszaFR2S2VJcEc2WTBUTGt4WlZ4cnFwYVhsbGlyU0t0UnEwZnJ2VGF1N2FlZHByMUZ1MW43Z1E1Qngwb25YQ2RIWjQvT0JaM25VOWxUM2FjS3B4Wk5QVHIxcmk2cWE2VWJvYnRFZDc5dXArNllucjVlZ0o1TWI2ZmVlYjNuK2h4OUwvMVUvVzM2cC9WSERGZ0dzd3drQnRzTXpoZzh4VFZ4Ynp3ZEw4ZmI4VkZEWGNOQVE2VmhsV0dYNFlTUnVkRThvOVZHalVZUGpHbkdYT01rNDIzR2JjYWpKZ1ltSVNaTFRlcE43cHBTVGJtbUthWTdURHRNeDgzTXphTE4xcGsxbXoweDF6TG5tK2ViMTV2ZnQyQmFlRm9zdHFpMnVHVkpzdVJhcGxudXRyeHVoVm81V2FWWVZWcGRzMGF0bmEwbDFydXR1NmNScDdsT2swNnJudFpudzdEeHRzbTJxYmNac09YWUJ0dXV0bTIyZldGblloZG50OFd1dys2VHZaTjl1bjJOL1QwSERZZlpEcXNkV2gxK2M3UnlGRHBXT3Q2YXpwenVQMzNGOUpicEwyZFl6eERQMkRQanRoUExLY1JwblZPYjAwZG5GMmU1YzRQemlJdUpTNExMTHBjK0xwc2J4dDNJdmVSS2RQVnhYZUY2MHZXZG03T2J3dTJvMjYvdU51NXA3b2Zjbjh3MG55bWVXVE56ME1QSVErQlI1ZEUvQzUrVk1HdmZySDVQUTArQlo3WG5JeTlqTDVGWHJkZXd0NlYzcXZkaDd4Yys5ajV5bitNKzR6dzMzakxlV1YvTU44QzN5TGZMVDhOdm5sK0YzME4vSS85ay8zci8wUUNuZ0NVQlp3T0pnVUdCV3dMNytIcDhJYitPUHpyYlpmYXkyZTFCaktDNVFSVkJqNEt0Z3VYQnJTRm95T3lRclNIMzU1ak9rYzVwRG9WUWZ1alcwQWRoNW1HTHczNE1KNFdIaFZlR1A0NXdpRmdhMFRHWE5YZlIzRU56MzBUNlJKWkUzcHRuTVU4NXJ5MUtOU28rcWk1cVBObzN1alM2UDhZdVpsbk0xVmlkV0Vsc1N4dzVMaXF1Tm01c3Z0Lzg3Zk9INHAzaUMrTjdGNWd2eUYxd2VhSE93dlNGcHhhcExoSXNPcFpBVEloT09KVHdRUkFxcUJhTUpmSVRkeVdPQ25uQ0hjSm5JaS9STnRHSTJFTmNLaDVPOGtncVRYcVM3Skc4Tlhra3hUT2xMT1c1aENlcGtMeE1EVXpkbXpxZUZwcDJJRzB5UFRxOU1ZT1NrWkJ4UXFvaFRaTzJaK3BuNW1aMnk2eGxoYkwreFc2THR5OGVsUWZKYTdPUXJBVlpMUXEyUXFib1ZGb28xeW9Ic21kbFYyYS96WW5LT1phcm5pdk43Y3l6eXR1UU41enZuLy90RXNJUzRaSzJwWVpMVnkwZFdPYTlyR281c2p4eGVkc0s0eFVGSzRaV0Jxdzh1SXEyS20zVlQ2dnRWNWV1ZnIwbWVrMXJnVjdCeW9MQnRRRnI2d3RWQ3VXRmZldmMxKzFkVDFndldkKzFZZnFHblJzK0ZZbUtyaFRiRjVjVmY5Z28zSGpsRzRkdnlyK1ozSlMwcWF2RXVXVFBadEptNmViZUxaNWJEcGFxbCthWERtNE4yZHEwRGQ5V3RPMzE5a1hiTDVmTktOdTdnN1pEdWFPL1BMaThaYWZKenMwN1AxU2tWUFJVK2xRMjd0TGR0V0hYK0c3UjdodDd2UFkwN05YYlc3ejMvVDdKdnR0VkFWVk4xV2JWWmZ0Sis3UDNQNjZKcXVuNGx2dHRYYTFPYlhIdHh3UFNBLzBISXc2MjE3blUxUjNTUFZSU2o5WXI2MGNPeHgrKy9wM3ZkeTBOTmcxVmpaekc0aU53UkhuazZmY0ozL2NlRFRyYWRveDdyT0VIMHg5MkhXY2RMMnBDbXZLYVJwdFRtdnRiWWx1NlQ4dyswZGJxM25yOFI5c2ZENXcwUEZsNVN2TlV5V25hNllMVGsyZnl6NHlkbFoxOWZpNzUzR0Rib3JaNzUyUE8zMm9QYisrNkVIVGgwa1gvaStjN3ZEdk9YUEs0ZFBLeTIrVVRWN2hYbXE4NlgyM3FkT284L3BQVFQ4ZTduTHVhcnJsY2E3bnVlcjIxZTJiMzZSdWVOODdkOUwxNThSYi8xdFdlT1QzZHZmTjZiL2ZGOS9YZkZ0MStjaWY5enN1NzJYY243cTI4VDd4ZjlFRHRRZGxEM1lmVlAxdiszTmp2M0g5cXdIZWc4OUhjUi9jR2hZUFAvcEgxanc5REJZK1pqOHVHRFlicm5qZytPVG5pUDNMOTZmeW5RODlrenlhZUYvNmkvc3V1RnhZdmZ2alY2OWZPMFpqUm9aZnlsNU8vYlh5bC9lckE2eG12MjhiQ3hoNit5WGd6TVY3MFZ2dnR3WGZjZHgzdm85OFBUK1I4SUg4by8yajVzZlZUMEtmN2t4bVRrLzhFQTVqei9HTXpMZHNBQUFBRVowRk5RUUFBc1k1OCsxR1RBQUFBSUdOSVVrMEFBSG9sQUFDQWd3QUErZjhBQUlEcEFBQjFNQUFBNm1BQUFEcVlBQUFYYjVKZnhVWUFBQW4rU1VSQlZIamE3Snh2YkZQMUdzYy9wNmRyMTY0VngyeHB0eEdZWUJ2Rkc0amFPTzJjV3hRQ09JSUptZmVGK2dLTlJPVUYwVVR2RllueHo0Z3hhakFHSFY3Q1FqUjdvMUVUUS95RGlaR01GL0ppbTkyV3NEbkhYYk51RERQcHlrYi8wZmE1TDJUbk12YUhNemdxaFg2VGt6em5kNTZjOUR4OS92MmU1L2Y3S1V6SFVtQWJzQkdvNHZyQ2Y0R3ZnZjhBUTdNeC9CTVlCZVE2djBiUHkySWFHb0ZzUVRqYWxUMHZFeFNnRWdnQml5bmdRcHdHVnF2QXY0RjFCWG5NZ0ExSUtVQVg4SStDUEdaRnQzSmVsVW9Mc3BnVlVWTkJCdk9qSUtCTFFBWCtkZDRoWFJGS1NrcncrWHlrMDJsVVZlV1dXMjRobTgwaUl2aDhQaktaRExsY0RyL2ZUeTZYMCtoc05rc21rOEh2OXdPUXlXVHcrWHlvcWtvNm5jYnY5Mk15bVVnbWsvajlmb3FLaWtnbWt4cFBJcEhBNy9kanNWaUl4K01hUFRFeFlZUjhrb1lKcUw2K25oOS8vSkgrL240Y0RnZHRiVzJjT25XS1ZDckZzV1BIR0I0ZUpoYUwwZEhSd2NURUJHTmpZN1MzdC9QNzc3OFRpVVRvN3U0bW5VNHpNakpDWjJjblZxdVZucDRlZW5wNlVGV1Y5dloyK3ZyNktDc3I0NmVmZnVMNDhlTTRIQTZPSERuQ3dNQUFIbytIbzBlUDB0dmJTM2w1T1Y5KythVWhBakxNeExMWkxGYXJGUkVoazhsZ3RWb0JTS2ZUMm5nNm5hYTR1RmdibjZLVHlTVEZ4Y1dZVENaU3FaUkdYemllU0NTdzJXeVl6V2FTeWFSR3grTnhqWjdpS1NvcU1zekV6RWE4UkZFVTFxeFpBOENxVmF1NDZhYWJBUEQ1ZktSU0tRQnV2ZlZXNHZFNEFDdFhyaVFZREdvODk5OS9Qd0JWVlZYVTFOVDhNU2xjdXBTNnVqb0FsaTFieGdNUFBBQ0ExK3VsdnI0ZWdJcUtDdGF1WFF1QXgrUFJlTnh1TnpVMU5aaE0vLy8vVFNZVFBUMDlqSTJOWFZiR2VObHB1ZGxzbG84Ly9sanlBVnUyYkZubzk1MitJZzB5bTgwY1BIaVFSeDk5dEJEbVo0US9WYzA3NFlqSVh5T2dvcUtpYTE1enJraEF6YzNOUFBiWVkzbjNzVk5CWWtFQlNPOWM3UG5ubjJmWnNtV1l6V2EyYmR1RzJXek9Pd0VkT25TSS92NStGRVhodmZmZUl4d09YM0l1cGp1SzlmWDF5YldFbXBvYVhWRk10d1pWVkZSZ3NWaHdPQng4OTkxM2VMM2V2Tk9nWjU5OWxtKy8vUmFBa1pFUkxVZWJUNE4wMjBsall5TkxseTdWaEpTUFdMOStQVlZWVmFpcXl2dnZ2Ni9IeFBRbmlqMDlQZGVVaWQxNzc3MjZURXkzZ0Z3dWwzaTlYdkg1ZkRJOFBKeVhRbm55eVNmRjdYYUwxK3NWaThWaWJDYjk4TU1QNC9WNnNWcXRsSlNVNUtXSnJWMjdsc3JLU2tTRWxwWVdJcEdJY1NiMnl5Ky9GS0xZZktpcXFzSm1zMUZTVXNKWFgzMkZ4K1BKT3czYXNXTUhodzhmUmxFVUJnY0hTU1FTeGtXeERSczJVRmxaU1ZGUkVYYTdQUzlOckxhMkZyZmJqYUlvN051M2o2R2hJZU5NckpBb1hnSlREdHJoY0hENDhPRVppZUxBd0FDZmZ2b3BvNk9qS0lyeXQ4M1c3WFk3d1dDUWhvYUdHYytmZWVZWnZ2bm1HeFJGNGVUSms4WW1pZzgrK0NCTGxpeWh1TGdZbTIxNkNUc2NEbE5YVjZjN0t2d1ZhRzV1NXVtbm41NDJkczg5OTJqbDJkYldWa1pHUnY2YUtQYmhoeDllZFFzUTdyNzdia05NVExjR2JkeTRFYnZkVGtsSkNWOTg4Y1cwS0hiMjdObThjTkxQUGZjYzMzLy9QU2FUaVlHQkFXUHJRYlcxdFRRME5MQisvZm9aSm5aaGNSekE2WFN5Zi85K25FN25uTy9Ud3dQd3lpdXY4TkJERHkyWVp6WS9HQWdFMkx4NU01czJiYUswVkgrM1haZUpEUTBOemFtdTc3Nzdyc2EzWjg4ZWFXbHBrVXdtSXkwdExiSm56NTRaNzlMRDA5allLQWNPSEpCSUpDSS8vUENEdExhMnlvb1ZLM1R6VkZkWHoydGl0YlcxdWt4TXR3WTFORFFRREFaWnQyNGR2LzMyMjl4dVB4cGw2OWF0cUtySzFxMWJpVWFqbDhVVGlVVFl2SGt6RlJVVjFOZlhzM3o1Y21LeDJDVjV4c2ZINS94dE8zZnVKQmdNRWd3RzZlenNOTFl2NXZQNWNMdmRGQmNYejl1WUt5c3JBeUNYeTJFeW1iVDdoZkk0blU2dCtRaFFXbG82N1g0dW5xbG01Rnl6Z1dnMGlxcXFEQXdNNkdwUDZ4YlFtMisreVlvVkt5N0pOenc4ek91dnY4N09uVHRwYW1xYTFZSHI0VkVVaGJmZWVvc25ubmlDbjMvK21kN2UzaG0rVGcvUGhYanFxYWMwT2hRS2NlclVLZU44MEtwVnF5UVFDRWhkWFoyTWpvN082WU1Bc2RsczB0VFVKRmFyZGM3MzZlRUJaUHYyN1hMZmZmY3RtR2MySC9UaWl5L0tIWGZjSVlGQVFCd09oN0ZoZnMyYU5acUpYYXpxRi9lYkVva0V1M2J0bXZkOWVuZ0FQdmpnQTBONDRJLzJkeXFWUWxWVklwRUlrNU9UeG1uUTRPRGduQkhoblhmZXVlb1N4VHZ2dkhQZUtIWXByVnl3QmpVMk5ySm8wU0pzTmhzSERoekE1WEpwejZxcnE2KzZwREFRQ013WWUvWFZWMmxyYTBOUkZMcTZ1b3lOWXVYbDViaGNMcXhXSzZxcVRuc1dEQVk1ZVBBZ3pjM05lbW9zZnpxcXE2dlp2WHYzakhHMzI4M3k1Y3NCZEF2SUVCUExSK2hORkhXWE8xYXZYbzNENGFDa3BJUlBQdmtFdDl1ZGR3V3psMTkrbVNOSGptZ2FwQ01QMGwvdUtDc3JvN1MwRkp2Tk5zUEU4Z1UzM25nakxwY0xWVlU1ZnZ5NHNTWjI0c1NKYThyRURJOWlqei8rdUJiRjl1M2JweTJ6eXlmczNyMmJ0clkyVkZXbHU3dmIyQ2ptY0RnMEFmMWRKZFVyaGQxdVovSGlQL2JzTEdSMWlpNFRDNGZEMTJVVTB5M0dSeDU1Uk5PZy9mdjNUMHNVOHdXdnZmWWFSNDhlUlZFVVFxR1FzU1ptc1Zpd1dxMVlyZGE4TlRHTHhZTEZZa0ZWMVhsbi9ZVW85bWRFc1IwN2RyQjQ4V0xzZGp0TlRVMmFzOHNuN04yN2wyUEhqbUUybStudDdUVldnNll1UlZIeWR0cXhZY09HQlM4a1gvQXFWNmZUdVNEN3ZacHdjVGZHMExiUDlRclQ1VWFEdlB6WXk5RDhCUzkyenVWeWhNTmhiWVBjVk1uVlpyUGhjcms0ZmZvMDJXd1dsOHZGK1BnNHFWU0tKVXVXRUkxR1NhVlNlRHdlWXJFWWlVUUNqOGZEK1BnNGlVUUNyOWZMbVRObmlNZmplRHdlSmljbm1aaVl3T3YxTWpFeHdaa3paNmlvcU9EczJiUEVZakhLeTh1Wm5KeGtmSHljeXNwSzR2RTQwV2lVaW9vSzR2RTRZMk5qMDlJUms4bDAyUjNnQlR0cGg4TWhOOXh3ZzNZNW5VN1pzbVdMaUloczM3NWRObTNhSkNJaUw3MzBrdFRYMTR1SXlBc3Z2Q0NCUUVCRVJONTQ0dzJ0cUw1cjF5NjUvZmJiUlVUazdiZmZscnZ1dWt0RVJENzY2Q081N2JiYlJFUms3OTY5VWxWVkpTSWlyYTJ0c25MbFNoRVJhV2xwRVkvSEl5SWluMzMybWR4ODg4MGlJdkw1NTUrTDArbWM5aHNYTFZva1pyUDV6OS90SXlLekZydW5sdmtuazBudG56cDM3cHpHbTBxbHRQckx1WFBucHRGVERjRk1KcU9OWjdOWmJUeWJ6V29OUVJIUnhuTzVuTlowdkhBY01HcExwbkZPT2hhTDBkM2R6ZGpZR0pPVGszUjNkM1B5NUVuaThUaGRYVjNhOXN5dXJpNkdoNGRKcFZLRVFpRkdSa2JJWnJPRVFpR0dob1pJcDlPRVFpRUdCd2ZKWnJOMGRuWVNEb2NSRVRvNk92ajExMS9KNVhKMGRIUnc0c1FKVENZVDdlM3Q5UGYzYXp4OWZYMkcrUzFEOTgyYlRDYk5MMTBKclNpSzFrclNRMS9jVEx5Y2JVOXpWUlFORGZOVEgzaWw5SVVmcUllKzJBWDg3V0cra0FjVk1FMUFrWUlZNWtURUJCd3F5R0ZPSENvY3NEUi9BcjE2NnFad1JOY2NSM1JkaU1JaGI3TWM4blp4Y2Jsd1RPQkZ4d1QrYndDNEU0Mkw2WkNiZWdBQUFBQkpSVTVFcmtKZ2dnPT0ifSwic3RhdHVzUmVwb3J0cyI6W3sic3RhdHVzIjoiTk9UX0ZJRE9fQ0VSVElGSUVEIiwiZWZmZWN0aXZlRGF0ZSI6IjIwMTgtMDUtMTkifV0sInRpbWVPZkxhc3RTdGF0dXNDaGFuZ2UiOiIyMDE4LTA1LTE5In0seyJhYWlkIjoiMDA1MiMwMDAxIiwibWV0YWRhdGFTdGF0ZW1lbnQiOnsibGVnYWxIZWFkZXIiOiJodHRwczovL2ZpZG9hbGxpYW5jZS5vcmcvbWV0YWRhdGEvbWV0YWRhdGEtc3RhdGVtZW50LWxlZ2FsLWhlYWRlci8iLCJhYWlkIjoiMDA1MiMwMDAxIiwiZGVzY3JpcHRpb24iOiJpLVNwcmludCBpT1MgRmluZ2VyUHJpbnQgVUFGIEF1dGhlbnRpY2F0b3IiLCJhdXRoZW50aWNhdG9yVmVyc2lvbiI6MSwicHJvdG9jb2xGYW1pbHkiOiJ1YWYiLCJzY2hlbWEiOjMsInVwdiI6W3sibWFqb3IiOjEsIm1pbm9yIjowfV0sImF1dGhlbnRpY2F0aW9uQWxnb3JpdGhtcyI6WyJzZWNwMjU2cjFfZWNkc2Ffc2hhMjU2X3JhdyJdLCJwdWJsaWNLZXlBbGdBbmRFbmNvZGluZ3MiOlsiZWNjX3g5NjJfcmF3Il0sImF0dGVzdGF0aW9uVHlwZXMiOlsiYmFzaWNfc3Vycm9nYXRlIl0sInVzZXJWZXJpZmljYXRpb25EZXRhaWxzIjpbW3sidXNlclZlcmlmaWNhdGlvbk1ldGhvZCI6ImZpbmdlcnByaW50X2ludGVybmFsIn1dXSwia2V5UHJvdGVjdGlvbiI6WyJzb2Z0d2FyZSJdLCJtYXRjaGVyUHJvdGVjdGlvbiI6WyJzb2Z0d2FyZSJdLCJhdHRhY2htZW50SGludCI6WyJpbnRlcm5hbCJdLCJ0Y0Rpc3BsYXkiOlsiYW55Il0sInRjRGlzcGxheUNvbnRlbnRUeXBlIjoidGV4dC9wbGFpbiIsInRjRGlzcGxheVBOR0NoYXJhY3RlcmlzdGljcyI6W3sid2lkdGgiOjMyMCwiaGVpZ2h0Ijo0ODAsImJpdERlcHRoIjoxNiwiY29sb3JUeXBlIjozLCJjb21wcmVzc2lvbiI6MCwiZmlsdGVyIjowLCJpbnRlcmxhY2UiOjB9XSwiYXR0ZXN0YXRpb25Sb290Q2VydGlmaWNhdGVzIjpbXSwiaWNvbiI6ImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBSzRBQUFBOUNBWUFBQUEwL2xJREFBQUFDWEJJV1hNQUFBc1RBQUFMRXdFQW1wd1lBQUFLVFdsRFExQlFhRzkwYjNOb2IzQWdTVU5ESUhCeWIyWnBiR1VBQUhqYW5WTjNXSlAzRmo3ZjkyVVBWa0xZOExHWGJJRUFJaU9zQ01nUVdhSVFrZ0JoaEJBU1FNV0ZpQXBXRkJVUm5FaFZ4SUxWQ2tpZGlPS2dLTGhuUVlxSVdvdFZYRGp1SDl5bnRYMTY3KzN0KzlmN3ZPZWM1L3pPZWM4UGdCRVNKcEhtb21vQU9WS0ZQRHJZSDQ5UFNNVEp2WUFDRlVqZ0JDQVE1c3ZDWndYRkFBRHdBM2w0Zm5Td1Avd0JyMjhBQWdCdzFTNGtFc2ZoLzRPNlVDWlhBQ0NSQU9BaUV1Y0xBWkJTQU1ndVZNZ1VBTWdZQUxCVHMyUUtBSlFBQUd4NWZFSWlBS29OQU96MFNUNEZBTmlwazl3WEFOaWlIS2tJQUkwQkFKa29SeVFDUUxzQVlGV0JVaXdDd01JQW9LeEFJaTRFd0s0QmdGbTJNa2NDZ0wwRkFIYU9XSkFQUUdBQWdKbENMTXdBSURnQ0FFTWVFODBESUV3RG9ERFN2K0NwWDNDRnVFZ0JBTURMbGMyWFM5SXpGTGlWMEJwMzh2RGc0aUhpd215eFFtRVhLUkJtQ2VRaW5KZWJJeE5JNXdOTXpnd0FBQnI1MGNIK09EK1E1K2JrNGVabTUyenY5TVdpL212d2J5SStJZkhmL3J5TUFnUUFFRTdQNzlwZjVlWFdBM0RIQWJCMXYydXBXd0RhVmdCbzMvbGRNOXNKb0ZvSzBIcjVpM2s0L0VBZW5xRlF5RHdkSEFvTEMrMGxZcUc5TU9PTFB2OHo0Vy9naTM3Mi9FQWUvdHQ2OEFCeG1rQ1pyY0NqZy8xeFlXNTJybEtPNThzRVFqRnU5K2NqL3NlRmYvMk9LZEhpTkxGY0xCV0s4VmlKdUZBaVRjZDV1VktSUkNISmxlSVM2WDh5OFIrVy9RbVRkdzBBcklaUHdFNjJCN1hMYk1CKzdnRUNpdzVZMG5ZQVFIN3pMWXdhQzVFQUVHYzBNbm4zQUFDVHYvbVBRQ3NCQU0yWHBPTUFBTHpvR0Z5b2xCZE14Z2dBQUVTZ2dTcXdRUWNNd1JTc3dBNmN3UjI4d0JjQ1lRWkVRQXdrd0R3UVFnYmtnQndLb1JpV1FSbFV3RHJZQkxXd0F4cWdFWnJoRUxUQk1UZ041K0FTWElIcmNCY0dZQmlld2hpOGhna0VRY2dJRTJFaE9vZ1JZbzdZSXM0SUY1bU9CQ0poU0RTU2dLUWc2WWdVVVNMRnlIS2tBcWxDYXBGZFNDUHlMWElVT1kxY1FQcVEyOGdnTW9yOGlyeEhNWlNCc2xFRDFBSjFRTG1vSHhxS3hxQnowWFEwRDEyQWxxSnIwUnEwSGoyQXRxS24wVXZvZFhRQWZZcU9ZNERSTVE1bWpObGhYSXlIUldDSldCb214eFpqNVZnMVZvODFZeDFZTjNZVkc4Q2VZZThJSkFLTGdCUHNDRjZFRU1Kc2dwQ1FSMWhNV0VPb0pld2p0Qks2Q0ZjSmc0UXh3aWNpazZoUHRDVjZFdm5FZUdJNnNaQllScXdtN2lFZUlaNGxYaWNPRTErVFNDUU95WkxrVGdvaEpaQXlTUXRKYTBqYlNDMmtVNlErMGhCcG5Fd202NUJ0eWQ3a0NMS0FyQ0NYa2JlUUQ1QlBrdnZKdytTM0ZEckZpT0pNQ2FJa1VxU1VFa28xWlQvbEJLV2ZNa0tab0twUnphbWUxQWlxaURxZldrbHRvSFpRTDFPSHFSTTBkWm9selpzV1E4dWtMYVBWMEpwcFoybjNhQy9wZExvSjNZTWVSWmZRbDlKcjZBZnA1K21EOUhjTURZWU5nOGRJWWlnWmF4bDdHYWNZdHhrdm1VeW1CZE9YbWNoVU1OY3lHNWxubUErWWIxVllLdllxZkJXUnloS1ZPcFZXbFg2VjU2cFVWWE5WUDlWNXFndFVxMVVQcTE1V2ZhWkdWYk5RNDZrSjFCYXIxYWtkVmJ1cE5xN09VbmRTajFEUFVWK2p2bC85Z3ZwakRiS0doVWFnaGtpalZHTzN4aG1OSVJiR01tWHhXRUxXY2xZRDZ5eHJtRTFpVzdMNTdFeDJCZnNiZGk5N1RGTkRjNnBtckdhUlpwM21jYzBCRHNheDRQQTUyWnhLemlIT0RjNTdMUU10UHkyeDFtcXRacTErclRmYWV0cSsybUx0Y3UwVzdldmE3M1Z3blVDZExKMzFPbTA2OTNVSnVqYTZVYnFGdXR0MXorbyswMlByZWVrSjljcjFEdW5kMFVmMWJmU2o5UmZxNzlidjBSODNNRFFJTnBBWmJERTRZL0RNa0dQb2E1aHB1Tkh3aE9Hb0VjdG91cEhFYUtQUlNhTW51Q2J1aDJmak5YZ1hQbWFzYnh4aXJEVGVaZHhyUEdGaWFUTGJwTVNreGVTK0tjMlVhNXBtdXRHMDAzVE16TWdzM0t6WXJNbnNqam5Wbkd1ZVliN1p2TnY4allXbFJaekZTb3MyaThlVzJwWjh5d1dXVFpiM3JKaFdQbFo1VnZWVzE2eEoxbHpyTE90dDFsZHNVQnRYbXd5Yk9wdkx0cWl0bTYzRWRwdHQzeFRpRkk4cDBpbjFVMjdhTWV6ODdBcnNtdXdHN1RuMllmWWw5bTMyengzTUhCSWQxanQwTzN4eWRIWE1kbXh3dk91azRUVERxY1NwdytsWFp4dG5vWE9kOHpVWHBrdVF5eEtYZHBjWFUyMm5pcWR1bjNyTGxlVWE3cnJTdGRQMW81dTdtOXl0MlczVTNjdzl4WDJyKzAwdW14dkpYY005NzBIMDhQZFk0bkhNNDUybm02ZkM4NURuTDE1MlhsbGUrNzBlVDdPY0pwN1dNRzNJMjhSYjRMM0xlMkE2UGoxbCtzN3BBejdHUGdLZmVwK0h2cWErSXQ4OXZpTisxbjZaZmdmOG52czcrc3Y5ai9pLzRYbnlGdkZPQldBQndRSGxBYjJCR29HekEyc0RId1NaQktVSE5RV05CYnNHTHd3K0ZVSU1DUTFaSDNLVGI4QVg4aHY1WXpQY1p5eWEwUlhLQ0owVldodjZNTXdtVEI3V0VZNkd6d2pmRUg1dnB2bE02Y3kyQ0lqZ1IyeUl1QjlwR1prWCtYMFVLU295cWk3cVViUlRkSEYwOXl6V3JPUlorMmU5anZHUHFZeTVPOXRxdG5KMlo2eHFiRkpzWSt5YnVJQzRxcmlCZUlmNFJmR1hFblFUSkFudGllVEUyTVE5aWVOekF1ZHNtak9jNUpwVWxuUmpydVhjb3JrWDV1bk95NTUzUEZrMVdaQjhPSVdZRXBleVArV0RJRUpRTHhoUDVhZHVUUjBUOG9TYmhVOUZ2cUtOb2xHeHQ3aEtQSkxtblZhVjlqamRPMzFEK21pR1QwWjF4ak1KVDFJcmVaRVprcmtqODAxV1JOYmVyTS9aY2RrdE9aU2NsSnlqVWcxcGxyUXIxekMzS0xkUFppc3JrdzNrZWVadHlodVRoOHIzNUNQNWMvUGJGV3lGVE5HanRGS3VVQTRXVEMrb0szaGJHRnQ0dUVpOVNGclVNOTltL3VyNUl3dUNGbnk5a0xCUXVMQ3oyTGg0V2ZIZ0lyOUZ1eFlqaTFNWGR5NHhYVks2WkhocDhOSjl5MmpMc3BiOVVPSllVbFh5YW5uYzhvNVNnOUtscFVNcmdsYzBsYW1VeWN0dXJ2UmF1V01WWVpWa1ZlOXFsOVZiVm44cUY1VmZySENzcUs3NHNFYTQ1dUpYVGwvVmZQVjViZHJhM2txM3l1M3JTT3VrNjI2czkxbS9yMHE5YWtIVjBJYndEYTBiOFkzbEcxOXRTdDUwb1hwcTlZN050TTNLelFNMVlUWHRXOHkyck52eW9UYWo5bnFkZjEzTFZ2MnRxN2UrMlNiYTFyL2RkM3Z6RG9NZEZUdmU3NVRzdkxVcmVGZHJ2VVY5OVc3UzdvTGRqeHBpRzdxLzVuN2R1RWQzVDhXZWozdWxld2YyUmUvcmFuUnZiTnl2djcreUNXMVNObzBlU0RwdzVadUFiOXFiN1pwM3RYQmFLZzdDUWVYQko5K21mSHZqVU9paHpzUGN3ODNmbVgrMzlRanJTSGtyMGpxL2Rhd3RvMjJnUGFHOTcraU1vNTBkWGgxSHZyZi9mdTh4NDJOMXh6V1BWNTZnblNnOThmbmtncFBqcDJTbm5wMU9QejNVbWR4NTkwejhtV3RkVVYyOVowUFBuajhYZE81TXQxLzN5ZlBlNTQ5ZDhMeHc5Q0wzWXRzbHQwdXRQYTQ5UjM1dy9lRklyMXR2NjJYM3krMVhQSzUwOUUzck85SHYwMy82YXNEVmM5ZjQxeTVkbjNtOTc4YnNHN2R1SnQwY3VDVzY5ZmgyOXUwWGR3cnVUTnhkZW85NHIveSsydjNxQi9vUDZuKzAvckZsd0czZytHREFZTS9EV1EvdkRnbUhudjZVLzlPSDRkSkh6RWZWSTBZampZK2RIeDhiRFJxOThtVE9rK0duc3FjVHo4cCtWdjk1NjNPcjU5Lzk0dnRMejFqODJQQUwrWXZQdjY1NXFmTnk3NnVwcnpySEk4Y2Z2TTU1UGZHbS9LM08yMzN2dU8rNjM4ZTlINWtvL0VEK1VQUFIrbVBIcDlCUDl6N25mUDc4TC9lRTgvc2wwcDh6QUFBQUJHZEJUVUVBQUxHT2ZQdFJrd0FBQUNCalNGSk5BQUI2SlFBQWdJTUFBUG4vQUFDQTZRQUFkVEFBQU9wZ0FBQTZtQUFBRjIrU1g4VkdBQUFhaGtsRVFWUjQydXlkZVpobFZYWDJmMnVmTzlTdHFpNnFlbTZtWm1qNG1vYkUrQkdSTVNKRENKTVFDWW9nQ2tIRktZSUdJUW9tT0FRa3dTaVJxSWdDUmlNRUdVUWtZQVFSWkFvTkNCL0k1TkRkQXFHYm5ydTZxdXZlZTg1ZTN4OTczYTVUcDg2dHVsVlVRenJQWGM5em4rNCt3ejU3ZVBkYTcxcHI3OTJpcXJTbExWdWJ1SFlYdEtVTjNMYTBwUTNjdHJTbERkeTJ0SUhibHJhMGdkdVd0clNCMjVZMmNOdlNsalp3MjlLV05uRGIwaGFnTU5aTkVaa0g5QUpKK2pLd0VsZ3ppZS90YnU5cnFpd0hQSi82eHZaQVYrcVpWeU1DYkFKK1A4NXowNEQ5Z0gyQVJjQk1vTlB1RFFIcmdkOEJqd01QQTc4ZTc4TmRVY1RsdSs1QmI2RkFzaFduMVFXS1R2VWRDa2NnN0FDVWdkaCttMFQ1R25CYjNydUs0T1hWZmYrRXB4K2ZPSENCbllHZkFzWE05Y2VCUDdGQmJWVStDRnhtWUVwLy8ycmdBNmxyWHdlT21NSytYd3djME9UZVRPQnM0TjNBL0JiTDJ3VGNDMXdPL1BoL3VXTHJVN2d4RVhrcm1ZRnJpQmZ1YmdiYzE1TXFQQUQ4c3dFMy9Yc1Q4UEVKZkdjNzRQTkFLVlBPZndPZnptajBVczczWHMydjFLUk9id2J1Qjg2ZkFHZ0JLamF4YmdXK0IvVGtQZVJSL2hjc1h6b1BlT3V3QmgzOW15TExPTFZVd2VTendPSEEzcG5ybndadU5ETS9ubnpSdEZ0V1BneXNHRFhtVXl2bG5HdTdHZkJtamZGZWJCT3ExRVRaQUp3Q3pBYmVsclUrWFM2aUpMSTFnemNDanNtNS9qendsUFZQWHdzMDdIVUQ3aEJ3cG1tbk5BaTZnUzhCeDQ3ei9oRm1pclB5VGVCSExkYnpDV0QxSkp4SkFaN0p1WDVKRTlEK0FyZ09lTXg0dkRlK3ZjakErWTRjMm5RNDhEZkFoU05tUnFXTDZZVUNnOTV2cmNDdEFETnlLT0pCd01iLzBjNVpTaDQxVS8rRnpQVmpnQk9CSHpSNXI5UEFuWlhmMm1DM0toOEY3cHVpTnU4Q0hKVnovUitCYzV1ODh4UndQZkJ0NFB2QTNKejYvWXVCSFlCRm5WMWpLT3F0UnVObUcvREwvd21nblFod0FmN0JCbnovbkFHL0UxaWI4ODQ1d0o0NVZPQkRUWjV2SnNVcGJQTWY1ZENISmNBRkxieDd0OUdibXpLT3dneVF3NEJyUFVwSkhIdDJkaE9QamliTUEvWUFkalF6V3dTcUZxSDVQZkJzRG5WcVZXWmEyVHNCMDYyTmlRRnREYkFNK00wRW9rRkpMbldmbk13SDlyS0lVWStWczhiNi9WZnBDYjhsZ0Z1M3lNQkRxVkJSbzFKL20rT3M3ZEZFZzExdWtZcUptdnlwa2prNTExNENhaTIrZjZ0UmlWMEJGWUdDSXNEdUlOUlFEdXJwWTJGbkY0UEo1ckUvRG5pL1JUZDZ4eWg3dFRuRVZ3RS9iTEUrK3dKbkFZY1kzeDVMbGh2bCt6WndlODc5czgyQ2VwdFUwM01zN0wwcHlpYkFWNXBZM0FoNEozQUdJY3pZM2FST0s0R2ZHM1c4YzBzQUYrQkpBK21sbWVzZk1STzZPSFh0bjR3ZnB1V1pGalhibHBROGdEWTAxZElXM28rQlB3TXFDRjRFdk9KaWRDTW84MHBsVHBvOWgzcmd0aFhnQ3VEVUZ1czJ3M3lHWTRFYkRPenJ4bmorSE9DaUNWaWt1Y0FKOXJ2U3JFZWN1cjh3eDZKbUozMTI0dCtVODl3aVFsanpUMXFvMHl5YkxDY0MzN1ZKdUhhcWdZdk5zS1BUWVJMcnVDOERCMXRIdk1zR04ydDZQZ2owVCtLYjlTa0U3bk5OQUhPYlRhcTdnQTNqbEpGcjJnb2luTFA5ZkxZcmRURGdFeVR3KzFPYmFMNlhyRSsySWNUTHMyRzd2ekRnSDlmRWJKOXNOQzByRzR4MkRKcG03REZxMHBGNTd2MkVwTW9YWDZWbHk3Nnpqem5kZVpadG1WR2hBckJEam9OOEtyREFOUHVhcVFadVloejFZVWJHTUE4QTNtdWE5NUtjOTc1a1ptWXlzcDN4bzhta3FKZG50T3lqeGlVWDVtaUptNEFYekFsNTJrSS9TNjJNbDdQYUwxSVFCQytLUXpocDFsd1dkWFl6a0NSSUtQLzlPUU4zbnBuRTFhbHczUzdBYWNBbk1tTnlOUEQySEZQY0RmeDk1dHBHbTNnM1dsMGJZTzh3a0p3TWZDckQ3ejhJZkJVWXNIOHZOaDRlMjBRNkxQUDhNcU5Ka3FJRHoyUTArdlU1b0wzVkZOc2pLY1UxMitqTmVlWjNOR1Evb3cwbk1rYU1XTWJhNVNzeTVnVDhzSG5TMllGNTJENmFEYVBzVDhnNmpTZTM1MmpyUWRPNms5RUloMXFIcGVWWTRKWUpsRmMxMEM2emdYb0F1S2NBeitHRVdJSkRkdWxPdTdOenVVSTEwSVRUamF1bTVVK0JuNnFBS0tnbHZ3VkFGVVRPelpuMFA4NEpPUjRQM0p5NWRwcXFmb2ZHZURxWHB3Ni9hRUJKTzF0N2tCK0xMMWw3MHhHVUt4bVo1Y3pLRlRuM0x4R0xJUG1NbXJhNjlXaEk1R1RiZUJ6d284bW1mTWVTcjV0S1B6TGpxTTNQNFpRZmJCRzBqQkZXbThySXlhMm1nUzVyd2FGcGFNVUd2OXZITE11UUl2OEpjZ25vQXpYdnVXWHRTajR4ZHdjMERGR2ZLTGhHZWtsQWtRSHZCSFdDV25LaXBna09vY3NWU2FxMUs4S2tsV25odGpqamV4S2dyVGJvTWl0b1BrMDBPSVpyVmZYR1FrZUo3aG5UVVZWV3JGNko5NTZpT0FvNG5GZkUrNGN5N1hJai9KQ0dvZ3JnNzh5WjJJVzhaNjJKTzhtb2VMMzhET0Z2YWdLeDZJaDFDMEtZdkFXVkRVWFA2YUJQbUdWdHlGa2FKcTJmYXVDcU9XV1A1SGlmYWJrWStLL1gwUm5iM0YzT09hSW9vbDZ2UTBnMDNHK1c0d1JDTm0waTBwR2diOFBMa2NDbkVMNTA5N3JWSE5YVHk4N2xEbXFxcXlObHN3S01IYWk0cTFINW1ucTVUMFdXS2F4SzFPTkY2TjF1SHZIZzBQcU5xOWNjb29Ddng2aFB4Q3pmQ0xQb1ZiOE4raTBSVVZjS2ZsbXBxNU9lbWRPSmlrWGlKTWF2ZW9YRWU1eUFFM284dXFlb25qMTJSeGtJdFpWTzFlSDRtSUtnUjRHa0ZZejMrTS9VeERpTEJxQm1BVlFMRHRMcW9uSzVJQmVuN3U2UHlHNU5mSkp4VjRlTmpWelZKVjFkWGVkMGQzZGZsYVVjSWtJY3h3OFBEZzVlbFBkdVYxY1h6clZNV1o5WDFRMlRwQXFibmNGaXNVaTVYS2EvdjUvMTY5ZFRyOWRmTU43M09lQ1BvaWphdDdlM2Q2OG9paFlCMjVxWkxEVXYyb0ZLVWFQNFVoVjV5WHU5N3FGaWtiMW56bUVnU1I0VWtSZ29KQkxZb0ZQZDNTbGZzWmRmQVY3b1JKY0k4cXlMb3VjcjA3ZjVWYkd2NXpmZSt3MjFhcFg2NEpERy9RTm9ISTlvdWpqbm8ybWRGRHNybENwbElvbUt6cm50SlVubWV1KzNCZWIxOXZYTlZhL3pSZGpSSVR0cGNOQzJwT3liZGFnVlBhWVNJZ3ZqRFhRc3NLZU1HRjd0S0pjcmUwOEt1QXNXTEJpM3RxVlM2ZXBpc1hpVWVjRnBXUzhpWjNydmE1T2RHS2tKY3FhSS9IelNLbGVFZXIzTzBOQVEzbnQ2ZTN2cDd1Nm1WcXRSclZZWkdocmFOREF3OENEdzRMeDU4eWdXaXpqbnBxbnFQTy85RHNCZXF2ckh3RUVpTWordGR3SWQ4RlFqK2F6My9wWm5ZZFB5bm1uc1dPNTR2cXBjZ3VyNUNuUUlJQW1wMVF1ekpkQ1V2VkdvcTZlZXhDRHlvZ3FMbzQ3U0RYU1VieXhPbTFhVmVLUzExTWhCeWVIUXd6MjhXL0g3a2ZqdFFTdGhQZ25UWnN6WWpIWFZMUkFOSHkwN1pPbVZCS1V3SVJNK2N0eFpNS21vUXFsVWFnVlVWS3ZWSzNLQWV4L3dlQjQ0SjNIc2t3QVVDb1ZKZ1RhT1k0YUdobEkyekJORkVaVktoYzdPVGxTVkRSczJzR0hEQnBJa3dUbUhxdmFyYXIvMy9ubFZ2Y3ZxM0tPcUo2bnFKVUJ2bzZkTFhxa1cySDBJLzRaYTRoKzZjdm52T1gvN0JTVENCVDVPWHBURW55WEt3aVR5TGF4UDFlMHRndkxub0dlTDZta1c0VWgzWUpmRy9odkpaazZwT1JBWUFmWTFGZzFJbU5vbG95T002RlFYcU9pY1NRRTNQZGdUak9YUkpQYjRxbmhxdlY2blhDNGpJaTJCWDBSSWtvU2hvU0ZVRlJIcHNCRFZOTFVDVk5VQnQvZjA5RHpXM2QyTmlDQWlEZkJ1Qm5valJockg4VGZqT040QVhPdHNiZDlnQVFwREN1SjNUVlFmS2d4VnFmV3ZoNDRPbkl1K2dmZlhvSDRmVWZZVjFUZGErR3MrMEFkU0dnUExid0orZ09wKzZkaXlLRitWUk4rZE05RExnQ2NSZmdNc0VlUWxZSW1QNUVXVVYxeWlwMjlCNEdhZDcwRVZ2Z3NNalUrYWMzc2dBdjNacElCclRzeGtnVHVsaHFrQjF2NytmdUk0bnRCN2xVcWx3YWRGVmYrVzBVc3Nad0NQaVFqcjFxMURWYWxVS2tSUnRGa0RPK2Z3M2xPdjExSFZud0pybmRMWGlKVlJGNlFRbFR1ZGNPeTA2VWppcVczY2lMZ0ljVzRJOWZkS1ZMaFhuRVBDUE9nVlpSNzRYUlRkVTFYM1IzZ0xvMVBDaTRBakZMVllydXdsSWVhYmxsVU85MUZCL2tNZC9UckNkWmZnR05WalZMVjNDMUtGWmFOQ3JlaUY0cUxsSVRpaXpRWUl2RWR6VnRHcFRESUJNUkdBYlBIUWdBaTFXbTBpazJsWUZXemFSTGxjQnRpa3FyOEMzcEo1NUNqZ1UwbVNWR3UxR3Q1N0JnWUdObXZjaGdaMnpqVTBmaThocXhVNk1RR2ZSTlJqWGJIdk5qMHNLSlU3YXVpYkVTbW9ldFVrRVdBSTd4K01vb0lYVjBCRTFrbUlEVC9qMGRzVWo2cmZSVDNYbWFaTnk1NnBKTVIrT1VyaEg5UkYveDZGY2kwK3JLZ0J3aWR4dytMczFaenllVkJGWERUWklYcUlrVm5DQ3ZCT2plUEx4RVc0S0w5Y255Um9Fb05xQ1pGQ0N1RUYwK0x4MWd6Y2dTUko4TjYzN05DTjRDeEpRclZhYldqZHUzS0ErMytBeTVJaytSQ2dEWnFRcFNPcVNxMVdJNHFpYzRFT0hWWXRST29INnlwUDdCaEZGSVNPbXZjM0J5cVFpbWVyMzcxZWo1ZWhpb2pEUldHYzFQWVRhRWpCM3BBRDNMUTY2c3RwNGxJZko4VFVRTUg3RUlYd1NSTGMrU2hDSXJlVGlCeWZTK204NG0yc1hWR0hZN1FUazlzSUt3alRYUGNjVmIxQnE3V1h5T2xQRVFFUnBCRDlvWWg4RDlXS0FWY0lHY3UzMDJTSndOWUMzQk5WZFU4bWwvS3RBemNsU2RKdlhQVmZnVThTTmtpbTVVekNaczR2VzN3M215dXZBRzlVMWJQak9ENHhjRW9CQWFkSzFmSERUZDYvdUNtcG80bXU4MG55bElSRjErbE0xSVhxL1JucXZmZXFEWklCSWpoQW9xaExSSTdPSVYxUHcyWmV2eklIVm9lcTZnOThiSnExWVlKRlFnWk5kUUhlZjE4MU45N2VsVGJUUGs1YWovYklpTWpRTWxXdUVkV1BwQjdaSHVGV1FoYnhpU2JGN0UzaXIxVVpqcU9ISktKY3doanJXcllXNFA2MXlLdWl6UGVsT21FWjhHbFYvV3JPYzIrVnNERnd1YW91WlhnWFJKK3E3aUFpTzZlMWhqZXpYRXAwaFMvSUJUV2ZVRTFpU0JMVSs2K3I2a0daOGs4RGRrWGtHZ2tEdVE2SUVKa0o3S1BldjFkSDV1MEIvbHRFZnBhS0hUeW9xbkZtN000QVhrRGt1eEwyOFlGSUQ3QzdxaDZQNnZ2VWo5ck4wSkJ2RWRiRVBncGNrc3FFdFFqZUVlUHlkNnA2S0NQWGdid1JlSkNRcmJ5SHNBRElBVHVxNmtHb3ZrMUhMd0M2Q3VlK05kWjN0eHFPKzJwb1JzUFVOakpucW5wNUhNZlRDZnZwOG1RdW8zYzVqTGF4SW5pUnBZVkUzNlZSWVVsSkhQT0xaZXB4aktxL3pnYnhqQXdsUFloaFRUeGczbk5IUGxnMEFUNkdTRnI3UDR2cU5TRHZ5NHpqRndqcm4xZVkydW9CNW95RW9XNEE2UXJmSE9IOExXS1NpL1hGaldqYmFsVGZycW8zQmZCSzJscTl3MzdqUlhML1RVUStwT05zZVNxTXh3MWJsTHh5SnJ1K29IT0tnZHZWb0JoeEhHOE9wd0dmUzVKa01XR1g3d0dUS0xmZjQ3NnZ6bjBPMDNKRkVXWkhSUkwxcUtxcThnRjhmUW5vSjdDMHVJd1IrOHlBOXptSVBvbHp0NFlNZ2lLK01SNzZjUTJSa0QvUGxObERhc1ZlcHJ6L0FQY3A4UDhFSENxanZ5czVVYUZwT1hRcGc3VUlpVVpnL2huMS9tRFIrSXNhNHN5RnNVSk1xVHF1QUxsRVhQSExyY1NqeGdTdWIzMmozM09tdlJvdk9NTFN3Y25JRllRdE1sTzF5N0RHOEJKQzRqaW1XTnpjMGJlcjZ1MnFlaUJoQ2VHK3Fyb2JZWTFzSmFXWllzS3l3VlVpOHBUVjd6YkUvWFowMkY4elRwWCt2ZlB4OTBUMUJJWERORVFJcG1mS3J3TWJYZENXand2ODJJdmNvczV0SEsyQUFkZ282TnVkOTZjb3ZNZm9SVjlLYTFhQkRTN1FvZ2NRdVVsRjdsRUI1K01Qb0hxeHdvSEd1K3N1VEx5N1pIUmM5ak1HWHJVeGZXeTBkb3ZCUmFoRWFSaXVRUDNwVHYxWFJQVkVoVU0wN0JqWmh1RmxrbFZnblFzMDVYWVZ1VllsZXFsbFRUOVdJSCs4VE5VRTFocHM5c3BIZUpTdmcwUlJSS2xVSW81amtpUVpFVDJ3djNlcjZrelRYSTJ0NlVQQVdoRjVSVVJxbStzdUJUUnlkQUZKdVlCM3dqOXV0d3NMSzUzMEp3bXhWL0Exbkk4UlZieENJcTdUaTV0dGcxZzBiYlFweElXVFZ5TFZXTVQ0c3l1Qml4Q2dFamtrcVRHVWVKc2Npdk1lcjFCM2hSbEdiVHB0d2c4S3JDejZlSldZT2ZjaWVJbHdQZ2F2MUYwMFRaRUtzS25nNDM3SHhJSUprUWdkRm4wWktsWW9SaVVVcFo0a0pFbE1VZXRFSWNUQmtOZEdIV2N6dk9wc0FGaGU4UEhhcU5GZWlaQ29qRXZSaitNZmVXRHFxVUlqZGRyQ1loeTg5eU0wZU9PZFJuejB0WklXd21vYm1jaE8xdFR5dnFHTmcxeSs1TmU4WmZwTUR1aWJ5YXhpbVUxYXo1cnNRUXYxVUJRaEVtSEllMHJPVVZRbHRqNTNJaFNjdzBVUmlTbzNyM2laTXA2RCs2YlRGVVVNSnZGSWJtbFdKUktoN0J3QzFQendNeVhuY0M2aTZ1TkdmZnJ6dlBZTzUzQUlRK3J4VFpSYVNSd2JmY3p0cTFmemNxM0drNE9Eek8vczRzalpjOW01MG9VVDRmZWJoaGhLWWlvaTdGTHBwQjlaWFJCWkhlcmxtenFBbFNnaUlhemRtTFRHYlVVcmlzZ0k4R1lCbXRXMHpiVGdaTURibUJCNTVUZVNCdGw2cWVwbXJkc0FjUVBJamV4Y3MvbzJuaG5XdUJFZWtLUk9rcW5IekZLWm8yZk41Y2pwZlhRN1NIeENBVWNzRGhWSEpNS0wxU0Z1Vy9VS3Y5eXdnWjBybmZ6WjlENzI3T3lrTTRwWWx5UXNyY2JnQ3R5M2RpVzN2ckljZ0owcUZkNDVaeTV2NmUzREp6SFZvTTAyYThCVjlScjNyRjNEeTlVcXp3ejBid2JmRGgwVjl1cWV4bkV6WjFCU0dMSzZLNkJ4V0FmVlZZaTRZODFxQmhQUG4wN3ZZNXVvUUd6aE5SR2g1ajJSQ092aW1BdVhMdUc1d2NGUmZiUnRSd2NGaEplclE5UTFMTEEvY2Zac2pwazFseGVxUTFTOVoyRlg5K2JEVWdvK0RxZitpRkNLaXZ4azdUcnVXYk9LbGJVUUtueGgwK0NXQVc2YU5vdzE2SzI4bndWZEhpZ2J3TW1iSUdPVm0zMDJiNzNEQ0ZEbVVKc3N1RnRwNzhLdUxzNmZ2eE1WRVo0YUdNQzVDSS9qc2Y3MTNMbG1WWG9uTUFCN2RIWXhyMXppeVlFQlZ0YWFiencrdEc4NnA4MmR5NXhpbWFxTFdGMnZjK2VhVmR5eGFpV3I2czNmZTFOUER6TUxSUlowZFRPdFVLVGlIQXM3eWt3dkZQamhxcFY4OWFVWEFaamYwY0dpemk1MjY2eFE4OHFMMVNwSHpwak90Q2ppODB1WDh1dE5FOXNYTUxOWVlrMWN4NnVHQ1RSckRnVVJmQkt6c0t1VHlEbXVlZmxsN2xpOXFqV2xseDJFVmdlRXNOR3RXV3l3ZzdDZTliWGdBRVhDMm9QWmhCMEtzKzFYbU9vUFpZSGRxa3d2RnBsWEtqZTd2UnRoRzlGK0V5MTN1M0taODNhY3p5bHp0MlZtY2RSS3ZuMEpYdjNoakgzVUZEdDFkSERzakpuamQ3UUlYZEdFVXNKZkkrd0tIMU42Q3dXMkxaY25oTTlYQTl3empDTmx0ek9YQ1h2TWZyUWx3Sk1qQjFvZ2Y2MzkxbG5XYXlJN0dnNWlkSnIxdFpKRjVxMGZNa1hsYlVQWThyTEpraTNyQ0puQzEwTnVJR3pHYk1nZk16cmRQaTRkbkdyZ1JwWUpXWktKUjM3QlBOdUZyMUhuSEdaVTdVVENmckEzMjU4ZEV5ampkNjFvaHExRXpyUCsyTjhVeDF4YTIxZjNXc2d2Q0llUnZLN0FoYkFkWkZOcVZ1MXRuZmFoaGdOSzJPSDVBR0hmMldjekNZWnNOa1VJVzdUL2I4UEtBaDhqN1BxOW01Q2ViQWJjWm9QelRzTHFyMDlZSGY0emxYRFloM0M0eVRyQytvUkxDU2xLQ09zV3ZtUFc0OVpNa21LZTFldG9HNHhMVGRPZFJUaHY0anJDRnZjdk1YSUwvekhBU1lTZEFZOGJQWmhKT1BteUoyWEo3aWVrU1U5SXZYdEVTQ0x3dVBYRHRrM2FlNldGbXBvdDdKNXZ6L3lTc0tQNjBNejlJd2dMWmg2ejltUFc2S3pNY3ljM0VpQ0VoZThmSSt6VXZaK3cyQWJEd1p2c201Y1N6cEw0Zi9iM0F3bm5iMlN6YVNmWm1HMVI0RUxJdjZzTjRtS0dqMWR5aEhNS1ZnTHZJUnpKK1NMaFRJRUdJYnVMa2NmdVJCYVkvcXNVLzFQQ0l1b3ZFSFlVWjBubW9mYk1jWVJBL042RVlIZERick15cjdPT3Z0NkFPdE40NEpXRUU4Y2ZCYjVoNW13dTRTeUZXK3lkSzIyQ0xzeE0wTldtcVE4bUhHU2gxdDZ6YlZCV1dCODA2dnd0ZStZQjRIMDI0UHZZdFZsV2pob0lUazNSaDZNdENmSTV3azZUeFFhc1BHSjRsSld4Mk1wTHl3d0x4ZjNVMnZVVlMzNDBqcEE5eGQ3OVp3UGhYMXJkejgwSm5kM1A4R21iKzZYYWZqN0RoOFc4WWttTStaWllldGtTVTk4dzRGNXM1WGFrTW5QcjA5Um1Td0lYNE4rdFkxZmFZR0Nkcm93OGh1Y05kdTE0Ky9jdGpEd2pLN0xHTnZibTcyTFBYelRHdHc5T2dYdWQvWGxENnY3TkJxQlN5cWxNQ0V2bTBwbS85T21SRnhzRlNzc1RESjhjMDJoSG1qdnVhdGMrazdwMnJGMXJBUDVmYkFLazEwSHN4L0NKTmg5SmdUaHRoWDVKT0NRanpXUHJqRHhOS0MybkE2dXNyTytrdFBtNWpENkY1MTRERmFZUnI4b3A3K09tZE5MeUUrRGFGSGZWbE1KcHlHOHlGT3puaEdNTk5nZGQ3TDNHQkR2Y1l1aHp4Z1B1VkRsUDV4bkh2RGpWd0lOTWE5MlhHZnpmV1lmL2tQek5VcG9aTk14RU5rM3dwYlRTNyt6OWFzWlpmSWpoMDJ6VzJhemVKaDAxeTJpdlB6Q2czMnozbExBWjhBOHk5ZnBKVGwzdlNGMTd0QkhsTWsxVEpxUTRsMmZhM05BMnR4aWxlWnB3S3MwM0dUNkpKckg3alhjS2hCTVE3ODdwazZ2TlFmc1l3MmUxdlJmNFEzdjNKbE1TYXBUSW04TFpsbkE0UjB2ME02TndsUHpERExQUHBSYzJQR3Q5ZEpLQitoVHptOFk5c1hLcWdMdmVnTEVpVTJFaGYvR0dwZ0NUWkVKYkhabkdhb3VackJkTlk1RHp2VTA1QVBOamREQ21tYTVQOWRHL3BzcHZ0R0ZndkFpYS9WbE50YmRaVzhvV0JUZ0ErRHN6cHp1a05QaVRScTBhMzc3S0prRXpXV252empLVGY0WnA2WFhXcmdhQXZtdnQ2bWpTRHpRSmEzWXljczF5Sy8yUlYvNDFESytQUGdUNDYxWUFOMVhBalhMS3U4dWNzZjFTV3ZjTmhBUGVHcHBxcldtTmRMaWtoOUdIM0xVU0QwNWFBRkNyL2ZDdzhkOGYwR1RyU0U2OU5NVXhGNmNjUnpJQWszSHF1TnljbXJLWi9Bc0lSeVRObklBMnpMWXR0dm8xanNlNkxZZXpsb3ovbnBxanhkZVlvOXhKU0ZsdlkwN3NieWM0VG9XYzl0OWtiVHpIbE45UFhrdmdpblYwT2dyK2dNMm1tODFycmhFT2FyczVWYm5yelhHN2dIRFkzSWZ0ZWtlcUk0U1I2MGViRGZpUFRKczFOTklwcHNHNmMwRGRtNm5yMDhhcmx4cWR1WUt3RzdqQmEyT2pJaGVaNW11YzFwMGRxTHJ4dkVIam1KZVpSbHVXMGxMVGNzYkFtVlU0ME9LY3Z6WFEvOXlldWRENjdDYmpsWFBORWYwb28zZlh2c3ZBdWRpVXdzbFc3OFRlUGRzaUV4ZFpQWTh4Wit5L3JPNDNFeFlWM1VrNGV2VUtVMEpxZjcvTityYVVvbGVOTnJpY21ISTZMUG1rUlF6dU03L2lRY0xLdEhzTUExOW4vSk15eHlhL0UzVE9LalpqOXNvQjFWbFdzZnZNQWNvdVdQNUxBL2tkRnZaNlR5b2sxV3Y4ZWM0NElibnp6T1ArZk9vM0t4VnlPeTVqSGM3SzFIVlhjekFmWnZnLzdOalJCdlFoNitBclVtWE9zVyttOTM4dHNBRS8xY3A2eERoL0plUHhuNXlwLzdibU5KV05ROTl1dk84eVJ1NzRQZEFpSTQrWVJ2eGtFKzI5RCtIRXhzZU41NTZhZVc2dVRjWUhyVzFYTS9MTXJvTnNnanhDT0htekViNThxNFVTZjJHVCttaUdENnBydENIN1B4Q2R5Y2dFMVR5TDR6NWluTHNoYjdPSmNkQnJGY2R0eTBqZ3FqbGliWm1Zbkd0Um5HS3J3QzIwKzJ6S3BHRW11OXBkMGJLOHdTenNYMWxjdS9XekI5b2FkOHFrMi9oYlg3c3JXcGJEak02Y1BsRjhTaHVnYmRtYXpWdGIydElHYmx2YTBnWnVXOXJTQm01YjJzQnRTMXRlUi9uL0F3Q080MUxCQ2p6MDh3QUFBQUJKUlU1RXJrSmdnZz09In0sInN0YXR1c1JlcG9ydHMiOlt7InN0YXR1cyI6IkZJRE9fQ0VSVElGSUVEX0wxIiwiZWZmZWN0aXZlRGF0ZSI6IjIwMTgtMDgtMDEiLCJjZXJ0aWZpY2F0aW9uRGVzY3JpcHRvciI6IkZJRE8gTDEgQ2xpZW50L0F1dGhlbnRpY2F0b3IgQ29tYm8iLCJjZXJ0aWZpY2F0ZU51bWJlciI6IlVBRjEwMDAyMDE4MDIyMTAwNCIsImNlcnRpZmljYXRpb25Qb2xpY3lWZXJzaW9uIjoiMS4zLjIiLCJjZXJ0aWZpY2F0aW9uUmVxdWlyZW1lbnRzVmVyc2lvbiI6IjEuMC4wIn1dLCJ0aW1lT2ZMYXN0U3RhdHVzQ2hhbmdlIjoiMjAxOC0wOC0wMSJ9LHsiYWFpZCI6IjAwMjIjMDEwMCIsIm1ldGFkYXRhU3RhdGVtZW50Ijp7ImxlZ2FsSGVhZGVyIjoiaHR0cHM6Ly9maWRvYWxsaWFuY2Uub3JnL21ldGFkYXRhL21ldGFkYXRhLXN0YXRlbWVudC1sZWdhbC1oZWFkZXIvIiwiYWFpZCI6IjAwMjIjMDEwMCIsImRlc2NyaXB0aW9uIjoiTW92ZW5kYSBFZ29tZXQgRklETyBVQUYgQW5kcm9pZCBGaW5nZXJwcmludCBBdXRoZW50aWNhdG9yIiwiYXV0aGVudGljYXRvclZlcnNpb24iOjEsInByb3RvY29sRmFtaWx5IjoidWFmIiwic2NoZW1hIjozLCJ1cHYiOlt7Im1ham9yIjoxLCJtaW5vciI6MH1dLCJhdXRoZW50aWNhdGlvbkFsZ29yaXRobXMiOlsic2VjcDI1NnIxX2VjZHNhX3NoYTI1Nl9kZXIiXSwicHVibGljS2V5QWxnQW5kRW5jb2RpbmdzIjpbImVjY194OTYyX2RlciJdLCJhdHRlc3RhdGlvblR5cGVzIjpbImJhc2ljX3N1cnJvZ2F0ZSJdLCJ1c2VyVmVyaWZpY2F0aW9uRGV0YWlscyI6W1t7InVzZXJWZXJpZmljYXRpb25NZXRob2QiOiJmaW5nZXJwcmludF9pbnRlcm5hbCJ9XV0sImtleVByb3RlY3Rpb24iOlsic29mdHdhcmUiXSwibWF0Y2hlclByb3RlY3Rpb24iOlsic29mdHdhcmUiXSwiYXR0YWNobWVudEhpbnQiOlsiaW50ZXJuYWwiXSwidGNEaXNwbGF5IjpbImFueSJdLCJ0Y0Rpc3BsYXlDb250ZW50VHlwZSI6ImltYWdlL3BuZyIsInRjRGlzcGxheVBOR0NoYXJhY3RlcmlzdGljcyI6W3sid2lkdGgiOjExODMsImhlaWdodCI6MTczNiwiYml0RGVwdGgiOjgsImNvbG9yVHlwZSI6MiwiY29tcHJlc3Npb24iOjAsImZpbHRlciI6MCwiaW50ZXJsYWNlIjowfSx7IndpZHRoIjo1OTIsImhlaWdodCI6ODY4LCJiaXREZXB0aCI6OCwiY29sb3JUeXBlIjoyLCJjb21wcmVzc2lvbiI6MCwiZmlsdGVyIjowLCJpbnRlcmxhY2UiOjB9LHsid2lkdGgiOjg0NSwiaGVpZ2h0IjoxMjQwLCJiaXREZXB0aCI6OCwiY29sb3JUeXBlIjoyLCJjb21wcmVzc2lvbiI6MCwiZmlsdGVyIjowLCJpbnRlcmxhY2UiOjB9XSwiYXR0ZXN0YXRpb25Sb290Q2VydGlmaWNhdGVzIjpbXSwiaWNvbiI6ImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBTWdBQUFESUNBSUFBQUFpT2puSkFBQUFCR2RCVFVFQUFMR1BDL3hoQlFBQUFDQmpTRkpOQUFCNkpnQUFnSVFBQVBvQUFBQ0E2QUFBZFRBQUFPcGdBQUE2bUFBQUYzQ2N1bEU4QUFBQUJtSkxSMFFBL3dEL0FQK2d2YWVUQUFBQUIzUkpUVVVINGdNQkRTSTNmNU45NEFBQUdlRkpSRUZVZUY3dDNYMXdWTlhkQi9Cenp0MmJmY2x1U0VnSUVwSk5FQ1hRSUFSQ1VMUSsrRmFuaXBTcXJiYVdjYlJUSEtzejlvKyt6ZlNmcDUzcDAzL2FweDFtMm1mR2d2V2xxSFdxZGlyRmw2S1dDaUtRaEpBSVFoQklza2t3NzIrYjNidTc5NTd6ZS83WVpOMkU3TjZYdldlemE4OW5uTTQwbkp2czd2M3V1ZWVlZTE0d0FDQkJzQnZSS3lBSVZvaGdDVnlJWUFsY2lHQUpYSWhnQ1Z5SVlBbGNpR0FKWEloZ0NWeUlZQWxjaUdBSlhJaGdDVnlJWUFsY2lHQUpYSWhnQ1Z5SVlBbGNpR0FKWEloZ0NWeUlZQWxjaUdBSlhJaGdDVnlJWUFsY2lHQUpYSWhnQ1Z5SVlBbGNpR0FKWEloZ0NWeDhJWUlsVmduSVBRNjlBam1QMHRpaFE2QnA4c2FOcEt3TVlheDNnSkFOZVI4c05qb2FPWENBOWZmSERoNTBiTnhZY01NTjBvb1ZJbDRMTHUrRHBiVzNzOEZCeEJqdDZhRzl2ZXJSbzg0ZE81eTMzb29jZWYvVzhscCt0N0VnSEk2ZE9JRlVGV0dNQ0VFWXM2R2h5RXN2UmQ5NkMxUlY3MmlCby93T0ZyMTRrVjY0TU92Q1J3Z29TdVRWVjZPdnZRYVJTT3BEQmI3eU9WaU1xUzB0TURVMXQwV0ZNVVNqa1FNSEluLzVDd1NES1E0VytNcmpZTEhCUWJXdGJmNTJPc1pJVmFQLy9LZXlieDhiRzV1bmdNQlpIZ2RMalRmYlU5MEFZb3dBWWg5OG9QenBUMnhvYVA0eUFqZjVHaXdJaGRRVEo1Q202UlZFYW5OemVPOWUydHVyVjFDd1U3NEdTN3R3Z1Y2NlpMQy9TanQxU3RtemgxNjZwRmRRc0UxK0JvdFN0YWtKUWlHRHdVS0VhT2ZPaFo5K1dqdDdWcStvWUkrOERCWWJHTkRhMjQybUtvNFEydDBkL3VNZjFaTW45WW9LTnNqTFlLbW5UckhoWVhQQlFnaGh6QzVmVnA1OVZ2M29veS9hYzJ0S1lYSVNwcWIweW1WUC9qMzNnS2twdGFrSlVZcUkrVzhGSVd4d01QemNjKzVvdE9EbW01RWs2UjJRMnpTTmRuVnBGeS9Tems3YTNTMnZYKzk2NEFFckh3c0grUmNzcmFPRGRuV1pycTRTQ0lHSkNlWFBmNGFwS2VkWHY1cS9qeFRaMEZEMDdiZGpSNDVBTUlnMERRRmdsd3NpRWV6eDZCMmFEZm4yc1dxYTJ0UUU0WEJHMzB1TUlSU0t2UG9xS0lweiszYnNjdWtka0dNMFRXMXRqZno5Ny9UaVJRU0FNRWFTaEFCWWZ6OGJHNU5Fc0N5Zy9mM2FtVFBXcTZzRWpDRVNpYnp4QmtTanJudnZ4WVdGZWdma0N0YmZIMzNycmRpUkl6QTFGWC91UHYwUEdFTW94QUlCYWZueXRMOGdTL0lzV0Zwckt4c1pzU0ZZYU9heHo5dHZReWprL3ZhM2NWR1IzZ0VMVFZWalRVM1IvZnRwWnlkQzZNbzZHNkpSMnQwdGI5a3l6N0ZabDAvQmdzbEo2ODMyZVdHTU5DMzJ3UWVnS082ZE8wbFptZDRCQzRiMTkwY1BISWg5K0NHRVFtbmVQZzBFSUJMSmhZdDdQZ1ZMTzNlT2RuZmJVMTBsWUl3WVU0OGRRNnJxL3M1M1NFV0YzZ0ZacDFkUmZRNWoydGNId2FBSWxobWFwalkzUXlSaVczV1ZER08xcFFYQ1lmY2pqMGpWMVhxbHM4ZGdSWlVBazVQMDhtV3laSWxlUWU3MFgydU9vSDE5MnVuVE5sZFh5VERXenA0TlAvMjAxdEdoVnpRclZEVjI5R2hvOSs3b3dZTkc3NEl4QmtWaGdZQmV1V3d3OEhKemc5cmF5c2JHT0FZTElZUXh2WGhSMmJ0WFBYVktyeWhmckw5ZmVlRUZaZS9lNlFmdHh0ODFZN1M3RytYQXNPejhDQlliSDFlYm1oQmplZ1V6UmdnTkJKUm5ubEdibXhmbXNZK0ZpaW9aeHJTcmk0VkNldVc0eTQ4MkZqMTdsdlgybXZqaVpvSVFOalFVM3J2WEhRb1YzSHl6NlZPYkFiTXRxbmxnek1iSDJjQUFLUzdXSzhwWEhnUUxZckZZVXhPdlp2dThNSWJ4Y1dYZlBsQVU1eDEzWk9HeEQwU2o2dkhqMFRmZnBGMWRDS1c5OVVzUFkxQVVHZ2c0YW12MWl2TEYvU1BMSE92cm8yZlBacW02U3NBWWdzSElLNjlBSk9LODZ5N3NkT29kWUIzdDY0dnUzNjhlT3dhS1lqMVNDYXBLQXdIRW1BMi9LZ041RUN6MTVFazJQcDd0WUtIcGIzL2s5ZGNoSEhiZGV5OTJ1L1VPTUEyaVVmWFlzZWorL2RNanAyMkpBc1lzRUlCd0dIdTlla1U1eXZWZ3NiRXh0Ymw1d2I1L0dLTllMUHJXV3hBT3V4OThFUHQ4ZWdlWVlITkZsWUF4SFJoZ0l5T1NDRllhMnVuVHRMZlgrdWNldjdQTHBMYkRHS2xxN1AzM1VUVHErdGEzU0dtcDNnSDZ1RlJVQ1JoREtFUjdleGUycHplbmd3V3htTnJjakdJeGl4ODlnRlJaQ1lxUzZYUHIrRXl5STBkQVVkd1BQMHpLeS9VT1NJZFhSWlVzRnFOZFhlaW1tL1RLY1pUVHdXS0JnSGJ1bk1WTUFHQ24wM252dmRqdFZwNS9uZzBNV1B3OVNkVG1aZ2lIM1k4K0tsVlY2WldkQjkrS2FqWWFDSUNpOEdnWEdwVFR3VktibTJGaXdtSWdBTWp5NVk2Nk9sSmNqSjFPNWZubmFYZDNwdWNTWSszTUdXWFBIdGZPblk1VnEvUkt6NUtOaWlvQlkzYjVNa3hPTG1Dd09ML0RETERoWWZYa1NldmQzNFRJbXpiRit3a2RkWFh1WGJzY3RiVTI5TjBUb25WMFJQYnRnL0Z4dmFMVElCcU4vZnZmNGQvOUxuYm9VTlo2NHlBWVhOZzV1dGw0azlab1o4N1F5NWN0bmdZQVVsSWlOelFrZnVDNDlscjNybDJPZGV2U0hHU0MyNDBLQ3ZRS0lZUVE3ZXBTOXU1Vm5uMlc5dlNZZStxWENZd2hFcUVMK2pUYTBtbmpEeUlSdGFuSitzTlVBTWZhdFhNRzZVcFZWWjdISHBNM2JVcDFrRkd5WExCNXMrNmNCVkNVNkx2dmhuYnZqaDArbkxXSzZuTUF0THNiWWpHOWNyemthQnVMZG5kckhSMFd2OThBMk9XU04yMjY4bEVNV2JMRS9kM3Y0c0xDMk9IRGlGSXJ2NTh4YWZseTNacVBkblZGOSsrUE5UV2hhRFRia1lyRG1QWDJRaWlFamRXc3RsdUk5NndMUUcxcGdXRFF5b2xIQ0FFUXY5K3hldlc4LzBoS1N0dzdkenJ2dkJQSnNwVUdITWFPK0NxNnFVRTRyTHo4Y3V6SUVlc2RKWE5ZZUowSXNiRXg5dGxuZXFWNHNlTnQyNDBORDJzWk45dlRUSTdBWHEvcndRZGQ5OXlEWFM1emZ3VUErM3h5UTBQNnhHTlpKbDd2OU1Tc0RBRWdoTERiYlRxZ00wK2o5Y3J4WXZMbFpvWFczazc3KzAxL2xIRUFwS3hNM3JneGZTbnNjcm51dTgvMWpXL2d3a0lUMlFKdzFOYnE5MmpMc2xSVFkvSDFKMk1NTzUwRlgvNnk2NkdIc050dDRuWEdhUnJ0NmtLVTZwWGpJdWZhV0tBbzA4MTJheWNHd0ZGWEp4bVpFeUhMenJ2dXdsNnY4dkxMTUQ1dTZNL0pzdHpZYUdTcUFxbXN4RzQzS0lyRlNnc0FJU1Q1L2M1dDIrUXRXMUFrRW52bkhXcDJhUWFNYVU4UGhNUDJQdUkwS09lQ1JidTZ0RG5yMVJvSGdEMGV1YkhSNktJTWtsU3dkU3QyT3BXWFhtS0RnenJaWWt6eSt4MXIxNllyTTBOYXZoejdmS0FvZWdYbnd4ajJlT1RycjNkdTN4Ni9zUVZDaU45UEF3R2o3eXNPWXpZOHpJYUhKUkVzQktBMk5VRXdhS2ordUJLQVZGMXRyazhjWTNuTEZ1UnlSVjU4a2ZiMHBQdTdHTXNiTnhwOENJMTlQbEpSWWZvNVVyeWl1dnBxNS9idDhxWk5pUnM2TE11UzM2K2EvVXppVDZON2VxUVZLL1NLMmkrM2dzVUdCOVZUcDh5ZGpHU1NKRGMwV0tqNTVRMGJzTnV0UFBkY3l1VkdBUENpUmNrOXJ1bGh0MXVxcXRKYVcvVUtKbUVNZTcwRk45N28zTGFOWEhYVm5IK1UvUDc0bWgvbVBweFliS0hhN3lhL0JKeXBwMDZaL3BZbkFKQ3lNb2Rlc3owVngrclZudTkvMzdGbXpmeHRaQURINnRYRTc1L25uMUtRYW1vTTlzNVBWMVRYWHV0NS9ISDN3dzlmbVNvMGMyMjk4dWM2TUthZG5SQU82NVd6WHc0RkM4Smh0YVhGeUhxMTh3TndyRnNuelhkV0RKS3FxejI3ZHNrTkRmTmt5K21VTjI4MjFka29WVllhdXVWa0RCY1ZPZSsrdS9BSFA1QWJHNUVzejFzS0Z4V1I1Y3YxZjlzY0dMUFBQb09KQ2IxeTlzdWhZTkdMRituRmk1YXJLMXhZYUtMWm5nS3BxSEEvK3FoODQ0M3hNVmpUUDJWTXFxeDAxTldsUFhRdVVsb3FsWmVuaXdJQXd0aXhabzNuaVNmY0R6MlVmdm95ZHJzbHY5OTBzQkNLTjdQMFN0a3ZaNExGbU5yY1BNODJFd1lCU0RVMWptdXUwU3VuajVTVmVSNTVwQ0MrelZQOFJCSWlOelNZblZDRjNXNVNXWmt5Q296aDRtTFhqaDJlcDU2UzYrdU5mQitrNm1wa29LZGpGb3doR2wyUVpsYXVOTjVaZjMrbXpmYkdScnVXdWNKRlJlNmRPM0ZoWWZUdHQxRTBTaFl2MXUxeG5ZY2tTWDcvNStsTUFFQ0VPTmF0YyszWTRmalNsNHpmLzBwK1AvWjR3T3k4RWdBYUNFQTB5bldpMFpWeUpWaHFXeHNiR2pMM2tTVUFrS1ZMNWZwNnZYSW1ZTGZiZGYvOTJPT0ovdTF2MHVyVnhOSnFacExmajkzdVdjdUdNMGJLeWdydXVNTjUyMjE0MGFLMFI4OUZTa3FrcFVzMXMrc01ZRXg3ZTJGcTZqOHhXQkFLWmJUd0ZZQmNYMCtXTHRVclp3NTJPbDNidHBHaUlsSmFhcXJabmtDV0xjT0xGa0Y4d2pzQWNqamsrbnJuMTcvdVdMWEtYRGdRUWdoaGo0ZjQvY2o4VXZVd1BzNHVYemJZQTJlWG5BaVdkdUdDOWZWcUFiRFhLemMwV0F4bGVySmNjTnR0bHNlZDRzSkNxYW9xdmpnQVdiclUrWld2Rk54eWk1VmVnemhDSkw4ZnliSzUxNU9ZRzMzZGRYcEY3WlFEd1dKc2Vwc0phOGtBa0ZhdWxGYXUxQ3VYQVdzdkRDRmNVQ0JWVmFrdExmTEdqYTRkT3pKL2tkUFhWck8zT0pUUzdtNmthVmxZS3lBaGUzOHBGWHI1c3VsdEpwSTVIUEttVGJyak9SZUtvNjdPVTFJaWI5bGl5eXNrUzVlUzRtSnFkcVFheGpRK056cUw2NnhhL0M3YVNHdHR0YkxOUkJ3QXVlb3FlNXZ0OW5Lc1hsMXcrKzIycEFvaFJBb0xwZXBxMDcxWkdMUFIwU3p2cmJmQXdZSmdVRzFwc1Q1bUNFQmV2ejRYVmtaTXlkb1hKaFZaSm42LzZVdHovR2wwZkIyYmJESDVFdTJtblQ5dmZiM2ErSGpPeGthTGgrY25xYWJHeXFBL1ZhVTlQYWFQeXNDQ3RyRXkzR1lDd0hITk5WSk5qVjQ1UTBaSFI4OTFuQU1HeGNYRnBhV2xSVVZGSHB1dVgvYVNLaXB3VVpIcGtWNFkwKzV1VUJTN0xzcTZGakpZdEs5UCsvaGo2L1dOd3lFM050bzEyYmVqbytOWHYvcFZKQktSWmRuajhWUlhWMitvMzNEVFRUZGRmZlhWZW9kbUZmYjVwT1hMV1grL3VjOE40eXh2aUxLUXdWSmJXOW5vcUxrUEtDSCtZRmh2R3BaeGxGSkZVUlJGUVFpTlQ0ejM5ZlVkUDM3OHdKc0h2dm1OYjk1enp6M083SFpicDRGZExzbnZWMXRhOUFyT2x2VU5VU3hkZyt3QWs1TnFTNHU1dnI1a0dEczJiTEIzTHdtTWNmeC9DU2FTSkNHRXVydTcvL0IvZjNqMXRWZVo1ZGZKQWFtcVF1YURIdDhRUmErVWJSWXNXTnE1Y3l3UXNGaGRHWnVHWlFvQVVFb1pZNURVd2lXRUtJcnl5aXV2bkRYL0lHV09XQ3cyTmo0Mk5EVFUwOU1UREFiMWlxY2oxZFFRSXlPOXJoRGZFRVd2bEQwVzZGS29xaGx0TTJGd0dwWVpmci8vL3Z2dVA5ZHg3dXpaczRxaTRKbklFa0tHaG9iZWYvLzlOV3ZXRUV1dmRtQmc0UERodzIzdGJUMkJub25KQ1lmRDhjTWYvdkNHNjIvUU95NGxVbHhNbGk0MTNZckk3b1lvQ3hNczJ0dWIwVFlUaHFkaEdWZGRYZjNrazA5T1RVMGRQSGp3NlQ4K0hRd0djZExMYTJ0dkN3YURpMHlPUjBBSUhmM282RFBQUE5QUjBhRnBXdndYZWp3ZVRiVTZTaFloTkRQb1QvdmtFNzJDYzJWelF4UXJYOEhNcVMwdDFyZVppSytlWUd3YWxpa1lZNS9QOTdXdmZXM3JmMjFOdmlCaWpBY0dCa1pIUjlNY082OVBQLzEwOSs3ZFo4NmNBUUJKa3VJVkhnQ0ErYXZZTElSSTFkV3BCakdubE4wTlVSWWdXR3g4WEQxNU1wTm11L0ZwV0JZNEhJNE5HellVekI0bkU0MUdoMGVHVXgweUx3QjQ5OTEzQTRHQU5ETTZGQUJLaWt2V3JsMjd1SFJ4K21OMUViOGZlenltbTFsWjNCQmxBUzZGOU94WjF0ZG5zYm95T1EzTEdwL1BKOHV5cXFxSnF5RmpMQnFKcGo5cWptQXcySHJxOCtsZkFMQjI3ZG9udnYvRXlwVXJNKzk2bGNyTFNXa3BuWncwOXpIT2JJaGlkcGkxQmRtdXNTQVdpNTA0WVhwK1hJTDVhVmdMWldKaVltQmdJQjVOQUhDNVhBODg4RUI5ZmIzUDU1TU1qSEJQRHhjV1Nta0cxS2N5c3lHS1hqa2JaRHRZTEJEUVB2bkVZcW9RUWdVRnlWT0VjOWxVYUVwTnV1aDR2ZDdhVmZadFErSndTRFUxUnFaZ3pKTEZKV2l5SFN5MXBjWDZlclh4M25ZT3pYWXVadGNtRXBGY3R0N0d4Z2Y5bWE2MEVodWljSmJWWUxHeE1iVzExZlJua1JCZnI3YWtSSzljTGdKazlWMm5RQ29xckF6Y205a1FSYTljcHJJYUxPMzBhZHJYWjdsVGxCUVhXNW1HOVFVVmZ4cHQrbHM2c3lHS1hybE1XVHJIbGtBME9yM05oRFVBMHBvMTFxWmhtZVZ3T0xDMWkzVnE5djlDcDFPeWNCTXpzeUdLWHJsTVpTOVl0S3RMczd3N0hBQjJ1UW9hRzdQVGJDOHFLcEpuZHo4eXhsU3ozVCt6MzZpbWFXRzdMMENTMzI5bHRtQjhReFRPc2hXcytIcTFadnRkRWdCSVphVzBabzFlT1h2RSs3RVMveGRqSEkxRysvcjYwaHh5SmFyUjVCNzJjRGpjMmRXWnByd0Z4TzgzdE83SUZlSWJvdWlWeWtpV2dzVkdSclFNbSsyTmpWbm8xb3NyTGk1ZXRteFpjaXdZWThkUEhKOHdzMnhMLzBCL1pHWW9BY1pZMHpURjduTkpTa3BJUllYcFQzVm1ReFM5Y2huSlVyQzBNMmZvWjU5WmI3YVhsTWdiTnVpVnM0M1g2MTIvYm4zeVR3Z2g3ZTN0TC96NWhhR2hJU1BYUkVWUlB2end3MGdra3VnZzlYcTkvaXJ6VGFLMHBwZWdNUzhMRzZKWU90TW1RU1NpSGo5dS9SSFZmTnRNY0lVeHZ2WFdXeXVXVlNTUDcxTlY5YTkvL2V1UGZ2eWozLy8rOTFPcDE1a05Cb1BIamgzYnZYdjNvVU9IRWsrZEVVSzNiTDNsR2pzV3c1a0Y0K201MGFaa1pVT1ViQVNMZG5acTU4OWJibDJsMm1hQ3E5cmEydTk5NzN0bFpXV0pDeUxHbUZMYTBkSHhyMFAvU3RNTVAvUEptVi8renkvZjJQOUdORHI5YkxHd3NIRDdQZHNmZWVRUkh1T2JKV3RQby9sdmlNSS9XSW4xYXEwR1M2cXVUclhOQkQ4WTQ3dnV1dXZIUC9weFpXWGxuREdsaEpBMGZRZWFPdDJXU2d4MDNycDE2NU5QUHJtRXp5Z29zbVFKV2J6WWRMQm1Oa1RSSzJjZDkyQ3g0V0d0clUydlZHcnhoYThzZERGbmJHaG82RVRUaWJHeHNlUWZ4a09XcGhzZEFJQjlQdUlLQUk0ZVBmcm1XMjlxbHBmQVRBdDdQTlpXK3VPOUlRcjNZR250N1hSZ3dIcXp2YlRVa2NWbWU0S2lLSHYyN25uOTlkZERvVkR5NEJsQ2lOdnRKampsMnlrcks5dlV1R254NHNXSmJJMk5qZTNidCsvamp6OU9kVWhHSEE2cHVqb0huMGJ6YmJqWXM4MUVCdXZWV25iOCtQSDMzbnNQSmZXWUE4REtsU3Z2dnZ2dTJ0cmFOR09VVjYxYTlmUC8vdm5wMDZkLys3dmZkbmQzeHkrZEl5TWpIeDc5c0w2KzN2YitkNVJZZ2lZY050ZlkwRFFhQ0NCS1RZZlNHRXZuMnpCNjRZTDI2YWZtM25CQ1lwdUo3RGJiRVVLcXFuN3d3UWZKZFJVQVZDNnYvT2xQZnZyUXR4OXEyTmdncDc0Umt5VEo0L0ZzM3J6NXpqdnZUSjU4Y2Y3OCtSQ2ZOZzJwcU1BV2V2aG1scURSSzJjUnoyRFpzbDV0clgxam1BeWJuSnc4MTNFdXVYWmhqTjE0MDQzWG1WbTdiSFh0YXJmYm5iZ2dEZzRPSnU0VDdZVzlYb3VEL29hRzJMQzU4ZGJHY1F3V0d4eFVNMW40S3Q1czkzcjF5dGx2ZEd4MFltSWlPVmhPcC9QYWE2OU5jOGlWaW91TEV3UG5NY2FSU0lReXE0dnFwRFg5Tk5yczV6eXpJWXBlT1lzNEJrdHRiMmVEZzZiZmNGeDhkN2dGV3ZocWNuSXkrU1lPQUdSWkx2S1p1elBGWk80Yng4alNSMkhBOU5Ob3M1VVd6dzFSZUFVTFFpSDF4SWtNdDVtd2ZiMWFnOExoTUwxaXlTN1Q3VzZUWnprVFVsV1ZsYVhJTWFaZFhaeWFXYnlDcFYyNFFDOWRzbHhkMmJMTmhHWDhxaFpPOEtKRlpOa3kwelVXeHF5L245T0dLSHlDUmVuMGVyVldneVd0V0dITE5oTzVnMnRZc2NkalpRbkorTk5vUHMwc0xzR2lBd09acmxlN2ViT1Z1ajJIVVVhak1TNTNoWEdTMzI5MHM3RUVuaHVpY0FtVzF0YVcwWHExNWVYeStsbWpWdktSeCtOeEpQWEFUVTFObmU4NG42WjhocXcvalE0RWdFTS9pUDNCZ3FtcDZXMG1ySW12VjF0ZXJsY3UxeFVYRnljR1IyQ01GVVY1L1crdlg3cDBTZE8wVE5kdW1BOVpzb1FzV1dJNldETWJvdWlWTTgzK1lHa2RIYlN6MDNKMXhYR2JDY1BtWGJmRDdGMmh6K2VycTZ0TC9CNUNTR3RyNjg5KzlyUGYvTzl2TGw2Nm1QNVlDeXcvallhSkNkYmZyMWZLTkx2UFgySzlXcE9uWVZvV3Rwa3dvSCtnUHhxTkppZko0WEQ0VEc1VlFnaTUvZmJieTh2TGswY0xkZ2U2MzNubm5jOHVjeGhXRU45c3pPeDlOTVlRRHZPWVcyRnpzR2gvdjNibWpNVlVJWVJrdWVENjY3TzJzdSs4UmtaSGpodytNcWNmeStQeGxKbGZsbkw5dXZXUFBmYllraVZMa3RjS1REK2NLeE1XbTFtSkRWRnNaZmo1TG1Oc2NGQm5hQmdoc1k4K1lpTWpGb01GZ0wxZTdQUFJ6czVaYzhBbGlTeGJabVdla3hteFdHeDRlTGl6cy9NZi8vakh5ZGFUeWMrUEdXTit2OS9DcW1zWTQyMTNiNnVzckR6NHo0T24yazZOalkzRllqR1h5NVg1b2lEekloVVZuMjgyWmh5ZkRWR01CZ3RVTmZMYWEycHJxMDdySnhJeC9ZMUp3QmltcHNKNzlzektKUUQyK1FxZmVzcXU5ZHhUYVd0cisvVnZmajB5TWhJT2grY3NDU2xKMHViR3pZV1d1ajh3eHZYcjY2OWJlOTM0K1BqSXlNakk2QWdBMVBKNXNrNjhYc252TjcxRVZIeERsT0ZoYVVHQ2hRQWdISWJKU1oxZ21YcExWNklVNWl6OEdvK3A1WHRNd3lMUnlNandpQkpSNXFTS1VycG16WnF0VzdlbU90QUlTWkpLUzB0TDdWMHNEZ0NtcGlCNWlnckdaUEhpMUFla2dER0V3N0dqUngwVEUra1dDd0VnSlNYU2loVUc3NnNNQndzaGhQSDBmMXhkK2Z0NS8wV0VFRUlZNFRtUGpRR0FNVlpWVmJWcjE2N2xXWndqWkJERVlzcUxMMnB0YlorZmFZeEJVUXllK0Zrb2piN3pUdXk5OTlKZGJSaHpORFI0SG4vY1lKdkVUTEMrMEFBQll5eHhCMWRRVUZCU1V0S3dzZUcrKys1Ym01c0xKd0ZBTU1oR1J1WW15ZHIzVU5NZy9mdzh4bEFzWnJ5ZEk0STF6ZWYxYmFqZklFbVN5KzFhV3I2MHVxWjZkZTFxdjk5ZllQWTVTVGJaZXcxSi8zdE0vaUVSckdsMWRYVy8rTVV2SkVtU0pDbW53NVFuUkxDbXliS2NaaVM3WUpiNWhwNGdHQ0NDSlhBaGdpVndJWUlsY0NHQ0pYQWhnaVZ3SVlJbGNDR0NKWEFoZ2lWd0lZSWxjQ0dDSlhCaDVsa2hZMW5ZTldvdWdBWDRvL2tDWVBxL0xERDVod3dIUzVLaytEbytGc2FSWlFJQXU5M1k3ZFlyOTU4SFkreng0S0tpTEowUnhyREhZM3prRERZK2VSSlVOUXREaE9lQk1aYmxMSDE4ZWNUSTlCWmI0Y0pDVWw1dThFU1lDSllnR0djb2ZZSmdsZ2lXd0lVSWxzQ0ZDSmJBaFFpV3dJVUlsc0NGQ0piQWhRaVd3SVVJbHNDRkNKYkFoUWlXd0lVSWxzQ0ZDSmJBaFFpV3dJVUlsc0NGQ0piQWhRaVd3SVVJbHNDRkNKYkFoUWlXd0lVSWxzQ0ZDSmJBaFFpV3dJVUlsc0NGQ0piQWhRaVd3SVVJbHNDRkNKYkFoUWlXd0lVSWxzQ0ZDSmJBaFFpV3dJVUlsc0NGQ0piQWhRaVd3SVVJbHNDRkNKYkFoUWlXd0lVSWxzQ0ZDSmJBaFNQeTJtdDZaUVRCTkVma2xWZjB5Z2lDYVE0a1NYcGxCTUUwMGNZU3VCREJFcmdRd1JLNEVNRVN1QkRCRXJnUXdSSzRFTUVTdUJEQkVyZ1F3Uks0RU1FU3VQaC81U1NoVG4yV3hsOEFBQUFsZEVWWWRHUmhkR1U2WTNKbFlYUmxBREl3TVRndE1ETXRNREZVTVRNNk16UTZOVFVyTURBNk1EQmtFQVQzQUFBQUpYUkZXSFJrWVhSbE9tMXZaR2xtZVFBeU1ERTRMVEF6TFRBeFZERXpPak0wT2pVMUt6QXdPakF3RlUyOFN3QUFBQUJKUlU1RXJrSmdnZz09In0sInN0YXR1c1JlcG9ydHMiOlt7InN0YXR1cyI6IkZJRE9fQ0VSVElGSUVEIiwiZWZmZWN0aXZlRGF0ZSI6IjIwMTktMTAtMzAiLCJjZXJ0aWZpY2F0aW9uRGVzY3JpcHRvciI6IkNsaWVudC9BdXRoZW50aWNhdG9yIENvbWJvIENlcnRpZmljYXRpb24iLCJjZXJ0aWZpY2F0ZU51bWJlciI6IlVBRjEwMDAyMDE5MDUwNjAwMSIsImNlcnRpZmljYXRpb25Qb2xpY3lWZXJzaW9uIjoiMS4zLjYiLCJjZXJ0aWZpY2F0aW9uUmVxdWlyZW1lbnRzVmVyc2lvbiI6IjEuMC4wIn1dLCJ0aW1lT2ZMYXN0U3RhdHVzQ2hhbmdlIjoiMjAxOS0xMC0zMCJ9LHsiYWFpZCI6IjAwNTYjMDAwMiIsIm1ldGFkYXRhU3RhdGVtZW50Ijp7ImxlZ2FsSGVhZGVyIjoiaHR0cHM6Ly9maWRvYWxsaWFuY2Uub3JnL21ldGFkYXRhL21ldGFkYXRhLXN0YXRlbWVudC1sZWdhbC1oZWFkZXIvIiwiYWFpZCI6IjAwNTYjMDAwMiIsImRlc2NyaXB0aW9uIjoiUGl4ZWxQaW4gLSBQaWN0dXJlIExvZ2luIiwiYXV0aGVudGljYXRvclZlcnNpb24iOjEsInByb3RvY29sRmFtaWx5IjoidWFmIiwic2NoZW1hIjozLCJ1cHYiOlt7Im1ham9yIjoxLCJtaW5vciI6MX1dLCJhdXRoZW50aWNhdGlvbkFsZ29yaXRobXMiOlsic2VjcDI1NnIxX2VjZHNhX3NoYTI1Nl9yYXciXSwicHVibGljS2V5QWxnQW5kRW5jb2RpbmdzIjpbImVjY194OTYyX3JhdyJdLCJhdHRlc3RhdGlvblR5cGVzIjpbImJhc2ljX3N1cnJvZ2F0ZSJdLCJ1c2VyVmVyaWZpY2F0aW9uRGV0YWlscyI6W1t7InVzZXJWZXJpZmljYXRpb25NZXRob2QiOiJhbGwifSx7InVzZXJWZXJpZmljYXRpb25NZXRob2QiOiJwYXR0ZXJuX2ludGVybmFsIiwicGFEZXNjIjp7Im1pbkNvbXBsZXhpdHkiOjM0MzU5NzM4MzY4LCJtYXhSZXRyaWVzIjo1LCJibG9ja1Nsb3dkb3duIjo5MDB9fSx7InVzZXJWZXJpZmljYXRpb25NZXRob2QiOiJwcmVzZW5jZV9pbnRlcm5hbCJ9XV0sImtleVByb3RlY3Rpb24iOlsic29mdHdhcmUiXSwiaXNLZXlSZXN0cmljdGVkIjp0cnVlLCJpc0ZyZXNoVXNlclZlcmlmaWNhdGlvblJlcXVpcmVkIjp0cnVlLCJtYXRjaGVyUHJvdGVjdGlvbiI6WyJzb2Z0d2FyZSJdLCJhdHRhY2htZW50SGludCI6WyJpbnRlcm5hbCJdLCJ0Y0Rpc3BsYXkiOlsiYW55Il0sInRjRGlzcGxheUNvbnRlbnRUeXBlIjoidGV4dC9wbGFpbiIsImF0dGVzdGF0aW9uUm9vdENlcnRpZmljYXRlcyI6W10sImljb24iOiJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUhnQUFBQjRDQVlBQUFBNVpEYlNBQUFBQVhOU1IwSUFyczRjNlFBQURGVkpSRUZVZUFIdFhRdHdWTlVaUHVmdTNjMXI4OFE4Z0lRUUNwZzBrZ1FhWHJ1YlJaNmlwUXpUSXRTeFZMSFRrU1FnVUVFTEFwT1JVWWRPT3pEREk5S1pWZ3VVampMaTJIYWN0dkxRN0NZRVN0VWFFRUtyRGc0UmFTMGlFVW15dWZmMFA4Rzc3b1pOOW5YdWEzTk9KblB1UGZlYy8vRjk5NXg3SHZlZVJZaUhoRVlBLy9HT0xROGt0SWZST0VlRUt3di8xM0FzbWlKR3p5c1NXVDVvZENNMXN3K1Q0NkFyb1FnV05BT1BLOUlGQVU2d0xyQnJwNVFUckIzV3VtamlCT3NDdTNaS09jSGFZYTJMSms2d0xyQnJwNVFUckIzV3VtamlCT3NDdTNaS09jSGFZYTJMSms2d0xyQnJwNVFUckIzV3VtamlCT3NDdTNaS09jSGFZYTJMSms2d0xyQnJwNVFUckIzV3VtamlCT3NDdTNaS09jSGFZYTJMSmxFWHJYb294WUtjVnBMZGtUMXA1SlhzeWNVM3NpcUhZMnRPcWxWTXM0bENzcGhFL3o3djZVRXIydTQ1aHducUJCTTdDZnhqVEs0akpGeUUrRHpVaHZaVStQK0Z5MFd2bXlJa0xNRkNpdlhtOFBtbDd4ZitjR0xuc0ttamNzWDBwRzhSUW9xQUZmb2ZNaVNKNkN0RVNDa1E2dytrNzBTR1pJUmtTQVcyMFFxUHR3TnVBaS9DNUpnb0NFZDNPcDBmK0FzWTdDQ2hDRTdLdFg4Mi92RVpaMGN1cnNpMFphZCtHd2o5am9JM0hDdUg4Y2VFakFScFN4RkJTMzJTVEFuL0dDSHlWNHNnSE5qbGNIZ3dWUGY0bGJDUmdGL0wyV1FZWTJKeENkdkVudUpsazk0ZTk1Z2JweFJtVGdJaXJiSElvV1Z1OVBhK3M3NzE1TVJZeTlOeUdLR1BrSUQzaXhqdk0wTE5ObTBORmpPU09pYzg5OTEvRkMydHVndnUwR2tVWEthMWxBcU1JWUF0SlVnbVczeUliRm5SNUgwZEMyaHJvOHZWR29Nb0prVk1SN0ExTStXTGl1MEwzeG14c0x3S0VMamIyTTBQdVkvSTZMNFZIczlSVEN4Ykc5Mk90NWl3Rm9VUTh4QXNZS2xpMndMdjZFZW1USVNhZW5jVVB1cWZsYURaQkVtemF6MmVJd0t5MWUrdW1YcEJLNk5NUVhEdWpERm5KdTkvMEdwSnRjNHdRak1jS3puUXo1c2pZVjliWFpOM1cxN1J5R2NiU2txNllwVVZhVGxEVDNUUTU2ejdTRzNUOU1QTHk0SGNPeU4xeXRENUNMSEJvR3Z6bFV1WHprS05ucU8ycllZbE9IdFM0WVY3MnpkOGxsazEzQTIxRmpxbmlSV2dObzhoQ1ArdDF0Tzg5V1ZDTEdwNVowaUN5NTZhNDZsNTQ5RWlaQlZLMUhMY0VITGh4aVZFM25UTTIzeWs3dFNwQWpWc01oVEJkRXc3MDFQdkhidldYUU8xTmtVTmh3MHBFenFOY25mUHV5dWJUamhaMjJjWWdxMzJwQy9udmJldXpWNlc3Mkx0cENua0VaSXZZZW1ORlo2V0JTenROUVRCdG1HcFYrZWVXWC9SZGtlcWYycVJwWk5ta1VWYkxVeWtWK3M4bmgrenNsbDNnbE9Mc2k3UGEzdmltc1Z1SzJmbGxKbmx3TVNOS0NQOFlxM1h1NGFGSDdvU2JNMUt1VGJyNUpvYjJDYU1ZZUZNd3NpZ25TK1piSy96ZW44U3IwKzZFVXlYOCthOHZmWmpJSGRzdkU0a2FubFpKbnVodWY1ZVBQN3BRekJNTzg0K3NmbzlNU081SWg3amgwQlpDNHlWWDZwdmJwNGVxNis2RU94NGRiazN1VEJqYXF4R0Q2Vnl0T01seWVUUFFISnhMSDVyVG5EeHN1cVR3NXlqWjhSaTdKQXRRMGlPSkpFL05CQVM5ZHFCcGdTbkZlZDB3RkpmWXN3cGEzNjNrZW1mZXIzUFJLdFdNNElGaTZYWGZiejJLaGlZRmEyUlBMK0NBRjVmNTJtWnI1eEZFbXRHY05YdVJWNVlIWm9RaVZFOHp3QUk5TTFkU3k4OGVmcDA1Z0E1Ymt2V2hHQjdTYzZsd3Z1cnB0eW1uU2RFalFCTWhCUjAzcno1ZEtRRk5TRjQyaXNQZDBCdkVGNHA1b0VGQWpKQjlhczhuc3BJWktsT2NOR1Nxcituak1yaVE2SkkySWc4ajhXSDBHNm9OR0hYeWRVbEdMNG1xTnl4YUZqa2R2T2NFU05Ba0hObGMvUDk0ZktyU25ESlQ2ZWM1UFBNNFNpSS9icE15RlBoU3F0S2NObW11VG5oRE9EWFkwY0FYdnVwQ0xkK3JCckI5Tm1iTUMvS3hjNkIraVdKdkhFd0phb1JYUDdzdmJiQkZQTnJyQkFnMDJHZTJqMlFORlVJVGgrZmV4SFdlaVBxeGc5a0dFK1BIQUZaSW84TWxGc1Zna3MzenY1b0lJVThYUTBFeUE4YVRwOE9PYytnQ3NFRjg4dkdxT0VHbHhrYUFaamRzbC9wNmxvVTZpcHpnbk5uam0xREloNFZTaGxQVXhFQmduNFVTanB6Z3NldGR0TVZJeDQwUmdCbXRlYUZXb1JnVG5CT2RhRXFiK2hyakpjWjFWbGdFZUsyM2pSVGd1bjd6ZkF5M1hnem9wTUlOc3NZeit6dkIxT0NSeXk2NjBJa0UrRDlqZURuYkJDQW5VSFVKYmhvY1ZVM0cxTzVsQmdScUZqYjBoSTBQY3kwQnFlWDVmR1ZveGlaWVZFTVdrK2hTNUltQmNwaVNqQjhmbElZS0p3ZjY0SkEwRXVOekFpbWUxU0JPL3lGT2wwNC9VWXB2QUVRMU1sbFJuQld4ZkJQdmxIRGovUkNBSllRMWFuQjJaTkhmYUdYVTF4dkVBTHExT0RVa213cFNBMC8wUVVCbUpjZUhxaVlXUk50elFxNW1CR29peDlyZzBCeTRDY3U3QWpPU0dJbVN4c2NFbGZMRmE4M1hmR09HU2xXdTQyWkxNVTRIc2VHZ0ExajlnU0xhYkRiTWcrR1FFQ1dSYnRpaUppYVpXY3lkdDNjMGI2WFhNWmxpbUF6eHBJa0IvVkF6ZWdEdGRsbmtmeXRxVGozdzU4ekdkN1VFcStQK0VqRUgwV1pGVHd6MkEzYjVuVXFkdnFaVmhMaWlQMUM0NURCaXpKQUFKN0JmaTZZRVF3VDNYNmhER3prSXVKQW9OUm04M1BCakdDWUEvVUxqY00yWGpSZUJERHVlYlM2R3I1TnV4WFlFWXp4ZnhXaFBOWVJBVUwrRTZpZEdjRUNJZTJCZ3ZteFRnaGdGTVFETTRJUnhwcHRVNjhUZEtaUUN6L3BFOFFETTRKM3VWeWZBTW44T2F6emJRQWJVS3RVZzhFeGpFalEzYU96cjBOVXZVVTlnb0hpZDRjb3FzWnhPMGtNNG9CWkU5M25JVWJIak9QcDBMTUVocXJuOWt5WjhtbWc1MHdKaGlteU53T0Y4Mk50RVlBdFdZNzMxOGlVWU5yUmdsNWMwRE9ndjBKK3JoNENBaEhVSmJqUGRITDdYYVNlUzF5eUh3SDR4ZE9VMUtRMy9lZGZIekN0d1ZTbUlLREQvWlh3Yy9VUmdPZXY5MWZWMWZUVjVhREFuT0JjcC9Nb2FMZ2NwSVdmcUk0QUpuaC9LQ1hNQ1c3QVdCYXdjRENVTXA2bURnSlFlN3R0NmFtSFFrbG5UakJWWWtGeXlMc3BsQUU4TFg0RW9QZjhweDBUSjE0TEpVa1ZnbmZXMVB3VGV0TkJBKzVReW5rYUd3U3dJTHc0a0NSVkNLYktZSi9NYlFNcDVlbnNFSUNLZEdhUHcvSDZRQkpWSTNoV2plTVFSdmpmQXlubTZZd1F3T2c1SUJrK2FBZ2RWQ040Q2NZU0VoQ3Z4YUZ4WjVLS01mcHdwdFA1MG1EQ1ZDT1lLczNQenQ0SDBhWEJET0RYNGtKZ1cxOUZHa1NFcWdRM2xKZjNZQ1JzR0VRL3Z4UWpBdlRabSs5eS9UWmNjVlVKcHNvYjNjNERzSXpZRk00UWZqMDZCQVFCMThPY1EyKzRVcW9UM0dlQUJkZkRZRHlzTWVHTTVkY1ZCUER2ZHp1ZEVWVWFUUWgrM3VrOFF3UzhVekdQeDdFakFFM3pkU0hadGk1U0Nab1FUSTBwU0U3ZUJMWDRYS1NHOFh5aEVZQWZxMXpaZjFFL2RNNWJxWUM1ZG1GbFM4c0UrTURySkh3RmthS2Qxc1RSQlBNS3YydDB1eDZPeGlQTmFqQTFhcGZEMFFaelhHdWlNWkRuL1JvQmpNK25aYWJYUjR1SHBnUlQ0eHByYW40TmQrS2dnL05vblVqMC9QRGN2U2xhaENXL3JLeThFYTJ2bWhOTURVd1doZVV3ZERvUnJiRkROTDhFUTZJSGJyViswU09nQzhIYkhZNmJLYUt3Z0hlNndoTUcwNUYxTUNSNkxYek8wRGwwSVppYUFpUmZ0UWw0UG53TjBSSGFOSjZLc05CQUgybnhJS0ZwTHpxVW9mVmViN2tza3lPd0hNSTNFZzhFU01EYm4zZTVmaGFZRk11eGJqVllNWGEzeTNVV3ZubHhRazMrUUVrYjZqRTB5NXRaa0V0eDFMMEdLMlRXblRwVklIZjMvQVhlRkJpeXY3Y0V2V1hZdEIzVjdYRzU5aXE0eEJ2clhvTVZCK2pzVEdaSzhnd1lRZzNOejE4dy9ncW1jNWV3SkpkaWE1Z2FyQkQ5TWlHVzQ5NldCcGdRMlVnM3VGYlNFem1tb3drUldSZnZkRTk3bjdXZmhpTlljYkN1dVhrZWtlVURzRDF1cnBLV2lERTB5ZnZUTWpKcVk1bkVpQVFQd3hKTWpZZmZIeGpaMVN2OUJuclk5MFRpakpueUFMR2Z3M2NnanpmV09GOVEwMjVERTZ3NFh1dnh3QzlkNHgzUVpJOVEwc3djMDFwTEJHRWRMS01HYlppaWhrK21JSmc2L2dUc29Ob3BvNmNKSXF2Z0ZMNVVOVjhBc0dHNTFGTGI2SGE4cFpYMXBpRllBZVN4MXRaeFBwOXZBeUpvR1RUZHB0Z0FGWVkvN2JDOXhiTjVMdGZCU0Y2elVYeGxFWnVPWU1YcE5TZE9qTzcyU1U5Q2IzczVFSjJrcEJzcnhtM3d0ZVV6ZVU3bklTQlcxc00yMHhLc2dMVzZ0VFcveHljOWlKRDhFUDFOZXlWZHJ4Z0EvUkw2QzY4UUM5N1g2SEFjaDlvTDk1OSt3ZlFFQjBLM3l1T3A5R0g4RUVENmZlaVFGUWRlVS9tNEN5Wm9tZ2pHQit3WjlzTnFEWGxpOFNHaENBNEVBSHJlWXpBUlpoTXN6NEwzbUdiQ0ZHaCs0UFY0amdHMFhwZzdQdzNUUk1lQTFLTUZJMGEwTkpTVWRNVWpVNjJ5Q1V0d2Y4RG9YTGZRM1YwS2s3MTNFaG1WUXJzNUhsclBZUkNuUTQyblcrRFRmenNRUnpmeTdJVDBUZ0NuRTVyOTY1RHZJaUw0UERTN2RQK1JkbXRlM3I5MmpodlhEY2VHRC84SEVxb2FZN284VlpvQUFBQUFTVVZPUks1Q1lJST0ifSwic3RhdHVzUmVwb3J0cyI6W3sic3RhdHVzIjoiRklET19DRVJUSUZJRURfTDEiLCJlZmZlY3RpdmVEYXRlIjoiMjAxOC0wOC0zMCIsImNlcnRpZmljYXRpb25EZXNjcmlwdG9yIjoiUGl4ZWxQaW4gaU9TIiwiY2VydGlmaWNhdGVOdW1iZXIiOiJVQUYxMTAwMjAxODA1MTEwMDEiLCJjZXJ0aWZpY2F0aW9uUG9saWN5VmVyc2lvbiI6IjEuMC4xIiwiY2VydGlmaWNhdGlvblJlcXVpcmVtZW50c1ZlcnNpb24iOiIxLjEuMCJ9XSwidGltZU9mTGFzdFN0YXR1c0NoYW5nZSI6IjIwMTgtMDgtMzAifSx7ImFhZ3VpZCI6IjM0ZjU3NjZkLTE1MzYtNGEyNC05MDMzLTBlMjk0ZTUxMGZiMCIsIm1ldGFkYXRhU3RhdGVtZW50Ijp7ImxlZ2FsSGVhZGVyIjoiaHR0cHM6Ly9maWRvYWxsaWFuY2Uub3JnL21ldGFkYXRhL21ldGFkYXRhLXN0YXRlbWVudC1sZWdhbC1oZWFkZXIvIiwiYWFndWlkIjoiMzRmNTc2NmQtMTUzNi00YTI0LTkwMzMtMGUyOTRlNTEwZmIwIiwiZGVzY3JpcHRpb24iOiJZdWJpS2V5IDUgU2VyaWVzIENUQVAyLjEgUHJldmlldyAxICIsImF1dGhlbnRpY2F0b3JWZXJzaW9uIjo1MDUwMCwicHJvdG9jb2xGYW1pbHkiOiJmaWRvMiIsInNjaGVtYSI6MywidXB2IjpbeyJtYWpvciI6MSwibWlub3IiOjF9XSwiYXV0aGVudGljYXRpb25BbGdvcml0aG1zIjpbInNlY3AyNTZyMV9lY2RzYV9zaGEyNTZfcmF3IiwiZWQyNTUxOV9lZGRzYV9zaGE1MTJfcmF3Il0sInB1YmxpY0tleUFsZ0FuZEVuY29kaW5ncyI6WyJjb3NlIl0sImF0dGVzdGF0aW9uVHlwZXMiOlsiYmFzaWNfZnVsbCJdLCJ1c2VyVmVyaWZpY2F0aW9uRGV0YWlscyI6W1t7InVzZXJWZXJpZmljYXRpb25NZXRob2QiOiJhbGwifSx7InVzZXJWZXJpZmljYXRpb25NZXRob2QiOiJwcmVzZW5jZV9pbnRlcm5hbCJ9LHsidXNlclZlcmlmaWNhdGlvbk1ldGhvZCI6InBhc3Njb2RlX2V4dGVybmFsIiwiY2FEZXNjIjp7ImJhc2UiOjY0LCJtaW5MZW5ndGgiOjQsIm1heFJldHJpZXMiOjgsImJsb2NrU2xvd2Rvd24iOjB9fV0sW3sidXNlclZlcmlmaWNhdGlvbk1ldGhvZCI6InByZXNlbmNlX2ludGVybmFsIn1dLFt7InVzZXJWZXJpZmljYXRpb25NZXRob2QiOiJub25lIn1dLFt7InVzZXJWZXJpZmljYXRpb25NZXRob2QiOiJwYXNzY29kZV9leHRlcm5hbCIsImNhRGVzYyI6eyJiYXNlIjo2NCwibWluTGVuZ3RoIjo0LCJtYXhSZXRyaWVzIjo4LCJibG9ja1Nsb3dkb3duIjowfX1dLFt7InVzZXJWZXJpZmljYXRpb25NZXRob2QiOiJmaW5nZXJwcmludF9pbnRlcm5hbCJ9XV0sImtleVByb3RlY3Rpb24iOlsiaGFyZHdhcmUiLCJzZWN1cmVfZWxlbWVudCJdLCJtYXRjaGVyUHJvdGVjdGlvbiI6WyJvbl9jaGlwIl0sImNyeXB0b1N0cmVuZ3RoIjoxMjgsImF0dGFjaG1lbnRIaW50IjpbImV4dGVybmFsIiwid2lyZWQiXSwidGNEaXNwbGF5IjpbXSwiYXR0ZXN0YXRpb25Sb290Q2VydGlmaWNhdGVzIjpbIk1JSURIekNDQWdlZ0F3SUJBZ0lKQU5wcUQ1MlRPVHVzTUEwR0NTcUdTSWIzRFFFQkN3VUFNQ1l4SkRBaUJnTlZCQU1NRzFsMVltbGpieUJHU1VSUElGQnlaWFpwWlhjZ1EwRWdNakF5TURBZUZ3MHlNREE0TXpFeE9ERTNNVEZhRncweU1URXlNekV4T0RFM01URmFNQ1l4SkRBaUJnTlZCQU1NRzFsMVltbGpieUJHU1VSUElGQnlaWFpwWlhjZ1EwRWdNakF5TURDQ0FTSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnRVBBRENDQVFvQ2dnRUJBT0dCTHRCbVVQSlFBQ1FXVkVlQnhlelJnWmRxR01QNmVUclB0eTh5dk05eEErai9YNGcybFJOTUY5YTBqdzNCamtXU3NvV0pqWVR1emV2R01nMnJiOU01cXFkL09ENDk4T0FrNlVFdE15YnIxNjJDTzJ3QjhTbjJuemZ6VWRid1pUNGR4bDI1MWxmWDVKc1pWVHlKZHVobEp6YktHZXRMM0pNbUNBcGV0U08weGNjR1NJVjlHVW9KbTc4S2xRTzZzbVNEQWtSRnhKOFBnOGJFNDQ5cWlJcVAvSzEwdVJldTY2VUNXZGFvWENLcVJkNWlrYlUrNmlnSkZIWno5NFVCUHJzZ2xjWTBGcTAzbnJCQnZycEV6R25pc0IvNDNFOUl0anI5VUxWNFBRUW1pdVdNY0lQbUZQMWpUTmdLS25YWnN4ZTExNEIvekIzVXhoSUIyOXJSb3BFQ0F3RUFBYU5RTUU0d0hRWURWUjBPQkJZRUZBTHZvdUtEVW5oakd4VVJSK00xSzFtTWlCdDdNQjhHQTFVZEl3UVlNQmFBRkFMdm91S0RVbmhqR3hVUlIrTTFLMW1NaUJ0N01Bd0dBMVVkRXdRRk1BTUJBZjh3RFFZSktvWklodmNOQVFFTEJRQURnZ0VCQUVPNDhBK2MrMUVhYzdaWUp2QnMzakE0MHFWaEVLZUV5MmkrSmlBZnd1R3pjZk1Vay80b0NaNVY1V0RMekdoYVNjYk1MRW9WTXF4SEZVRlhJMWtVOVBOVm9ueWd3WTB4VnMzbU5xbENKTStMWjJRdHhHcUNyREd4TVBBbHV2c0ZocjFtTWFIazdlQ3prSkFoaHB2VWFHOUYwN2ptbzVVN0hmRnlRcjB3UXhTaVVnNW5talhGZ2tjdWkycE1mT2VLQmRkQnk3T2M2dWhlQ1J5UHpPS2RZZWtnYlpQck5aLzJPbmhKcVEvNlNxOUtoejZoOTlBbVVwTVlVaXVhMG16Rm9TbkZreUVSTDBTNGgvYmJabFNFZUNpSkN4RkVEQlpCNFpnT3NPUkwyREhMamtUbmVQZ3M5YmpWcDNsVmVsSXBscWkrSzZPK01tTWxZRnJPT2V3YTVhND0iXSwiaWNvbiI6ImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0FBQUFBZkNBWUFBQUNHVnMrTUFBQUFBWE5TUjBJQXJzNGM2UUFBQUFSblFVMUJBQUN4and2OFlRVUFBQUFKY0VoWmN3QUFIWVlBQUIyR0FWMmlFNEVBQUFiTlNVUkJWRmhIcFZkN1ROVjFGRC8zZDU5d2VRU0lnUzlBUUFYY0ZMQVFaaTlmcGVWejF0WS9XVFpyNVd4cGM3VzVrbkxhNWpJM1o4NXNyUzJuTTJzanRXd1pTN0lVSDRINHhDbkVReDREQVpGNzRWN3VzODg1djkvbEluQnZWSi9CNFB2OW51LzVudS81bnZNNTU2ZnpBL1F2MEhiL0lyWDNWRktQbzQ1Y25tNGluVUlXWXdMRlJtWlFVdXdqRkcvTjFpUkhoMUVaME5SVlJ1ZHF0MUJkKzJuU0t5Uy9PaHlzMCtsazNlLzNrUTlxdkQ0WlV0YTRWVlNVdVkwZWlweWlUaEFmb2NvT1JWZ0R1dXczcUtSaUFkM3JiY0V0alRqWUlvZjZXYUhzQ216VlBXQ014K2NnaDh0THFXTUthTVdzVWpMcW8yUnRKSVEwb096bWVycFF1NGVzWmdzT05rR3hIN2Qwa2R2VFQxN3M0T01VN1ZJOFpoamdHYU0rQXE5aUVOdThQaWYxdWR6MDdNd3ZLV2Y4R2xWb0NFWTA0UEM1V2RUYVhZRmJSOHZOdkw1KzNLZ2ZiNXhOTXlhOVJhbUppeW5hTWxHVFZ0RmxyNmJhOXUrcHFuRVg0dU11UlJnalNZRWhyTjd1dEZGZTZscWFsN05ma3c1aW1BR0h5blBwYms4Vm1ZMHhzdG5wdGxGQ1ZDWXR6VHVCTjgzUXBNTGpUdGV2ZFB6U1VuSjdlOG1ranhaMzlmWGJLRGZsZFpxYnZVK1RVZ0duQlZGNmZRMmlQSGc0VzE2VVdVd3Z6YmsxNnNNWkUrUG4wcHZ6N0pTZXVBeWVzOGxjcENtYUt1by9wK3FXcjJVY3dJQUhXcnZQMFlFemhYQXRMQWJzc0hocDdpR2FtdnlpalA4cnlxclhVV1g5WG9vd3h5QXVmTkJycDQzUE9CRlhabGtmOE1EUmlxY3B5b3dBd3B1ejJ4K2ZXdnovRHRkZTlzbXN6eWd0Y1I2QzF3YmR6Qmw2T2xxNVdOWVk0b0dhdGhKTXJrVEV4MGpBUlNIQVZzKzVyWWtRTlhiK1FnZlBMc1E2Z1h5SW5zcmVRZm1wbTdSVkZZZkw4Nm4xZmlVT2tZdlNoa1VQeHZidWt6b3k2SzFpaE0xaG8zWHpXNkV2U2ZYQStkcGlXR2FXZCtkb1h6THptR3dLWUZMQ0FzUkFsUEJBaE1sQ0ZYVTd0QlVWUHI4SGdWY0pIV3ErRjAwcGxyK0RNVGRyUDR6dnhZMTFrTk1oeFQrU2VUR2crZDRWNUxRSml0eVVHSk5COFZGWnNqZ1lCWk0vSUkvWENUa2owcXlET3BGMkFWUTE3Q0lqVXAvRG5UMVVrTDVGNWdkaitzUzF3ZzFnRTNnaWdtNjBmQ1h6U25QWGJ5QVBiSVh2K0lEcEUxNlRoYUhJUzlza3lobG1NRTVGM2NmcUFLaHEyQzBFNVBIMWdZYVhhTFBEa1pHMEhESk9uS1dIcDUxSTB6NVNPdXg4ZTFXQXVaemRIUXJUa3A4VG1qWG9JK2xhMHdHWnN6dWJxYk8zaWZRNkEvVzd2VlNZc1YzbVIwSkt3a0tjNFdIaUJrbVI4STNDQ2dJODdvT0w0cXpUNVArUlVKQmVqRU9nQVBLOGhZUHphdE0rZUlUcDJJTzl5VFFtZXJvbVBSeHgxcXhBY3NpbGUvdWJTZUViY1dRR1lFQ2doY0xZMkh5S2pvZ2pIMjVoTXBqcFV2MU91Z2xpNGVoMmVSdzBPMzJiSmpreXVDZ056ZzB2emxZTVNpU3MwdW9vNE1HN2hNT2pDRWFYMXlGRTBuU3ZqQnp1VG5FcEs4Nlo4SW9xRkFJdWJ3OGtnOUFyRWFSRVdTWkkrakg0WGJwNmc5RTlFbkpUM29hUnpETitNVUpCUURIbjU2YThvVW1FQnVzT3hCcy9ONSt0SkViUGtBRkRqOFVHdk9zL0lXdmNTZ2xHQmh2UzcvRlRZZnBXR1lkRFk4ZlBBeFdTQTM1c1RDNHA0K0xtNEFhcUlvUGVRdGZ1Zks2SmgwWmh4bGJzVVhPU21YTmlmRDVaVEFreURvZmJiY2NseG5BOFdOQXF4Q2JSTnlraFh4UXBhRHc2N2ZYVVlic2lHMEtodHYyb2VJdmg4cmhRTVlPY0VBcVhHL2VJK3puZ09jNXl4cjhxODJJQU0xYy9GTEZPcGxxdTVlRlFYck1aekdjVkNqWWJMV0c1STRCVDFldVJybGJ4dE5PdE1pdERERWhMWElJeW5BQXZ1T0VXRTNYM05kQWZ0OTRWZ2FHNDJYSVF0MFpYNlBlQ0UvcVFGZTlySzZIeDdZVTUwS3ZIN2ZXNGZTK3E3S0tCSnhzZ2dCWDVwU0FHaDFqSXJWaDV6UTZ3M1JmYWFoQlhtL2FDYkNaVGpDVUZVVHlXWnFXOXA2Mk1qSlBYVnFPclBnTU80TnY3NEdrZitvd2Z0TlZCRFFuakZKcUhTdzE3cFh2aFdXNUtacWUvUTQ5Ti9VU1RDQVZXb1FYRklIQkhYWGUzRlByVURzdUdEbXRGL2hIS1RIcGVreGhpQU9QSStTSnE2UzZIRjRJOVlXemtCSlRvNDZpVU16V3A4UGlyL1JpZHVMeEtZc1Nrc1Y4dkxsT1F2aEdYMllsUjBPQmhCakMrdS9nRWN2WTBBcEs3WWs0MU54alBTUW5XRkhURjY2VXJqZ2V2QjhDdTVhK2wydllTUlB0dVZEbzczaGhkTVNIblVYN3RUanNWWkd4QWwvV3B0aU9JRVExZ25MMjltWDYvdFIxdG1sa1lqOFc0WCtDU2pXY1VER1kxTnBTL0M3aFNLcWlNTE0vbDJRbVNXWjczRGR6K2dpbzhCQ0VOWVBRNDZxbmt6d1hVYnF2Qmt4alVRc1dmWkZnYnVvM3JBZit3TjdqT085MCt5bng0UGkzTCswbllMMVNjaERVZ0FQNGdQVi83SWQxcSsxSFNobXVHa0lxV1JQZ3l4TUZxUDhIZmpUbmpYd1k1YlFmYkpjdDZPSXpLZ01Ib3RGL0hlMWVnc2F4SFNxRzZ3ZmRtUTV4OE55VEZGcUJjcDJpU293SFIzeWs1KzM2aEY3dlhBQUFBQUVsRlRrU3VRbUNDIiwiYXV0aGVudGljYXRvckdldEluZm8iOnsidmVyc2lvbnMiOlsiVTJGX1YyIiwiRklET18yXzAiLCJGSURPXzJfMV9QUkUiLCJGSURPXzJfMSJdLCJleHRlbnNpb25zIjpbImNyZWRQcm90ZWN0IiwiaG1hYy1zZWNyZXQiLCJsYXJnZUJsb2JLZXkiLCJjcmVkQmxvYiIsIm1pblBpbkxlbmd0aCJdLCJhYWd1aWQiOiJkODUyMmQ5ZjU3NWI0ODY2ODhhOWJhOTlmYTAyZjM1YiIsIm9wdGlvbnMiOnsicGxhdCI6ZmFsc2UsInJrIjp0cnVlLCJjbGllbnRQaW4iOnRydWUsInVwIjp0cnVlLCJ1diI6dHJ1ZSwicGluVXZBdXRoVG9rZW4iOnRydWUsImxhcmdlQmxvYnMiOnRydWUsImJpb0Vucm9sbCI6dHJ1ZSwidXNlclZlcmlmaWNhdGlvbk1nbXRQcmV2aWV3Ijp0cnVlLCJhdXRobnJDZmciOnRydWUsImNyZWRNZ210Ijp0cnVlLCJjcmVkZW50aWFsTWdtdFByZXZpZXciOnRydWUsInNldE1pblBJTkxlbmd0aCI6dHJ1ZSwibWFrZUNyZWRVdk5vdFJxZCI6ZmFsc2UsImFsd2F5c1V2Ijp0cnVlfSwibWF4TXNnU2l6ZSI6MTIwMCwicGluVXZBdXRoUHJvdG9jb2xzIjpbMiwxXSwibWF4Q3JlZGVudGlhbENvdW50SW5MaXN0Ijo4LCJtYXhDcmVkZW50aWFsSWRMZW5ndGgiOjEyOCwidHJhbnNwb3J0cyI6WyJ1c2IiXSwiYWxnb3JpdGhtcyI6W3sidHlwZSI6InB1YmxpYy1rZXkiLCJhbGciOi03fSx7InR5cGUiOiJwdWJsaWMta2V5IiwiYWxnIjotOH1dLCJtYXhTZXJpYWxpemVkTGFyZ2VCbG9iQXJyYXkiOjEwMjQsIm1pblBJTkxlbmd0aCI6NCwiZmlybXdhcmVWZXJzaW9uIjozMjg5NjQsIm1heENyZWRCbG9iTGVuZ3RoIjozMiwibWF4UlBJRHNGb3JTZXRNaW5QSU5MZW5ndGgiOjEsInByZWZlcnJlZFBsYXRmb3JtVXZBdHRlbXB0cyI6MywidXZNb2RhbGl0eSI6MiwicmVtYWluaW5nRGlzY292ZXJhYmxlQ3JlZGVudGlhbHMiOjEwfX0sInN0YXR1c1JlcG9ydHMiOlt7InN0YXR1cyI6Ik5PVF9GSURPX0NFUlRJRklFRCIsImVmZmVjdGl2ZURhdGUiOiIyMDIwLTA5LTE3IiwiY2VydGlmaWNhdGlvbkRlc2NyaXB0b3IiOiJZdWJpS2V5IENUQVAyLjEgUHJldmlldyAxIn1dLCJ0aW1lT2ZMYXN0U3RhdHVzQ2hhbmdlIjoiMjAyMC0wOS0xNyJ9LHsiYWFndWlkIjoiODNjNDczMDktYWFiYi00MTA4LTg0NzAtOGJlODM4YjU3M2NiIiwibWV0YWRhdGFTdGF0ZW1lbnQiOnsibGVnYWxIZWFkZXIiOiJodHRwczovL2ZpZG9hbGxpYW5jZS5vcmcvbWV0YWRhdGEvbWV0YWRhdGEtc3RhdGVtZW50LWxlZ2FsLWhlYWRlci8iLCJhYWd1aWQiOiI4M2M0NzMwOS1hYWJiLTQxMDgtODQ3MC04YmU4MzhiNTczY2IiLCJkZXNjcmlwdGlvbiI6Ill1YmlLZXkgQmlvIFNlcmllcyAoRW50ZXJwcmlzZSBQcm9maWxlKSIsImF1dGhlbnRpY2F0b3JWZXJzaW9uIjozMjg5NjUsInByb3RvY29sRmFtaWx5IjoiZmlkbzIiLCJzY2hlbWEiOjMsInVwdiI6W3sibWFqb3IiOjEsIm1pbm9yIjowfSx7Im1ham9yIjoxLCJtaW5vciI6MX1dLCJhdXRoZW50aWNhdGlvbkFsZ29yaXRobXMiOlsiZWQyNTUxOV9lZGRzYV9zaGE1MTJfcmF3Iiwic2VjcDI1NnIxX2VjZHNhX3NoYTI1Nl9yYXciXSwicHVibGljS2V5QWxnQW5kRW5jb2RpbmdzIjpbImNvc2UiXSwiYXR0ZXN0YXRpb25UeXBlcyI6WyJiYXNpY19mdWxsIl0sInVzZXJWZXJpZmljYXRpb25EZXRhaWxzIjpbW3sidXNlclZlcmlmaWNhdGlvbk1ldGhvZCI6InBhc3Njb2RlX2V4dGVybmFsIiwiY2FEZXNjIjp7ImJhc2UiOjY0LCJtaW5MZW5ndGgiOjQsIm1heFJldHJpZXMiOjgsImJsb2NrU2xvd2Rvd24iOjB9fSx7InVzZXJWZXJpZmljYXRpb25NZXRob2QiOiJwcmVzZW5jZV9pbnRlcm5hbCJ9XSxbeyJ1c2VyVmVyaWZpY2F0aW9uTWV0aG9kIjoicGFzc2NvZGVfZXh0ZXJuYWwiLCJjYURlc2MiOnsiYmFzZSI6NjQsIm1pbkxlbmd0aCI6NCwibWF4UmV0cmllcyI6OCwiYmxvY2tTbG93ZG93biI6MH19XSxbeyJ1c2VyVmVyaWZpY2F0aW9uTWV0aG9kIjoiZmluZ2VycHJpbnRfaW50ZXJuYWwiLCJiYURlc2MiOnsic2VsZkF0dGVzdGVkRlJSIjowLjAsInNlbGZBdHRlc3RlZEZBUiI6MC4wLCJtYXhUZW1wbGF0ZXMiOjUsIm1heFJldHJpZXMiOjUsImJsb2NrU2xvd2Rvd24iOjB9fSx7InVzZXJWZXJpZmljYXRpb25NZXRob2QiOiJwcmVzZW5jZV9pbnRlcm5hbCJ9XSxbeyJ1c2VyVmVyaWZpY2F0aW9uTWV0aG9kIjoibm9uZSJ9XSxbeyJ1c2VyVmVyaWZpY2F0aW9uTWV0aG9kIjoiZmluZ2VycHJpbnRfaW50ZXJuYWwiLCJiYURlc2MiOnsic2VsZkF0dGVzdGVkRlJSIjowLjAsInNlbGZBdHRlc3RlZEZBUiI6MC4wLCJtYXhUZW1wbGF0ZXMiOjUsIm1heFJldHJpZXMiOjUsImJsb2NrU2xvd2Rvd24iOjB9fV0sW3sidXNlclZlcmlmaWNhdGlvbk1ldGhvZCI6InByZXNlbmNlX2ludGVybmFsIn1dXSwia2V5UHJvdGVjdGlvbiI6WyJoYXJkd2FyZSIsInNlY3VyZV9lbGVtZW50Il0sIm1hdGNoZXJQcm90ZWN0aW9uIjpbIm9uX2NoaXAiXSwiY3J5cHRvU3RyZW5ndGgiOjEyOCwiYXR0YWNobWVudEhpbnQiOlsiZXh0ZXJuYWwiLCJ3aXJlZCJdLCJ0Y0Rpc3BsYXkiOltdLCJhdHRlc3RhdGlvblJvb3RDZXJ0aWZpY2F0ZXMiOlsiTUlJREhqQ0NBZ2FnQXdJQkFnSUVHMEJUOXpBTkJna3Foa2lHOXcwQkFRc0ZBREF1TVN3d0tnWURWUVFERXlOWmRXSnBZMjhnVlRKR0lGSnZiM1FnUTBFZ1UyVnlhV0ZzSURRMU56SXdNRFl6TVRBZ0Z3MHhOREE0TURFd01EQXdNREJhR0E4eU1EVXdNRGt3TkRBd01EQXdNRm93TGpFc01Db0dBMVVFQXhNaldYVmlhV052SUZVeVJpQlNiMjkwSUVOQklGTmxjbWxoYkNBME5UY3lNREEyTXpFd2dnRWlNQTBHQ1NxR1NJYjNEUUVCQVFVQUE0SUJEd0F3Z2dFS0FvSUJBUUMvandZdWhCVmxxYWlZV0VNc3JXRmlzZ0orUHRNOTFlU3JwSTRUSzdVNTNtd0NJYXdTREh5OHZVbWs1TjJLQWo5YWJ2VDlOUDVTTVMxaFFpM3VzeG9ZR29uWFFnZk82Wlh5VUE5YStLQWtxZEZuQm5seXVnU2VDT2VwOEVkWkZmc2FSRnRNamt3ejVHY3oyUHk0dklZdkNkTUhQdHdhejBiVnV6bmV1ZUlFejZUblFqRTYzUmR0Mnpid25lYndURzVaeWJlV1N3Ynp5K0JKMzRaSGNVaFBBWTg5eUpRWHVFMEl6TVpGY0VCYlBOUmJXRUNSS2dqcS8vcVQ5bm1ET0ZWbFNSQ3Qyd2lxUFN6bHV3bit2K3N1UUVCc1VqVEdNRWQyNXRLWFhUa05XMjF3SVdieGVTeVVvVFh3THZHUzZ4bHdRU2dOcGsycVhZd2Y4aVhnN1ZXWkFnTUJBQUdqUWpCQU1CMEdBMVVkRGdRV0JCUWdJdnowYk5HSmhqZ3BUb2tzeUtwUDl4djlvREFQQmdOVkhSTUVDREFHQVFIL0FnRUFNQTRHQTFVZER3RUIvd1FFQXdJQkJqQU5CZ2txaGtpRzl3MEJBUXNGQUFPQ0FRRUFqdmp1T01EU2ErSlhGQ0x5QktzeWNYdEJWWnNKNFVlM0xiYUVzUFk0TVlOL2hJUTVaTTVwN0VqZmNuTUc0Q3RZa05zZk5IYzBBaEJMZHE0NXJuVDg3cS82TzN2VUV0Tk1hZmJoVTZrdGhYN1krOVhGTjlOcG1ZeHIrZWtWWTV4T3hpOGg5SkRJZ29NUDRWQjF1UzBhdW5MMUlHcXJOb29MOW1tRm5MMmtMVlZlZTYvVlI2QzUrS1NUQ01DV3BwTXVKSVpJSTJ2OW80ZGtvWjhZN1FSalFsTGZZemQzcUd0S2J3N3hhRjFVc0cvNXhVYi9CdHdiMlgyZzRJbnBpQi95dC8zQ3BRWHBpV1gvSzRtQnZVS2lHbjA1WnNxZVkxZ3g0ZzB4TEJxY1U5cHNteVB6SytWc2d3MmplUlE1SmxLRHlxRTBoZWJmQzF0dkZ1MENDckpGY3c9PVxuICJdLCJpY29uIjoiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDQUFBQUFmQ0FZQUFBQ0dWcytNQUFBQUFYTlNSMElBcnM0YzZRQUFBQVJuUVUxQkFBQ3hqd3Y4WVFVQUFBQUpjRWhaY3dBQUhZWUFBQjJHQVYyaUU0RUFBQWJOU1VSQlZGaEhwVmQ3VE5WMUZELzNkNTl3ZVFTSWdTOUFRQVhjRkxBUVppOWZwZVZ6MXRZL1dUWnI1V3hwYzdXNWtuTGE1akkzWjg1c3JTMm5NMnNqdFd3WlM3SVVINEg0eENuRVF4NERBWkY3NFY3dXM4ODV2OS9sSW5CdlZKL0I0UHY5bnUvNW51LzVudk01NTZmekEvUXYwSGIvSXJYM1ZGS1BvNDVjbm00aW5VSVdZd0xGUm1aUVV1d2pGRy9OMWlSSGgxRVowTlJWUnVkcXQxQmQrMm5TS3lTL09oeXMwK2xrM2UvM2tROXF2RDRaVXRhNFZWU1V1WTBlaXB5aVRoQWZvY29PUlZnRHV1dzNxS1JpQWQzcmJjRXRqVGpZSW9mNldhSHNDbXpWUFdDTXgrY2doOHRMcVdNS2FNV3NVakxxbzJSdEpJUTBvT3ptZXJwUXU0ZXNaZ3NPTmtHeEg3ZDBrZHZUVDE3czRPTVU3Vkk4WmhqZ0dhTStBcTlpRU51OFBpZjF1ZHowN013dktXZjhHbFZvQ0VZMDRQQzVXZFRhWFlGYlI4dk52TDUrM0tnZmI1eE5NeWE5UmFtSml5bmFNbEdUVnRGbHI2YmE5dStwcW5FWDR1TXVSUmdqU1lFaHJON3V0RkZlNmxxYWw3TmZrdzVpbUFHSHluUHBiazhWbVkweHN0bnB0bEZDVkNZdHpUdUJOODNRcE1MalR0ZXZkUHpTVW5KN2U4bWtqeFozOWZYYktEZmxkWnFidlUrVFVnR25CVkY2ZlEyaVBIZzRXMTZVV1V3dnpiazE2c01aRStQbjBwdno3SlNldUF5ZXM4bGNwQ21hS3VvL3ArcVdyMlVjd0lBSFdydlAwWUV6aFhBdExBYnNzSGhwN2lHYW12eWlqUDhyeXFyWFVXWDlYb293eHlBdWZOQnJwNDNQT0JGWFpsa2Y4TURSaXFjcHlvd0F3cHV6MngrZld2ei9EdGRlOXNtc3p5Z3RjUjZDMXdiZHpCbDZPbHE1V05ZWTRvR2F0aEpNcmtURXgwakFSU0hBVnMrNXJZa1FOWGIrUWdmUExzUTZnWHlJbnNyZVFmbXBtN1JWRllmTDg2bjFmaVVPa1l2U2hrVVB4dmJ1a3pveTZLMWloTTFobzNYelc2RXZTZlhBK2RwaVdHYVdkK2RvWHpMem1Hd0tZRkxDQXNSQWxQQkFoTWxDRlhVN3RCVVZQcjhIZ1ZjSkhXcStGMDBwbHIrRE1UZHJQNHp2eFkxMWtOTWh4VCtTZVRHZytkNFY1TFFKaXR5VUdKTkI4VkZac2pnWUJaTS9JSS9YQ1RrajBxeURPcEYyQVZRMTdDSWpVcC9EblQxVWtMNUY1Z2RqK3NTMXdnMWdFM2dpZ202MGZDWHpTblBYYnlBUGJJWHYrSURwRTE2VGhhSElTOXNreWhsbU1FNUYzY2ZxQUtocTJDMEU1UEgxZ1lhWGFMUERrWkcwSERKT25LV0hwNTFJMHo1U091eDhlMVdBdVp6ZEhRclRrcDhUbWpYb0krbGEwd0dac3p1YnFiTzNpZlE2QS9XN3ZWU1lzVjNtUjBKS3drS2M0V0hpQmttUjhJM0NDZ0k4N29PTDRxelQ1UCtSVUpCZWpFT2dBUEs4aFlQemF0TStlSVRwMklPOXlUUW1lcm9tUFJ4eDFxeEFjc2lsZS91YlNlRWJjV1FHWUVDZ2hjTFkySHlLam9nakgyNWhNcGpwVXYxT3VnbGk0ZWgyZVJ3ME8zMmJKamt5dUNnTnpnMHZ6bFlNU2lTczB1b280TUc3aE1PakNFYVgxeUZFMG5TdmpCenVUbkVwSzg2WjhJb3FGQUl1Ync4a2c5QXJFYVJFV1NaSStqSDRYYnA2ZzlFOUVuSlQzb2FSekROK01VSkJRREhuNTZhOG9VbUVCdXNPeEJzL041K3RKRWJQa0FGRGo4VUd2T3MvSVd2Y1NnbEdCaHZTNy9GVFlmcFdHWWREWThmUEF4V1NBMzVzVEM0cDQrTG00QWFxSW9QZVF0ZnVmSzZKaDBaaHhsYnNVWE9TbVhOaWZENVpUQWt5RG9mYmJjY2x4bkE4V05BcXhDYlJOeWtoWHhRcGFEdzY3ZlhVWWJzaUcwS2h0djJvZUl2aDhyaFFNWU9jRUFxWEcvZUkrem5nT2M1eXhyOHE4MklBTTFjL0ZMRk9wbHF1NWVGUVhyTVp6R2NWQ2pZYkxXRzVJNEJUMWV1UnJsYnh0Tk90TWl0RERFaExYSUl5bkFBdnVPRVdFM1gzTmRBZnQ5NFZnYUc0MlhJUXQwWlg2UGVDRS9xUUZlOXJLNkh4N1lVNTBLdkg3Zlc0ZlMrcTdLS0JKeHNnZ0JYNXBTQUdoMWpJclZoNXpRNnczUmZhYWhCWG0vYUNiQ1pUakNVRlVUeVdacVc5cDYyTWpKUFhWcU9yUGdNTzROdjc0R2tmK293ZnROVkJEUW5qRkpxSFN3MTdwWHZoV1c1S1pxZS9RNDlOL1VTVENBVldvUVhGSUhCSFhYZTNGUHJVRHN1R0RtdEYvaEhLVEhwZWt4aGlBT1BJK1NKcTZTNkhGNEk5WVd6a0JKVG80NmlVTXpXcDhQaXIvUmlkdUx4S1lzU2tzVjh2TGxPUXZoR1gyWWxSME9CaEJqQyt1L2dFY3ZZMEFwSzdZazQxTnhqUFNRbldGSFRGNjZVcmpnZXZCOEN1NWErbDJ2WVNSUHR1VkRvNzNoaGRNU0huVVg3dFRqc1ZaR3hBbC9XcHRpT0lFUTFnbkwyOW1YNi90UjF0bWxrWWo4VzRYK0NTaldjVURHWTFOcFMvQzdoU0txaU1MTS9sMlFtU1daNzNEZHorZ2lvOEJDRU5ZUFE0NnFua3p3WFVicXZCa3hqVVFzV2ZaRmdidW8zckFmK3dON2pPTzkwK3lueDRQaTNMKzBuWUwxU2NoRFVnQVA0Z1BWLzdJZDFxKzFIU2htdUdrSXFXUlBneXhNRnFQOEhmalRualh3WTViUWZiSmN0Nk9JektnTUhvdEYvSGUxZWdzYXhIU3FHNndmZG1RNXg4TnlURkZxQmNwMmlTb3dIUjN5azUrMzZoRjd2WEFBQUFBRWxGVGtTdVFtQ0MiLCJhdXRoZW50aWNhdG9yR2V0SW5mbyI6eyJ2ZXJzaW9ucyI6WyJGSURPXzJfMCIsIkZJRE9fMl8xX1BSRSIsIkZJRE9fMl8xIl0sImV4dGVuc2lvbnMiOlsiY3JlZFByb3RlY3QiLCJobWFjLXNlY3JldCIsImxhcmdlQmxvYktleSIsImNyZWRCbG9iIiwibWluUGluTGVuZ3RoIl0sImFhZ3VpZCI6IjgzYzQ3MzA5YWFiYjQxMDg4NDcwOGJlODM4YjU3M2NiIiwib3B0aW9ucyI6eyJwbGF0IjpmYWxzZSwicmsiOnRydWUsImNsaWVudFBpbiI6dHJ1ZSwidXAiOnRydWUsInV2IjpmYWxzZSwicGluVXZBdXRoVG9rZW4iOnRydWUsImxhcmdlQmxvYnMiOnRydWUsImVwIjpmYWxzZSwiYmlvRW5yb2xsIjpmYWxzZSwidXNlclZlcmlmaWNhdGlvbk1nbXRQcmV2aWV3IjpmYWxzZSwiYXV0aG5yQ2ZnIjp0cnVlLCJjcmVkTWdtdCI6dHJ1ZSwiY3JlZGVudGlhbE1nbXRQcmV2aWV3Ijp0cnVlLCJzZXRNaW5QSU5MZW5ndGgiOnRydWUsIm1ha2VDcmVkVXZOb3RScWQiOmZhbHNlLCJhbHdheXNVdiI6dHJ1ZX0sIm1heE1zZ1NpemUiOjEyMDAsInBpblV2QXV0aFByb3RvY29scyI6WzIsMV0sIm1heENyZWRlbnRpYWxDb3VudEluTGlzdCI6OCwibWF4Q3JlZGVudGlhbElkTGVuZ3RoIjoxMjgsInRyYW5zcG9ydHMiOlsidXNiIl0sImFsZ29yaXRobXMiOlt7InR5cGUiOiJwdWJsaWMta2V5IiwiYWxnIjotN30seyJ0eXBlIjoicHVibGljLWtleSIsImFsZyI6LTh9XSwibWF4U2VyaWFsaXplZExhcmdlQmxvYkFycmF5IjoxMDI0LCJmb3JjZVBJTkNoYW5nZSI6ZmFsc2UsIm1pblBJTkxlbmd0aCI6NCwiZmlybXdhcmVWZXJzaW9uIjozMjg5NjUsIm1heENyZWRCbG9iTGVuZ3RoIjozMiwibWF4UlBJRHNGb3JTZXRNaW5QSU5MZW5ndGgiOjEsInByZWZlcnJlZFBsYXRmb3JtVXZBdHRlbXB0cyI6MywidXZNb2RhbGl0eSI6MiwicmVtYWluaW5nRGlzY292ZXJhYmxlQ3JlZGVudGlhbHMiOjI1fX0sInN0YXR1c1JlcG9ydHMiOlt7InN0YXR1cyI6IkZJRE9fQ0VSVElGSUVEX0wxIiwiZWZmZWN0aXZlRGF0ZSI6IjIwMjEtMDgtMDYiLCJ1cmwiOiJ3d3cueXViaWNvLmNvbSIsImNlcnRpZmljYXRpb25EZXNjcmlwdG9yIjoiWXViaUtleSBCaW8oRW50ZXJwcmlzZSBQcm9maWxlKSIsImNlcnRpZmljYXRlTnVtYmVyIjoiRklETzIwMDIwMjEwODA2MDAxIiwiY2VydGlmaWNhdGlvblBvbGljeVZlcnNpb24iOiIxLjMiLCJjZXJ0aWZpY2F0aW9uUmVxdWlyZW1lbnRzVmVyc2lvbiI6IjEuNCJ9LHsic3RhdHVzIjoiRklET19DRVJUSUZJRUQiLCJlZmZlY3RpdmVEYXRlIjoiMjAyMS0wOC0wNiJ9XSwidGltZU9mTGFzdFN0YXR1c0NoYW5nZSI6IjIwMjEtMDgtMTYifSx7ImFhZ3VpZCI6ImJlNzI3MDM0LTU3NGEtZjc5OS01Yzc2LTA5MjllMDQzMDk3MyIsIm1ldGFkYXRhU3RhdGVtZW50Ijp7ImxlZ2FsSGVhZGVyIjoiaHR0cHM6Ly9maWRvYWxsaWFuY2Uub3JnL21ldGFkYXRhL21ldGFkYXRhLXN0YXRlbWVudC1sZWdhbC1oZWFkZXIvIiwiYWFndWlkIjoiYmU3MjcwMzQtNTc0YS1mNzk5LTVjNzYtMDkyOWUwNDMwOTczIiwiZGVzY3JpcHRpb24iOiJDcmF5b25pYyBLZXlWYXVsdCBLMSAoVVNCLU5GQy1CTEUgRklETzIgQXV0aGVudGljYXRvcikiLCJhdXRoZW50aWNhdG9yVmVyc2lvbiI6MSwicHJvdG9jb2xGYW1pbHkiOiJmaWRvMiIsInNjaGVtYSI6MywidXB2IjpbeyJtYWpvciI6MSwibWlub3IiOjB9XSwiYXV0aGVudGljYXRpb25BbGdvcml0aG1zIjpbInNlY3AyNTZyMV9lY2RzYV9zaGEyNTZfcmF3Il0sInB1YmxpY0tleUFsZ0FuZEVuY29kaW5ncyI6WyJjb3NlIl0sImF0dGVzdGF0aW9uVHlwZXMiOlsiYmFzaWNfZnVsbCJdLCJ1c2VyVmVyaWZpY2F0aW9uRGV0YWlscyI6W1t7InVzZXJWZXJpZmljYXRpb25NZXRob2QiOiJwYXNzY29kZV9pbnRlcm5hbCIsImNhRGVzYyI6eyJiYXNlIjoxMCwibWluTGVuZ3RoIjo0LCJtYXhSZXRyaWVzIjo1LCJibG9ja1Nsb3dkb3duIjowfX1dLFt7InVzZXJWZXJpZmljYXRpb25NZXRob2QiOiJmaW5nZXJwcmludF9pbnRlcm5hbCIsImJhRGVzYyI6eyJzZWxmQXR0ZXN0ZWRGUlIiOjAuMCwic2VsZkF0dGVzdGVkRkFSIjoxRS0wNSwibWF4VGVtcGxhdGVzIjo1LCJtYXhSZXRyaWVzIjowLCJibG9ja1Nsb3dkb3duIjoxNX19XV0sImtleVByb3RlY3Rpb24iOlsiaGFyZHdhcmUiLCJ0ZWUiXSwibWF0Y2hlclByb3RlY3Rpb24iOlsib25fY2hpcCJdLCJjcnlwdG9TdHJlbmd0aCI6MTI4LCJhdHRhY2htZW50SGludCI6WyJleHRlcm5hbCIsIndpcmVkIiwibmZjIiwiYmx1ZXRvb3RoIl0sInRjRGlzcGxheSI6WyJoYXJkd2FyZSJdLCJhdHRlc3RhdGlvblJvb3RDZXJ0aWZpY2F0ZXMiOlsiTUlJQjlEQ0NBWnNDRkZpUGs1cjY0cGdXaEFRamlpMDdtdlNFRjEvdU1Bb0dDQ3FHU000OUJBTUNNSHd4Q3pBSkJnTlZCQVlUQWs1TU1SRXdEd1lEVlFRS0RBaERjbUY1YjI1cFl6RWlNQ0FHQTFVRUN3d1pRWFYwYUdWdWRHbGpZWFJ2Y2lCQmRIUmxjM1JoZEdsdmJqRVZNQk1HQTFVRUF3d01ZM0poZVc5dWFXTXVZMjl0TVI4d0hRWUpLb1pJaHZjTkFRa0JGaEJwYm1adlFHTnlZWGx2Ym1sakxtbHZNQ0FYRFRJeE1UQXhNVEUxTURrME1Gb1lEekl3TnpFd09USTVNVFV3T1RRd1dqQjhNUXN3Q1FZRFZRUUdFd0pPVERFUk1BOEdBMVVFQ2d3SVEzSmhlVzl1YVdNeElqQWdCZ05WQkFzTUdVRjFkR2hsYm5ScFkyRjBiM0lnUVhSMFpYTjBZWFJwYjI0eEZUQVRCZ05WQkFNTURHTnlZWGx2Ym1sakxtTnZiVEVmTUIwR0NTcUdTSWIzRFFFSkFSWVFhVzVtYjBCamNtRjViMjVwWXk1cGJ6QlpNQk1HQnlxR1NNNDlBZ0VHQ0NxR1NNNDlBd0VIQTBJQUJGaWlKSEhoaUtBTXFENDRjcmRlT2M4Vk9YbjRtaFNRemVWZGpiWHhoTm9tYmR6YzRXajY4MXhGbTRQUTNvc2hhcThvS3FoeGFoZEV1Yld0UzlBbURvb3dDZ1lJS29aSXpqMEVBd0lEUndBd1JBSWdaNk4wM2FDbUxINGd1akFabzVNWmtleDZWdk5OUkJoVFcwVjcrWVlZdXhnQ0lBRzVxMENSSUZ3Wm9mcFBBT1BsQjU1SEN2SnlWamhJMkxzRHJqdTg4ZG50XG4iXSwiaWNvbiI6ImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBWFFBQUFGMENBWUFBQUF6WThKVEFBQUFDWEJJV1hNQUFDNGpBQUF1SXdGNHBUOTJBQUFmNmtsRVFWUjRuTzNkUDNZYng1Ykg4YmJlQkpPNVp3V0dWeUI0QllLeXlVU3R3TlFLVEsxQVZEZ1I1UlZRWGdHcGJESlNLeUMxQWtEWlpJQ3ltWWh6V3I0dE4wR1FRSGZkcXJwMTYvczVwNDdrNTJjUzNRQitLTno2OTFPRFE4eWJwbWtILzcrWk5BRHgzRFpOc3huODlKVTBQSUpBLzFzcm9kMjFYd1lCUHJmdzRBQThjQzFoLzJVUTlOZTEzNlphQTMwaDdibUVOcjF0d0lkYmFaOGw0S3ZxMGRjUzZITUo4RmZ5SjRBNjlEMzNMdUF2dDBvNDduZ085QzdFZjIrYTVvZ2VPQURSaGZzbkNYZDN2WGR2Z2Q0Rjk3RUVPU0VPNENtWEV1NGZ2ZHdsTDRGK05PaU5BOEFZR3duMzk2WDMya3NPOUZaNjQzL1FHd2VnNUZxQ3ZjZ1pNeVVHZWhma0p4TGs3UUgvZndBWXE1c3A4MmRwNVppU0FwMGdCNUJhVjRKNVUwcVB2WlJBNzBvclp3UTVnRXlLS01WWUQvUnV6dmc1TlhJQVJuUWxtTGRXNTdNL00vQVlkdWw2NGhkTjAxd1I1Z0FNNmFvRlN5bi9tdk12ZzQvcFNJS2NmVlFBV1BUdlRkUDhwMVFRdXIxay9zZktZN1JVY21tbHZNSmNjZ0FsNlVvd0h5dzhYaXVCZmlSaHpxQW5nQkoxZzZXdmM5ZldMZFRRejZSZVRwZ0RLTlZDYXV0Wkt3dzVlK2h0SWJYeWZwcFN0OURnMjQ3L0hZQys3Zk1JZnBFSkVpV2NVOUJOYnp6TjhZdHpCZnBjd3R4U3I3emZSL25MNE8rdXQ5b0VDalliSEVyelhIcklsdkxrVWhZa3VjK1FidHJQdW1tYXU4eHRPUmlFcGR3RGxHOHUwd2t2RE9STDEyNjhUN3MrTVJEaVoweUpCS3JRVDdiSTJZRmNlODJiODR3MzlKd1FCNnAyTEdWZVFsMUJqakJmeXBOSU9RVkFiNWF4MTM3czRWbElIZVpMTHpjT1FEU3R6RVJKSGV4RloxUEtNQ2ZJQVl5Vkk5aUx6S2xVWWI0bXlBRUVhaE4zUUl2YTRpVFZqV0dQZEFDYUZqTGRNRVZIdElpQjB1TUVOMk1wTng0QVlqaEpVSVl4SCtvcHdweGVPWUFVWmdsNjYwdXJlVGFQL0ltMnBsY09JSU96eUtGK1krMUpiZVdUSnVZRjB5c0hrTXRSNUE3cnVhVm5OdVlLTEZNWENxQmFzVXN3Sm1icm5YcS9RQUFRYmNRT2JQWkIwZ1ZoRHFCQ3NhWm1aeXN2eDZxYnU5MmRESUFyc1VMOUxNZE5pckhuTUdFT29DU3hRajNwakw0andod0F2b3NSNnNubXA4Y3F0UkRtQUVvVkk5U1RsRjVpVExKbkFCUkE2V0tFZXRUU3l6ekNBejdoWlF6QWdUYkNQUFdvcTBpMTUxK3lhQWlBSjIyRUZhVlJLaGphQTZFczV3ZmdrWFlsWXgwakt6VUhRdGV5akJZQVBEcFJEdlZUelh1a3ZTMXVVYWQxQU1BRW1tdDFWSHZwbXIxejZ1WUFhcUJkVDFmcHBXdjJ6czF1NWc0QUVXaU9QYXIwMGpWNzV4eFFBYUEybXFXWG9GNjZadS84Z3BjeGdBcHBsbDZDZXVsYTg4NloxUUtnWnBxelhpYk5TOWVjUzZrNjVRWUFDcVJWdmw1T3VYU3RmUW1pVElvSGdNSm9IZ2cwYWp4U3MrYkR4bHNBOERldE12YW82ZDlhZzZHVHZob0FnRk9hdmZTREt4OWEwMnpZU1JFQTd0UHFwUjlVL1dpVmZobTFjd0I0U0tzQ2N0QlVjSzFmeHN3V0FOaE5hOGJMdlU3enN4Mi82cFhTRS9DUkp4SUFkdnBMNmJZOHVkR2hWcm1GVmFFQThMZ29XYnZkUTlmYWErVVRUeVFBUEdyVE5NMmx3dTE1TXJNMURvQmU4eHdDd0Y1YTQ1VS9RajFHRDEzalV3Y0F2Tk1hWjl5WjIxbzFIVTRqQW9ERGFLejV1ZHIxbTdRMlltZnVPUUFjUnF2czh0Mnc1REpYZUFLdXBkZ1BBRGdzTXpWOHorOWhvTDlRK0tHZmVRSUI0R0NycG1sdUZXN1hnMERYNnFFREFOTG01dk5tRU9nenBkbzNnUTRBNDN4UnVGLzNldWdheDhNUjVnQXdua1oyM2d0MGpYS0xSaDBJQUdxelVwaE04cjNDOG16NEQ0Rys4aklFZ0VrME9zU0xQdEExWnJqUVF3ZUFhVlR5YzlmMnVWa2ZFQUJVNkp2Q0pTODBhK2dzS0FLQWFWUjc2S0UxOUpYQ1l3R0FXbWwwaUgvUktya1E2QUF3blVhR3pqUnI2QUNBYVZRNnhjK1U5a0NuaHc0QW1XbjEwSm1ERGdDWlVYSUJBQ2NJZEFCd2drQUhBQ2NJZEFCd2drQUhBQ2NJZEFCd2drQUhBQ2NJZEFCd2drQUhBQ2NJZEFCd2drQUhBQ2NJZEFCd2drQUhBQ2NJZEFCd2drQUhBQ2NJZEFCd2drQUhBQ2NJZEFCdzR0OTRJakV3NVh6WjI2WnBOdHhFSUQ4Q3ZTNWRZTStrUFcrYXBoMzhzNFpyK1JsZHlIK1RmMTV4aURpUUJvSHUxMXdDL0xuOGZaN2dTaGRiZjc0Yi9MdHJDZm92OHVkdFBVOEZrQWFCN2tjZjRLOG1sazVpVzJ3OXJvMkUvT2RCMkFNSVFLQ1g3VWdDL0VqS0p5VnA1WEVmeVdOZVNiQi9hcHJtc3ZZbkZwaXE2elhkQmJaVDduNHlYUUNlTjAyelZuamVMTGVMcG1tT0szbE9nVWJodlhqVkVPaEY2TW9wWnhXRStLNjJsZzh3aTJVa1FGTndvRE1QM2JhdWgzb2o3YVRBc29xR1Z1NUQxL3RZVm53ZmdMMElkSHRhK2NiVDkweFR6RTRweFV5K3FTemwzbWhOdHdSY0lORHRtQTFxNCsvb2hUNnA3N1VUN01BQWdaNWZIK1JMQmdFbklkZ0JRYURuMHc3S0J3UjVPSUlkMVNQUTh6Z2REUEJCVngvc3A1U3RVQnNDUGEwakNSdHE1UEc5NDlzUGFrT2dwekdUaFRJWGxBT1NhcVVFYzhWc0lkU0FRSS92Uk9hUkgrVitJQlZieUhQQUFqaTRScURITTVPZTRSbmxGVFBlU2JEVFc0ZExCSG9jL1FwUGxxdmJNeCtzdkFWY1liZEZYWDNObHZLS2ZXZXlVK1ZyVGx4NjBsT2RrZzNiSHR0Q29PdVpGempvMlo4bTFKOHdORHhPN3FtajVZYW5ITFZ5N1QvTG41b25JTVcya0prd0x5c09wdUVwVmk4Ry85c1VuRmhsQUxzdGhqc3VZTmZDcFh6Z25DUXFCUzNrdnB4SmljUDYvYWxoZXVOTXJ2TTg4WE95bHZHazAwTDM3azhsOUQ2emZhNkNjOE1oMVFlNGhSNXpmNkJGdnpyVzR2MDZOM0NmdEZtOTUvMnNJd2FvL3hGNlR3bjBBSzNjUUV0dmtuVkJOZnpaWUVxbnBYdDQ1YUFIV2RvaEtFdjUwS2s5M0RWZXV3VDZCSE5qUVhRbFg2VkxEYUtac1Y3a1RZRUx3R2FETFNXc3ZDNm50SDdiaGhvWDRHbmtBSUUrMHR4SXoyY3RJZWp0aFg5azVKdlB1cEFlNDBKS2F5V0Y5cUh0b3JLcHY2SDNpMEFmeVVLWTEzSnF6OHpBK0lUbFVEOHVaTEJabzkxVU1tZ2RlcThJOUJHT01vZDVyUnRONVE1MmE2Ris3S0Nzd250Z3Q5RDdRNkFmS09lMHhEWFRRci9MR2V3V1FuMVJVWTk4WC9PNkNqdjB2aERvQjhnWjV1d0Q4OUFpVTQwOVY2alBETTZtc3RLODdWNUtvRWVXcTJiT2RxLzdIV2Q0YmxLSCtpbWhYVlgrYU9RR2dmNklIR0crWnRPb1Vkb01NenhTaFBxaTRqcjUxT1poRjgzUWUwQ2dQeUpIbUY5eCtNVmtxUWVzYnlLV3dpeXZQQzZobFp4RkJIb0ViWWJCSjNybDRWS3YzTDFSZnZ3ekJqMVZuNXNTTzBlaDEwMmc3NUE2RktpVjYwcFpkOWJhK3lYSGVJRDN0aTV3RzJzQ1hkbFp3aGY1QlROWW9sa2tETWpRYjFlVVdPSzJrcklwOUY0UTZBTXBweWN5cnp5K2xQdnRUSmtUVFlrbFhUc3ZwUE1VZWs4SWRKRnlFTFRHMVo2NXBCZ1BXVThJOU55cmptdHNNUWV5dFJEb0NsSU5ncGF5MlpOSHNjb2FVd2JmVXBiMWFBK2ZMOHVoVHFBclNQRUdJOHp6MHc3MXM1RlhaSEgvL0JyYjB2QjdrVUFQcEhIdGhIazVORUo5eXV5SmxJTzB0SExma3dSNmdEYkJtNHd3dHljazFLZE1NMlg1dnMyMk5qaFhQZlJlWGRWODZuL3NqYTgyRGs2VDN6ZllkNzNuMzF2MFJoN1QyTUhwajAzVHZKWG45UkJ0aFFjMGxLUi9mbDZPZUU3TnF6WFFGNUZubTVRVTVqUHBkWGJ0aGJ6UXgvWkNiK1dhUHpkTnM1S2dYMFY2dkJyZXlIVWZFclliQ2ZLUEkzN3ZvdUIxQnYxejkzWHdnYjNhODN6MjkzRXUxL3hpOEhmTDVsS21jQlhxTlpaY1ltOThaTG5NMHNxSDJYbmsrN0NVMzJIMXJOTkRaamZWVUdLNWtNVlJNVjZ6czhGcnpmSVl3a1dFYTU4aTlEcXFyS0hIZnNOWm5HZmVoM2pPc3ljdkRJYjdVK01vWXhlajVOajVjV283ejdRc2ZpNmxUb3ZocnJXTlE0alFhNmd1MEdlUlgwelc3c1BNWU85b0xZL0p5b0RVZk1makcvdWhQQzlndTF0clo5RmFPUXg4MkhKM3hrSWZmM1dCSG5QZkRDdGYyeG9qQnl3ZjBxd0UrOGtnOU1hV0hrNE0zOS8rVFc1NVlOYlNhelgzckRTTjU3cWFRSTg1NTN4cHBPZFRTcEJ2Tnd2QlByYjNhcjNFVXRxNW14WmV1N2wzUHcxOS9GVUZlc3l2ZDdrSFFWc244NTFQQzVrWllybkVNcVZrWkVtdXc3QXRiT0FWZWczVkJIck0zbm51d3ltOEhWZTJOTjZ6dEZ4aThYU28rRW1pc1I5TEg0Q2gxMUpOb01mcW5WOWx2aTdQR3oyTjNTc2x0dFp3T1d2S2pvOGxpTDNGc0xVRFprS3ZwNHBBajlVN3o3bDB1SmE5dEswY0paWnliL1d4N2FxQ2cxSmlsQk10THZ6U2VDMjREL1JZQTFlNVNpMjFiZlNVZSthQjVlUGhySDJMaVVsekQzbXJaL2lHWHBmN1FKOUZlaU5wSHhCOHFKU25LbGxycWV1Y2xrc3NPZTZIQmFFSDBWamVPcmRSZUUyNEQvUlliOGdjOWNxYXc3eHZxVUxNY29uRmE3MzhVRk1QcENsaGI1M1ExNGJyUUkrMVBXNk9CVVNjY3ZOUGl4M3Fsa3NzYk1mOHQ3R2hiclhFc2kzMDllRTYwR1AxYUZNUDB0RXpmOWhpaGJybEVndGhmdDhob1Y3YVBRdDlqYmdPOUJoZm1WTnY0RU9ZUDk0MFE3MkVXVVBzcS81USs4UWFqQkpuLzRTK1J0d0crdmFHUzFvdFplLzh5R0VJV3d5NUVrN2dyM0VBOUZDN0JrcExQUkl6OUhYaU50QmoxSnhUOXM1RFIvTnJhYUZyQVVvWW02aHBhdUpVZllhVlBtQk1vRDhpeGxMNFZMM3pxYVA0dGJZcFUwaExXWmlWZXlWeVNicHZXcVV2c0FwK3ZUd3pjQkhhNWhIQzl6TGhrV3BuREg0ZHJEczI3UDNJLytiSTRKTHZYYnByZTIzdllablZ2VWZkSENNM2xjZEEvejNDei93endzL2M1WWg2NmNHNmMweC9remZ5b1U0TE91dnpEUUdGS2J5VlhMVExMY3RFanp2V3ZIbVBiV3hkdVRWNE9zNVR6Y0p4YUVndnVPVGk3ZFQvR09XV3Y1Ui8zbVBlVmJESlVxaU45RnpIOU1wTE80Ry91OGEzQmg0SEN1U3Q1QkpqaFB0amhKKzViVjdRYXJaY3VoTEx5d2tsbHRMbUk3K2wxSUtwdlBYUVh5ai92TnRFZzZGTVRYdmF4NUZCMXg4UFY5b1V0dHRFSFFnNDVTM1FqNVIvWG9weXk0SlZnSS9xeXc5alFxNjBFc3NRcFJZRThWUnlpUkdLWTc3ZVQvVXV3ZThvVVY5aUdSUG1Kd1VmK0hBdERaak1VdzlkTzlCVGxGdm9uZTgycGNSeUh1RWJXa3FwcHNiQ01VK0IvbHo1NTZYb0xmMlI0SGVVWkVxSlpTNGxGZ3RIMVUyMVN2UnRFTTU1S3Jsb3IvejdwUHp6dHMwSzcxRnFXMDBzc1ZnNWR6UUV2WE9vOE5KRGJ5TzhxV1AzMEFuemYxeU9YQm5wb2NReXhNd1dxUEFTNk5xOWM4b3Q2WFFsbGc4amZwdUhFc3NRZTVCQWpaZEFqekVnR2xPTUZhMmxXY25tVTJQdTliSERaZkd4UzN1b2lKY2EraS9LUCsrejhzL2JWbnU1NVZJMjFqbzB6UHNTaThjOVRoZ01oUm92UFhUdDNtN3M2WXF2SXY5OHk2YVVXTTZkYmlsOFRia0ZtcWloN3hhejVOSld1dC81Um1heGpDMnhuRG5ldEl4eUMxUjVLYmxvdnVGakQ0aldHT2JkUGYxMVlvbkY4dzZVc2NkcVVCa1BnYTQ5SUJyN0szQnRLMFBmUzgvODBQczZsK1g3TlJ6MHdWSi9xUEsyT1plR0w1Ri92dmFLVnF2Nkk5VEdoSmIzRXNzUVlRNTFIZ0pkdTRRUnU0ZGVROG5sV3NKOHpMMDhxMnhQK0ZSbjFLSWlIa291MnIyNTJIVk43L1BQeDVaWStoUDRhenZnNDZ1Qnh3Qm5LTG1rNWJsM1B1VjR1S01LQmo0Znc0QW8xSGtJZE8xRlJiR25MSHAwS3lXV01XV0Uya29zMjVoL0RuVWVTaTdhSlF6ZWFPTjhrRldmaDRaNXJTV1diZFRRb1k2U1MxcWVwaXhPS2JFMGNnOCtzYWlHUUljK0FoMVRUQ214OU5ncUZvakUwd0VYR2lpMzdEZTJ4QUlnRVhybzl6SHo0SEZUam9jRGtCQTlkQnhxeGVwR3dEWUNIWWVheSt5VTJ2ZHlCOHdpME5NcXZhVFR5dkZ2WndZZUM0QXRCUHA5c1ZkeWVobDA5WExhUHVBS2dYNWZqVXZRcDVwYWd1bisvK3VtYWU0cWI3VnRvNHdFQ1BTMHZBMHFUaW5CakQxUDFDczZEMUJIb0tmbmNhNTdYNEk1TktSV0V1cGp6aGIxcHNhVHF4Q1poMERYN3VuRmZxTjU3WmwyOTIwNXNwVHdkc0srNlY3VWN0QUpFdklRNk4rVWYxN3NyOEtlU3cydEhCOTNPdUsvcWJVRVF3OGQ2aWk1UEJSNzVrYnNJKzRzZUNmQlBxWUU4N0t5VmFnejZ1alE1aUhRdFFjYVl3ZDZMYXN0RnlOTE1QM3VqVzhxS3NFdzB3V3E2S0UvcEgxZ3hyWlZSUnRiVFNuQmZKVGVlZzBsbUJjR0hnTWNvWWYrVUlyRk1yWHRpZkpPcGpjZVdtSzRyYVFFd3pZS1VPV2xoNjc1RlQzRjErQWFEM2M0a3FtTmh3NEcxbENDbWJIYUZwcThCSHBwVXhjdks1MnFOK1g0T2U4bEdIcnBVRU9nNzVaaVN0bllvOXM4T1p0WWd2RjR6LzR3OEJqZ2hKZEEvNnI4ODFJTVZ2MlY0SGRZTnFVRTgxb1dJM2t5WTA0NnROQkQzeTNGRyt5YVk5d21sV0E4SG9GSEx4MHF2QVM2OXF5UmVhTEJxajhUL0k0U2RDV1k4NUVsbU44Y2xXQ09XV1FFRFo3bW9XdjMwbFBNZHZuSXdkUS9ITXVjOVZwTE1HTytwUUE3ZVFwMDdWNTZpanI2aGw3NlBYTUo5ZU1SLzQyWEVzd2Y5TklSeWxPZ2YxYitlYW1tazMyZ2wzNVBLK1dYS1NXWWtoZHN0ZlRTRVlvZSt1UGFSS0hlaGZuN0JMK25ORk5LTUM4THY1ZnZXR2lFRUo0Q2ZST2hqdjVLK2VjOTVnTW4rT3cwcFFSektzRmU2cmNlRHVER1pONDI1OUplVXA5eUZaKzMrZFZhaGlXWVEzWGYxbjR0dEFSenhPcFJUT1V0MExXbnNiVWplNGNocmlzL2ttMmZZNW16Zm1oSm91UVN6Smp4QStDZWhjTHA2Mk8yUjQxdHFYeWEvRlhDeDk1R2VQemUybnBDRDNZaC8xMUo5K0lpMG1zTWRnVm5sY2Y5MExWNzZZdUVBMVg5M0dvOHJwV3dHMU5yN2tzd0pZMVRIQ1g4ZGdnblBBWjZqRDFTVWk3TnZxV2VmcEFUS2NFY2FpTlRHMHNxYTUyeHp3dkc4QmpvdHhFV21hUmVtdjJoc3ZNMXA1clM0MzRyMzRKS21BWFRqdHlWc2xibnhzcStXWG1yb1RmeWVMUnJtam11OFlhYSthTnRUTzk4bDFsQjkvZUdVSC9VMmVBK2pUbVkzS0xRMThuMzhUNlBnVDZMOEtaYVozaXh0SVI2OUlBN00zQTloN1NVZy9PbE9IN2tmVnJxNGRzcXJ4R1BnZDdJeFdtL3FYSmNKNkYrdjhYb3JSNFZNZ3RtekZ4ODczYUZlZTczYXFqUTE0ZnJRTi8zaEU5cE9YcnBEYUgrbzhVc1Bjd0x1Y2ZNVVQvOHZWM2ErRVBvYThOMW9EZVI1blRudXRiYVF6MUZIYmxmbGNxOXNHdHNpV3haMEV5aDBOZUYrMENQTVRpNnpyaUJVaW1CbzkxUzkwcVBDeWpCakRtK3o0UFExMzRKTzFtR3ZpYmNCM29iNlkyWmV4VmZqQThxcXkzWGE2dUVFc3lVVmJNbDBwcVJaTDBFRTNwOTdnTzlpUmgrdVVmU1Mxek9QamFzY3QvalVyNFJlZDZoVVh2QTJuSUpKdlRhcWdqMFdMMzBwWUZQKzM3aGlmWEFHZHVzOWFRb3dhUVgrN1Z0c1FRVGVrMVZCSG9Uc1pkdXBXZDA1R1JUcjZYaEVzSzhrSHQ4Nm1EQU5OVUhxTFVaUTZIWFUwMmd4K3FsM3hsYXhOQVdYbHN2SVloSytVYTBMSFJqcjBXazlTTlBOVXZmYkVLdnBacEFieUtHbllYU3k5Q3NzSmt3NXdVZXUzWlN5TDB0SmRnWG1UOG8xMGJ1VStoMVZCWG9NWHZwRnZldW5rbEp5R0x0ZHkyUHpWS1FqMzBzcFpSZzdnYkJidTBiMEZHR0h2bFRMWGNKSnZUeFZ4WG9UYVRWbzMyek9zKzFIWnoyay9zTmMyTTBXT2JOdERkMGFZUFNhN25HbkdYQ21lU0YxUS9EbkdNNG9ZKzl1a0J2SWdlYjlWa0dzOEUrNHFuZUlEZnlPNjJXVmJaUGlacFNVeTJsQkROc1MvbVdsQ0xBNXBJUjF1ZjE1OTRySi9UeFZ4bm9HdGY3V011MTE4c1VyYnlaejVTLzlsNE5ncUtFZTdIcjJxZlVWT2VGcnd2b243Zmp3Qjc4VFA3N1UvbVpwZHlUME8yWU5RUS9oejhOUnBaRHZDOHMxTThpbGtodTVYRGlFZzVRMkRhVE5oK0U4Zk1kd2R4ZDI1ZkIzL3REUmJRUEZvbnRmRTl3ZjVRRE1RNTlMdnNTVEtuYnQyN2JEQTRSNlo3YnIxdi8vdWZCdDVsWmdZUGJ2WTBjVVpqN1BYc1grTjkzUnkxVzEwTnZJZytRM3JGM2RSRU9MWk5NS2NIVXREVkQ2VzNOdE1YeUE3MlJra0RNRnlON1Y5czFkbkI4U2duRys5WU1YcHFsYjFNRWVxRFk4N1VKZFh0Q1pqcU5YUm5jR3B1V1I3dmZyTTNSSjlBRGJjOXdJTlI5MDVpMmVqT2hWa3dKeGw2enVPQXE5RDVWSCtoTjVGa3ZmU1BVODlOY2d6QmwyMXBLTUhhYTFkV3pvZmVJUUJjcGVsQ0VlajZ4RnBTTkxjRm83ZXRObTk0c2I0VkFvQ3RLVWV1ODRqekk1R0t1RHI2YldJSVplNHdhTGJ4WjJGOS9Id0pkVVlwNitsM2w1MEdtbG1xVHNpbXJMV04vME5EK2FaYW1KajZGUUZlV2FyVmZLUyt3VXFXY1hSSlNTcU91SHIrVjFJRUt2UjhFK2c0cGUwNGxIRnhibXBTN0lHb3NJS091SHE5Wk84QmlINVhYSTRIK1VNcHBadFlQcmkxSnlxUGl0SHQrMU5YMW1wWDl6Y2NLdlFjRStoTlNIaEt4ZExUL1J3NnB0N0dOVlRMVFBoQzV4bGJ5MmFvRWVtU3BULzQ1bzdjK1d1b1FqRDMrNGZYZzcxVHZuNUtGWGorQnZrZWJvYjVKYi8wd3VZSXYxVmQ1ZXV1SHR4c243NW5RKzBDZ0h5QkhxTjlKV0pXNkhXbHNKNW5DTG5WZHRxVzIvbVJiTzh1ZTBQdEJvQjhvVjZpdkN6a05QNVZGeHFQTGNnNnl6ZG5rNjBFcjhYRHhmVUx2Q1lFK1FxNVF2eVBZZnh6Q2tpczhyTXlZeUgwZkxMUXJ4MnM0Q1BURWNvWjZqY0Z1SWNBc1RuK3JNZGl2S2hoYjByaEhCUHBJYlliWkw5dHRMYlZWcnpYMll5T0xiYXpQWlY1VU1DUEdZMm5sTWFIM2lrQVBrRHZVKzNaUjZDS0tiVFA1a0xJd3M2T0VqWnlHTE4wN2piYVVnZS9hU295aDk0NUFEMlRwNElLMWZNaE0yU2dxbDVtOGNTMHRmUzk5bjUwamVSMlVGdTc5NjdmbVBZNUM3eUdCcmlEbGN2T3hiNDVqZzcyY3VieGVMTzVmNG0wblRPdmh2cFJ2RnF5NytGdm8vU1RRbGFUY0VHcHFVSjFKd0tlc1I3YnkranFWMHBEbFhtTnBHem1OTlpkdlF6bWZoK1dnbzhFYWk0ZEM3Ky9WdjFtN29rTGROazN6bTd4WkxQWTI1anUreWw3TDQvNG1mMi9rbnpjVGYzNDcrUE9GdkdGTGVkTytiWnJtZzRISEVkT3R0UDQ2WjRQWHhmUEJoNitHamZ5dVZkTTBYd2V2dFNtdkxZencwMkFLVklqMzlOSi82TzdET3lPUEpjUytONkNIcjhuZDliMGVmS0RoYjhQbmRyN25tOHRLMnZiZk1kNWQ0RDM3L2pxbTVLSXY1NHBHMm9GZlQxbUJDMk9DU3k3UGVFYWp1SllTektYRGF5dmRSa29zTHlrQndCc0NQWjcrNi94cmdzT01Xd2x5Ny9WeVZJcEFqNi9ycGYvYU5NMUg3eGRxV044ci8wMUNIWENKUUUrakM1UTMwanNrVU5LNmxDQ25WdzczQ1BTMCt0cjZXOG93MGEza0EvUTFNeTlRQ3dJOWp3OVNocUhYcUs4dnIvektkRVRVaGtEUFp4ZzgxTmZEYldROUJCK1VxQmFCbnQ5SzZ1c0UrelRESUQrbGxJV2FFZWgyRElQOUE4RzBGMEVPYkNIUTdWa05TakZ2R2RCNzRGWSsrUDZESUFmdUk5RHQyZ3dHVDE5V1hvN1p5UFgvSm8zU0ZMQURnVjZHNjBHdjlFMUZjOWt2QjJXb21xNGJtSVR0Yzh2UzkxUS95dmFuUjdKVmJVbW5GTzNUaGZnbitaTnlDakFDZ1Y2dWxaUmtQZ3oyc240bGY1WjBlTUN0ZkFQNXpHWm1RQmdDM1llTmhHRWZpRE1KOXVleW43V2x2Y3Y3d3c0K3k5L3BoUU5LQ0hTZlZqc0dEdnZUYVdZUlRxalpwUS9yTDRQVGE2aUJBeEVSNlBXNGZTSlErMkJ2SjU2NjNpK3gzeERhUUQ0RU9wcXRQVStvWXdPRll0b2lBRGhCb0FPQUV3UTZBRGhCb0FPQUV3UTZBRGhCb0FPQUV3UTZBRGhCb0FPQUV3UTZBRGhCb0FPQUV3UTZBRGhCb0FPQUV3UTZBRGhCb0FPQUV3UTZBRGhCb0FPQUV3UTZBRGhCb0FPQUUxcUIvak12Q0FESTY1blNvYjVURGhZR0FDaDZKaWUxQXdEeWFUVitzMWJKUmVYQkFFQ2xOS29jRzYxQXArUUNBSGw5NlFQOW1pY0NBTEpaYVB4aXpXbUxLZzhJQURESmJSL29Hak5kWmp3SEFEREpDNFhiOXFPRy9rM2hoeEhvQURDTlJuNys2SmgzNVpLN3dIYkZFd2tBbzdVSytkdTFIelYwamJub3pIUUJnUEUweGgrL1QyelJyS0czaERvQWpLYVJtNnRtYTVhTHh0UkZacm9Bd0RnYUE2SmZtcTFBMStpbGF6d3dBS2hGcTlRUmZwRGZ4d3BGK1RVdlF3QTQySkhXZ0dnVG9lU2k5V2tEQURWNHBYQ05QM3JudzBCZktjMTIwWGlBQUZBRHRSa3V1NXdyZFAyWHZBd0JZQytOOVQ5M1VyYlpTYU9PZmtmWkJRRDIwdWhBM3oyMWZmbE02UmVjODF3Q3dKUFdDbG03ZDRYK2pjSXZXWFBvQlFBOFNxc2Fjckx2RnA4by9hSmpua3NBMk9sS0tXZjNidXFsVlhaaGNCUUFIdElhREwwNTlONXFsRjN1bmhwOUJZQkthUTJHN2kyMzlMVEtMbXlwQ3dELzBLcUFIRlJ1NlduK1VxWXdBc0RmdEhybm96dkxGNm5yUEFEZ21HWkhlZlNrRTYxTll5YjljZ0J3Um10bXkrUk5FSmRLRDJESnZIUUFGZE9hMmRLMTA2bTNVV3R3Tk9oQkFFRGh0RHJIZHlFSFNyZEt5MU9ESHdnQUZPcFVNVU9EdDFYUmZEQk1Zd1JRazdsaWZxcDBpclY3NlFkUGhnZUF3bWt0MGxUcG5mYzBlK2wzU3FkY0E0Qmwycm1wVnJMVzdxWGZNT3NGZ0dPYXMxcFVlK2M5N1U4Yjlrd0g0SkYyQjFpMWR6NmtPZlhtamdWSEFCelNySnZmeFp6eXJibDZ0Ry9zOVFMQUM2MjlXdm9XL2JBZ3JlV3J3d2ZNSUNtQTBta3V4RXhXeFpoRnFBOXhaQjJBa21rZEtUZHN5ZGJ0YUErUTNqSHpCVUNoWW9UNU92WEtldTNDUDZFT29EUXh3dnd1eHdMTWVZVFNDNkVPb0JTeHdqemJGaWt4QmdINlVHZWdGSUJWc2NJOGVhbGxtOWJKUnJzdWpGQUhZRTJNTWNTK1pUOVl2NDJ3NEdnWTZpdytBbUNGOWp6ellUdXpjcEd4NnVsOU0zT2hBS28waXpRUnBHL216bDZPVlZQcTJ4V0RwUUF5V0VUdXNKcGRoM01XT2RUWEZtcE1BS3FSSXROTWp4WEdyREgxN1p6ZU9vQ0k1cEZMTEgwcllvd3d4WTJndHc1QVc1dWdWMTVVbURkeVUxS0UrcDNVMWpsOEdrQ280NGd6OXJaYnRDMXhZMGtaNm5kU2hpSFlBWXkxaUxDTDdMNnNLbExxVUwrVHIwc0VPNEI5VWdkNTBXSGV5eEhxOU5nQlBPWTRRNUM3Q1BOZXJsQy9reWVPMWFaQTNXWlN0MDVWSTk5dXhkWE05MmtqN3Z0eVNGdkxKeVF6WTRBNnROS1p5NWs3ZDk0N2xDbm1xZTlyZmJnZk01OGRjR1V1dThEbUtLbHN0MnFtVnNmZUptQnN1NUhCMUdOMmVBU0swY3JBNW9uMHdtTXV6eC9ibGpteTVLZU16OXhDbmdTclBlVGJwbWsyVGROOGxuKytIdnk3amZ4N0FIRzBXNEU0ay9hei9POHp3NU1ldXF4NExUbVJWTTVBYitRSnVhQlhETUNKRDAzVHZNMTFLYzh5MzhOVjB6Uy95VTBBZ0ZKdHBGZWVMY3diQXozMG9RVnp4d0VVS0Z1SlpWdnVIdnJRdGZUV1A5cDVTQUR3cUkzMHlGOWFDUFBHV0E5OWlONDZBTXN1SmN4WGxoN2p2d3c4aGwyNm0vUlgwelQvSitFT0FCYXNwTHp5WDFaNjVVTldBNzN6djFLRytXdkhGQ1lBU0draklmN2FXcTk4eUhLZzk3b2IrVW5tZzF1ZWV3ckFwdzhTNVA5dC9lcXMxdENmMHBWZzNsR0tBUkJaTjBIanZlVWUrYllTQTczWEJmb2ZiTFlGUUZGWEVmaFRldVhtYXVUN2xCem92WmtFT3h0dEFaaHFKYjN4eXhLRHZPY2gwSWU2VVArZGNneUFBMndrd1AvYTJxdXBXTjRDdlRlVFVzenZ6STRCc09WU0pscTRXOFRvTmRDSCtuQi9RYjBkcU5KS2V1Q2ZKTXpkcWlIUXR5Mmt2WkRlTzNWM3dKYyt3RC9MbjhYTVVnbFZZNkJ2bTBtd3p5WGtXY1FFbEtNUDdLL3k5OXVTQnpWREVlaVBHd2I3ZGsvK09UMTdJTG91bkw4TmZzbHEwTnQyTVlpcHFtbWEvd2ZkOVN0eFFzYnJRd0FBQUFCSlJVNUVya0pnZ2c9PSIsImF1dGhlbnRpY2F0b3JHZXRJbmZvIjp7InZlcnNpb25zIjpbIlUyRl9WMiIsIkZJRE9fMl8wIiwiRklET18yXzFfUFJFIl0sImV4dGVuc2lvbnMiOlsiY3JlZFByb3RlY3QiLCJobWFjLXNlY3JldCJdLCJhYWd1aWQiOiJiZTcyNzAzNDU3NGFmNzk5NWM3NjA5MjllMDQzMDk3MyIsIm9wdGlvbnMiOnsicGxhdCI6ZmFsc2UsInJrIjp0cnVlLCJjbGllbnRQaW4iOmZhbHNlLCJ1cCI6dHJ1ZSwidXYiOnRydWV9LCJtYXhNc2dTaXplIjo3NjA5LCJwaW5VdkF1dGhQcm90b2NvbHMiOlsxXSwibWF4Q3JlZGVudGlhbENvdW50SW5MaXN0IjoyNCwibWF4Q3JlZGVudGlhbElkTGVuZ3RoIjo3NjAwLCJ0cmFuc3BvcnRzIjpbInVzYiIsIm5mYyIsImJsZSJdLCJhbGdvcml0aG1zIjpbeyJ0eXBlIjoicHVibGljLWtleSIsImFsZyI6LTd9XSwiZmlybXdhcmVWZXJzaW9uIjoxfX0sInN0YXR1c1JlcG9ydHMiOlt7InN0YXR1cyI6Ik5PVF9GSURPX0NFUlRJRklFRCIsImVmZmVjdGl2ZURhdGUiOiIyMDIxLTEwLTExIn1dLCJ0aW1lT2ZMYXN0U3RhdHVzQ2hhbmdlIjoiMjAyMS0xMC0xMSJ9LHsiYWFpZCI6IjRlNGUjNDAwNiIsIm1ldGFkYXRhU3RhdGVtZW50Ijp7ImxlZ2FsSGVhZGVyIjoiaHR0cHM6Ly9maWRvYWxsaWFuY2Uub3JnL21ldGFkYXRhL21ldGFkYXRhLXN0YXRlbWVudC1sZWdhbC1oZWFkZXIvIiwiYWFpZCI6IjRlNGUjNDAwNiIsImRlc2NyaXB0aW9uIjoiQW5kcm9pZCBQSU4iLCJhdXRoZW50aWNhdG9yVmVyc2lvbiI6MjU2LCJwcm90b2NvbEZhbWlseSI6InVhZiIsInNjaGVtYSI6MywidXB2IjpbeyJtYWpvciI6MSwibWlub3IiOjF9LHsibWFqb3IiOjEsIm1pbm9yIjowfV0sImF1dGhlbnRpY2F0aW9uQWxnb3JpdGhtcyI6WyJzZWNwMjU2cjFfZWNkc2Ffc2hhMjU2X3JhdyJdLCJwdWJsaWNLZXlBbGdBbmRFbmNvZGluZ3MiOlsiZWNjX3g5NjJfcmF3Il0sImF0dGVzdGF0aW9uVHlwZXMiOlsiYmFzaWNfc3Vycm9nYXRlIl0sInVzZXJWZXJpZmljYXRpb25EZXRhaWxzIjpbW3sidXNlclZlcmlmaWNhdGlvbk1ldGhvZCI6InBhc3Njb2RlX2ludGVybmFsIiwiY2FEZXNjIjp7ImJhc2UiOjEwLCJtaW5MZW5ndGgiOjQsIm1heFJldHJpZXMiOjEwLCJibG9ja1Nsb3dkb3duIjowfX1dXSwia2V5UHJvdGVjdGlvbiI6WyJoYXJkd2FyZSIsInRlZSJdLCJtYXRjaGVyUHJvdGVjdGlvbiI6WyJzb2Z0d2FyZSJdLCJhdHRhY2htZW50SGludCI6WyJpbnRlcm5hbCJdLCJ0Y0Rpc3BsYXkiOlsiYW55Il0sInRjRGlzcGxheUNvbnRlbnRUeXBlIjoidGV4dC9wbGFpbiIsImF0dGVzdGF0aW9uUm9vdENlcnRpZmljYXRlcyI6W10sImljb24iOiJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUVnQUFBQklDQVlBQUFCVjdiTkhBQUFBQ1hCSVdYTUFBQXNTQUFBTEVnSFMzWDc4QUFBS1QybERRMUJRYUc5MGIzTm9iM0FnU1VORElIQnliMlpwYkdVQUFIamFuVk5uVkZQcEZqMzMzdlJDUzRpQWxFdHZVaFVJSUZKQ2k0QVVrU1lxSVFrUVNvZ2hvZGtWVWNFUlJVVUVHOGlnaUFPT2pvQ01GVkVzRElvSzJBZmtJYUtPZzZPSWlzcjc0WHVqYTlhODkrYk4vclhYUHVlczg1Mnp6d2ZBQ0F5V1NETlJOWUFNcVVJZUVlQ0R4OFRHNGVRdVFJRUtKSEFBRUFpelpDRnovU01CQVBoK1BEd3JJc0FIdmdBQmVOTUxDQURBVFp2QU1CeUgvdy9xUXBsY0FZQ0VBY0Iwa1RoTENJQVVBRUI2amtLbUFFQkdBWUNkbUNaVEFLQUVBR0RMWTJMakFGQXRBR0FuZitiVEFJQ2QrSmw3QVFCYmxDRVZBYUNSQUNBVFpZaEVBR2c3QUt6UFZvcEZBRmd3QUJSbVM4UTVBTmd0QURCSlYyWklBTEMzQU1ET0VBdXlBQWdNQURCUmlJVXBBQVI3QUdESUl5TjRBSVNaQUJSRzhsYzg4U3V1RU9jcUFBQjRtYkk4dVNRNVJZRmJDQzF4QjFkWExoNG96a2tYS3hRMllRSmhta0F1d25tWkdUS0JOQS9nODh3QUFLQ1JGUkhnZy9QOWVNNE9yczdPTm82MkRsOHQ2cjhHL3lKaVl1UCs1YytyY0VBQUFPRjBmdEgrTEMrekdvQTdCb0J0L3FJbDdnUm9YZ3VnZGZlTFpySVBRTFVBb09uYVYvTncrSDQ4UEVXaGtMbloyZVhrNU5oS3hFSmJZY3BYZmY1bndsL0FWLzFzK1g0OC9QZjE0TDdpSklFeVhZRkhCUGpnd3N6MFRLVWN6NUlKaEdMYzVvOUgvTGNMLy93ZDB5TEVTV0s1V0NvVTQxRVNjWTVFbW96ek1xVWlpVUtTS2NVbDB2OWs0dDhzK3dNKzN6VUFzR28rQVh1UkxhaGRZd1AyU3ljUVdIVEE0dmNBQVBLN2I4SFVLQWdEZ0dpRDRjOTMvKzgvL1VlZ0pRQ0Faa21TY1FBQVhrUWtMbFRLc3ovSENBQUFSS0NCS3JCQkcvVEJHQ3pBQmh6QkJkekJDL3hnTm9SQ0pNVENRaEJDQ21TQUhISmdLYXlDUWlpR3piQWRLbUF2MUVBZE5NQlJhSWFUY0E0dXdsVzREajF3RC9waENKN0JLTHlCQ1FSQnlBZ1RZU0hhaUFGaWlsZ2pqZ2dYbVlYNEljRklCQktMSkNESmlCUlJJa3VSTlVneFVvcFVJRlZJSGZJOWNnSTVoMXhHdXBFN3lBQXlndnlHdkVjeGxJR3lVVDNVRExWRHVhZzNHb1JHb2d2UVpIUXhtbzhXb0p2UWNyUWFQWXcyb2VmUXEyZ1AybzgrUThjd3dPZ1lCelBFYkRBdXhzTkNzVGdzQ1pOank3RWlyQXlyeGhxd1Zxd0R1NG4xWTgreGR3UVNnVVhBQ1RZRWQwSWdZUjVCU0ZoTVdFN1lTS2dnSENRMEVkb0pOd2tEaEZIQ0p5S1RxRXUwSnJvUitjUVlZakl4aDFoSUxDUFdFbzhUTHhCN2lFUEVOeVFTaVVNeUo3bVFBa214cEZUU0V0SkcwbTVTSStrc3FaczBTQm9qazhuYVpHdXlCem1VTENBcnlJWGtuZVRENURQa0crUWg4bHNLbldKQWNhVDRVK0lvVXNwcVNobmxFT1UwNVFabG1ESkJWYU9hVXQyb29WUVJOWTlhUXEyaHRsS3ZVWWVvRXpSMW1qbk5neFpKUzZXdG9wWFRHbWdYYVBkcHIraDB1aEhkbFI1T2w5Qlgwc3ZwUitpWDZBUDBkd3dOaGhXRHg0aG5LQm1iR0FjWVp4bDNHSytZVEtZWjA0c1p4MVF3TnpIcm1PZVpENWx2VlZncXRpcDhGWkhLQ3BWS2xTYVZHeW92VkttcXBxcmVxZ3RWODFYTFZJK3BYbE45cmtaVk0xUGpxUW5VbHF0VnFwMVE2MU1iVTJlcE82aUhxbWVvYjFRL3BINVovWWtHV2NOTXcwOURwRkdnc1YvanZNWWdDMk1aczNnc0lXc05xNFoxZ1RYRUpySE4yWHgyS3J1WS9SMjdpejJxcWFFNVF6TktNMWV6VXZPVVpqOEg0NWh4K0p4MFRnbm5LS2VYODM2SzNoVHZLZUlwRzZZMFRMa3haVnhycXBhWGxsaXJTS3RScTBmcnZUYXU3YWVkcHIxRnUxbjdnUTVCeDBvblhDZEhaNC9PQlozblU5bFQzYWNLcHhaTlBUcjFyaTZxYTZVYm9idEVkNzl1cCs2WW5yNWVnSjVNYjZmZWViM24raHg5TC8xVS9XMzZwL1ZIREZnR3N3d2tCdHNNemhnOHhUVnhiendkTDhmYjhWRkRYY05BUTZWaGxXR1g0WVNSdWRFOG85VkdqVVlQakduR1hPTWs0MjNHYmNhakpnWW1JU1pMVGVwTjdwcFNUYm1tS2FZN1REdE14ODNNemFMTjFwazFtejB4MXpMbm0rZWIxNXZmdDJCYWVGb3N0cWkydUdWSnN1UmFwbG51dHJ4dWhWbzVXYVZZVlZwZHMwYXRuYTBsMXJ1dHU2Y1JwN2xPazA2cm50Wm53N0R4dHNtMnFiY1pzT1hZQnR1dXRtMjJmV0ZuWWhkbnQ4V3V3KzZUdlpOOXVuMk4vVDBIRFlmWkRxc2RXaDErYzdSeUZEcFdPdDZhenB6dVAzM0Y5SmJwTDJkWXp4RFAyRFBqdGhQTEtjUnBuVk9iMDBkbkYyZTVjNFB6aUl1SlM0TExMcGMrTHBzYnh0M0l2ZVJLZFBWeFhlRjYwdldkbTdPYnd1Mm8yNi91TnU1cDdvZmNuOHcwbnltZVdUTnowTVBJUStCUjVkRS9DNStWTUd2ZnJINVBRMCtCWjdYbkl5OWpMNUZYcmRld3Q2VjNxdmRoN3hjKzlqNXluK00rNHp3MzNqTGVXVi9NTjhDM3lMZkxUOE52bmwrRjMwTi9JLzlrLzNyLzBRQ25nQ1VCWndPSmdVR0JXd0w3K0hwOEliK09QenJiWmZheTJlMUJqS0M1UVJWQmo0S3RndVhCclNGb3lPeVFyU0gzNTVqT2tjNXBEb1ZRZnVqVzBBZGg1bUdMdzM0TUo0V0hoVmVHUDQ1d2lGZ2EwVEdYTlhmUjNFTnozMFQ2UkpaRTNwdG5NVTg1cnkxS05TbytxaTVxUE5vM3VqUzZQOFl1WmxuTTFWaWRXRWxzU3h3NUxpcXVObTVzdnQvODdmT0g0cDNpQytON0Y1Z3Z5RjF3ZWFIT3d2U0ZweGFwTGhJc09wWkFUSWhPT0pUd1FSQXFxQmFNSmZJVGR5V09Dbm5DSGNKbklpL1JOdEdJMkVOY0toNU84a2dxVFhxUzdKRzhOWGtreFRPbExPVzVoQ2Vwa0x4TURVemRtenFlRnBwMklHMHlQVHE5TVlPU2taQnhRcW9oVFpPMlorcG41bVoyeTZ4bGhiTCt4VzZMdHk4ZWxRZkphN09RckFWWkxRcTJRcWJvVkZvbzF5b0hzbWRsVjJhL3pZbktPWmFybml2TjdjeXp5dHVRTjV6dm4vL3RFc0lTNFpLMnBZWkxWeTBkV09hOXJHbzVzanh4ZWRzSzR4VUZLNFpXQnF3OHVJcTJLbTNWVDZ2dFY1ZXVmcjBtZWsxcmdWN0J5b0xCdFFGcjZ3dFZDdVdGZmV2YzErMWRUMWd2V2QrMVlmcUduUnMrRlltS3JoVGJGNWNWZjlnbzNIamxHNGR2eXIrWjNKUzBxYXZFdVdUUFp0Sm02ZWJlTFo1YkRwYXFsK2FYRG00TjJkcTBEZDlXdE8zMTlrWGJMNWZOS051N2c3WkR1YU8vUExpOFphZkp6czA3UDFTa1ZQUlUrbFEyN3RMZHRXSFgrRzdSN2h0N3ZQWTA3TlhiVzd6My9UN0p2dHRWQVZWTjFXYlZaZnRKKzdQM1A2NkpxdW40bHZ0dFhhMU9iWEh0eHdQU0EvMEhJdzYyMTduVTFSM1NQVlJTajlZcjYwY094eCsrL3AzdmR5ME5OZzFWalp6RzRpTndSSG5rNmZjSjMvY2VEVHJhZG94N3JPRUgweDkySFdjZEwycENtdkthUnB0VG12dGJZbHU2VDh3KzBkYnEzbnI4UjlzZkQ1dzBQRmw1U3ZOVXlXbmE2WUxUazJmeXo0eWRsWjE5Zmk3NTNHRGJvclo3NTJQTzMyb1BiKys2RUhUaDBrWC9pK2M3dkR2T1hQSzRkUEt5MitVVFY3aFhtcTg2WDIzcWRPbzgvcFBUVDhlN25MdWFycmxjYTdudWVyMjFlMmIzNlJ1ZU44N2Q5TDE1OFJiLzF0V2VPVDNkdmZONmIvZkY5L1hmRnQxK2NpZjl6c3U3MlhjbjdxMjhUN3hmOUVEdFFkbEQzWWZWUDF2KzNOanYzSDlxd0hlZzg5SGNSL2NHaFlQUC9wSDFqdzlEQlkrWmo4dUdEWWJybmpnK09UbmlQM0w5NmZ5blE4OWt6eWFlRi82aS9zdXVGeFl2ZnZqVjY5Zk8wWmpSb1pmeWw1Ty9iWHlsL2VyQTZ4bXYyOGJDeGg2K3lYZ3pNVjcwVnZ2dHdYZmNkeDN2bzk4UFQrUjhJSDhvLzJqNXNmVlQwS2Y3a3htVGsvOEVBNWp6L0dNekxkc0FBQUFFWjBGTlFRQUFzWTU4KzFHVEFBQUFJR05JVWswQUFIb2xBQUNBZ3dBQStmOEFBSURwQUFCMU1BQUE2bUFBQURxWUFBQVhiNUpmeFVZQUFBbitTVVJCVkhqYTdKeHZiRlAxR3NjL3A2ZHIxNjRWeDJ4cHR4R1lZQnZGRzRqYU9PMmNXeFFDT0lJSm1mZUYrZ0tOUk9VRjBVVHZGWW54ejRneGFqQUdIVjdDUWpSN28xRVRRL3lEaVpHTUYvSmltOTJXc0RuSFhiTnVERFBweWtiLzBmYTVMMlRuTXZhSE16Z3FoWDZUa3p6bmQ1NmM5RHg5L3YyZTUvZjdLVXpIVW1BYnNCR280dnJDZjRHdmdmOEFRN014L0JNWUJlUTZ2MGJQeTJJYUdvRnNRVGphbFQwdkV4U2dFZ2dCaXluZ1Fwd0dWcXZBdjRGMUJYbk1nQTFJS1VBWDhJK0NQR1pGdDNKZWxVb0xzcGdWVVZOQkJ2T2pJS0JMUUFYK2RkNGhYUkZLU2tydytYeWswMmxVVmVXV1cyNGhtODBpSXZoOFBqS1pETGxjRHIvZlR5NlgwK2hzTmtzbWs4SHY5d09ReVdUdytYeW9xa282bmNidjkyTXltVWdtay9qOWZvcUtpa2dta3hwUElwSEE3L2Rqc1ZpSXgrTWFQVEV4WVlSOGtvWUpxTDYrbmg5Ly9KSCsvbjRjRGdkdGJXMmNPbldLVkNyRnNXUEhHQjRlSmhhTDBkSFJ3Y1RFQkdOalk3UzN0L1A3Nzc4VGlVVG83dTRtblU0ek1qSkNaMmNuVnF1Vm5wNGVlbnA2VUZXVjl2WjIrdnI2S0NzcjQ2ZWZmdUw0OGVNNEhBNk9IRG5Dd01BQUhvK0hvMGVQMHR2YlMzbDVPVjkrK2FVaEFqTE14TExaTEZhckZSRWhrOGxndFZvQlNLZlQybmc2bmFhNHVGZ2JuNktUeVNURnhjV1lUQ1pTcVpSR1h6aWVTQ1N3Mld5WXpXYVN5YVJHeCtOeGpaN2lLU29xTXN6RXpFYThSRkVVMXF4WkE4Q3FWYXU0NmFhYkFQRDVmS1JTS1FCdXZmVlc0dkU0QUN0WHJpUVlER284OTk5L1B3QlZWVlhVMU5UOE1TbGN1cFM2dWpvQWxpMWJ4Z01QUEFDQTErdWx2cjRlZ0lxS0N0YXVYUXVBeCtQUmVOeHVOelUxTlpoTS8vLy9UU1lUUFQwOWpJMk5YVmJHZU5scHVkbHNsbzgvL2xqeUFWdTJiRm5vOTUyK0lnMHltODBjUEhpUVJ4OTl0QkRtWjRRL1ZjMDc0WWpJWHlPZ29xS2lhMTV6cmtoQXpjM05QUGJZWTNuM3NWTkJZa0VCU085YzdQbm5uMmZac21XWXpXYTJiZHVHMld6T093RWRPblNJL3Y1K0ZFWGh2ZmZlSXh3T1gzSXVwanVLOWZYMXliV0VtcG9hWFZGTXR3WlZWRlJnc1Zod09CeDg5OTEzZUwzZXZOT2daNTk5bG0rLy9SYUFrWkVSTFVlYlQ0TjAyMGxqWXlOTGx5N1ZoSlNQV0w5K1BWVlZWYWlxeXZ2dnY2L0h4UFFuaWowOVBkZVVpZDE3NzcyNlRFeTNnRnd1bDNpOVh2SDVmREk4UEp5WFFubnl5U2ZGN1hhTDErc1ZpOFZpYkNiOThNTVA0L1Y2c1ZxdGxKU1U1S1dKclYyN2xzcktTa1NFbHBZV0lwR0ljU2IyeXkrL0ZLTFlmS2lxcXNKbXMxRlNVc0pYWDMyRngrUEpPdzNhc1dNSGh3OGZSbEVVQmdjSFNTUVN4a1d4RFJzMlVGbFpTVkZSRVhhN1BTOU5yTGEyRnJmYmphSW83TnUzajZHaEllTk1ySkFvWGdKVER0cmhjSEQ0OE9FWmllTEF3QUNmZnZvcG82T2pLSXJ5dDgzVzdYWTd3V0NRaG9hR0djK2ZlZVladnZubUd4UkY0ZVRKazhZbWlnOCsrQ0JMbGl5aHVMZ1ltMjE2Q1RzY0RsTlhWNmM3S3Z3VmFHNXU1dW1ubjU0MmRzODk5MmpsMmRiV1ZrWkdSdjZhS1BiaGh4OWVkUXNRN3I3N2JrTk1UTGNHYmR5NEVidmRUa2xKQ1Y5ODhjVzBLSGIyN05tOGNOTFBQZmNjMzMvL1BTYVRpWUdCQVdQclFiVzF0VFEwTkxCKy9mb1pKblpoY1J6QTZYU3lmLzkrbkU3bm5PL1R3d1B3eWl1djhOQkREeTJZWnpZL0dBZ0UyTHg1TTVzMmJhSzBWSCszWFplSkRRME56YW11Nzc3N3JzYTNaODhlYVdscGtVd21JeTB0TGJKbno1NFo3OUxEMDlqWUtBY09ISkJJSkNJLy9QQ0R0TGEyeW9vVkszVHpWRmRYejJ0aXRiVzF1a3hNdHdZMU5EUVFEQVpadDI0ZHYvMzIyOXh1UHhwbDY5YXRxS3JLMXExYmlVYWpsOFVUaVVUWXZIa3pGUlVWMU5mWHMzejVjbUt4MkNWNXhzZkg1L3h0TzNmdUpCZ01FZ3dHNmV6c05MWXY1dlA1Y0x2ZEZCY1h6OXVZS3lzckF5Q1h5MkV5bWJUN2hmSTRuVTZ0K1FoUVdsbzY3WDR1bnFsbTVGeXpnV2cwaXFxcURBd002R3BQNnhiUW0yKyt5WW9WS3k3Sk56dzh6T3V2djg3T25UdHBhbXFhMVlIcjRWRVVoYmZlZW9zbm5uaUNuMy8rbWQ3ZTNobStUZy9QaFhqcXFhYzBPaFFLY2VyVUtlTjgwS3BWcXlRUUNFaGRYWjJNam83TzZZTUFzZGxzMHRUVUpGYXJkYzczNmVFQlpQdjI3WExmZmZjdG1HYzJIL1RpaXkvS0hYZmNJWUZBUUJ3T2g3RmhmczJhTlpxSlhhenFGL2ViRW9rRXUzYnRtdmQ5ZW5nQVB2amdBME40NEkvMmR5cVZRbFZWSXBFSWs1T1R4bW5RNE9EZ25CSGhuWGZldWVvU3hUdnZ2SFBlS0hZcHJWeXdCalUyTnJKbzBTSnNOaHNIRGh6QTVYSnB6NnFycTYrNnBEQVFDTXdZZS9YVlYybHJhME5SRkxxNnVveU5ZdVhsNWJoY0xxeFdLNnFxVG5zV0RBWTVlUEFnemMzTmVtb3NmenFxcTZ2WnZYdjNqSEczMjgzeTVjc0JkQXZJRUJQTFIraE5GSFdYTzFhdlhvM0Q0YUNrcElSUFB2a0V0OXVkZHdXemwxOSttU05Iam1nYXBDTVAwbC91S0Nzcm83UzBGSnZOTnNQRThnVTMzbmdqTHBjTFZWVTVmdnk0c1NaMjRzU0phOHJFREk5aWp6Lyt1QmJGOXUzYnB5Mnp5eWZzM3IyYnRyWTJWRldsdTd2YjJDam1jRGcwQWYxZEpkVXJoZDF1Wi9IaVAvYnNMR1IxaWk0VEM0ZkQxMlVVMHkzR1J4NTVSTk9nL2Z2M1Qwc1U4d1d2dmZZYVI0OGVSVkVVUXFHUXNTWm1zVml3V3ExWXJkYThOVEdMeFlMRllrRlYxWGxuL1lVbzltZEVzUjA3ZHJCNDhXTHNkanROVFUyYXM4c243TjI3bDJQSGptRTJtK250N1RWV2c2WXVSVkh5ZHRxeFljT0dCUzhrWC9BcVY2ZlR1U0Q3dlpwd2NUZkcwTGJQOVFyVDVVYUR2UHpZeTlEOEJTOTJ6dVZ5aE1OaGJZUGNWTW5WWnJQaGNyazRmZm8wMld3V2w4dkYrUGc0cVZTS0pVdVdFSTFHU2FWU2VEd2VZckVZaVVRQ2o4ZkQrUGc0aVVRQ3I5ZkxtVE5uaU1mamVEd2VKaWNubVppWXdPdjFNakV4d1prelo2aW9xT0RzMmJQRVlqSEt5OHVabkp4a2ZIeWN5c3BLNHZFNDBXaVVpb29LNHZFNFkyTmowOUlSazhsMDJSM2dCVHRwaDhNaE45eHdnM1k1blU3WnNtV0xpSWhzMzc1ZE5tM2FKQ0lpTDczMGt0VFgxNHVJeUFzdnZDQ0JRRUJFUk41NDR3MnRxTDVyMXk2NS9mYmJSVVRrN2JmZmxydnV1a3RFUkQ3NjZDTzU3YmJiUkVSazc5NjlVbFZWSlNJaXJhMnRzbkxsU2hFUmFXbHBFWS9ISXlJaW4zMzJtZHg4ODgwaUl2TDU1NStMMCttYzloc1hMVm9rWnJQNXo5L3RJeUt6RnJ1bmx2a25rMG50bnpwMzdwekdtMHFsdFByTHVYUG5wdEZURGNGTUpxT05aN05aYlR5YnpXb05RUkhSeG5PNW5OWjB2SEFjTUdwTHBuRk9PaGFMMGQzZHpkallHSk9UazNSM2QzUHk1RW5pOFRoZFhWM2E5c3l1cmk2R2g0ZEpwVktFUWlGR1JrYklack9FUWlHR2hvWklwOU9FUWlFR0J3Zkpack4wZG5ZU0RvY1JFVG82T3ZqMTExL0o1WEowZEhSdzRzUUpUQ1lUN2UzdDlQZjNheng5ZlgyRytTMUQ5ODJiVENiTkwxMEpyU2lLMWtyU1ExL2NUTHljYlU5elZSUU5EZk5USDNpbDlJVWZxSWUrMkFYODdXRytrQWNWTUUxQWtZSVk1a1RFQkJ3cXlHRk9IQ29jc0RSL0FyMTY2cVp3Uk5jY1IzUmRpTUloYjdNYzhuWnhjYmx3VE9CRnh3VCtid0M0RTQyTDZaQ2JlZ0FBQUFCSlJVNUVya0pnZ2c9PSIsInN1cHBvcnRlZEV4dGVuc2lvbnMiOlt7ImlkIjoiZmlkby51YWYuYW5kcm9pZC5rZXlfYXR0ZXN0YXRpb24iLCJkYXRhIjoie1wiYXR0ZXN0YXRpb25Sb290Q2VydGlmaWNhdGVzXCI6W1wiTUlJQ2l6Q0NBaktnQXdJQkFnSUpBS0lGbnRFT1ExdFhNQW9HQ0NxR1NNNDlCQU1DTUlHWU1Rc3dDUVlEVlFRR0V3SlZVekVUTUJFR0ExVUVDQXdLUTJGc2FXWnZjbTVwWVRFV01CUUdBMVVFQnd3TlRXOTFiblJoYVc0Z1ZtbGxkekVWTUJNR0ExVUVDZ3dNUjI5dloyeGxMQ0JKYm1NdU1SQXdEZ1lEVlFRTERBZEJibVJ5YjJsa01UTXdNUVlEVlFRRERDcEJibVJ5YjJsa0lFdGxlWE4wYjNKbElGTnZablIzWVhKbElFRjBkR1Z6ZEdGMGFXOXVJRkp2YjNRd0hoY05NVFl3TVRFeE1EQTBNelV3V2hjTk16WXdNVEEyTURBME16VXdXakNCbURFTE1Ba0dBMVVFQmhNQ1ZWTXhFekFSQmdOVkJBZ01Da05oYkdsbWIzSnVhV0V4RmpBVUJnTlZCQWNNRFUxdmRXNTBZV2x1SUZacFpYY3hGVEFUQmdOVkJBb01ERWR2YjJkc1pTd2dTVzVqTGpFUU1BNEdBMVVFQ3d3SFFXNWtjbTlwWkRFek1ERUdBMVVFQXd3cVFXNWtjbTlwWkNCTFpYbHpkRzl5WlNCVGIyWjBkMkZ5WlNCQmRIUmxjM1JoZEdsdmJpQlNiMjkwTUZrd0V3WUhLb1pJemowQ0FRWUlLb1pJemowREFRY0RRZ0FFN2wxZXgrSEEyMjBEcG43bXRodnNUV3BkYW1ndUQvOS9TUTU5ZHg5RUltMjlzYS82RnN2SHJjVjMwbGFjcXJld0xWUUJYVDVES3lxTzEwN3NTSFZCcEtOak1HRXdIUVlEVlIwT0JCWUVGTWl0NlhkTVJjT2p6dzBXRU9SNVF6b2hXakRQTUI4R0ExVWRJd1FZTUJhQUZNaXQ2WGRNUmNPanp3MFdFT1I1UXpvaFdqRFBNQThHQTFVZEV3RUIvd1FGTUFNQkFmOHdEZ1lEVlIwUEFRSC9CQVFEQWdLRU1Bb0dDQ3FHU000OUJBTUNBMGNBTUVRQ0lEVWhvKytMTkVZZW5OVmc4eDFZaVNCcTNLTmxRZllObnM2S0dZeG1TR0I3QWlCTkMvTlIyVEI4ZlZ2YU5UUWRxRWNiWTZXRlpUeXRUeVNuNTAydlFYM3h2dz09XCIsXCJNSUlGWURDQ0EwaWdBd0lCQWdJSkFPajZHV01VMHZvWU1BMEdDU3FHU0liM0RRRUJDd1VBTUJzeEdUQVhCZ05WQkFVVEVHWTVNakF3T1dVNE5UTmlObUl3TkRVd0hoY05NVFl3TlRJMk1UWXlPRFV5V2hjTk1qWXdOVEkwTVRZeU9EVXlXakFiTVJrd0Z3WURWUVFGRXhCbU9USXdNRGxsT0RVellqWmlNRFExTUlJQ0lqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FnOEFNSUlDQ2dLQ0FnRUFyN2JIZ2l1eHB3SHNLN1F1aTh4VUZtT3I3NWd2TXNkL2RURURESmRTU3h0ZjZBbjd4eXFwUlI5MFBMMmFieE0xZEVxbFhuZjJ0cXcxTmU0WHdsNWpsUmZkbkpMbU4wcFR5LzRsajQvN3R2MFNrM2lpS2t5cG5FVXRSNldmTWdIMFFaZktITTErZGkreTlURlJ0djZ5Ly8wcmIrVCtXOGE5bnNOTC9nZ2puYXI4NjQ2MXFPMHJPczJjWGpwM2tPRzFGRUo1TVZtRm1CR3RucktwYTczWHBYeVRxUnhCL00wbjFuL1c5bkdxQzRGU1lhMDRUNk41UklaR0JOMnoyTVQ1SUtHYkZsYkM4VXJXMER4VzdBWUltUVFjSHRHbC9tMDBRTFZXdXRIUW9WSlluRlBsWFRjSFl2QVNMdStSaGhzYkRteE1nSkowbWNEcHZzQzRQanZCK1R4eXdFbGdTNzB2RTBYbUxEK09KdHZzQnNsSFp2UEJLQ09kVDBNUyt0Z1NPSWZnYSt6MVoxZzcrRFZhZ2Y3cXV2bWFnOGpmUGlveUt2eG5LL0Vnc1RVVmkyZ2h6cTh3bTI3dWQvbUlNN0FZMnFFT1JSOEdvM1RWQjRIeldRZ3BacnQzaTVNSWxDYVk1MDRMelNSaWlnSEN6QVBsSHdzK1cwckI1TitlcjUvMnBKS25mQlNEaUNpRkFWdENMT1o3Z0xpTW0wamhPMkI2dFVYSEkvK01SUGp5MDJpNTlsSU5NUlJldjU2R0t0Y2Q5cU8vMGtVSldkWlRkQTJYb1M4Mml4UHZadFhRcFVwdUwxMmFiKzlFYURLOFo0UkhKWVlmQ1QzUTV2TkFYYWlXUSs4UFRXbTJRZ0JSL2Jrd1NXYytOcFVGZ05QTjlQdlFpOFdFZzVVbUFHTUNBd0VBQWFPQnBqQ0JvekFkQmdOVkhRNEVGZ1FVTm1IaEFIeUlCUWxSaTBSc1IvOGFUTW5xVHhJd0h3WURWUjBqQkJnd0ZvQVVObUhoQUh5SUJRbFJpMFJzUi84YVRNbnFUeEl3RHdZRFZSMFRBUUgvQkFVd0F3RUIvekFPQmdOVkhROEJBZjhFQkFNQ0FZWXdRQVlEVlIwZkJEa3dOekExb0RPZ01ZWXZhSFIwY0hNNkx5OWhibVJ5YjJsa0xtZHZiMmRzWldGd2FYTXVZMjl0TDJGMGRHVnpkR0YwYVc5dUwyTnliQzh3RFFZSktvWklodmNOQVFFTEJRQURnZ0lCQUNESXc0MUwzS2xYRzBhTWlTLy9jcXJHK0VTaEhVR284SE5zdzMwVzFrSnRqbjZVQndSTTZqbm1pd2ZCUGI4VkE5MWNoYjJ2c3NBdFgyemJUdnFCSjkrTEJQR0Nkdy9FNTNSYmY4NnFoeEthaUFIT2pwdkF5NVkzbTAwbXFDMHcvWnd2anUxdHdiNHZoTGFKNU5rVUpZc1VTN3JtSktISEJuRVRMaThHRnFpRXNxVFdwRy82aWJZQ3Y3cllEQkpEY1I5VzYyQlc5amZJb0JRY3hVQ1VKb3VNUEgyNWxMTmNEYzFzc3F2QzJ2N2lVZ0k5TGVvTTFzTm92cVBtUVVpRzlySGxpMXZYeHpDeWFNVGp3ZnRrSkxrZjY3MjRERmh1S3VnMmpJVFYwUWtYdmFKV0Y0blVhSE9UTkE0dUpVOVdEdlpMSTFqODNBKy94bkFKVXVjSXYvekdKMUFNSDJib0hxRjhDWTE2THBzWWdCdDZ0S3h4V0gwMFhjeURDZFcyS2xCQ2VxYlFQY3NGbVd5V3VneGRjZWtoWXNBV3lvU2Y4MThOVXNaZEJXQmFSL091a1hyTkxma1E3OUl5Wm9oWmJ2YWJPL1grTVZUM3JyaUFvS2M4b0UyVXdzNkRGKzYwUFY3L1dJUGpOdlh5U2Rxc3BJbVNONzhtZmx4RHF3THFSQllrQTNJNzVxcHBMR0c5cnA3VUNkUmp4TWw4WkRCbGQrN3l2SFZndDFjVnpKeDl4bnlHQ0MyM1VhaWNNRFNYWXJCNEk0V0hYUEdqeGhadUN1UEJMVGRPTFU4WVJ2TVlkRXZZZWJXSE1wdndHQ0Y2YkF4M0pCcEllT1Exd0RCNXkwVVNpY1YzWWdZR21pK05aZmhBNFVSU2g3N1lkNnV1Sk9KRU5SYU5WVHprXCJdfSIsImZhaWxfaWZfdW5rbm93biI6ZmFsc2V9XX0sInN0YXR1c1JlcG9ydHMiOlt7InN0YXR1cyI6Ik5PVF9GSURPX0NFUlRJRklFRCIsImVmZmVjdGl2ZURhdGUiOiIyMDE4LTA1LTE5In1dLCJ0aW1lT2ZMYXN0U3RhdHVzQ2hhbmdlIjoiMjAxOC0wNS0xOSJ9LHsiYXR0ZXN0YXRpb25DZXJ0aWZpY2F0ZUtleUlkZW50aWZpZXJzIjpbIjVmYmM0YmE3NTMwNTIxODdhYWIzYzc0MWQxZjllYzZmYjNjNGQ4NzUiXSwibWV0YWRhdGFTdGF0ZW1lbnQiOnsibGVnYWxIZWFkZXIiOiJodHRwczovL2ZpZG9hbGxpYW5jZS5vcmcvbWV0YWRhdGEvbWV0YWRhdGEtc3RhdGVtZW50LWxlZ2FsLWhlYWRlci8iLCJhdHRlc3RhdGlvbkNlcnRpZmljYXRlS2V5SWRlbnRpZmllcnMiOlsiNWZiYzRiYTc1MzA1MjE4N2FhYjNjNzQxZDFmOWVjNmZiM2M0ZDg3NSJdLCJkZXNjcmlwdGlvbiI6Ikh5cGVyRklETyBVMkYgU2VjdXJpdHkgS2V5IiwiYXV0aGVudGljYXRvclZlcnNpb24iOjEsInByb3RvY29sRmFtaWx5IjoidTJmIiwic2NoZW1hIjozLCJ1cHYiOlt7Im1ham9yIjoxLCJtaW5vciI6MH1dLCJhdXRoZW50aWNhdGlvbkFsZ29yaXRobXMiOlsic2VjcDI1NnIxX2VjZHNhX3NoYTI1Nl9yYXciXSwicHVibGljS2V5QWxnQW5kRW5jb2RpbmdzIjpbImVjY194OTYyX3JhdyJdLCJhdHRlc3RhdGlvblR5cGVzIjpbImJhc2ljX2Z1bGwiXSwidXNlclZlcmlmaWNhdGlvbkRldGFpbHMiOltbeyJ1c2VyVmVyaWZpY2F0aW9uTWV0aG9kIjoicHJlc2VuY2VfaW50ZXJuYWwifV1dLCJrZXlQcm90ZWN0aW9uIjpbImhhcmR3YXJlIiwic2VjdXJlX2VsZW1lbnQiLCJyZW1vdGVfaGFuZGxlIl0sImlzS2V5UmVzdHJpY3RlZCI6dHJ1ZSwiaXNGcmVzaFVzZXJWZXJpZmljYXRpb25SZXF1aXJlZCI6dHJ1ZSwibWF0Y2hlclByb3RlY3Rpb24iOlsib25fY2hpcCJdLCJhdHRhY2htZW50SGludCI6WyJleHRlcm5hbCJdLCJ0Y0Rpc3BsYXkiOltdLCJhdHRlc3RhdGlvblJvb3RDZXJ0aWZpY2F0ZXMiOlsiTUlJQnh6Q0NBV3lnQXdJQkFnSUNFQXN3Q2dZSUtvWkl6ajBFQXdJd09qRUxNQWtHQTFVRUJoTUNRMEV4RWpBUUJnTlZCQW9NQ1VoWlVFVlNVMFZEVlRFWE1CVUdBMVVFQXd3T1NGbFFSVkpHU1VSUElEQXlNREF3SUJjTk1UZ3dNVEF4TURBd01EQXdXaGdQTWpBME56RXlNekV5TXpVNU5UbGFNRG94Q3pBSkJnTlZCQVlUQWtOQk1SSXdFQVlEVlFRS0RBbElXVkJGVWxORlExVXhGekFWQmdOVkJBTU1Ea2haVUVWU1JrbEVUeUF3TWpBd01Ga3dFd1lIS29aSXpqMENBUVlJS29aSXpqMERBUWNEUWdBRXJLVUkxRzBTN2E2SU9MbG1IaXBMbEJ1eFRZanNFRVNRdnpRaDNkQjdkdnh4V1dtN2tXTDkxcnE2UzdheVpHMGdaUFIrellxZEZ6d0FZRGNHNCthWDY2TmdNRjR3SFFZRFZSME9CQllFRkxaWWNmTU13a1FBR2J0M3J5elpGUEZ5cG1zSU1COEdBMVVkSXdRWU1CYUFGTFpZY2ZNTXdrUUFHYnQzcnl6WkZQRnlwbXNJTUF3R0ExVWRFd1FGTUFNQkFmOHdEZ1lEVlIwUEFRSC9CQVFEQWdFR01Bb0dDQ3FHU000OUJBTUNBMGtBTUVZQ0lRQ0cyL3BwTUd0N3BrY1JpZTVZSW9oUzN1RFBJcm1pUmNUanFEY2xLVldnMGdJaEFOY1BORFpIRTIvelordUI1VGhHOU9adXMreFNiNGtua3JiQXlYS1gyem0vIl0sImljb24iOiJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUkwQUFBQVdDQVlBQUFEOS94OGxBQUFBQkhOQ1NWUUlDQWdJZkFoa2lBQUFCM0ZKUkVGVWFJSHRtazF5MjlnUngzOE5JdExTekFuTW5NRE1Oa21WNmFxcHluSjRBOU1uTUNTU1ZhRzBNTHdRc1JCbHdTY1FkWUtSVmxtbFJHNW1HK29FUTUwZzFDNVVTSFFXai9oKy9OQkV0bWNtK3E4SXZFYS9ma0Qzdi92MVk0Vk5PQXhhL1BtN0tqLytZMW9hOC93cWYvbnIzL25UZDNmVzhXZjhadUd1SFduM213Z1h3QnZyZUdVdkJCcEFnOFBnSFo5Nnd5OWk0VE8rTGRyOUppS3ZWbGRqQnIyUll4WHNudFNCaXcyS2hvaThUYTRkTGpnTVdrOW82ak4rQ2VqMFBVUm13QmlKcm9tbzBRa2FaYWZwbnRTSjVBYVI2Z1pGYjB2M254M25Od2lwTXVpTlVCMmlFbEtKSnFEMWZIcnkvQ29xRjJzZHhqakYrZG81ak9Pd01WVmw2VTZpYTA2UEo3bnhUdEFBWHErdXhpeVk0cEk2NldMK21kQ2Y1WjdwbnRSUjUvdFVoa3QrRjFXSjVCVWl0WklOcWxPV01pYnNwYlZZcCsrQnZGaHJkNnczN0UxTllGVmVJMnA1VHpKaDhlOXh5Y1o0YlNxdmNzK0pqdmlQM0NXMlBNYU9HRjVRbzZLdlMyc1ZIWEY2Tk1ienE3ajc3ODNhWmNiWjN6N241THlnbHJ6amlMdmsrMFdZT1VTcXFOWVlIRS9vQk0yODA3aDdWeUQxekoxckJyMVJzdUJTeXRJRFZGb0lyNUpiRGhlMCt6UE9qcTZzQ3hZOFlxZFFSNEJKUWFJQmZGajkvZ2p6RVBZUEFQTWlLM3QvQVBLTUZvbUhKSTUxRC9QUDZONFFrZGZZSUdLcXVWd3RKdXVESVliTEdKaWlFaUpxMTQxQ1pXL0dZWENRNk82ZTFJbWNINEFhb2dWeEFWZkhxM1Uvemc2QWRoQWl2QWV4bUNMUUNlS2ExRGZxRlNEdk5DNjFaTnpSTVdEc0Z1cXJKUTFCakhPaHN6UTl0ZnREeUx4azVaYkZ2SlVzV3ZXSGdra2ZHUnlGTE9jTmxOdkMyTVdxTHZyZllTSTJUSzVGM2hyalYvQ0NXaTVkUm5qV0tMZkI0U0tuNjZrZ1VrWDBITTgzakJMSkZjTFR6OU1KZk9Nd1h3aExRdHBCQ1BJVHlFKzR0Rmc4REEzVEhBYXRUS1FhaDFuT0c0VCtETSt2bG1vYzFVdk9qb3huR3BrR2xmMVJ3amdpVlpRTDRJOVBZdnlnNTlQdXR4QjVDVUFGRC9ETWIvV1RLRk85NDlOUk9UV3FYaUlTVTI0Tko4T1lEZzNpeUVvZk9BQXBNaUFzNXVWN1dkMVpsaFNwNHU3WGdWRmk5enJkb211Y2ZJc2RTak1oR05VN0lDNWM4N0xHanNmRHBFQ3ZlTnMxa2FybkdYcTdaMGt6aVZaM2Z3aGtjL2MxWjBjcEE1MGVUNnlPZzlUcEJENkRudit6REM1Q3hWKzFBQUI5aStmN3NGL05PYnVJdlJBWG1TWnBGcURUYnlXczZ0Z1lRQ1k1K1UzSTZ4N1JEcHE1ZEYzRVFxNXk5Y2htNVp2dHlNNGowbG9yMndsMm0yNUh1RlRVejdGSWhKZGZsRmJUU09hVzVTcGx4VVZ6ekNhaFA2Tjcwa0tkZjZhUDZudmlYR21EOHBKdVAxOGJSTHkwcFdjKzlZYkp4elpSN0tGYVM1MWR4d3lPZHZ2UTN4SVZibWozZlpZUDF6dW5VUnU2SjNXeTVkR3VUdjRFY0JGcFpxN3YxKzU4aWluTDNic3BGTTF3ZWp5aDB4OG5VU3hTeFF0cWF5TkxhS0VGZHJBNVREcm9BemZHSG4yZjMrWEpiczRaVWN2VmJ2RU9JWStiVW5TcXpqZzcrdjFHM1NvTnNMQ01TV0dHRVlVYXlCQjNIOXJCRU9GeXd3Y3YyMkdDbzRFNjloM3VWNEJEdkNzQlVQNjFSczZTc3NTZUo3VkE5enRUOFE0d0wvY2FvRlJqYmFieEZpb2pWRWFaK2dQZ25taHUzK1dWZEt4cFEyUjFaMWxWOVM2eGFmbmdvWHBwZmRZNHh0T2s4SzhFRnpUREROUTRERnA1dHBFWkVqVUlqMWRidlA0UStONmlLKzR4Wkl1KzhjYlpWZStRUXFRcnRYemhXTUFDRDdjdy8zSUR5NnlkbTF1Y3FHVk5FWVlaQ3M2K3JsaTE0aHBIVTV2TUhDMjh3TWZWSm9wWFdPTUh2R0JZQ2pDYkhWSFJycThQRnlWRVNPbGE5Snp1eVNScHVpM202WXMxUFlGc04vZysrV1g2T0lVZXc1YVBLVElzRmNvbTZqN1lIOEF3Vjd1ZjByM3llU3ViWlhjNHUrUitZOWV1TmNJYlZLdUlaRnNTWWFscEdkdHUyZ2ZoNm4xZEVUTzk2WlhrMTdISkRyTXJTcTgzbFFGYlpiVytwUzdJd1ZrMTRhNHpocG90ZHR4bmlSM0diTXZ6UFFHSlRFUEsxc2RSUG4reDRpd2JmY0oyQm9oM09GL0tudUk3UkxjMzZBYTlFWnB4a3VpUmZSenpYZEtncld3S3RJS3NtMm1PbWw1U3B0MWkyZUlYWVBvMGkzbUx5dDRrb1V5UktoRTNkRS9lY0hvODRUQm81WG9iQUJIditIUThzWjVWS2JlYzlVcjcrMThQOUp4T1VIWkdpUTZzREFMbUhicjdVK0JGcnQxZ2pqaktUcVRVY2cyL1NtVFJ1OFVPMWF0TWdkMWFIZEZNckxJd0lpMHJQdEFPM2lKTVVhMUR0bDdUcllGbG5NWnNsNXVyWXM3UVpldzQ3YjVuSWlkRFh4RnArejF5aGdqWm92U081VU5qMjhTL2JLd3I4amZzV0VKL1JxZnZKOGNBcXUveGdpRktsZVNJSUR0RlZxOWVNckE1NHhZN2x1TGowaVQ3ellwenhiSVMrYWpUU0dXcEFUVWtZNGh5dS9iNEo0UDA3T24wZUVMM3BJRTZlY2NwZGt0VkwzTmQxM3dqNng1SG01eHQ2RCtvVEpMekYxdFJGekZkblgrc0wvcDJrZGsyVC9tQnpVVTdwSjNick81c04zZHdGTkx1MXhGcUNDWU5MQmppOGhFMFBsdXFBeTlXRzVBWkVWZjVMdllqN0FoN1U3eWdUZ1VQMFhxcUcrTUF3cFRGS2dXZUhrK01yUG9nOWZ4MzB6SElpT1U4TEU1bG5iNTB4OUJwNmpoWm1PT0RmRitsRTJSYlRHKytacFBwR2Q4RzVmL1RuQjVQVmdYdWZYNUF4eVdIeVNMaTNiUEQvSC9BL3MrOW91TW90eXdlbWxaWkkzRHcvSGZQWnhoMFQrcDArcVBraU4rR1R2OVh2RXQ2eHMvQmZ3R2hobW5ZY2F5ZGdRQUFBQUJKUlU1RXJrSmdnZz09In0sInN0YXR1c1JlcG9ydHMiOlt7InN0YXR1cyI6IkZJRE9fQ0VSVElGSUVEIiwiZWZmZWN0aXZlRGF0ZSI6IjIwMTktMDgtMDIiLCJjZXJ0aWZpY2F0aW9uRGVzY3JpcHRvciI6Ikh5cGVyRklETyBVMkYgU2VjdXJpdHkgS2V5IiwiY2VydGlmaWNhdGVOdW1iZXIiOiJVMkYxMDAwMjAxNTA4MDUwMDEiLCJjZXJ0aWZpY2F0aW9uUG9saWN5VmVyc2lvbiI6IjEiLCJjZXJ0aWZpY2F0aW9uUmVxdWlyZW1lbnRzVmVyc2lvbiI6IjEifV0sInRpbWVPZkxhc3RTdGF0dXNDaGFuZ2UiOiIyMDE5LTA4LTAyIn0seyJhdHRlc3RhdGlvbkNlcnRpZmljYXRlS2V5SWRlbnRpZmllcnMiOlsiM2UxYjY2Y2JjODg2MDVhZGJiMzRlMGEyZDZiODZlODg2MmM1NjYyNyJdLCJtZXRhZGF0YVN0YXRlbWVudCI6eyJsZWdhbEhlYWRlciI6Imh0dHBzOi8vZmlkb2FsbGlhbmNlLm9yZy9tZXRhZGF0YS9tZXRhZGF0YS1zdGF0ZW1lbnQtbGVnYWwtaGVhZGVyLyIsImF0dGVzdGF0aW9uQ2VydGlmaWNhdGVLZXlJZGVudGlmaWVycyI6WyIzZTFiNjZjYmM4ODYwNWFkYmIzNGUwYTJkNmI4NmU4ODYyYzU2NjI3Il0sImRlc2NyaXB0aW9uIjoiT0NUQVRDTyBFekZpbmdlcjIgVTJGIEFVVEhFTlRJQ0FUT1IiLCJhbHRlcm5hdGl2ZURlc2NyaXB0aW9ucyI6eyJlbi1VUyI6Ik9DVEFUQ08gRXpGaW5nZXIyIFUyRiBBVVRIRU5USUNBVE9SIFYgMS4wIiwia28tS1IiOiLsmKXtg4DsvZQg7J207KeA7ZWR6rGwMiBVMkYg7J247Kad6riwIFYgMS4wIn0sImF1dGhlbnRpY2F0b3JWZXJzaW9uIjoyLCJwcm90b2NvbEZhbWlseSI6InUyZiIsInNjaGVtYSI6MywidXB2IjpbeyJtYWpvciI6MSwibWlub3IiOjJ9XSwiYXV0aGVudGljYXRpb25BbGdvcml0aG1zIjpbInNlY3AyNTZyMV9lY2RzYV9zaGEyNTZfZGVyIl0sInB1YmxpY0tleUFsZ0FuZEVuY29kaW5ncyI6WyJlY2NfeDk2Ml9yYXciXSwiYXR0ZXN0YXRpb25UeXBlcyI6WyJiYXNpY19mdWxsIl0sInVzZXJWZXJpZmljYXRpb25EZXRhaWxzIjpbW3sidXNlclZlcmlmaWNhdGlvbk1ldGhvZCI6InBhc3Njb2RlX2V4dGVybmFsIn1dLFt7InVzZXJWZXJpZmljYXRpb25NZXRob2QiOiJmaW5nZXJwcmludF9pbnRlcm5hbCJ9XSxbeyJ1c2VyVmVyaWZpY2F0aW9uTWV0aG9kIjoicHJlc2VuY2VfaW50ZXJuYWwifV1dLCJrZXlQcm90ZWN0aW9uIjpbImhhcmR3YXJlIiwic2VjdXJlX2VsZW1lbnQiXSwibWF0Y2hlclByb3RlY3Rpb24iOlsib25fY2hpcCJdLCJjcnlwdG9TdHJlbmd0aCI6MTI4LCJhdHRhY2htZW50SGludCI6WyJleHRlcm5hbCJdLCJ0Y0Rpc3BsYXkiOltdLCJhdHRlc3RhdGlvblJvb3RDZXJ0aWZpY2F0ZXMiOlsiTUlJRHREQ0NBcHlnQXdJQkFnSUJBVEFOQmdrcWhraUc5dzBCQVFzRkFEQnlNUXN3Q1FZRFZRUUdFd0pMVWpFWk1CY0dBMVVFQ2d3UVQwTlVRVlJEVHlCRFR5NHNJRXhVUkRFaU1DQUdBMVVFQ3d3WlFYVjBhR1Z1ZEdsallYUnZjaUJCZEhSbGMzUmhkR2x2YmpFa01DSUdBMVVFQXd3YlQwTlVRVlJEVHlCU2IyOTBJRU5CSUVObGNuUnBabWxqWVhSbE1CNFhEVEl3TURJeE1UQTBNall3TTFvWERUSTJNREl3T1RBME1qWXdNMW93Y2pFTE1Ba0dBMVVFQmhNQ1MxSXhHVEFYQmdOVkJBb01FRTlEVkVGVVEwOGdRMDh1TENCTVZFUXhJakFnQmdOVkJBc01HVUYxZEdobGJuUnBZMkYwYjNJZ1FYUjBaWE4wWVhScGIyNHhKREFpQmdOVkJBTU1HMDlEVkVGVVEwOGdVbTl2ZENCRFFTQkRaWEowYVdacFkyRjBaVENDQVNJd0RRWUpLb1pJaHZjTkFRRUJCUUFEZ2dFUEFEQ0NBUW9DZ2dFQkFMWllhKzlZWkxKbjRGV2NrRG5ZL0VSb0N1TzNUQnRhMFczZjhSOVNZNWQ1c0JrMlFpdXBjaUkvbDdmd1BySDNGRGtlVlBYZWpNZStrVDBWb0pKZStOOUVNV2VyMC81UFhJUDk3bnJ1WWNyMER4YmhacGVzUUVlVThCZUlVdW5wTk5uRUpwb3hvSlR3b0RtdTgzWktrNG04ZzAvUGZwSndEaG1QQ0FxbTc5c0Z0UDhnN2xDOXFtczVURC82UE56KzJhZXdLWFRRQVIxb3BmaG5XRFVzSVp0dVVmRVJobEd3eFU3WCtoM29RMmtTR3c1aG9sZktTYjBnM3B3R1RjVFZOdmZVTVhIN0NhaVRxL0s3VC9qZEFDRCs5YU5qdGNkM1B5UWVyQThTYTJOMjhydmtOOFlmS29EUGc1Z0EzNzhPTkRWM0Jocmh0WThVaURrQmNUc1hBUUVDQXdFQUFhTlZNRk13RWdZRFZSMFRBUUgvQkFnd0JnRUIvd0lCQURBZEJnTlZIUTRFRmdRVU9DbUszMTBHdTNxOURmWC9idmRwc2Y0R0k4VXdDd1lEVlIwUEJBUURBZ0gyTUJFR0NXQ0dTQUdHK0VJQkFRUUVBd0lBQnpBTkJna3Foa2lHOXcwQkFRc0ZBQU9DQVFFQW5EVGNabmVLL2gwUWI4c0Z4Z0ZTOEZhNWRqUW5TSlFVTUZaL2t6T3NQaDFEVkZERjRuREcvSGxVK2Q3S2FOaGFRN1hMdDd4QWpoekV5VHlIYU1INzZnSDA4cjMzTmRWWi80c01oOUdJTFU2YlNtSllPdGRWaTN6QjNwNjlibllaSEpWcXZKS1g1bEVzU3BuL29wS1lsdnRvMm4wLzRzNGF3SmgrcStCa3lWU1BUUk1YNkxmYm42SVJ1NGNiZVMwVzEzdHNRNVNicEFvOU5IMkZBVHpWTU1LU0dFZGlRbmZZeWdkV3Z1RENMVXRRRjF3R21HU1lzRVBGVFY2UEcxVlA1SFM0ZmhyQk5idXJpMzhOSVVvY2ZrcGZtT0l5K2hIWmdmdnBaem9yazFHdkYzUFpSSXRKblRUdjVVanEwcUQ4cm5yODFxd3ZHbFRDSklCdEVVbU53UT09Il0sImljb24iOiJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUVnQUFBQklDQVlBQUFCVjdiTkhBQUFTVlVsRVFWUjQydTJiQjFoVTU5TEhNV29TcjdsK1Z2YWNzNDFtVGRTclJvTllBQ2tMaW9vRlN4UTdnWWlpaUtKR0RkZ1ZMSFJFbGwyYXFJQmlqZUtOWGZGYVltS05IU203Q3hwajlQdGlqSVc1ODU1ekZwWmxGMWRGWS94NG4yZWVwU3k3NS94Mi9qUHp6cnlZbWRXdTJsVzdhbGZ0cWwyMXEzYTl3MnVEV2xwZmZ0MjdVZXlGK0thclRoNXV0dlRJMWNhaEJ3ci9aMTd1elVaemMwODJXckIvWThPbGViUE0xdCt3TTFQbWYvei9Bd3BBSFRObFVmc0d5VGZUV3NTZisxVzA2aGhZTE5vSDFuTzNnOFdNTEJCT1RnZHFRaEl3bytKQlBEUVN4SVBXQXUwVjg2U0pYK2FsQmt0UHpEWkx2V0grL3NMSmhMcjEwMVJUbXFYZGZDQktPZytTNkpNZ0RUc01sb3R5alFLUzlnOEhpZXRTRU51SGdOQitJVFFabTFwUU4rcm5rV2FoOE1GNzV6bjEwb3ZuQ3JLTG5vc3pyb0g0RlFDSmJlZUNxTk5NYU9HNDdObEhvY2NqelRJdmZmaitBRklXZG0yMnJlU2haSHNSdkM0Z3B0MDBNUC9pMitjZnJqaTc4TDN4cEk4MmFtSWt1WGRCSDVCNDlUSG9GSFVjK3NZZmh3R3hoNkZQV0M2MERzb0N4anVoV2tDTTFXUm8waS82RHpQNXJXN3ZCYUIvWkdtT1d2NzdsM0pBcmRLdlFQREIyM0RzdWhvS1ZDVlFyQzRCbFpwN3ZGMnNnVU9YQ21EZWhqem80cXNFaVd5WlFVQzBaRExVWDNKYThWNEFhcGhWOHIwV1VQdXRCZkR2YXhyUWFFcGVhRC9kS0lhSnNmdEI3TFNvQ2lDRzlvRUcwM2FmWnpQajMzMjU1MnAyaXZmZWhSWmJWS0E4WnhvY3JSSFBHaFY3Q0VROTVsY0I5UEcwN3k3ODdRR1ZsSlNNUEhXcjVIbXJuUnI0WkxNS3poZVV2QlFnWW9ldnFjRnlSRnhsaVZsT2dmb3J6eWIrcmVFVUZSVTF3QnM4U1c0eTdrY04vSE5qTVd5NldPNUJaV2lQMFg1SCt6KzBQOUNlR3dKMEVhRzJuSmFsQThnZkdnOU8rTjBzc2FETHUzTzNYUkxxTTY0S01lV203TnBDcG5RVHlKUmZtcnNvZkFXeXBPbm1zcVFnZ2FzaWtISko4c2V2eHdoY2tnYVl1eVQzbUJwMndQN21iUlc1ZVZDalJmK2dCb2RkaFhEeWxtYUhXbDA2UktWU3RTNHVMbTZHSUp1V2xwWmFxOVYzM0RTYTBqQjgvblZkUUtubjFVQ1BTS2hJODI2cm9hWHl5b0svVEY0QzE5U0dsQ3o1VThwVk1WYmdJbyttbk5ZZHBSeGpORlN2TlErcDdpditwTHN1THFNN2h3RGQ2VnMwOGhqNmpPcXkrQ0hWZGZsZHlqWmNROW10VlZPOW9sVk1uL2pTdG9OU3lucE56SUx4SVh0aGhTTHZUK2ZWeDZNRTBUL2xtcSsvWUdlV21WblgwUHZmdlh2M24ycDFTYUJLVS9ycjdpc2FzRjV5a0kxQmpPMDhhT1cvQ1dKTzNJWWlqV2JXMnl4MTZ6RDlFLzdCZW9aelVnTGxuSENKdGwvN21MRmJDc0t1ODBIWUtSaUVIV2FBc1AwTVlEcDk4NVR1dGxndDZCNjJsZTRaTVo5MmpCNUN1eVI5M3R3cHBSWHhzQlo5bFpTNVU2S2dXWjhVb2ZPVWJlMXpqMTIra2JubkhDeVhILzlkNnBhVVllNlVjSVhxcTN6QStPOTRKRjY0ZjRka3lYN3ZKaXVPU1N4Q0QzN01Wc2ZFbFBtTnpaSUxYVHR0dkg1Q09Ic1hNSU1pb2VYMGJBakl1UWluYjNFU3hkaTI1TTF6Q1EzOWdKRXBPcHZMbERHVTh6bzE0N0FhUDZtRklQNWlMb2k3emdaeGwyQVFkWmtGd200aFpYU1BzSXVVVS93aUFzUE1JYlNlcVcrQmtnbmhiK2lZOXNOb0laUGJDQndUQXN4ZDVVZm9vZWxQUk40YmdmYmJlcm5KL0gweERjSlBwOVpkZDIxZjNYVlg5elJjZkNUWksvTnk3cFpMR3NoWFZZcExaU2pSMFcrTXk2ZGVtUithdXlTNUNsemx1YlJ6N0NPaHczSVE5L29XeE9qR1lydDViTTFCSUFsN0xINkNIbktJY2wzdlRtVDNLdTkxNTg2ZFR4RE9qM2hUbHdHZ3Z2NTFOTWNQU05CbmZZYkFQdTZCZVIvMExqZmxaS1ovUm5OdGZFRVFnL1NETnI1ZU1ZbGJid1FPN1pyY0JRUHFic1kxOXFuSWFRV0lIUmR5bFdwdkJOUnJBUXRKMURNVTZENHgrWlNMM0l2Y0JONVlIYlFQME9yaXhUWEV3Q3BTcTlWdE1MQjJSQUNkOEdmdGk0cnUyT0QzZ3V2WHIzOUVuZ2M2QVJTZlk0T2U5QVBlN0NoakVoYzRKOW9LZWtRY296NWZXVWIxU2JpS1h1MU5QQlZqMFh3OVFJL3gvVWJVT0JpUlRONFV3YXloWlFsUHhESnVqeU54WGd3U1VxWDJRVWdPb1N3a29XUFk4OWFEVW5KM0hiZ28wMmcwNDlGVzQwWHRScnVFOWh1Zm5xdXJXNTZobGFDZFJ0dUVmeCtLWUR3Um5oMStuWW8yVnQrVGRETWxaUisza0c2MzRESFZlVGxZZWlTZjNKOTM5UmVkMTc3M1J1QUluSlcyS0tjZmhlN1JJT203RXFUdXk5azlEZ3ZKWlFsQ1dveVFGb0hRZVEwRWh1OHZ5eTlRM2NPTCtkTUlnSWY0cVY3REM4MUJyMWlKTnp3RnpZdEwwUnBIL0xrVG1nZitiZ3grUHh1L1hvZVBSOG5mOE9uN0lkcCtJaDNpY2Zxd2NuUFBOZlFJeUZrazdZaGViRGtUYk53U0lEcmoxUE9DUXRWbTRyVTFucDBvRjZVWEpaUC9KdmJnZHNkU2p6Q1FzcEJXZ05TdEFwTElaVFY0ei84T0NvdlVCcUVRYnlDQkVlWFM4c3daSXg1UXpjclB2OThZZ1hSSFVQUHd0VTd4bm5nSExROS9Gb0ZBWS9CeEc0bFgrSGhuWHRTaDIzVEwyYzhaZ1I5UXRxdWY0WDNFV3pnb1A2NVJPS1NJbzl6a1Q4U2VrU0R4WEFQU2dhdEFPb0NIMUU4TENRTzBiQ1YwSHBVQmw2OFZWc29VWEhEVlRMNTM3MTZqbXUyZlFSMFN0L0MxNHhITXIvaGVCZmo5M0tLaVg0VDR1M3JrOXc2aEIrc0pIT0ozTW93L01NMG5BZld2cFlBaFltZFQ5L1JHTlFJSEsxby95bDMrV0RRa211MnRTQWF2QmNrZ2hPUzVtb05VN2swcmdKSEZ3dXFVLytqQ0tjUUxua0FLdGpmYmFJUTZwSUxtWWhPNzFWQVJXV296bE1CZGFVdDFXdlluMDNSQ09TUnpWMFZXQzRmWVQxNHY1c2dVemdLM3BFZENMOXpnRFVkQVhwRmNFM3hJUkFVazRrMmtJZFV2SEt3SHBzQVBGL0o1T0tWWnhjWDNSRyszSXdzZjRBZlNud1BFZmtBL2srKzdlMlUyd094MmhzQmhJVFZEU0YzRHk5Q1RJbC81elJqblZBa0N5cWU5RW9ENU1nNkVJMklSVWd5SWgwVlZRRUp2MGtJU2UwUUEyUXJjTGxBOVJlMHZKUzcrRis3OExSSE9PVzAyeE91UmR4aVJzWjJXVE9jQUVUUDNCZHpHUEVWSXcxOHQ3cmdvRkpTbkhHanZCS0JIeFhPUVJuS1FSTU40YitJaEVXOFNlVVNCODlkYnl3cUxTOWI4bFhCMGF5WSs0N0VlSGJqcXdCUGFKcmdDRUJwdE1RTndRM3dMaTllWEd3T1JiWVBBWGZHWThrWkFZeE01U0tQWHNVMXdaaVR4SmkwazNwc0dSNEJvUURSWURVd3Q4Ri8yZmJOM3BYR0FjY2dlNFR3aGdDYUc1Z0p0amJ2NFpoV0FtR1lUVVdwaFFMa21oYjdVdmdvRFdESTFWTUZPQnFqeFBLUXg2eXNnbFV0T0YxSVV5UTYvTTI1SnJkK2RLUkY4UUFMM3Jkc3FzQnVmQ1l3SU01azV4cUhtRTh0QkVka0puT1dGakVOQ2M5TzhwMzlDYzd6Uk8vUzRaS0FuS2NzaFVWcElCaVVYeFVxT2RrL0U3S0FNZWNjNmtVNWI5bDE0d3ZTT0FvYjVDaGpLaDRQVWdvZUVYaVRvR1ZWRzZqeVRYcEMwS2lnUEpUQmZwUUw5RlE5cG9vS0ROQTRoalYxZlNYSUVFaXM1OUNhaFp4enhvanZtN3NuVzd3cWcyTXhUbE4yNHpmZnBkbk9BRVg3RlFhSVJrb0NIMUh3Q1VPMFhrdXRPTXVrRmNYZStnQjZTRE1LdjA0SHhTMFZRS1VEN0pDTWszcHZHNlhnVFFxTDFKRWQ3ck1mQXB6aFlRNFhZNnkydnpMcGszMGpaaHBVeEZsOERJL0ZEbWZucVFab0V0TTBzQkpSMHpxVFhwSkFrTXpJVlJQNFo3SVNTOFVzRHhwZUR4RWxPVVRrdTZVbE9PQ3dHcUw2SkdQaVUyWTBkbEkzL3l0WXUrYkNwWHBIUG1GWUIzQVJEQzBuc3kza1RnWVNTbzZVQnhJTWVtTlFjNysyVGZVNDRPZzNFVXplQ2FBcUJ0QUc5aVVBeUlya3hPcExUUWhvZUMxUy9SSHhUNVVuS1hkSHViYk1oQVJmZk81M3F0Zlk1MHhacm4xWlRnTEh4NXlCWklpUXBEMG5yVGRLcHhJUEtUQWxvZmNhSDdIMHFISjBPMG1tYlFSeXdpWVBrdjhHQTVCUUdKYWViNWVpQkNZRDd1SHVVaXlLWXRFbmVOQml5Q2FWa1NjTXdLMTJqYlplQzhMTkFZTnBPQTZiTlZJU0Vab09nckJHVXBZNDNFVWlXMDRnSC9XRkszUkErSi9JdzNsd2FXQVJtZ1hUNlpwQVFTTVNiQ0NTRGtxc215eUVrNGRBNG9Qc2xrckwrR2xxQTBDbWxHU2xFYTdSSDFUMnpBZTRaaDJEUmQ1eTJqM2dtN0RLUDYzMGpJT0duMDNsSUFSeWtsandrcmVUUW0rZzJ3UVRRVFJNQWxlUXBjODRDNDVrQ2xrSFpZRG1EUU1vRUNldE5GWkpqZU1reFBpK1FuRGJMWVNrZ0hJb2U1WkVBbEZ2U0EzVG5qYVRFcDl5VUZxOEtDNlhid3R4WkljT0VFQzF3WGw5TU82d0YwUmNMMk40M0dldUkvaFhFRHdnNFNFSXlCMnVMa0ZyemtGakorYk9RNkU1c0Z0dHFDcUM3WjNHektlMmZBbGFCVzhCcTVoYUVsSTNlcElYRVNVNmtMemt0SkZaeWlVWWt4NVVDb3FHa0hFQlkvUkxLS0RmNWJ3anJQQ2FHRkx6QXVRUmFjeGVGUFhwRFJ6TGRJQ1p3bFgrR2hhc2QxbGVlYk52RlJSbFB1Y3J6S09kMXY5QjlJcDhKZXk4RFVmY0YzSUNnMjJ3UWY4NE5DRVNkZVVnZGd6aElueEZJMHpsSTVaTHpaNzJKNmhrQlpCWm5DcUJuUmNVYUdCaTRBNlFUTjRGTmNBNEhDYjNKWW9ZeHlhVldTRzZpb3Fya2RDR041S3Z2OGcwdm1tY2tibE9pUU9pQlh0WTNGaGgzZks0YmxnK3lkV1cwTEw2TWRvMER4alVHR0pjb3RsTXBjbG9KSXNjbElPNGRVbmxBMFAwYkh0S2Npa2xLWjk2Yk9nWVpsaHp4cHJaQldFa24zaWNURWxNQVBTWDdsZzI3enVHbm5BcldzM0pZU05henRvS1Z2dVNxeTNJVFhwRGxSbFJVMzFWN1RGejdSTnBQMjdFMDNOWmxlOS8yUEtTZTNKQ0FoY1JPVW5oSVdtK3FSbktVN1hKbzY3VmhwNG1iTzY2UFFyekkxVDhISkpNeXdXYk85Z3BJck9TeVdNbEpkZU9TVm5LKzJpeFhXWEpWTjd3VjFiZDJMeWN4MEdQU2JldEtkTnE2WkVqQVFqSXdTZUhHVGQ4WWxaeW80NHh5eVRFZGdzRVNkdzBiZDUrTE5CWFFmbTE3WU0vaG44RnljQnBZenR3RzFnVFM3RzFnbzRVVWxGME95V0NXMDVZQ2s1UXZMQVhZdUdTa3gxUzFyWXVRWkJXUTJFbUtZOFVrcFJLa0twS2JWUzQ1Tmk1MUNBSzZkd1RNanprQ3hjVnFQMU9ubDkvcU50bFhLUEtBR1pvT1ZuTjJnUFhjSFJ3a1E1SkRTQldTU3kvUGN2clZONEZFdldERHE5dGpxdFRXN2NlMWRRMUxicUVSeWZIRHkyNDZrdU1oMFhZcm9HL0FOaWdvVkQvRCt1OHpVL3NuWGZtZUxndUlUQ1o4RnUwRDBhaU5ZRFYzSjFoL3M2T3k1SUk0eVVrRDlVb0JmejR1K1pHNFZEWExHWldjVG85Sk1yZzZ5UzJ2SWprSks3blFDc24xMUpmY25ITEpDZTBXZyszWVRYRG0vQzI4VDgxWnNvTXd0WDlTRDhFYzB2VWkwa3Z4bnI4SGhLTXl3R29lZ2JTVGc0VGVWQkdYc25YaUVwRmNScVVzUit0WDM2YjJtTmk0dExZcUpHT1MwOFlsQjIxY3FwcmxoRDJYUXFlUkcrRDREemY0Mlh6SjlKY3F3TlRxVXBrMm0ya3R2MEFGQVN2M1k4RzNBU3hubzl3SUtBT1NzeWpQY3J6a2pHNTRrNnBtT2QwTnI2N2todXBJVGh1WFdNbXQxSkhjVWgzSkxVSlFoaVhIMkllRGcwOFduUHpwcHZiZThsOTZGRVVtbEJpTE12V0hmc1dZMlZZcVRvRE5pQXlFa01ONTAxd2prcXV1K2piWVkwbzAybVBTYmV0V0tRVThqSlFDZXBJVDlWNklOVlEwcTRTTFZ3cTA5L1FVbmNIN2xmWTI1RkFCbVdrWkdobm5IcjBDam41YlFEUnVNd1p2bmJpa0s3a2dJNUw3V2pmTEtTdjFtR3BDY2hJRFdVN29GQTV0QmlYRDJyU1RvRkpwZEU5MnBCdWQ3WnNZc0IzNWFXVVZTRVJ5eStSNTBONTdFMGg4czZ0bXVabGJkYXB2QTFuT3ozQ1dvMDFvNjVhWEFwVWtGMVloT1RmT204U3U0V0RSTHdFbWhPN2xnM0dsZXpoVlVGRFE1TFdubGVRd0FiN1lJMk1uTUg2OG1BL0JFWWVnRFdZNWlVOG1XQVVUVDZwR2NsUDFzcHl2WHBaN1lmVWRyVk45VjVXY0JFc0JzVHYrRE1FTW03MEx2anQ4R1ZUcUtzZUZMNVdXbGxyVldDdUJuSjVBZDd4ZjNWRVZvdXVWV0RQMThNa0dNV1k3Qy85c0xDcHpqR2M1UXh0ZXZSNVRsVkpBWjhPckx6bnhnQWpjeDhWQU82OFVtTExpZXpodzRocDcyTlBBdFo0aVE4VWFiMFNSMHhSa2pQdWljOGkzVVhyZllRVWV1T29BZEVkWVZ0NGJRZXF6R1N5blpvRmxZSFViWHNOWmpqYlMreFo2b1ExQ0c3QU9Pb3hNZzFIemRrUFMxck53OVVZUllObzJjdFpJcytXMVpmV0NTU1hGWjdlbnBoemFKdlhUd2Y5Y2d6V3BKMkZzeUY3b05qRVRMRWFrZzJUMEJnendhSlBRaTN3UmtKOTJINWZHVFZJbWthNEFRaHFQM3VTTmt2c1NiWmdjbUNGeXpHUkowSFo0R25nR2JZZVF1S093N2Z1TCtpZEpETmtEY3RJMVAvOHQvTGNoUDRnYmlxQ3V2T3dwZDJMa1prZ1dWT1NjeFNCL0hHYXNQb2hCTkJlR3o5a05nMmJ1aElGQk8vRG1kNEJYOEM0WXMyQVBLNWVRK0tNUXQrazA1Q0FNY2pDaVdHWHl2eUNRRTJxNzNzQmhLZE1PTVpIakpYZ0J0MThGbENFak1ZUEl3NGhFWHNhSWgrZmg5ZlY5clRSZVE3UHZGaGowQXZqNDlMeW1ZTDBHbU4zazJCNDVBUG91VFhlSjlPcVNnd0xrbUFudlZXVnZDY29UbFBzWnRBWGtTSi9adTc1STdYVC8vdjNHcVB2ZTVBUTdYdmdSL3FUcWt4b0NRdjVmNHpaMzhKTTk5Tm51clFUZk55MUR0RzVrMzBNT1ZxRmxjT0EwVi9uRGw0OTA1RWxrOHI5OFovTThQbmNmOFVvRU1vY2NBU1pBeVBscXM5cFZ1MnBYN2FwZHRhdDIxYTdhOVViWGZ3RnZVRUVINFlhcWxBQUFBQUJKUlU1RXJrSmdnZz09In0sInN0YXR1c1JlcG9ydHMiOlt7InN0YXR1cyI6IkZJRE9fQ0VSVElGSUVEX0wxIiwiZWZmZWN0aXZlRGF0ZSI6IjIwMjEtMDItMDQiLCJjZXJ0aWZpY2F0aW9uRGVzY3JpcHRvciI6IkV6ZmluZ2VyIEZJRE8gVTJGIiwiY2VydGlmaWNhdGVOdW1iZXIiOiJVMkYxMDAwMjAyMTAyMDQwMDEiLCJjZXJ0aWZpY2F0aW9uUG9saWN5VmVyc2lvbiI6IjEuMiIsImNlcnRpZmljYXRpb25SZXF1aXJlbWVudHNWZXJzaW9uIjoiMS4zIn0seyJzdGF0dXMiOiJGSURPX0NFUlRJRklFRCIsImVmZmVjdGl2ZURhdGUiOiIyMDIxLTAyLTA0In1dLCJ0aW1lT2ZMYXN0U3RhdHVzQ2hhbmdlIjoiMjAyMS0wOC0wNSJ9LHsiYXR0ZXN0YXRpb25DZXJ0aWZpY2F0ZUtleUlkZW50aWZpZXJzIjpbImE3YzY1YWM5NDRlOGQ1MTQ2ZjVjYmViNWZjMzI4OTMxOTA4YTUzNTIiXSwibWV0YWRhdGFTdGF0ZW1lbnQiOnsibGVnYWxIZWFkZXIiOiJodHRwczovL2ZpZG9hbGxpYW5jZS5vcmcvbWV0YWRhdGEvbWV0YWRhdGEtc3RhdGVtZW50LWxlZ2FsLWhlYWRlci8iLCJhdHRlc3RhdGlvbkNlcnRpZmljYXRlS2V5SWRlbnRpZmllcnMiOlsiYTdjNjVhYzk0NGU4ZDUxNDZmNWNiZWI1ZmMzMjg5MzE5MDhhNTM1MiJdLCJkZXNjcmlwdGlvbiI6IktPTkFJIFNlY3AyNTZSMSBDb25mb3JtYW5jZSBUZXN0aW5nIFUyRiBBdXRoZW50aWNhdG9yIiwiYXV0aGVudGljYXRvclZlcnNpb24iOjIsInByb3RvY29sRmFtaWx5IjoidTJmIiwic2NoZW1hIjozLCJ1cHYiOlt7Im1ham9yIjoxLCJtaW5vciI6MX1dLCJhdXRoZW50aWNhdGlvbkFsZ29yaXRobXMiOlsic2VjcDI1NnIxX2VjZHNhX3NoYTI1Nl9yYXciXSwicHVibGljS2V5QWxnQW5kRW5jb2RpbmdzIjpbImVjY194OTYyX3JhdyJdLCJhdHRlc3RhdGlvblR5cGVzIjpbImJhc2ljX2Z1bGwiXSwidXNlclZlcmlmaWNhdGlvbkRldGFpbHMiOltbeyJ1c2VyVmVyaWZpY2F0aW9uTWV0aG9kIjoicHJlc2VuY2VfaW50ZXJuYWwifV1dLCJrZXlQcm90ZWN0aW9uIjpbImhhcmR3YXJlIiwic2VjdXJlX2VsZW1lbnQiLCJyZW1vdGVfaGFuZGxlIl0sIm1hdGNoZXJQcm90ZWN0aW9uIjpbIm9uX2NoaXAiXSwiY3J5cHRvU3RyZW5ndGgiOjEyOCwiYXR0YWNobWVudEhpbnQiOlsiZXh0ZXJuYWwiLCJ3aXJlZCIsIndpcmVsZXNzIiwibmZjIl0sInRjRGlzcGxheSI6W10sImF0dGVzdGF0aW9uUm9vdENlcnRpZmljYXRlcyI6WyJNSUlCa3pDQ0FUaWdBd0lCQWdJQkFUQUtCZ2dxaGtqT1BRUURBakJBTVFzd0NRWURWUVFHRXdKTFVqRU5NQXNHQTFVRUNoTUVTMjl1WVRFUU1BNEdBMVVFQ3hNSFVISnBkbUYwWlRFUU1BNEdBMVVFQXhNSFMyOXVZVVZEUXpBZUZ3MHhOakExTVRrd016VTJNREJhRncweU5qQTFNVGt3TXpVMk1EQmFNRUF4Q3pBSkJnTlZCQVlUQWt0U01RMHdDd1lEVlFRS0V3UkxiMjVoTVJBd0RnWURWUVFMRXdkUWNtbDJZWFJsTVJBd0RnWURWUVFERXdkTGIyNWhSVU5ETUZrd0V3WUhLb1pJemowQ0FRWUlLb1pJemowREFRY0RRZ0FFZU1VZUUrcGRxU1BqL29yWFV4bS9qNWMrRHMrNlF5ZVlsL3NWeEwzRG5HcUh6TnhQV3RqZExZT085TXNmQUIzcEFTcVliSlhLLy9iRlYyTFA1UUtKbnFNak1DRXdEd1lEVlIwVEFRSC9CQVV3QXdFQi96QU9CZ05WSFE4QkFmOEVCQU1DQVFZd0NnWUlLb1pJemowRUF3SURTUUF3UmdJaEFNNUZLQlhYMkdySUtmZlJXaTdOYXZwb1U1OUdpckppVnhYRUJlcktQMmJ0QWlFQTZJY0JSQ09LQzBlSUNiOWp5S2J3YVFwMmQ0YyttNnQvYjNEclljL0JzSUE9Il0sImljb24iOiJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQVNNQUFBQXdDQVlBQUFCYUZSeXNBQUFBQVhOU1IwSUFyczRjNlFBQUFBUm5RVTFCQUFDeGp3djhZUVVBQUFBSmNFaFpjd0FBRW5RQUFCSjBBZDVtSDNnQUFFRzJTVVJCVkhoZTdYMEhlSnhubGE3YXFCZVhWRUxZd0ExMUx5eGtsMlhoaGtBb0NRVENMcnRQbHVmQ2hjdmVKZHdBUzlnc3NQQXNnWkRFWGJaNmNTOUpYT01TSjI2SjQ3ajNKbHUydWpUU1NKclJqRVpsZWxFNTkzM1BQNzg4Vm15TkYrYythK2ZSZWZUcEwvUC8zM2UrY3Q3dm5QT1ZQMGttYVpKdVlocU9oYVpXbTd5MjYwM1p1SFc3ck4zeXF1emNlMEI2Qm4xanY0ZUhSMlI0ZEVSR2NTNHlFaGNtNlVhaFNUQ2FwSnVhQ0RRbno5VEtzaGZXU0ZGNXRjeXZxSmE1cFJVeXE2aFVpaGN0a1hNWDYyUW85aHlCaUdGa2hIZEdZc2RKdWxGb0Vvd202YVltaDJ0QUZxOTRVWjZkTlUvQnFMQzhTb3FxRnNuOHFvVXl1N1JjbHE1Y0phNytBUVdqb1pIaHk4Qm9hQ2pDS0NicEJxRkpNSnFrbTVvT256Z2pDOHFxcExDa1FpcVhyVFMwb3BJeW1WTldJZk1xcW1UTy9BVlMxOVFzVWFCUU9Cb0JCQ2tjYVJnZWptb2NrM1JqMENRWVRkSk5UV3MzdmlLemk4c1VoTlJFSzY5VXJlajVvaEtaQ3pBcUtpdVg0NmZQWEdhbVhkS0tKbjFHTnhKTmd0RWszZFMwYWZzdUtWbTRSSUdJWnRtQzZrVlN0bXlGekNndWxmazRuMWRVTEllT0hYOGJHRVVpSVQxTzBvMURrMkEwU1RjMW5UaC9VY0dJcHRsTUFCQTFvbm1WMVlabVZMMVFOYVA2NWhZMTB6aWFSak9OUHFQUlVjTFRKQmpkU0RRSlJwTjBVeE9OcldWcjE2dC9pS05uczZBZFVTT2FXVjRoc3lvcTVZVTFhdzBnd25QUllZQVFqaVlRVFk2bTNWaVU1SktveU5DZ1NHZ0E5ZE1uUVJsRUJhT1MwR2tNWDhOZ3c5QkltSDJOQm4ySnRUMkNmOGFBaFVTanJIaURSdmd6ZjQ5Uk9CelZSaExHUDMyTlVlQWtFZ0pQT0k1RW9uby9pS0N4b0djYlJxUUJSQjdDTWNTN3czaHBBUHhmdkNDZTFhdWxhOFpNR1pnMVR3Wm16SmZlWnd2Ris4ZG5KUENIUDRyMzk4K0x0N3hhaHZidmsrR2VEalJNRC9JWmxuWkVHMkQ4dzRockNLcjdTRlFidUovcHhmazNSOEY0ZkRESmp6Z2tncklUajhGTGVBUjMvT0FROGJBTXd1QitlRlQ1RCtBMUdnZDRBM255NEprQlBaY2hsS0cxVlNKSERvdm45VjBTT1hsU1pMQVA4ZUxkY0JqbEVBUlB6RHVJWlJSaDc4NTBXTzVSQ1F6N2tZY1I4ZUtuSUg1VHZ2RndHQ253bHpEUzRuTlJaQXl4NG9jQStBRFB3M3lERVY0OWpGSmdSMkxseklEb3lZZDNOS3JwaFpHVEVOTFJPbUt4YU9FeHYwUGkwcEpGSFlPL0lUenBSUWl3WEdnaXNZcmZBU3hnRkFPQmdHeDQ1UlVwcmE2VytXVmxNcWVvU0lvcksyWGQ1czFvZjFFWkdybzhJZFoxQU85TTBvMUZTYTU3UGlrMnkrM1NuWGFibk11WUxtYy84a2tKUGp0YnBMa0JEWmxOYkdJaUNBWFJ1SWRqTFl1VnJ3aUNFQTVHdE9FTytrTnl0clpPTnI3eW1oU1hWOG1NT1lVeWQwR0psTkRPbjE4c0paVlVweXZseGJYcnhPc0xHTUpPUU1PZmh6RWc2bUZQQ055TWFzTWZIZ1g0ZExXSUZDOFYvOE5mbGd0MzNTYTFtY25TbVpVa0E1bEo0azVOa3E2a0pIR21KVWtuanJic0pHbktUWko2WERmanVqMDNSM28rOVZFSmZQZHJJbXRlZzRRNmtGNVFoa04rQlF1Zkh4Q0JOQUV2bDlHVndHZ0VVdFgvekJ5cCs3dHZ5OG12ZkUzT2YrUGJNcnBxRVRMdGtsNCtZR1JEUEZIa0M4SW9vVUVaM3J4UnZJOC9LWUg3dnlYdG1YblNuWjRsOXBSVWNTYURWL0RYUnA3ejg2UWhPMWQ2LytKaDZYM2lTWEcvc2xvQ1hSZFF3T0JxQ0tDQVB3V3lHQVhEQ3MxR1lpRURPQlRLOWFFd2ZzT0pENWs2VmllMUtYZEllMDZCT0pKenhJWjBKd3AyUzVaMEpLVkxhMHE2WEVpeHlQbjhBbW4reUwzaWZPanpJbzkvRDNWUUtXS3RSM3A5RVBvWUlMTXBCUEZQT3pQeWdqWUJVSXVnRE5pWktKRlBodXNrZjlob1k1elUyTjdWTFNmT25KV2FDeGZGN3VwVk5saFgydEdBQ09BbXhkZmhKTjBZbE5SWGtJTEdsaVRkQ0lNSW9hUk1hVWtxa05wdi9TMEV2aWIyMk5XSllFUWdpcS9jSVFwTGpHd3V0Mng3OHkwcGhRbzlqOE90c1ZCWVhta2NLNnRrTm16OWVlVmxzdXV0dDdSaE1TWUZOY1N0V2xBSXZWaVVjVWJGMzM1Uk9uNzBVMm1ZY3JjY3UzV0t0RU5nMjlQU3BDY3RWWHJBdnhPQllFUWc2c0t4Q2RjVWNHZFNzdlFucGVHWXBzTGVpR0ROVEpkakdablM4ZUg3UkZhdVFuS0FYNjhQd21QSXNHcUljV1FDVVh5ZzVQVi85cHZTaS9qNlVwTEVqbVBidEtsaWYrSm4rQ21nR2xZVVIrbnJFbGZoYkRsODcwZWxMVzg2K0FNQTRWa1BBdDlWOEV4UEVnZkF0QnU4dTlMUzhYdXlIQVNJMnNDbkU0RFFYSENYMlA3bFh5UmNlMXJMaVhGRGVUUUtqS3d5cVBaaWxEL3huQStPUXJzYVZXVEF3MGYyU0RQU2RpQzlLSUlMUEU4VU9zQ0xEVWQzUm9xNDhUemZNOG81VFR3V0FGTnF2alNtVEpYYWozOUt1a3BtaWpnQlRPZzJ5SjhUL05CRVV2eGhnUklNY2M3ZkdFYUcrUC82aWRXZ1ZSRWp0ci80YTVNdTFabEI4ZUEwU2YvMWxGU0wzcmdoQjFyRE5BZ1Jqa09aK1NxNHB6T25pVHo5bTloakU5R2xDbVUxeHpSNVBYcDlJVm4xOGthWlUxWXV6eGJPVitDWlgxVU4rNzVTNXNLbW4xbGNJbk1xeW5DdlVsNC9lRUQ2Z2o2Vkp6OTZlWUljRFJOZWovTC9zRnZjcFVYUy9kNVBpQTNDZkNIZm9zSnNoNURZa0lkT0NFeTNCWUlENFduQmVUT0FxRGtEV3RBVUNMVWxWZnJ3YkQveTVRVDRkR1ZuYXE5UEFHWndaV1pKRGJTRU13ODhMSEwycEVSRC9VaDFSUHdCNmttWFV6d1FNVVNoUy9tLy9LajRFRTh2MGcyUUQ1eGZ5Snd1c21RRnRDdVBqTHk2UmJydi9ReUVPVjM2a3BPbERocGNNOHE3QVR5MlFXdHJBQWpWZ3U4NkhKc0JSdFowYUhtcDVDOFZuWU1CVU5UcTJuSGVqODdDOFlHL0VuZEpLYmloK1FYUlo1bnpoSVVGazQ5YWtJbzUva0dIVkROUFlGYkJZSkdPTjE2VHhsdmVKeTFNRy9FMXBhVk1HTnBRaG8zVTJNQkRGODVadmwzcHFkS1dtaXl0eUVzYnlyOFo5NmpadFNOL1p6LzA1OUs5Rk5wU0ZGQUpmbWpLK1dtL2tUY0Q0ZlVRR0kzSUtQbTZUaG9aUWt0QjBJSkFpSWFSVU94OEtES3NkUlFQT2p4bm9MWmtkSGlUZEtOUUV0WHdkZ2lwTlNkRHprQ1FMcUtCdXBNczBtWEpsTmE3NzRnOU5nR3hBY1FxbFFBVWlRNnJJRGo3UGJKMjR4YVpBdzFvWmttWnp2a29yRnFvRGtZR1h2TzNPV1dsc21QZlhobEV3MlI3amFKWEQrR2NZRVRmUW9EdGFOZ25Bei8vaGJTQ04yb1E3UkFNYWtDZWxFeHhRYWdvL0ZiZUIvL3RGZ2dJN25VZ2RBS2NLSEN0RVA1V2FJQnRCQ3RjczNlM0o2ZUxOU3RIZ2lrcGNoN1hQWGcraUh5Zm5uS2JoTmF1aEJUM0dnSjlCWW9ISTNUMzB2emdnd29pRFV3ZmNRM2s1SW9qTFVjaTkzOUpJcVd6NVBoZGR3TU1rMlVVdjNWQnNDL21HUURVajdUSmV5L3VEU1pEMDRDMjRZVkFEeVpuaUF2bmpxUVU1RFBGTURVUmR4ODZpMTRBd2psY1g3enpkb2s4OWc5SW5yNG5BM1RvZTZPbzB6TkRIeE1WSVEyb0dHcDVmdWJvOUJua04xMWNXUm5TbXAyc0lESlJNTFdoYnZESXZCR0VPdmt1QUtrMXc2S0E2Z0J2YmdScWVLeVhscFJwNHZqWno4RktKM2daa1g0RWdwSlJ3ZFNieUNYNGV5Y2N5S2lDMnZQMWN1amdNZG0zOTVDY09sa2pYWjA5NGhtRU5zcnFBUkY0NHYxR1JyMU4wbzFHU2MyNTZkS0JodWEwd0Z5RFFMVkJTTG9wekdoY3JUQVJFbExNdDZPcU1TNHBEejE5ZzdKeDIwNlpNYjlZSjZCeElocUhYaGs0NnNHNUlJV1YxVHBMZHMvQmcrS0JHY2IzUWtQMGNwaWpITEV3NGhIdmQzOENRY2dRTy9qemdDYzIrQTZFbnBSY0ZZQkJtREhkbG5ScFNjdUE2VlVndHF5cDZNWHo4WTVGaFp3Q1R5QmpJRmgxNWtLWWNpMVNBM0N5cGxyVVYwT3RrTC9UYk9xMzNDWEJaU3NnTUFERk1kQjVPK245cUUvcVB2ZDVBSjVGL05uVFljTEFiSUgyVllkNG5PKzVCVUFDRGE0Z1YyckJlMGMrZ0FwZ1FpMHRBZzNIbndUUVNrNkZScFV1N3VSTVBKc0NVQVdZUWlPaGxsU0h2RFlnMzg3c1BLMGZnZ0hycFJ2Z1NxQWxRRG5uellGMGU5Vy9aYmhrb3dEd2ZnT01vSUlFd1NMTGxzNWpoUzJ2VGR5Zi9iVFVJNjRCOHNnNEpnamRBRVU3ZUhPa1owdDdNdmdEYjdhMFpKanloajh1Q0o0ZDZlQVhQRGxRamlQUVFxbVpIcm5yRmhuNDNuZEVYRTR0UnlkcVZ1RUFtaEh4a2RyUk8rSEI5a01UV3JoMGhTd29yWkNLaFV2ME9MdXdTRjVjdTBGYzZCQk51cElqZXhLVWJpeEtvbUFMR3B3ZlJ3cTRDNDE4QUdaQ054cFVQYzRURXVzM1ZxZlVqS2dSRVlpZUxWeWdRNnl6aXlwa2Z2a2lEWVZsQUthU0twbFJXQ3JsaTFmSzFsMXZqUTIza29haWFLTDBkN0NSUm8yUkxmblJEK1hJbmROZ0N0RG5ZMmhCenR3MDlmazA1dVJJRTRUMlluYXFuTDJsUURydSt3c1plUGdoY1g3aEM5TDcrZnZGOTRVSHhQUEE1NlQ3eis2Qk5wVWpIUkNhRmdJdUFJRTlQazJyamhTTHRHYW1TU2RNRFRlRTM0TWVuNzZ6bG1udms1RTlMMm12U3JYK3FnM1hIeEQ3VjcraFppS0Z1d2ZnMDV5ZERoQUJmK0N0UGNlaXdPUkdXZllpRFRyUU84QzNOV3M2QUdHS05BTDRhWUkxUUpndmdMY1c4TkNKME1YNGNFM05pRnBmSFFTOUFYeTM0UjVCU2YxTkFJZTY2WGVLYkhwWkFVZjl4V0dLdVY4MUlVNHk3c1lWOVNSa0lsWlAwRXMycjVYYSt6NGkzb3pieEVwQW5pQzBBelM3b1VHMlphVEpCYVRKenNwT01BUS9YcGlZZFh5R29BVXdyOFYxRFRzelhBK0NiMTlTanZpZm00OWV4aTE5Z0I4RklQNUQ5UnF3Y0RrNC9DbEV6WmxyMFRnRG0rdlNHRGp2aUxPeUt3QlNQVDA5c1NlUjJqanRhTkpuZEdOUmtnMk5pWUxZQkVHdG40WWVITUxKeHU5Sm5RSUJ5NHc5TmdHaFBqbHFScUtQaUthWmFrUUFJcHBpODB1cnBZaGdGRHVhWWRlZWcyTk5rYjNXQ0VkY0NFUTArYWdaUmNMU1ZITldiQkRBRnZCSDhIR2xacUdSNTZod1g1eVNLWU9mL0cvU3ZlRWxFV3N6R2p5RURHZzRORHlxSXlzcWVJaUxROWs2VEQ4TUtUaDFTdHcvLzVYVXZPZkRBSUo4Y2FWUFZ6T09tZ2lkNEFRNkI3U2FJMU5TNWRTMGRKRnBkMmdESmlCZFZUdEM2SHpvVWJIR3dFTkh3eUNRL2RRdWNkNUFyUk5tVFYrcUVYOUxta1U2UHZGUjhUNytQZkUvLzBzWitjTk1DVHo5UE01bjYvUUQzMCtmQXBBK0pNMVp0OEFraFZhRi9EY2kxQ1B1cnN4TUNIaWVCQkNjQ0UxcHVVSk5ydmwvZmsvRUF5MkF6UFQ1VUg1QkNRd2IycWFFVVo0UkdFbFJtRW9ENkN4NEQzbmkwTDYvdmxIOCs0OU1IQTRka0pFakJ5VzhkWk40aXVkTDlMZS9GZCtqMzVhR1crK0dXWnF2QXdYVWt0cVI1eTZjMjVIdmJuUm1yVERuMmpPelpHL0J2YkNqVHFJT2ZCTGhGQUdxYjJndVJ0MWZQeGdRMnpqejJ0UzRlVjYwY1BIWXZmMzc5MHNvWlBqK3pGRzFTYm94S2FtVFBvQUpRcUo1UkJ6TllSVzdQUUhkUjRZbUdYMURNOHJLeHdKbnhMS0J6SmhmSlBPS1NtWC9nVU1HZ0NFYXpuaGhsT0xudkptbytCR1p6bGNaNkpiK2U5RnpReEJ0ME55NjhxQk5vTkdQSU5EMGFmelYwMmlKRUx3RTFCUHJrUmtsNWNCUHBudHNFbng2dGh4TnVndG1YcklNMEV3RG1OQ1pYSXY0TzdMeU5TMk9Hc2tUdjhIN2JpTy80STFLRzZjWFNBVENSUzFqTkNJRER6Nml3a2lmRkVlOWFNb1E0TzBweWRJNHpmQnoxZWZjSytlZStxVU1kYlF6QXZYczZ1d2NMVWVPZFJsenAzVG9tejE0dTBQT0xGMG5wOTczRVdoY1UxV1RPNmNDbndZQW9wOFA4U09ORHQ1TFNSUFpzUllSUllXdWQ4UFJGbFVUTFJFUlkzWFVqYS9nU05DbG81dDE0U09qcUg4WnBwZUhUTWZPcWNHNkI2Ump4eDVwdm0ySzh0YkJ3UThjcVQwMVoyVXJRQTJtcEFCTU02WC9tMTlIakM1VmRIVytJWjNwQUV6TiszVVNvMWhRaGphSGRxY2p0UUFndWdBS0t4YkpuUEpxV2ZFaXROdlljOHltVVNTbUs0Q1pucGhNYmNvOHhuZEtWN28zdnRNeTB6RVc1VEk5STVqTFVjem50ZHhqdnRkNE1yVTNwaFdmM3J0UnEwc0lSZ1NoUlBPSXJEYUhiSHAxaDZyS25KSlBqWWhPNnNKRml4V0k2S2ltMlZZRWtOcDc4SWo0L0d6Y1JoeWNIS2d4QTV0Q0twSXNiTWpUcWhYU0FIRGcwTExMa2l1TkFJc3VDRHQ5Uks3N1BpZHk5aHllTlhpYWlDaGFzQVdOTGhUMVovU1JTTCt6VldUZFdxbTVmUnFFQ1QwNVRBOGRNVXJOa1Bvc2FHREo2V3B1MkQ3MjF3QUdMclJrWTlBSURjQ0FaQmtBRFIwakJrWXRDRzhESS9EcmVOK0hSRW9YaTlpUjVpZ1lZWnREWFBTbGFBRnFPYkFJUmlSRURRNm1xNFFRbklPcVZYUi84U0dZWlJuaXpjelFBWWFXWEpoT3VkQzJjRTR0aE5xZDZ4ZFBnS2RRYkZJak93OWp3bWdpZ3Q2SHVvMUFLYVVwUjVVRmdUd014UUt5U0VVVFowWmdsaG53bUxpUmtiWVdxWHYwTVlCUGxqUkQrMnZPenhFWHlvQW1jRmNCMmhES3R1VVRINWVoZ1VZamszd1hZS1Qxd3J4Zkp6SEtpY0NvRW0yUXlVU0F1Q3dQbzB6TVREQmNHNWxBUUJBWWI3YnpQQkpoZ1Z4T1lUV1o0OU82VWtoTTQ5T0tQNzZiNkpyQWFLSjVSTlNJQ0VTekNvdGw1b0lTMVlDb0xuT2hvcTZheGpXQmlBM2xMUUJSSURhcmVvd1FONmNEc2xVRlZVcEJROFBTL3JYSFZFdWhodUt3WktnUGhxTkpOSHM4YzJhZ0lVZDFCQ2tob2VFTFozUVQvOUEyd2hIT1hXSUk0dElqdlRPZWtxN2tYS21EZWRHVGxpeWV0R3lwc1NUREhFeFZzK01NdExCb2VSRWd4NjhLaC9MTzdNZEFKQkVZY1pxRTQ1Ly9TYVRYaHZSODRodUJmb2E4OG5WTzR6UUxnK3VtNkQyTEFBQkdZS0lxSUVFQXlLYzBuWlg2RDM5TVI3VUdDM0xrRkhodEJRZ05KQ1B1MUJScEJtaGVlUCtIa2NjQmRXUXpjczYrdnFhMnptZkFBL25oUE1VUXppbFdPRFdBQjNYQ0RpT0U0RWZ3Z0Ivdk1EVlMxaFVDeStSOExUU2k2UkxJdmxNY3ljWThMbllhOUk5UnU2ekpMeEQzcmcxR3BKb2VJWkNtT2M2dmt4amxSR0Mwb0xSTWdlaFBCYU1yYVNza3lnUERlQTJGOXk2ZjNYMHBMZTRVUUEzcDBpSmQ0OTM0T0pqZWVMZUFhV2FTVE5DTC8vM2RRa2tja1prb21BVkdZdlpOZHd5UDZpT2lhVWFOQ0VDMG9IS2gwUkFRT0hJMm82aEVUYk1GdU41ejRMQjRBc1prT0hQQm9oWW9JdUxTQWlZVFZMOFJIbWhwRUZ2Mis5VlpTeDdvZSttQTBQVURKQzZrWjh2bzJjUHFCK3EveE5wVmlZSVVabyt2VENQZ2RDZ3lDcEVhaFJhQkc1NG1zWC82ODlLY25DSk9nSkVMYVhGK0RkUGxhQkpIakJ6M2Z3WEM3WVJBeGdRMDF1SFI3SmdZaktDeHBFMFYzNVkxS3NnRENMNWh4SUozS2M0eEdOYXl2T1RQTUV4aWltc0U1ZUtFRUhFbWZIaFZ0VFNrWnFtVG5KTVI2WnRxeWJSQTJGT2tCYWFzTlNsYnBLdlZZQTJSMHVSVFNVMUVSRmptZzhualZCbmlNVlpXR2dmc1pnb01UNDB3cW5Wb21KZCs1S3RiN0QvOGpvSVFoL25Qb2h3NFN0aWZtcTJnM2dBenN2czVtTlZSYWhXSUFBSkh6Y2pNOGZYUXRZQVIwMkZnMWpUQVZyeTBXSFppNHZPY3JtSytHd29ibldsOFlIa0hRd0FhNUczOC9ZaU9FTE1JT1dXRkxnOFdyd0dNM095TkZBOUc1amxsUXdQTytSemY1N2s1NEdQSzBMdUpFb01SOG12MkRpenM4Zk9JNkNPaWFVWU5pTnM0Y0x0UEhnbE1QTkpIUk5PTUdoSGZDNFNDV3JoR2dhSXA0WStycDdnR2loTnloNEkrNlZ1K1dMV0FEZ2laZytZVHpudlNLSGpRakRKdlJZdm80L0lzbzRVbElBbzJtd0NCUkI5bjZ6V0ZESEdNQWhaR3lzdkZsbFlBTGNOSXk1MldKazFUTTdSM0R3QUVtMUtueVhCSERlS2hkb0FYV1J4c005cHVKZ2FqK3RTcElvNFduV2REWlVlZDlQaFRyUTRtRzUzdFkwMHFka0krMVdUamcyQzhnM2Q4TnJGKzVqT0lIendoREtTbVNsMTZtbW9pclNnbkR6UzQ0ZDNiTlZ1NmtSZ2o0a1VDQ29FeitxN29KUXFOK0NRQ3JXZDBsQm9iTWttMDVZSTIrb2dpNkVnaU9wLzg4Z0NUTHV5ekFpeEx4QXRBN0VNWjBKL0ZDYWJuTE9rQXoxUnhwbHJFL28vL2lNUUN4b3hzYU5ZanlMdE9QN2hPWWhZbkFxUGk4Z290VHdZbXJVQUFFTHJXVmZ2NkR2N3hHQTg0VWVUQkRPYTllRERpcytZNWc5bm1HVXd3SXJERTAvajFjcW9oNGNoQXVUSFArWjRKVHU4bVNtaW1tVFZ4dFhsRWRGYlRIRFBuRGlrUWxWWEpuQVdsVWx5eFVKM1Y5QkhwdXloQW8xSVlseEg0eHpWYjlGdndQSW9HMy9tRC82MGFBR2Y4VXNqdDZQMDU2WTRha3JYZ3p4QVI5QXJLZ2twY0FpTHdnR21tejlNbzY5OE1pRU1WWUVlYjFPYmNab3ltWmFmb3NQbjVhUlpqMWpiU3BUOUV0bTVSUHRXVVJLdmpURi9HT1RFWWNiYjFGT1NyVDVNVER6TElGaHNlTmlZQjRoeFdveFl4aVl1SzZXZGdHWVVBemlxc2tIL0Q5Qm9RMTQ5L0pQYUNQT1d2RjNWRC94WURuZTkwSXJ1SzUrbWtVYU5NamZ3bUpETEdCMk5sUWhsbHpnaUVYa2FFUDQwTVFTMUgvTTQyUUZCaG9BWEJDWXl1WTIrSkwvVWU1WU1hWlc5bWlwem5TQzJ1UFp4Ti9zbFA0d1YxaVdzRUJMeUlWdUwxRWRtZUNJeTRoUWo1WldBMmpGYk1USmxoWWpwMjZxelk3TTZ4T0JnR2ZFRTVjT1M0bkQ1M1FZTFE5bmlQOWNqMWwxdGUyeUhyTjcwaU85N1lJeGNhbXZFN2RkeEw3NTZxT2FmQnRCSk1JaEFkTzNaTWZENTJCdVNSWldRc3NHN3Y2Z1FmSnhGZi9XVnhtUzN3M1VLSndZaTFIY3N6NVdqOFBDS09sdEZaVFI4UlRUTnFSQVNpQlNXVnNtM25tMlBEL2lSVDdTUUlCWWU0c05Qb1ZkQ1A0QndKb1lTSGNXNzcySDA2Tk40Tk00M0xGbHdBSXh1T0RWbkowdi9CVDh0d2xDdmE4VmJrR3J4R3BxQ3g5cEE0Qlp6QkJFS3VKS0RFTjl6L2VaMGw3U2hJa3pvSTAwVUFpeHRnd3FIcXBnd0F5ci9OUkJ3ZVBFa0JncFlYNXFvNTBzUmdaRS9QeHpNdUF6ZkJnMDc5ZzYxSEZ4WUZuOG5UajBWQU1udGdKWjR3Z1A5ZVA4QjMxQzhqaXl2bFZFcUtER1FiODZ5Nm9DMjJwV2ZGVERZQTU5Ty9BMmVJMzJEUkFMRUV4R2NHNmVCWGRDRnZnQXVBQm44WkdYVXIzOVJDV1h6eGdYblgvSTk2OE13QW1HeVd3M20zcTluWUJtMlc4NmM0azV6MXg0NmxmZXFkeUNETEQ4UUlSdW1GVW1pNkxpSVAxMnFtbVYyZ0FVSm1tSmptb01QZHRtdTN6bTVuSEo1QVdONTRhNzhzV2ZHQ0hENStTdTk1MGNaMzduNUxxcGNzbDBYTFZzcmk1YXRrNmNvWGRmSDN2a09IOGJ1eGlKbGg5Zm9ONmxUZmYvaUlYcHRrdDl0bDBhSkYwdFhWZFptUGlJQ3orZFd0aUcrRnZMaDJEZExYZWZRYWRLckV1NGl1UVROQys1eGdIaEhCaUtObWVsNVVvcG9STlNJQ0VhdGQvK2tKRGtSNk9zTVJLWUdJbTNWb3NZOVF4R2tLQUdCR2ZUQTdwb3VOd3MxR25KVUdNRXFXanN4a09abVhKTVAzZngyUEFZU0MzT3drc2JnUnJsUm9XRy9xOXpDY3NkUTdPSjlwQkF4NGNXZDA1dThsbkdJNHltdW1RZ3NESU5rdHlUckNWZ1B0SnZEQTk4SGZJSVFKbWd0NHBENmdUdUlFWU9STnlrRGEzY29IdVZVd0MwTHJBQUFZd215QWtkbkFWRXRpNEJvclBvQWJMUDIrU0svSXZwMXlNVE5QdFkrTDBEbzRlNzR4TFYxYzBON09UWWRKL2N3ZnRGeFpsT0lkTm5ZTlNFVDJjeks0YnJGWW4zeEMyajcvSmJrSVFHbE95Z1FRNXdCWTBzU09Eb0F6MDNYK0VJNE12YkZ6VGxuZ290dUdsRnkwcER2a2JKWXhBa2x6dXRPU0lxM0pPZEthbDZ6OE5ySWNBRnJjYk1YSWFBZ2xwL3JoZFJHTDZFOEZvMnZaQTVzenVxbnBNQjFxUDNRNWNMZUpWOUFobS9HMmR6bWtyR3FSYk5pOFZZR0o5N2hUeFV2clhwYTVDNHAwQndIOVZCTHViOWk4UldiT25TY1ZDeGZwZmROSFJEQ2FOMitlT0ozT3NaRTdFalhkeWtVTDhUenpVaUl0N1ZZSlJOanlESzNwM1VRSndVakZuWWlCcm56cEM1dmwrZXJsTXJkc2lacGl6NWVXeXJMU0pWSmNCTzJvckV4bUxrUmpXRklwYng3ZEQxTURFa0dmVUNKQ1hZUjBXTm1vV0RsOVdCelFKampSa2VZSWZTUzJ6QXhkakduTlRKWCt2L2tLZUlKdHpYWmsyamZYUTJ3TGFDaSt2ZHVrT1QxYjdEUUhJV3cyQUNBQmtXWFFrWjBwOHFsUG9mcHBwc0hNeER0Yy82V3BKNWhueEhsU2ZGNHpoMmYxd0thTmV5TTBUYStCZEJnY2lZWDM3SldPakhUcGdjQzNwYVVhaTRQSkw4MmgxRFFaZkc0bTRqVG1oV2tDS25kUSt6bkVUQlJBTkM0YzZJd2YycnRXNU11UFNCTUhDWEtONlFFNmR5a2xWV2RVTnlNL2pmbEo2bythS0hUZytiTUFSVGVBeXdWTmlEc2o5RU03dW9EODkyc1pJSDd3WmtVNnpMeGFJQ2dRZGtUdlFPMGxCS1B4WnBxUkppRHBHbjFHWmFYVjh0TGFqWXJ2cHhzYlpYWjV1V3pmdlZ0L0d5VTZnVjUvZmJkVVZTMFVqOGZIL202TXZGNi83cXUwZWRzMjVUT016TCs4ZGF0VUxWMHFSUlVWc3ZybGwvVTVtdWRkWFhhcEJOODJXNWZHTWF5VDdVUnE2dXBrWGttSkFsZFpGVUJ3NjJ1YUIvcXEzb255dTVFb0lSalJHT0hzNkExVks2UjZWb2xxUGIrcktKRzVTeGVpaDRCNU5uT3VWRlF2aFlxNVNrb0xLK1hNb2ROYXg5U0FETTBoQWVGWmRXM2pqMDhQSDkwcjNXbTVPb3ZabFp5bXZXeDdPc3dSQ0J4WHMzdit4OE9Yd09nZHFBMFZEb0NSZjk5MkJTT09CbDBHUnJodTVVamVuWGRCMERrZEFBempqMU1VUjlYR25GZ3ptaGlNMk1RVDA3V0FFUVgrU21DRXZsZmo4RWVRTWx0NWQ2L1lmdlViMll2OHRHUVZ5RUNxUlRVY1cwYXE5S1JuaUFmYUlaZHljQURCbWN5cENha1RCcjdibEpPcXp2NTJTNnBZd1U5UGhrWE9jYTBmekxXcmdWRkUrYngrK2xQQTZEL2p3QzRxcnBBdHIrNlVFeGN1U3VteVpZaTdTaHg5T3B0TEUyZDhHemR0a1JVclg3Z1VQNEpwY2hONHR1N2NLVjUwQ01IaFlkbjQ2cXNLU0NmUG5WT2dPblAybkQ1bmJiY2hyVkxwNm5aY0ZzK20xMTZURmF0WHk0RFBMMXRlMnliTFZyMXdtWFA4M1VTSnpUVGtlSC9OU2RWNEZpNWNMTS9ObVNQUHZiaFlubGxhTGZNWGxNcC9yRnNpODJIUGJsdS9VNkpPVkREK2ZPR1lDbm1ObWhIZ1RvL1VFeUtIM3BTdTFCd1ZZaE9NS0hoV0NEcFg0MGUrOElqNDNrRXdVcG9BaktpZGNmRnFzNFZtQnVGVkdkWno5ZWJlNEdERUdkbUQwU0Z4VUxYdGFwZldQMzlRYkRsM0EzQ3lkVURBUzFPTWVjMUpWMjFHbDkxd2l4VUFTaVBxdnhYM0pncE9BRTRYZ0VaM1UwQmVtM0NQUGlKcVdtdy9OejBZbFZiSmtwVXZTZm1TWmJyOVRYSDFJbW50N05SbFI0eU0vZEhMR3pmTHBzMnZhTnk4YjZaRFFLSlo5dHJPWFdPTzdEVWJYcGFYdDd3aUliU2Q1Uys4S0pYUXFEaGRvTnZlQTNrcWxrNW9TT2E3Z1dCWUFXdmZFY08veEwyOFN3R0dEWTNOK296MmhlOGlTankwRHhPTlRzZUxBWmMwOVhhSXkrMFFhMGVicXBWdW0wc2NFYWNNNGlFT1NwcUJvS0oxZlMybEZhVm80am44RVY5TU1LSm01SUNRRUJ5NHpvbkxIdG9oZUpFSHZnNStmRVlpMTlDWXJva21BQ01YdC9td2NPRXJnWmxnaEl5cG93dEF3anhPQ0VZQXN2OWlNS0o1eGpxSjl0ZEozZjBQQU54emhTdnh1Y2pXRG43dDZlazY0c1dONkRpVmdtWWJGKzV5NWIwck0xdG52VThVdkhpWFdoRjlTSDBFcG14akFiTHVrSkFHb0VNOFZ3YWoyREtnNjZULzcyQ0VPRGloZHlFMG4vTk5MYkw4cFpkazhmSVZ4bzZrK0oyeEVIRG9tQ1l2bkZ4cHBrYy8wZnBObTNVSFUvUGVTK3ZXS3lEeHZMWERKdk5MU3RYSmJiTTcxTC9WWnV2VTN3aFcvQm91d2FpNVF5ZDM2QWpjb21YTDViVnRPNHkwRTdOL1UxRkNNRks1NnhzUTM0RzN4UHY2WnBHRDIwUzJieFRadVUxRzl1d1JlUlgyODFtWVp0RStQQnVieU1aYVFiZ21VVXNBUm16TVRSQ1VMcGhvRkJydmZaOUhIMjhNN1J0Qzl3N1FPRERpRmhtZEVOWjNCUmlocUx4ZWx3ejgyNVBHak9pOExKMngzUWxlZWMzMWJycFRBODUxalZsdXVsek01aTRHbkdDWm9ldmVKZ3BXbU5UZGVLN3R6aWtLU0Z6Znh5a1IzQ3p1L0pTTW14Nk11T0MyZE5GU09WL2ZwSEVjT1hGU25wMDVTODdXWGpBR0lCRTJ2ckpWelNjem5VRy9zVWlaZ1k3cWRSczNLWjhNbTE5OVRhOU5UV25uN2pmVkYzVGd5RkVwcWFnVWEyZlgyTHNFcmJuRnhXcldNUTJhYVh5MkF2bWoxdlJPbE4rTlJJbk50R0MvUkdlVVNXZjJCOUVENXVvMnJ1N2NQQVVNYmpuYWxuYXJIRTZaSWtmLzZuT29sWFdBYjdzTWhRZU1nbUxwSnlLMEJ4T002T0FMSFhnRFFwYXRRdHliWXRFZW04NXI5c0kwMmV3ZitBUmdBTHFheXVlMUpIQU5CREFLN044aExSazVsNEZSSjNpNDJjMDBUZUgwVVdpVytlTEI4eWVuMDdkamFETGNNc1VGL2xpdTFwUXNzWDNpVStMNDV4OUk3N08va3NpTTM0djgrdGZpZldiR2hNRTY0eGtaZlBZL3hEN3ZLVGtQVGFnZWFlaFFQdExnaU5yVndlam1NTk00YmVVRm1HRUI3aHFKNjBnWTJzNkdqVks5WktuNmpoakxXd2NPcWxaenNkRUFMQVpxUmRSeVpzMmVxMzRobWwxME9sT3I0ZnVtQTdySDNhZmFEdVBqQk0xT1I0L3U2ODFKd3RTYVhsaTNUajhzUUpPTzRFUlFtanR2dnRUVk43NGo1WGNqVVVJd2NySENPcTNTK09XdlNnT1hTNmdKZzhaTVlVdXpxUEFHSWF6MFBaekx6aFBIdno4SlRhb1Q5V3dJWEVMQ002YUEwL0tLSHQ0enBobTVVMkZDSUIydXd5SW9jVnZYdWlsMzR6bkRUT013L1R0Q2NXREVIUi9qd1lnQ2Z6TTdzUG50anY2ZlBLbkxYRmh2OWZuZ000bHpsUXAwR2dPMW9SUFFDSHQvOFF1UjVucGtqRVk1MThmMUl3cE9ZYUM0WHozb0RnYWpIbFJjb3pST2ZhOTBKS1hxM2xnY2xhUUpkN09EMGV6S0tsbTlaYXNPNncreHVTRUNPcHRuRmhiSzdrUEdOamdkRG9jNnFwZXNXaVhuNnV0bE1CaVUwN1cxc25ENWNubnhwVFhTMXorb0poWFRwbStKUGlhVEY3NVBaL2FDOG5JTnRwNGVDWTJNeU5IVHAvVzYwK2xVdVREelFLMXI4WkpsNmpSWHY5VzdpQktQcHFFRVdBaGl1eUJuSHZoTE5DcGo0L3N1Tk9oT3FPY1VCQXB0TDlSek9qRnJrclBFODVOZkE1QzgraG1naElSS0NuUHBBUkpoeGNqSmcySzM1RWtyNHVVRU9nbzE5MW5tL0JWT2hEeHRtV0tBRVY3aDhQQTdRaE9CRWNwZ3dxSDlHeHlNeE44dmJYZjl1ZnJCZWxCSDNEaXVOWGVxbklIV3llMDliRW5RY0IvOXBraC9sODVMYWtGU2FvV1NVUVQyNkJNRjdyR3Z6NG9iV3ZNZE1LM1RkU1R1ZkE1TjYzY0hHSzNkK3BxUlJid2M4QmwxOXRLR0RiS2d1a3FCaUR4Y2JHNldpc1dMWmZhQ0JWSythSkVPeDVjdFhDZzl6bDVOMDNSc3IxMjNRVFlEM0hoT2dPSzd0QWhXcmxtajRHUHQ3dFo3akdQeHlwWGEzZkthWmgxTlF2S3hmY2N1cVY2NFdIcmR1bUhNdTRZU2dwRXU4QnoyNlFvbWFiTkt4Ly80QjRERUZEVmYyaUJ3UFFnK2FBNGNQYkhtRzErODZFZURERHorSTVSaXU5aVpDdXVjczN4NXdsbStvME9BRTBNd3RXcEh1TWdDd0lJTHJ2N3F6cnREL1JuY1lKK2pNOXdBdmpzN0h6MXR1alJrM3lKeWVBczBJL1EyckNueXhjV24vT2FaK2lFWUU5ZDFHWTdiUk1SUElZV1FjT2l0N1hKbTZxMDZ3c1N2WnB5YXptSHRQTjJuK2dUNGNELzBFTkxFazJSYUo0RUdqUWw4QUJnVGpHN0VlVWFCampwb0tiZnBqcGh0ZWVtb215eHB6QWNJRVRqeDdua2NJNlZ6OEtCWGVkTjFhT0ZCdkc3NE5FelMyZk54WVl3NFlxcFY1NVBXcEtucXdLNUIrWEduaFY2VXhkWEE2R2FaWjlUWjJTbHV0MXNuSjhhdjRPZTZzVzRBeCtEZzROakV4U0Ewb25wb1JseldZYlZhZGZKaS9DSllYak11bDh0MWVSbUNQQjZQN2tySkk0bHg4OXFrK0wyTXVHVElaclBwVEczOXdncWlVaTA5bGtIejNQajZDb0Qvc2wwQ2pNQWRCSGcwdGptNVJNeVhTY29qZTV4WXZFUGN2SXlYc2ZqajAwd1lFQStmTjRQR3kzdHg1WkRZWjBTbTBYaTRKU3lYYW9pclRTNTg1Z0VKcEJZbzhOUkNFRHFnTGZIYlgxVDc3Ymp1dHFUS2dYU0xBVWhoUUVJWXFqOFhGQ0pCQ3ZCUUFIR2lmQlNRV0RZUUlKMlBqTnMwaFZydi9aamhUSVd3c0hGek1sNW5jcXJ1azlOaEtaRCs1MytINS9Yemlab1pDcDh1TFVFY1VRQ1Ric0ZCdlpybG5ZQzA2Q0ZRd3dmZmdHWXpUZndaeWRxenR5TGREbWgrNU1PV2x5R2p2M29Lak1lMlRsV21BV0E4eC84YldUUHFQM1ZBM01uVGRQNVBJM2hpUjFHWFkxRUhOaWVVV2hIazBIYlVSWlMxcXdBZTVQL2hJUWtHTGdtZmxuTXNYRVo4QkVteGUzR2szYTZEREowRmFlcGI3TGRrM3RTYWtablhlQUVsOFpxL21lREU4L2o5akV6Z2lBZXY4YUFVZjR3bk02MzR1RTJLUHg5Yk1oTEwxREE2ZVZQUUZUUWc2THdYWmVjU2F3K1hOcFF6d0NnY1pvMGJaS1pyOGpTV1o4UnRnZ2ZqdTFTSUNER0E0ZkZ0OTJMWEpsOWp2NDhMOUp3eGNEMW1ZakR5aEpWQnFva3NiaGRucnRndktpQlJRK0tRTy9jWTBvM3RMZWs2cE11WnVRUWtOdnkrSHoySjFnMDdHRTJjS3h4WU5JeEhBWW05S3ZMTVhmK1VKWllEQkxiMXNjZWduUmo3Q1ZFN1lnT253NVg3UlBkeFV0N0QzOEtESG1OWFEwYUlUUEZWeHFzVnhuTGtKRDl1VUphSVdPZGh2TG4vRGFTVEt6NllhTnpiaUNZaHQ5M1Z5WDlwT1NKcmxzdG9OR0pvVzRvdWVKRUZlb09EMFNBMHZyN2tBZ1VlQlFnQTdNVXM4QWRlbVRkUGNyNE03bDZ2bTdMNTBHY3dmN3BiUUt5SFpubU9ENWNSK3hvY3ZINjdPTlB2MUpFMEcrSzNabHBVVzc1WndHaDh2Z2dlcG1EeXQzak5LQjVZelBmaU5ReFRrQWxRNW5sODJjVy9UeG9UZkpDWjFwVm9mSHlrTVlDSUI0UzRZTzR3YVlJU1FlaFMzaS9YOWtqeCtkRDhNOTV4Y2I4TlhNYUIwWlhlZVZ2QTc0eEhUL0dmSWVIUXZxSFBHSlVaVlFkQkRKQ2dJZEZrWStQakJ3ZXB2ZERoVEgrU3JtV0NnRkJ6YWtqS2tjNG4vaGtSdUNWQXFZVGNNN3RxNHJBZzhhZkxDTUVWODRqU0ZlZkNDcGhrV2VyallIejA0N1FqOEFzVUZLcjJLWGVMSEQ5czdHcG9sRFVLUGZaK0xMUGNCZEpZMUpxQWtMNmZTMWUyYjRYbVZhQ2cxNWhyakFoMUEyQzVMcTQ5OVJZWnJqbXNqM00xbGRFUWtKaEdQeEVZQWFUL3EzMUdSL2VqYnRKMXIyd0NVRzh5dEpiMEZHTzdXcFlseWptd3FscWZWejVaeFZ3Wmk0YklkRTBoTXNQYkNPOW9wekRTSzFiTGRFMkhlNVQzVEM5UXJldnFZSFRqRE8welgxY0NDQXEveTkwN3RnL1IrRzFBOUN1K3NXSWVmelNEdWRVSDM0M2ZCc1M4UnpMTGxjSlBQa3hleG5ad2lLVnZCc1pvdmg4UFpDYnhuaG1uK1k2NUQ1SVp6THlRdkY2dnJvMGptV25IZzU0WkNGd01WMHJUVEkvRU9QaU0rUnlQNXJ2eDVjeHpmZ1dZYzZyNFpFSXdzclBDK0Q3VkRyeEJRREpPb2VLMVdjWDcyYi9TNzNoeFpiMHZEV1lOQUlrYUVrMDIrcEFhQ0VycFUyWHdoeitGM1BvVWtLZ2hHV3dpWXB4VDRSd054N2FmWlJxMVovRCtkQWllTVdmRkFjSG1STHhlTkdnMmJxWVgrS2VmNDJHUGZ2Q1J5cWFLTmN1REFCRWRGYzlvd0Z3clB5R0ZrQmt2RFpQL2VGcmFMVG1xMWZFejJRUzliZ0FSUDZib3VPL0wwQUNNNlFyVUhCVDBTTHFwMGcwT1JtMU5jall0MjVoSEJIRHZRcDZzWExZQi9qcHdYcHVjSXVFZi93U0ZNS0RyMW5vSHdCUFlJNC9Cd09CbGpmRks1RU1QMTAvK3VtcWxNVE5IdjZyYllrblJiWUlkeVB2TkRrYkZwU1Z5OFBBaDhRZU5BUXNLTllNSkNBemh5T1dDenZiUllldlM4L0VnWUFiZUp5REVhMSttOE1hWGRmdzdacG9td0RHUXpQcmgrMlkrekRqaTMvRUYvTkp1NjlEck1MUjh2WTkzZHU3Y0tTdFhycnhzUHlYNnYwaG1QRHlPTHlQeWZxWDcveG5pZEFadXFlSUxoUk9iYVZ5WFJvV2QrN1lRaFZoY05Obm9RMUtuZHVOUnVmak5oNlRKa3FXQVJBMkpKaHQ5U0ZUVDIvajVINWdHZlVuVERFQ0NocVR3TVlUNG9tZ1VzR05WSkwwUlJJOTd6RHNLNHV4ZmZsSHFJV2cwSmZpSm9ZdG8xQnd5NWlkeFd1alhtZjUraVc1ZWljZTVSdzU1TVVCTmtSSVJjbkdvQVZNVGt4WTFlR3I5eTcvV2oxaDI1S1dveHVCT3NlZ2kwRE00SDN4KzFsaGpOcG9MaUtDbmxYQ0RqNlo1L1hMK281L1FjaVFZVVZ2cFFyMXlNU3pmYWMxT2xmcjgyMFRlMkNKT2xDVWQrdVN4ZHhnMkc2VEtiSXpqaWZlTjM1Q0hzRWNjdjMxS0Y5ZHlCTElsTTBPMVk1YmoxY0hJNk8ydmw5NEpNQ0tOenljRmpNSjI1TVJ4c1hiYWRMc092c0ZWOUdaOFBLZHJrdWM4Y25zUm5yZDJkRW5sb3FYaTdCdlU2ekNBaCs4VGxoaUNBQUlHL21hU0NVb21tVDRvdm12RWI2UWZIdyt2Q1RZbU9NYURsQUpkN0Ixelk4T09icnVVVnk5VWJZVFgxRWlZNzVhV0ZqbCsvRGp1SUM4eFFEVEpCRE1HbnBzZ1psN0hIODNBWnhoNG56eU0vOTNjMTR6SHd1SXlPWDY2UnZsSjdEUHljWHhyUkFFSkJ5VXRPRVRFVVRZQ3dGRE5jUVVrMVpCZ3N0R0hSS2MyUjlrNEQ0bHFPd0dKR3BLYWJNRWVjSXpHanZoWVRGb042bnRBd1RNTmhQNnFDckhtd1l4QVhQeXVXVmVTTWFXQW8wSmNDMFhONjhJSDd4RTVmQkFDNTBZbXd6SXdpbDZMa2FsMmhFaU1mV0VucGlId3NYNk5PQXB1a1RvSWtodHgwMGZsQjZqVVpjR2tlZThVQ1YwOHJvMU56V3ZrVzBzVTU4Ym5BMjVzTUdMOWVKNzhwZWFKMjRCMEpITnJYZkRGOXhBWEJ3bDBxNWF2UWZzNzlqcnFaa0NHd2h3OU5hSzRFckVCVTFpMTRRNDRSYmJ0a3VacDc5WFJPZnJiR3RBWkRhVGwzRlJnZENWaVBzMTNUZUgzd2RReTd6bDZYZExqSHRDMllkNWphR252aE5BdmxzYldkcjNteDBuTjMvaStlM0FBUU9YVzgvR2pXWDQvMmlQSTFITE05M29IK3ZWSVM2RGY2MEc2eGhlUDR3V2RBdDZQdVB2d3JNZm4xWHQ4eHB3U3dFbVluTUhOTlc2OFpqREpCRU9PRHBwRVRha1hmQTU0QnNjMHcvaTBOSDdVSmRPejl6alE3L2t1ZTRaYjd2SzVRZkxyY29xN3YrOHlUWkh2RmxkVXk5NURSM1U3NThSZ3hEbEFBQ1JxU0RUWnRIZzhLTUFoN240Y0ZRZVVEOVZJb0NIUlpLTlpSWDhFUjlrNDdNOEdTVUNpaGtTVGpUNGtkV3FIQXpyc1QyZXBnakdpNU5kQlFqalhCdXV5U3Y4OTA4UUtrNm5Pa2l5QnBBSnhwbVhwOS9QcGkzSkFRNkovWXU4OTkwbXdiREVBcVY4RmlLQ3B4Y280K0hXTEJPU3RPU3FuUC9SSjVadEQ4elJuT0prem1KUW1KM1BUUlA3dVFiRFdKd0hrVS9sQ1lXb2JSckVNa09rYkhJejBPMm5yTjBOVHpkQnBDL3d1SERlUkl4aTFaOEdzQnA4RGlJZVRGZXZlOHhIeC83RlFwSWRmZ1kzVjZ4VkloUlNWeGdiY09uK3U3TGpqUTZpTFZQMk0xQVdVUVhmQlZKUURPZytrY1RPREVhbXd1RWhPbnVYWFlhaGhoT1hWSGR0MWs3T1ZMNzJvdTFhVVZpNlVGOWFzMXkvYjhwazFHemJwbDIyNUtSc0JxYlN5UWc0ZE82cGFWTGV6UnpaczNxVDdFakhlNmlXTFZTdmh5QmpMczYydFRaWXVYU283ZHV5UTVjdVhTMmxwcWNiWjFOWXF5MWF0MUUzV0dOL011WE0wN1pvTHRXTjVvdi9xNlBGalVsbGRKVE5telpTU3NsTFovTXFXTWEySWkzTTVTM3pPL0FVNjIzdkduTG02dElWMDZOQWhXYjE2OVJnd0VnU1BIajJxNmM4dG5DZmxTUE8xN2RzVTZKZ1dmVjlNYTlPV3pmTFNtdFV5djJpQnpKazNWOVByc25mck13UWFQdi9pNnBka0FmTDYzSXpuWmRtSzVYS3U5dndZSVBHWm92SXFPWHJxTEZ1NEpQRzc5WFVRYktyWTNES0NEYll1RzJvOHpCVUtaaUpLTkErcGxwUGZJQ3o4WkRiVDZzRjVSMnErMkwvL09FclFiYlFITDk0bE53cmhhS2k4R0VhdnNYV3ZlTk9Nb1hZSEdqVEJxQjJtSUxVdVI1NnhlVDQvWVYyZlBWVXVmdkl6RXZ6RGJKR0RSOEFVWWNrSGp2eklNTlZkT2dVaFhQeWdJWkdCeVBMNlh1bis5Yk5pTDhpV3B2d01BRytxaEFFa2ZZaS9FZUJublpJdHp2eGNGVGcybFBGcS9DWHl5SVZISGxHaG81K0o0TnVTRHVGRHZrTTRyOHZNUlY2UXJybkxHMDFkcUcrNnZ1NXFVY1lSSGZGOGpVWFNjMnkzUkZKdTFYdzdrVjRUekNGcWk5eWd2eWNwVzZJem5zT0RQc1J0ekxNYXdMbVY3enJjWW52MGIrVVlCd1FLT0tKbThOcVFOUldhcGtYYU1pelNrNTZKK2s1WC9odno4c1gydFFjaytPd3Z4TG1rV0VMYjE0dWNlRk1pQjNkS1pQMExNdnFIWnlUd2xXOUp6NjMzU2x0bUp0Sk9sbUJLcm9KT1kzYUtuQWNBTjZPdStRRkttbTNjcFpOZ09EcmtCVWZHVk5XaGtRSGtpWlYrZmNTeU1ZR0lHL3NSaUdhWDRMcHlrY3l2WGdJd01nU2F3VFFaU0tyVlhRTnhvZXJldzRjMUhXNEJ3cjJKT0xGeC9aWXQwbTYzcTcranNMaEVsNFF3eGk0QStmSFRaL1FlZitOcS9QNEJqNmE2Nm9XWEZBanFtcHFscmF0TDQyRDh6Z0ZvVi9qZDduYkxmTzRMVmxnb2IremJKNGRPbk5CMEc2MVduVkJaVWxVbEoycHFkSUxsaSt2WDY4Ukt4a3VoYm11MzZoWWtYT05HUHM1ZXFKY3lnT0hoNHlkVXJMZ2ZVbTE5Zy9KVmMrR2ltbXJtR3JxRFI0L3BmWjdUQmRNRU9lWTZPYTZiNjNhNjVNU1pzN283NWRidE8vUVpCdDRqMEs5YzlhTHVOSEMyNXJ5VWxKYkxqcDJ2SzA4TW5OeFp2WFNGdE1CczVhWnpyKzdZS2NVbFpRcWNwak4vRHE0UG5EaWwrVS9pQ210cUJkeFRtUnRrdWJtdk1yOTZtcHdpZlduWDhFWFpCUE9RUWtsWkFKTjBxYzlNVWNEekFqd284SFYzM1NiV3g3OGwwYUJQelVDeXhreHkrUWtaVTN0ck9DVCtMMzFKYXUrWUxuWUw5ODh4UGhMWUJDMkwvaWdDRTdXalB2VEFIQVhqL3RXdDZhblNnbWY1TFhtdTltY1B6ZWtBZlFEQXp2UUNDSENPTkVLN29HWkEvbXhjY29Kakl3VDFETUF6Qk5PU2NlM0pteUpTTVY4YkxYdUtxNEpSd0NkdG4vc3F6Tk0wc2NPczdNbE1GMGR5ams3OEl5QzFackVNZzJPcU1vdUlwSjhnMGhzVDB6QjNsU1JnKzBmRWNXU25OS1praXczcGNIQ2hFM2xyUzBtUmRrc1dUSzA4NmYvOU0zZ0J6N01GVTg1amZnbXRsd1BiNU1MMDJ4VElock96ZE4wWVYrOXpXUS9ONkJvQUJyVk9kaFpzRDI2VWJYOHl3UitkUUhJK3lwRGFUZ0U2cXl4cHRhQStrYmNhaEFEcWs1L2x2Z0FObHVYcFFibXlFK3ZQU3BlejdJQndUckJ5UXlNR3Nxdkd4ZnlFQUVidnhBeDZadFVBb2lyakF4QTRNc3dzcVpEbkZwVEsvQktBYWN4TVlnMVNjQ2VzejNIRVRkQU9uenlwczZSWnBHczNiWkxLSlVzVVFMU1lFUTBYeVc3YStxcW13Vlg3OU0zUUhPS3FmTG9kbUpMVDVaYXF4VXZrelBsYWZZN3Y5dlQzSzZBMFFDUGlOV2R6RjBJYjJYUHdvQUlmN3pFUXBPWVVGY21PTjk4Y3UzZWhxVWw1Nit3MkhPVVg2K3MwYnZMRGlibkJvVkY1WWUwR1hjdkc5SGpmM0NXQU93U1lJMWdFSHdJTHdZang4aDVCaDF1VmNJMGM3ekZQdkxkdzZiS3g5M2J2M2Fmdm1Mc1hjT0h1UzZ2WDZ1WnZkT2h6N1YxalU0czB3RlNsQ2NaM21QNjhvbUpwdGJicE94d2w1SmVEanB6aHh5NDRtc1k1SVd3d1VQdDVaT0RleGYxb1pHeXNDU25CUENTM0pVZG5VMXNCU053MGpaODh2b0JHU2ovRkVBUXE5Q1I2ODk1MkdFSm9tcWh0dGhHdWlHTFBUaCtTK0R1azZXKytiRXdYUU9PM1QwRURoOUR3WTRaT3l5MjZURVMzdjRBUWRBSkV5WDgzZ0pSYTNpQjZmWDRYbnIwOU5ZaStaSmdPMEFKb2p0SDN4SytndXBJQnZCRElIbXFHQURtdWFHOUZ2SUVuZjQ4QzlHdWp2VnJEMWZzamZtbDkrTzkxM2RkRjhFRy8yWUJsaXZqeWJwY0d4TVdQQ2Zpa2w5K2tCUUFoZ3loMW1sRWN3YnVxSFhRWmdZY29Ia1JsUnk4ZWxob0FIYitCei9UczBJem9TK3RNejVQbTVHbmlldTU1UEk4RUNGNnNmV2dDTE1MZUlPcGtHSnJJa2tWeUttVUtBQ1JISjNQNjh5eTZmb3dBUlEybUEvbHZSNWswSTM2T1hySURxUWZ3blVNWm5zRzlXanpUbG9VeXhEa0JoeDFCRjhxZFJ3NDJOT1FiSTZyVXJqdHpzM1VMRVlKeEgzaDJKZ0dVUjZrUm9zd1VrSFc1ODNVVDJ4eUZrb0EwRnowenY3SFB2ZGdaaXFxNStMUnN6SUhNV2pUQmlHUWVKeUthTmtkUEdudGRNM0NyRVBNcnRXWlkrL0pHWFlsdlhsUFlaeGZPVjYyQ2FYSXp0RFpyaHdvdnR4K2hvQ3ZQQUNLZUh6cDJYTUdDV2hYQnd0eEdoSUg3Wi9NK2hmaENRNlBlNHlKY2FqWWNpZXJvdEdrYUROdGZmME0xR0c2Qlc3Vmt1UlNXbE9zV0pueUg4WE1STHJVWjhtVUNEOE94VTZjMVhmT2FlZVJXSitZMUEwMDZicUdyQUl0cmFuOTBoaE4wektVdVhIZTM1WlZYeC9ocGJXdVhsYXZYcVliMjNLeTVDc2JVREswZDdXTmE2dHlpVWpYVDZKNUpzai8ySlRtWGs2bXpaZnZ5QVJSb1NCeHA2VVNENDZiMGljaHdzUmtNWDJrZVVnZDZ6VFpxSVdqSUZDTDJ3cDNaTUxPeVlNcmduTVBuZzAvOVZQeWhKZ2dzV2luazFRL1pvKzluMUJkQmo0UWV3dEVpOVk4K2lnWk5iWTBPVWdoQUZrd3J2TS9QQ2psaFl1bVdId1JVQytMTlRrY3ZuMnI0cUNCTUxkQjY2Tk5SSDB0YzRPZWhhYkp3NmdDM3VlVytQTDBwdDB2UHM4K2hzdnk2Ti9XVnlBUW9CbTZjNHYzZHMrQWxUYnpncStjV2FBU01FNkJIVFNFSW5qa1RoeTUybmRsTXh6cEtUWGVyTkV6MGlRa05qd091SEpzWWJqZ2x0dnk3VmZpRHlOc0Y1SUhhSXN1NEFhRHZuUE1zK0E1cWJ4eU9HSnFtdWtaUXB0UmNvd0Nrd09aMWNqQjdHclNmVk8wa0dtQm1xYWtHTFpLTFd3bFNCQnArNzR5RERsM0lWeWNBdXlzMUMrWTJBQ1kxVTFwVDBsRmVGdTFZUE1nenRaL216QUx4L2VDNzR2N3g5OUZ4WkNQZjRBOWxYNDk2NXllZ21GWUFzTnpQVERORDZNQzBLSzZUcUVHc1dydFd6UnRxUjZXTGxrRDFMemZBYUNGTW13ckRaMlNDa1dtbWthN0ZWQ01ZbVNZWVd6YzFJRzREWW1vSTVwNUZYRkhQM3hrbzlCUmNnb2dwcUs3ZVBnVUNtajdjditqTkF3ZDBNUzJGM0JSd1I2OWJBWXZ2TVY0VE1BaHVCQzF6Rkl5QjJoZE5LWWV6UjRmc2QreUNDUVJ3b3NuRnI1azBXVzJ5YXMxNkJVcHpqeVh1RU1CMytDN0J5WXlMNzhTREVmTklIeFBQeVFmZkoyQ1NCd0laNzFPYm92L0ovS1ljSHRIZENCalkvdmhGSUpwd2ExN2VMTFVOemRMbjhjdWUvUWUwREV3QXBZTzdwSEtoSERvT013MDNrbVRqY2puN252Y2JqUVdDNDBMdjJEMFZBSUlqVjNnbm9rVHprTHEvOW1XeFptUnJEeHlrOWdHaFowL000ZVhhS2ZuYXk5b3pJYmovK21NSXR4MFFnQ3FneHNCSUtFUTRLRVU4MHZhcmY1ZVc1RnYxNDRBMHc2Sm81R2Rqb0VrVHNCWEN5VjY1Ry9ubzVYUUM5TWgybUJWZHlaazZURS9UanI4NzhSdzNzYWNnRTR3NEo2WVoyb0x0QTUrRlliOGV3b0krT3hnZ3BMNk40b0dJUWZIazhFbnB2TzJEcXEwTTVXWklQWGppVnpIOEFJbEJhcGN3bll5RzVXVU5JRi9jakI1dmptVnVBa0k1VUlOUVhpSjQvNmUvbENia2p3dGV2WWpmQzAybUEyQmJuNTRzZmJOL2g0ZWdWN0xzcUgyZ1hxaUZzZUtaRkhrTkI5d3lkSENiblByQ3A2VWxKMFBMaDJaMFR3ck16QXdBT2pzUGxLV1ZaUmtETzRLMCtxa1FxR0Z5SFp3VnBoby9Cc0N5YjVwNmwzUTg4MGVrQysxcjgrc3dUeitnejNaQm8vSWhEZ0tjRmVVUkZDZEFHTG1oNmtzei9KbzB3NG5KRUl6VFVscGRMYy9PbnExcVB6V2tZdlRHaGVWVkFBV1kyckhuVkdqMC83V1R1ZGNRM3ljQVVVamp3WWhDVFZNb1huZ0pHdFFhV3RxTk9UME1YTGxQZ05yMTVoNTlqdlhoR2h4VWphcloycTRDejcyTXFBRVJMUGc3bjJQZzd3UXAvbTZDQ0FFcTN1UjVlZE5HM2UvSWZLZXpwMWZLRnk2NTdCNzVJUmlSUHpNZUhrK2VyVkhRNVRYVDNiYnJkUVVubW1ubVBXNGd4N0l3NHlLQUVWaVlOZ05CaVVCazduakpCY0l6WjgyUmMzV05ZM2toQ0hPN2xIaHRqdDlWUEhMaXRQNE9GY011OXQvOFhocHYvU2hNcHd4b0s4bTZ4U3ZOS0RhOFJKUndIbElvS042ZlBRMU42ejFxYWpGdUZTUUVKM3BRNXhURFFkMmJkS2Y0ZnpNVGIvT1Rqb2pMYjFTMm56a2gyUG5BZWlRaTNvTzd4ZmJWYjRvckxWOU9vNEZUczlJNU5EaFhnQUhZMlhEc3NCZzlOLzFFM0RTTjY3RmFwMmJxT2pPdXl1Y1FOMzFqaDNPenBEbnROdkU4L20rbzRUWmtBSWxSa0hIMFJ5ZzFsMmc4RURGUTdtbXFSVkF4WGJkL0NHQUhRT2VhTFBCRWNLckpuS2JnUTJCVmxZRHpSMUEyOUo3ZzljUUVCS0cxeGV6cktGelRSVG44allma1JGYTJhb1lFQ1M3emFBRGc5ai8zREZvT0FDc0c0b01vdUVGYzhIUGVlaU9takhucFRiZWRrNkUvUEMzTnQ5d3BWbWcxRG9BbVFZY21iVFBLa3JQZEd3cHd4SGtyNm95enR6bXJucU9FMUhBSi9nMlphZEwveE9NaTU0OGpYNGlaK1VGV20zLzhDNm1CdWRZR3JZajdhYk10ZGQyYUorRW9SMW9JOUhpT0RHbVpYQit4alhDVWE4LytmUXBJTkgxbXp5K1dvcXFGTXF1b0JLQlFCWUV6OUhleXArWUJ6TE5yZFdBWHppK1MwMmRxOUYzMi9tdldydGNlbjlkc0tnUWZDcXBwRGpGUTJDbjBOSGNPSFQ0cTUyc3Y2ck52dkxWWHpSUnFSL1FMMGYvRTdVRGNmY1lvbGEyelcxZmpqOThIbXhNb3k2SDEyUjFPdmFiZ3E2WlZYS3JENWZTOTdIeDlsd0lXUWFLK3VVMi80dk1zVENQNmVhaXBzZm9KWU5TZXFDMVIyNk1qbmZ4UzZ5RVlxZHppbXM5VEN5TC8vS1JTUE45OG5rQk0wNVdBRzgvbnV2VXZYd1pHekJ2OVZ2UWJ2Ym52b0c0MDkvenNPZkxHbTd2MUdack04NkhGcmw2L1ViOHhsMFRMVFR5OUV0MnhYYnFmL0ZkcCtQbzNwTzRyRDB2SEkvOGd2bS8vRUs4a29BVHprUFJ6T2R4MjRVeXQ5TStaSlEzZmZGVGM5ejhrL1Y5OFJGb2Uvb2EwUHZoVmNYNzlNUm40NHZlbDVic0FCSjhmTWtQWHByR2h2d3A3Q0dJSVZHSkJxVGdGWElqdm1NalBmeXVCVys4V0p3U1RTMFlvU0M0SUM3VWZEbmV6aHlmd2FjK08reHpHcG5PYXd0RTZkWnJZLy92SFJXWXVFbkhhRVMxeUVEVmNxdllodzlOdkpINko0a0hJSk1xVmt4a0hJTWtSbUZFL2UwcDlTTjBQZmxOTnkvYWZQeUdPMklNd1RIQ0NYQURBUjVITFlLeThKaUpPb1dmMFVaU0JQOENKb1hqZmJaZlFzcVhTOXRqL2t2YXZQaXB0ai82OU9MLzFBeG5Zc0VrQ3NmVitCQjNPUU9kbm1IVFJIL0pDazQxYWxwWmpDTWdVd2xPaGR0VDlldWwrL0VmUzl2RlBTMnZCWGRBZzgxQ1d1ZEFhcDhDVW5RTEF5MGZJZ1dtYkoyMTMzaU5kZi9jdGtSWGxRSjJUUnJtRmRGZWpTMjBnQkJEZnYxdjZ2dmU0MUgvOU8zTDZPOStSNEwvOEJJQ0t2RkFxd1FmcldOY2lYaWRSMDJGdGNCSmhiWDJkamtKeHhHdkRsbGRsRFFUajRGRmovMmdHUGtmVGdIU3RZTVM5aDVwYjJwUnR2bi9zK0VuWnQvK2duak13RmdJQUJkWTBod2hRTzk3WXJSdWlMVit4U3VvYm12Ulpta2wwL05KdlJMTnl3eXV2U0h0SDUxaGNISlhpUGtVOGFqRWhFQUFKVGh5WjRzZ2NueU1ZRWNBMnZMeEovUys4eHhHcVY3WnRWMjJGRXk1ZjI3VmJSOVNZVnZ5bWJ3UVUrbTVlV0xOV1RwODdyL2M0NnNkMzQwMURqcnpSTjBiQVlSdzBzZmc3ZnlNWWNhNlNtcVp4ZTM3dmVXdWZIRGg0V00vSk56ZUFXN0x5UmZVWkxYOWh0ZnFtcUFsU2l6TW5haDQ5ZVFiZ3VCbnhINEptaExiS2dmQStGU3VvMlg3QUIwd2lycVEzWmhBbW9BVHprUHFSUFYxNHFTVUdZUThiWHhJZEhZVlkwT3hndWhFT01ZYlJYK005VGxUMGV2QkdDTm84ZmdzRVZBRDVsUkorL29qYmJ1aVhSeUJaNUpndDJtOXRFdmZPcldLYi9adzQvdStQcE9Pclg1T0JCeDZTOFAyUHlNQ0RYeEw3ZzErUUxtZ1RnNC8vSHhHb3lySm5ud3k1bldyNmNNU2Rna3R0ak9seG55SUNOSEhJRDdaTmlnZWllREFpRTN4L0lCVFJJelVSSGRFS2NBSVlZaDlza2ViWWN6UkI5ZE9QS0N2dWhua3RWZ3IzYnVKbnA3WDhFSFUvR0dPRE1BQ0dPU0RZb0N6dGJuMkdTem9VY1VKc3plUURYSUVYQWp0dnE1K0c4b2hJNkxvaGdHajlrTUZSOU5EQkR1bHJQaXg5UjNaS2RPOU9HZDE3VEFiZjNDZjlKMkdxOUhib2N6VDl5QU0vZ01rNEdGaGVYdjBXR2lOSGZQalQvREc3TEJtM1E3cHdPZXFGd09JOStvNkczd0duRVhuUk5XSTRad2h3eEE3MXc2K2hzUFdhTTVnSlZpeENhaEVtWFlzRFc0dWRPMDR3UzdqZ3RYbVBSOFpONFRRRjFUUnRHSGpQZkk0alRMeG5BaFo1NHlacS9JMVRUc3dsSmViWGx4bk05SmkyR2MrVmdqbmIyWXpYUEhKRWplY004VDRpL1EyeWJWNHptSHh6WHBMSkl3UGZpNytPTjA4MUxmQkdIc2hyZkY1NUpGRHhHWTZtbVIvQjFEaFFCL3pkZU1iTWg4ai9BOHlQSXBPUzV5NGVBQUFBQUVsRlRrU3VRbUNDIn0sInN0YXR1c1JlcG9ydHMiOlt7InN0YXR1cyI6IkZJRE9fQ0VSVElGSUVEIiwiZWZmZWN0aXZlRGF0ZSI6IjIwMjAtMDQtMjkiLCJjZXJ0aWZpY2F0aW9uRGVzY3JpcHRvciI6IktPTkEgRklETzIgQklPUEFTUyIsImNlcnRpZmljYXRlTnVtYmVyIjoiVTJGMTEwMDIwMjAwNDIxMDAyIiwiY2VydGlmaWNhdGlvblBvbGljeVZlcnNpb24iOiIxLjMuNyIsImNlcnRpZmljYXRpb25SZXF1aXJlbWVudHNWZXJzaW9uIjoiMS4wLjAifV0sInRpbWVPZkxhc3RTdGF0dXNDaGFuZ2UiOiIyMDIwLTA0LTI5In0seyJhdHRlc3RhdGlvbkNlcnRpZmljYXRlS2V5SWRlbnRpZmllcnMiOlsiNmI5NjE2NzE1N2VkNDg3NzYwNzAxYmRmMDA0OTA3ZDFmZTkxN2VlMSIsIjhiZjcxMTU3NjNlYTQ5YjY1NDllMDgzYzlmZThkYzdiNGVmNjBlMTkiLCI4MDI0NWY4ZTMxN2NiYzc5NWM2NjRiZjg0Mzg5ZTgwYTk3YzVlNjIzIl0sIm1ldGFkYXRhU3RhdGVtZW50Ijp7ImxlZ2FsSGVhZGVyIjoiaHR0cHM6Ly9maWRvYWxsaWFuY2Uub3JnL21ldGFkYXRhL21ldGFkYXRhLXN0YXRlbWVudC1sZWdhbC1oZWFkZXIvIiwiYXR0ZXN0YXRpb25DZXJ0aWZpY2F0ZUtleUlkZW50aWZpZXJzIjpbIjZiOTYxNjcxNTdlZDQ4Nzc2MDcwMWJkZjAwNDkwN2QxZmU5MTdlZTEiLCI4YmY3MTE1NzYzZWE0OWI2NTQ5ZTA4M2M5ZmU4ZGM3YjRlZjYwZTE5IiwiODAyNDVmOGUzMTdjYmM3OTVjNjY0YmY4NDM4OWU4MGE5N2M1ZTYyMyJdLCJkZXNjcmlwdGlvbiI6Ill1YmlLZXkgTkVPIiwiYXV0aGVudGljYXRvclZlcnNpb24iOjIsInByb3RvY29sRmFtaWx5IjoidTJmIiwic2NoZW1hIjozLCJ1cHYiOlt7Im1ham9yIjoxLCJtaW5vciI6MH1dLCJhdXRoZW50aWNhdGlvbkFsZ29yaXRobXMiOlsic2VjcDI1NnIxX2VjZHNhX3NoYTI1Nl9yYXciXSwicHVibGljS2V5QWxnQW5kRW5jb2RpbmdzIjpbImVjY194OTYyX3JhdyJdLCJhdHRlc3RhdGlvblR5cGVzIjpbImJhc2ljX2Z1bGwiXSwidXNlclZlcmlmaWNhdGlvbkRldGFpbHMiOltbeyJ1c2VyVmVyaWZpY2F0aW9uTWV0aG9kIjoicHJlc2VuY2VfaW50ZXJuYWwifV1dLCJrZXlQcm90ZWN0aW9uIjpbImhhcmR3YXJlIiwic2VjdXJlX2VsZW1lbnQiLCJyZW1vdGVfaGFuZGxlIl0sIm1hdGNoZXJQcm90ZWN0aW9uIjpbIm9uX2NoaXAiXSwiY3J5cHRvU3RyZW5ndGgiOjEyOCwiYXR0YWNobWVudEhpbnQiOlsiZXh0ZXJuYWwiLCJ3aXJlZCIsIndpcmVsZXNzIiwibmZjIl0sInRjRGlzcGxheSI6W10sImF0dGVzdGF0aW9uUm9vdENlcnRpZmljYXRlcyI6WyJNSUlESGpDQ0FnYWdBd0lCQWdJRUcwQlQ5ekFOQmdrcWhraUc5dzBCQVFzRkFEQXVNU3d3S2dZRFZRUURFeU5aZFdKcFkyOGdWVEpHSUZKdmIzUWdRMEVnVTJWeWFXRnNJRFExTnpJd01EWXpNVEFnRncweE5EQTRNREV3TURBd01EQmFHQTh5TURVd01Ea3dOREF3TURBd01Gb3dMakVzTUNvR0ExVUVBeE1qV1hWaWFXTnZJRlV5UmlCU2IyOTBJRU5CSUZObGNtbGhiQ0EwTlRjeU1EQTJNekV3Z2dFaU1BMEdDU3FHU0liM0RRRUJBUVVBQTRJQkR3QXdnZ0VLQW9JQkFRQy9qd1l1aEJWbHFhaVlXRU1zcldGaXNnSitQdE05MWVTcnBJNFRLN1U1M213Q0lhd1NESHk4dlVtazVOMktBajlhYnZUOU5QNVNNUzFoUWkzdXN4b1lHb25YUWdmTzZaWHlVQTlhK0tBa3FkRm5Cbmx5dWdTZUNPZXA4RWRaRmZzYVJGdE1qa3d6NUdjejJQeTR2SVl2Q2RNSFB0d2F6MGJWdXpuZXVlSUV6NlRuUWpFNjNSZHQyemJ3bmVid1RHNVp5YmVXU3dienkrQkozNFpIY1VoUEFZODl5SlFYdUUwSXpNWkZjRUJiUE5SYldFQ1JLZ2pxLy9xVDlubURPRlZsU1JDdDJ3aXFQU3psdXduK3Yrc3VRRUJzVWpUR01FZDI1dEtYWFRrTlcyMXdJV2J4ZVN5VW9UWHdMdkdTNnhsd1FTZ05wazJxWFl3ZjhpWGc3VldaQWdNQkFBR2pRakJBTUIwR0ExVWREZ1FXQkJRZ0l2ejBiTkdKaGpncFRva3N5S3BQOXh2OW9EQVBCZ05WSFJNRUNEQUdBUUgvQWdFQU1BNEdBMVVkRHdFQi93UUVBd0lCQmpBTkJna3Foa2lHOXcwQkFRc0ZBQU9DQVFFQWp2anVPTURTYStKWEZDTHlCS3N5Y1h0QlZac0o0VWUzTGJhRXNQWTRNWU4vaElRNVpNNXA3RWpmY25NRzRDdFlrTnNmTkhjMEFoQkxkcTQ1cm5UODdxLzZPM3ZVRXROTWFmYmhVNmt0aFg3WSs5WEZOOU5wbVl4citla1ZZNXhPeGk4aDlKRElnb01QNFZCMXVTMGF1bkwxSUdxck5vb0w5bW1Gbkwya0xWVmVlNi9WUjZDNStLU1RDTUNXcHBNdUpJWklJMnY5bzRka29aOFk3UVJqUWxMZll6ZDNxR3RLYnc3eGFGMVVzRy81eFViL0J0d2IyWDJnNElucGlCL3l0LzNDcFFYcGlXWC9LNG1CdlVLaUduMDVac3FlWTFneDRnMHhMQnFjVTlwc215UHpLK1ZzZ3cyamVSUTVKbEtEeXFFMGhlYmZDMXR2RnUwQ0NySkZjdz09Il0sImljb24iOiJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNBQUFBQWZDQVlBQUFDR1ZzK01BQUFBQVhOU1IwSUFyczRjNlFBQUFBUm5RVTFCQUFDeGp3djhZUVVBQUFBSmNFaFpjd0FBSFlZQUFCMkdBVjJpRTRFQUFBYk5TVVJCVkZoSHBWZDdUTlYxRkQvM2Q1OXdlUVNJZ1M5QVFBWGNGTEFRWmk5ZnBlVnoxdFkvV1RacjVXeHBjN1c1a25MYTVqSTNaODVzclMybk0yc2p0V3daUzdJVUg0SDR4Q25FUXg0REFaRjc0Vjd1czg4NXY5L2xJbkJ2VkovQjRQdjludS81bnUvNW52TTU1NmZ6QS9RdjBIYi9JclgzVkZLUG80NWNubTRpblVJV1l3TEZSbVpRVXV3akZHL04xaVJIaDFFWjBOUlZSdWRxdDFCZCsyblNLeVMvT2h5czArbGszZS8za1E5cXZENFpVdGE0VlZTVXVZMGVpcHlpVGhBZm9jb09SVmdEdXV3M3FLUmlBZDNyYmNFdGpUallJb2Y2V2FIc0NtelZQV0NNeCtjZ2g4dExxV01LYU1Xc1VqTHFvMlJ0SklRMG9Pem1lcnBRdTRlc1pnc09Oa0d4SDdkMGtkdlRUMTdzNE9NVTdWSThaaGpnR2FNK0FxOWlFTnU4UGlmMXVkejA3TXd2S1dmOEdsVm9DRVkwNFBDNVdkVGFYWUZiUjh2TnZMNSszS2dmYjV4Tk15YTlSYW1KaXluYU1sR1RWdEZscjZiYTl1K3BxbkVYNHVNdVJSZ2pTWUVock43dXRGRmU2bHFhbDdOZmt3NWltQUdIeW5QcGJrOFZtWTB4c3RucHRsRkNWQ1l0elR1Qk44M1FwTUxqVHRldmRQelNVbko3ZThta2p4WjM5ZlhiS0RmbGRacWJ2VStUVWdHbkJWRjZmUTJpUEhnNFcxNlVXVXd2emJrMTZzTVpFK1BuMHB2ejdKU2V1QXllczhsY3BDbWFLdW8vcCtxV3IyVWN3SUFIV3J2UDBZRXpoWEF0TEFic3NIaHA3aUdhbXZ5aWpQOHJ5cXJYVVdYOVhvb3d4eUF1Zk5CcnA0M1BPQkZYWmxrZjhNRFJpcWNweW93QXdwdXoyeCtmV3Z6L0R0ZGU5c21zenlndGNSNkMxd2JkekJsNk9scTVXTllZNG9HYXRoSk1ya1RFeDBqQVJTSEFWcys1cllrUU5YYitRZ2ZQTHNRNmdYeUluc3JlUWZtcG03UlZGWWZMODZuMWZpVU9rWXZTaGtVUHh2YnVrem95NksxaWhNMWhvM1h6VzZFdlNmWEErZHBpV0dhV2QrZG9Yekx6bUd3S1lGTENBc1JBbFBCQWhNbENGWFU3dEJVVlByOEhnVmNKSFdxK0YwMHBscitETVRkclA0enZ4WTExa05NaHhUK1NlVEdnK2Q0VjVMUUppdHlVR0pOQjhWRlpzamdZQlpNL0lJL1hDVGtqMHF5RE9wRjJBVlExN0NJalVwL0RuVDFVa0w1RjVnZGorc1Mxd2cxZ0UzZ2lnbTYwZkNYelNuUFhieUFQYklYditJRHBFMTZUaGFISVM5c2t5aGxtTUU1RjNjZnFBS2hxMkMwRTVQSDFnWWFYYUxQRGtaRzBIREpPbktXSHA1MUkwejVTT3V4OGUxV0F1WnpkSFFyVGtwOFRtalhvSStsYTB3R1pzenVicWJPM2lmUTZBL1c3dlZTWXNWM21SMEpLd2tLYzRXSGlCa21SOEkzQ0NnSTg3b09MNHF6VDVQK1JVSkJlakVPZ0FQSzhoWVB6YXRNK2VJVHAySU85eVRRbWVyb21QUnh4MXF4QWNzaWxlL3ViU2VFYmNXUUdZRUNnaGNMWTJIeUtqb2dqSDI1aE1wanBVdjFPdWdsaTRlaDJlUncwTzMyYkpqa3l1Q2dOemcwdnpsWU1TaVNzMHVvbzRNRzdoTU9qQ0VhWDF5RkUwblN2akJ6dVRuRXBLODZaOElvcUZBSXVidzhrZzlBckVhUkVXU1pJK2pINFhicDZnOUU5RW5KVDNvYVJ6RE4rTVVKQlFESG41NmE4b1VtRUJ1c094QnMvTjUrdEpFYlBrQUZEajhVR3ZPcy9JV3ZjU2dsR0JodlM3L0ZUWWZwV0dZZERZOGZQQXhXU0EzNXNUQzRwNCtMbTRBYXFJb1BlUXRmdWZLNkpoMFpoeGxic1VYT1NtWE5pZkQ1WlRBa3lEb2ZiYmNjbHhuQThXTkFxeENiUk55a2hYeFFwYUR3NjdmWFVZYnNpRzBLaHR2Mm9lSXZoOHJoUU1ZT2NFQXFYRy9lSSt6bmdPYzV5eHI4cTgySUFNMWMvRkxGT3BscXU1ZUZRWHJNWnpHY1ZDalliTFdHNUk0QlQxZXVScmxieHROT3RNaXREREVoTFhJSXluQUF2dU9FV0UzWDNOZEFmdDk0VmdhRzQyWElRdDBaWDZQZUNFL3FRRmU5cks2SHg3WVU1MEt2SDdmVzRmUytxN0tLQkp4c2dnQlg1cFNBR2gxaklyVmg1elE2dzNSZmFhaEJYbS9hQ2JDWlRqQ1VGVVR5V1pxVzlwNjJNakpQWFZxT3JQZ01PNE52NzRHa2Yrb3dmdE5WQkRRbmpGSnFIU3cxN3BYdmhXVzVLWnFlL1E0OU4vVVNUQ0FWV29RWEZJSEJIWFhlM0ZQclVEc3VHRG10Ri9oSEtUSHBla3hoaUFPUEkrU0pxNlM2SEY0STlZV3prQkpUbzQ2aVVNeldwOFBpci9SaWR1THhLWXNTa3NWOHZMbE9RdmhHWDJZbFIwT0JoQmpDK3UvZ0VjdlkwQXBLN1lrNDFOeGpQU1FuV0ZIVEY2NlVyamdldkI4Q3U1YStsMnZZU1JQdHVWRG83M2hoZE1TSG5VWDd0VGpzVlpHeEFsL1dwdGlPSUVRMWduTDI5bVg2L3RSMXRtbGtZajhXNFgrQ1NqV2NVREdZMU5wUy9DN2hTS3FpTUxNL2wyUW1TV1o3M0RkeitnaW84QkNFTllQUTQ2cW5rendYVWJxdkJreGpVUXNXZlpGZ2J1bzNyQWYrd043ak9POTAreW54NFBpM0wrMG5ZTDFTY2hEVWdBUDRnUFYvN0lkMXErMUhTaG11R2tJcVdSUGd5eE1GcVA4SGZqVG5qWHdZNWJRZmJKY3Q2T0l6S2dNSG90Ri9IZTFlZ3NheEhTcUc2d2ZkbVE1eDhOeVRGRnFCY3AyaVNvd0hSM3lrNSszNmhGN3ZYQUFBQUFFbEZUa1N1UW1DQyJ9LCJzdGF0dXNSZXBvcnRzIjpbeyJzdGF0dXMiOiJGSURPX0NFUlRJRklFRCIsImVmZmVjdGl2ZURhdGUiOiIyMDIwLTA5LTE2IiwiY2VydGlmaWNhdGlvbkRlc2NyaXB0b3IiOiJZdWJpS2V5IE5FTyIsImNlcnRpZmljYXRlTnVtYmVyIjoiVTJGMTAwMDIwMTUxMjIzMDA2In1dLCJ0aW1lT2ZMYXN0U3RhdHVzQ2hhbmdlIjoiMjAyMC0wOS0xNiJ9LHsiYXR0ZXN0YXRpb25DZXJ0aWZpY2F0ZUtleUlkZW50aWZpZXJzIjpbIjg1ZDI4ZDgzMjRlMjNhYjUwYjAyODU5MmJkYmJmNGU0YWM4YTEzMTciXSwibWV0YWRhdGFTdGF0ZW1lbnQiOnsibGVnYWxIZWFkZXIiOiJodHRwczovL2ZpZG9hbGxpYW5jZS5vcmcvbWV0YWRhdGEvbWV0YWRhdGEtc3RhdGVtZW50LWxlZ2FsLWhlYWRlci8iLCJhdHRlc3RhdGlvbkNlcnRpZmljYXRlS2V5SWRlbnRpZmllcnMiOlsiODVkMjhkODMyNGUyM2FiNTBiMDI4NTkyYmRiYmY0ZTRhYzhhMTMxNyJdLCJkZXNjcmlwdGlvbiI6Ill1YmlLZXkgQmlvIFNlcmllcyAoRW50ZXJwcmlzZSBQcm9maWxlKSIsImF1dGhlbnRpY2F0b3JWZXJzaW9uIjozMjg5NjUsInByb3RvY29sRmFtaWx5IjoidTJmIiwic2NoZW1hIjozLCJ1cHYiOlt7Im1ham9yIjoxLCJtaW5vciI6Mn0seyJtYWpvciI6MSwibWlub3IiOjF9XSwiYXV0aGVudGljYXRpb25BbGdvcml0aG1zIjpbInNlY3AyNTZyMV9lY2RzYV9zaGEyNTZfcmF3Il0sInB1YmxpY0tleUFsZ0FuZEVuY29kaW5ncyI6WyJlY2NfeDk2Ml9yYXciXSwiYXR0ZXN0YXRpb25UeXBlcyI6WyJiYXNpY19mdWxsIl0sInVzZXJWZXJpZmljYXRpb25EZXRhaWxzIjpbW3sidXNlclZlcmlmaWNhdGlvbk1ldGhvZCI6InByZXNlbmNlX2ludGVybmFsIn1dXSwia2V5UHJvdGVjdGlvbiI6WyJoYXJkd2FyZSIsInNlY3VyZV9lbGVtZW50IiwicmVtb3RlX2hhbmRsZSJdLCJtYXRjaGVyUHJvdGVjdGlvbiI6WyJvbl9jaGlwIl0sImNyeXB0b1N0cmVuZ3RoIjoxMjgsImF0dGFjaG1lbnRIaW50IjpbImV4dGVybmFsIiwid2lyZWQiXSwidGNEaXNwbGF5IjpbXSwiYXR0ZXN0YXRpb25Sb290Q2VydGlmaWNhdGVzIjpbIk1JSURIakNDQWdhZ0F3SUJBZ0lFRzBCVDl6QU5CZ2txaGtpRzl3MEJBUXNGQURBdU1Td3dLZ1lEVlFRREV5TlpkV0pwWTI4Z1ZUSkdJRkp2YjNRZ1EwRWdVMlZ5YVdGc0lEUTFOekl3TURZek1UQWdGdzB4TkRBNE1ERXdNREF3TURCYUdBOHlNRFV3TURrd05EQXdNREF3TUZvd0xqRXNNQ29HQTFVRUF4TWpXWFZpYVdOdklGVXlSaUJTYjI5MElFTkJJRk5sY21saGJDQTBOVGN5TURBMk16RXdnZ0VpTUEwR0NTcUdTSWIzRFFFQkFRVUFBNElCRHdBd2dnRUtBb0lCQVFDL2p3WXVoQlZscWFpWVdFTXNyV0Zpc2dKK1B0TTkxZVNycEk0VEs3VTUzbXdDSWF3U0RIeTh2VW1rNU4yS0FqOWFidlQ5TlA1U01TMWhRaTN1c3hvWUdvblhRZ2ZPNlpYeVVBOWErS0FrcWRGbkJubHl1Z1NlQ09lcDhFZFpGZnNhUkZ0TWprd3o1R2N6MlB5NHZJWXZDZE1IUHR3YXowYlZ1em5ldWVJRXo2VG5RakU2M1JkdDJ6YnduZWJ3VEc1WnliZVdTd2J6eStCSjM0WkhjVWhQQVk4OXlKUVh1RTBJek1aRmNFQmJQTlJiV0VDUktnanEvL3FUOW5tRE9GVmxTUkN0MndpcVBTemx1d24rditzdVFFQnNValRHTUVkMjV0S1hYVGtOVzIxd0lXYnhlU3lVb1RYd0x2R1M2eGx3UVNnTnBrMnFYWXdmOGlYZzdWV1pBZ01CQUFHalFqQkFNQjBHQTFVZERnUVdCQlFnSXZ6MGJOR0poamdwVG9rc3lLcFA5eHY5b0RBUEJnTlZIUk1FQ0RBR0FRSC9BZ0VBTUE0R0ExVWREd0VCL3dRRUF3SUJCakFOQmdrcWhraUc5dzBCQVFzRkFBT0NBUUVBanZqdU9NRFNhK0pYRkNMeUJLc3ljWHRCVlpzSjRVZTNMYmFFc1BZNE1ZTi9oSVE1Wk01cDdFamZjbk1HNEN0WWtOc2ZOSGMwQWhCTGRxNDVyblQ4N3EvNk8zdlVFdE5NYWZiaFU2a3RoWDdZKzlYRk45TnBtWXhyK2VrVlk1eE94aThoOUpESWdvTVA0VkIxdVMwYXVuTDFJR3FyTm9vTDltbUZuTDJrTFZWZWU2L1ZSNkM1K0tTVENNQ1dwcE11SklaSUkydjlvNGRrb1o4WTdRUmpRbExmWXpkM3FHdEtidzd4YUYxVXNHLzV4VWIvQnR3YjJYMmc0SW5waUIveXQvM0NwUVhwaVdYL0s0bUJ2VUtpR24wNVpzcWVZMWd4NGcweExCcWNVOXBzbXlQeksrVnNndzJqZVJRNUpsS0R5cUUwaGViZkMxdHZGdTBDQ3JKRmN3PT1cbiAiXSwiaWNvbiI6ImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0FBQUFBZkNBWUFBQUNHVnMrTUFBQUFBWE5TUjBJQXJzNGM2UUFBQUFSblFVMUJBQUN4and2OFlRVUFBQUFKY0VoWmN3QUFIWVlBQUIyR0FWMmlFNEVBQUFiTlNVUkJWRmhIcFZkN1ROVjFGRC8zZDU5d2VRU0lnUzlBUUFYY0ZMQVFaaTlmcGVWejF0WS9XVFpyNVd4cGM3VzVrbkxhNWpJM1o4NXNyUzJuTTJzanRXd1pTN0lVSDRINHhDbkVReDREQVpGNzRWN3VzODg1djkvbEluQnZWSi9CNFB2OW51LzVudS81bnZNNTU2ZnpBL1F2MEhiL0lyWDNWRktQbzQ1Y25tNGluVUlXWXdMRlJtWlFVdXdqRkcvTjFpUkhoMUVaME5SVlJ1ZHF0MUJkKzJuU0t5Uy9PaHlzMCtsazNlLzNrUTlxdkQ0WlV0YTRWVlNVdVkwZWlweWlUaEFmb2NvT1JWZ0R1dXczcUtSaUFkM3JiY0V0alRqWUlvZjZXYUhzQ216VlBXQ014K2NnaDh0THFXTUthTVdzVWpMcW8yUnRKSVEwb096bWVycFF1NGVzWmdzT05rR3hIN2Qwa2R2VFQxN3M0T01VN1ZJOFpoamdHYU0rQXE5aUVOdThQaWYxdWR6MDdNd3ZLV2Y4R2xWb0NFWTA0UEM1V2RUYVhZRmJSOHZOdkw1KzNLZ2ZiNXhOTXlhOVJhbUppeW5hTWxHVFZ0RmxyNmJhOXUrcHFuRVg0dU11UlJnalNZRWhyTjd1dEZGZTZscWFsN05ma3c1aW1BR0h5blBwYms4Vm1ZMHhzdG5wdGxGQ1ZDWXR6VHVCTjgzUXBNTGpUdGV2ZFB6U1VuSjdlOG1ranhaMzlmWGJLRGZsZFpxYnZVK1RVZ0duQlZGNmZRMmlQSGc0VzE2VVdVd3Z6YmsxNnNNWkUrUG4wcHZ6N0pTZXVBeWVzOGxjcENtYUt1by9wK3FXcjJVY3dJQUhXcnZQMFlFemhYQXRMQWJzc0hocDdpR2FtdnlpalA4cnlxclhVV1g5WG9vd3h5QXVmTkJycDQzUE9CRlhabGtmOE1EUmlxY3B5b3dBd3B1ejJ4K2ZXdnovRHRkZTlzbXN6eWd0Y1I2QzF3YmR6Qmw2T2xxNVdOWVk0b0dhdGhKTXJrVEV4MGpBUlNIQVZzKzVyWWtRTlhiK1FnZlBMc1E2Z1h5SW5zcmVRZm1wbTdSVkZZZkw4Nm4xZmlVT2tZdlNoa1VQeHZidWt6b3k2SzFpaE0xaG8zWHpXNkV2U2ZYQStkcGlXR2FXZCtkb1h6THptR3dLWUZMQ0FzUkFsUEJBaE1sQ0ZYVTd0QlVWUHI4SGdWY0pIV3ErRjAwcGxyK0RNVGRyUDR6dnhZMTFrTk1oeFQrU2VUR2crZDRWNUxRSml0eVVHSk5COFZGWnNqZ1lCWk0vSUkvWENUa2owcXlET3BGMkFWUTE3Q0lqVXAvRG5UMVVrTDVGNWdkaitzUzF3ZzFnRTNnaWdtNjBmQ1h6U25QWGJ5QVBiSVh2K0lEcEUxNlRoYUhJUzlza3lobG1NRTVGM2NmcUFLaHEyQzBFNVBIMWdZYVhhTFBEa1pHMEhESk9uS1dIcDUxSTB6NVNPdXg4ZTFXQXVaemRIUXJUa3A4VG1qWG9JK2xhMHdHWnN6dWJxYk8zaWZRNkEvVzd2VlNZc1YzbVIwSkt3a0tjNFdIaUJrbVI4STNDQ2dJODdvT0w0cXpUNVArUlVKQmVqRU9nQVBLOGhZUHphdE0rZUlUcDJJTzl5VFFtZXJvbVBSeHgxcXhBY3NpbGUvdWJTZUViY1dRR1lFQ2doY0xZMkh5S2pvZ2pIMjVoTXBqcFV2MU91Z2xpNGVoMmVSdzBPMzJiSmpreXVDZ056ZzB2emxZTVNpU3MwdW9vNE1HN2hNT2pDRWFYMXlGRTBuU3ZqQnp1VG5FcEs4Nlo4SW9xRkFJdWJ3OGtnOUFyRWFSRVdTWkkrakg0WGJwNmc5RTlFbkpUM29hUnpETitNVUpCUURIbjU2YThvVW1FQnVzT3hCcy9ONSt0SkViUGtBRkRqOFVHdk9zL0lXdmNTZ2xHQmh2UzcvRlRZZnBXR1lkRFk4ZlBBeFdTQTM1c1RDNHA0K0xtNEFhcUlvUGVRdGZ1Zks2SmgwWmh4bGJzVVhPU21YTmlmRDVaVEFreURvZmJiY2NseG5BOFdOQXF4Q2JSTnlraFh4UXBhRHc2N2ZYVVlic2lHMEtodHYyb2VJdmg4cmhRTVlPY0VBcVhHL2VJK3puZ09jNXl4cjhxODJJQU0xYy9GTEZPcGxxdTVlRlFYck1aekdjVkNqWWJMV0c1STRCVDFldVJybGJ4dE5PdE1pdERERWhMWElJeW5BQXZ1T0VXRTNYM05kQWZ0OTRWZ2FHNDJYSVF0MFpYNlBlQ0UvcVFGZTlySzZIeDdZVTUwS3ZIN2ZXNGZTK3E3S0tCSnhzZ2dCWDVwU0FHaDFqSXJWaDV6UTZ3M1JmYWFoQlhtL2FDYkNaVGpDVUZVVHlXWnFXOXA2Mk1qSlBYVnFPclBnTU80TnY3NEdrZitvd2Z0TlZCRFFuakZKcUhTdzE3cFh2aFdXNUtacWUvUTQ5Ti9VU1RDQVZXb1FYRklIQkhYWGUzRlByVURzdUdEbXRGL2hIS1RIcGVreGhpQU9QSStTSnE2UzZIRjRJOVlXemtCSlRvNDZpVU16V3A4UGlyL1JpZHVMeEtZc1Nrc1Y4dkxsT1F2aEdYMllsUjBPQmhCakMrdS9nRWN2WTBBcEs3WWs0MU54alBTUW5XRkhURjY2VXJqZ2V2QjhDdTVhK2wydllTUlB0dVZEbzczaGhkTVNIblVYN3RUanNWWkd4QWwvV3B0aU9JRVExZ25MMjltWDYvdFIxdG1sa1lqOFc0WCtDU2pXY1VER1kxTnBTL0M3aFNLcWlNTE0vbDJRbVNXWjczRGR6K2dpbzhCQ0VOWVBRNDZxbmt6d1hVYnF2Qmt4alVRc1dmWkZnYnVvM3JBZit3TjdqT085MCt5bng0UGkzTCswbllMMVNjaERVZ0FQNGdQVi83SWQxcSsxSFNobXVHa0lxV1JQZ3l4TUZxUDhIZmpUbmpYd1k1YlFmYkpjdDZPSXpLZ01Ib3RGL0hlMWVnc2F4SFNxRzZ3ZmRtUTV4OE55VEZGcUJjcDJpU293SFIzeWs1KzM2aEY3dlhBQUFBQUVsRlRrU3VRbUNDIn0sInN0YXR1c1JlcG9ydHMiOlt7InN0YXR1cyI6IkZJRE9fQ0VSVElGSUVEX0wxIiwiZWZmZWN0aXZlRGF0ZSI6IjIwMjEtMDgtMDYiLCJ1cmwiOiJ3d3cueXViaWNvLmNvbSIsImNlcnRpZmljYXRpb25EZXNjcmlwdG9yIjoiWXViaUtleSBCaW8gKEVudGVycHJpc2UgUHJvZmlsZSkiLCJjZXJ0aWZpY2F0ZU51bWJlciI6IkZJRE8yMDAyMDIxMDgwNjAwMSIsImNlcnRpZmljYXRpb25Qb2xpY3lWZXJzaW9uIjoiMS4zIiwiY2VydGlmaWNhdGlvblJlcXVpcmVtZW50c1ZlcnNpb24iOiIxLjQifSx7InN0YXR1cyI6IkZJRE9fQ0VSVElGSUVEIiwiZWZmZWN0aXZlRGF0ZSI6IjIwMjEtMDgtMDYifV0sInRpbWVPZkxhc3RTdGF0dXNDaGFuZ2UiOiIyMDIxLTA4LTE4In0seyJhdHRlc3RhdGlvbkNlcnRpZmljYXRlS2V5SWRlbnRpZmllcnMiOlsiMmZlYThmMzU3YzdhNTRhNTdmNDVjZGE3MmZhZmIzNGQxZDQ0OWZkNCJdLCJtZXRhZGF0YVN0YXRlbWVudCI6eyJsZWdhbEhlYWRlciI6Imh0dHBzOi8vZmlkb2FsbGlhbmNlLm9yZy9tZXRhZGF0YS9tZXRhZGF0YS1zdGF0ZW1lbnQtbGVnYWwtaGVhZGVyLyIsImF0dGVzdGF0aW9uQ2VydGlmaWNhdGVLZXlJZGVudGlmaWVycyI6WyIyZmVhOGYzNTdjN2E1NGE1N2Y0NWNkYTcyZmFmYjM0ZDFkNDQ5ZmQ0Il0sImRlc2NyaXB0aW9uIjoiTkVPV0FWRSBCYWRnZW8gRklETzIiLCJhdXRoZW50aWNhdG9yVmVyc2lvbiI6MiwicHJvdG9jb2xGYW1pbHkiOiJ1MmYiLCJzY2hlbWEiOjMsInVwdiI6W3sibWFqb3IiOjEsIm1pbm9yIjoyfV0sImF1dGhlbnRpY2F0aW9uQWxnb3JpdGhtcyI6WyJzZWNwMjU2cjFfZWNkc2Ffc2hhMjU2X3JhdyJdLCJwdWJsaWNLZXlBbGdBbmRFbmNvZGluZ3MiOlsiZWNjX3g5NjJfcmF3Il0sImF0dGVzdGF0aW9uVHlwZXMiOlsiYmFzaWNfZnVsbCJdLCJ1c2VyVmVyaWZpY2F0aW9uRGV0YWlscyI6W1t7InVzZXJWZXJpZmljYXRpb25NZXRob2QiOiJwcmVzZW5jZV9pbnRlcm5hbCJ9XV0sImtleVByb3RlY3Rpb24iOlsiaGFyZHdhcmUiLCJzZWN1cmVfZWxlbWVudCJdLCJtYXRjaGVyUHJvdGVjdGlvbiI6WyJvbl9jaGlwIl0sImNyeXB0b1N0cmVuZ3RoIjoxMjgsImF0dGFjaG1lbnRIaW50IjpbImV4dGVybmFsIiwid2lyZWQiLCJ3aXJlbGVzcyIsIm5mYyJdLCJ0Y0Rpc3BsYXkiOltdLCJhdHRlc3RhdGlvblJvb3RDZXJ0aWZpY2F0ZXMiOlsiXG5NSUlFT0RDQ0E5MmdBd0lCQWdJREFJbkJNQW9HQ0NxR1NNNDlCQU1DTUhzeEN6QUpCZ05WQkFZVEFrWlNNUk13RVFZRFZRUUtFd3BEWlhKMFJYVnliM0JsTVJjd0ZRWURWUVFMRXc0d01EQXlJRFF6TkRJd01qRTRNREVrTUNJR0ExVUVBeE1iUTJWeWRFVjFjbTl3WlNCRmJHeHBjSFJwWXlCU2IyOTBJRU5CTVJnd0ZnWURWUVJoRXc5T1ZGSkdVaTAwTXpReU1ESXhPREF3SGhjTk1UZ3dNakl5TWpNd01EQXdXaGNOTWpnd01USXhNak13TURBd1dqQjBNUXN3Q1FZRFZRUUdFd0pHVWpFVE1CRUdBMVVFQ2hNS1EyVnlkRVYxY205d1pURVhNQlVHQTFVRUN4TU9NREF3TWlBME16UXlNREl4T0RBeEhUQWJCZ05WQkFNVEZFTmxjblJGZFhKdmNHVWdTV1JsWTNseklFTkJNUmd3RmdZRFZRUmhFdzlPVkZKR1VpMDBNelF5TURJeE9EQXdXVEFUQmdjcWhrak9QUUlCQmdncWhrak9QUU1CQndOQ0FBU0xWTCsxU1RKdmFFUk81V0NSK2pHY0F4THZtUEJEaVpZMU5nRkZJaHBYNk9BWkFwUVltdDZ4U2g3NFN3TSttamduc1NFY2M0QTJVZjEzOUZnWjRycFlvNElDVlRDQ0FsRXdFd1lEVlIwakJBd3dDb0FJVFowMXRHdUJQTG93U2dZSUt3WUJCUVVIQVFFRVBqQThNRG9HQ0NzR0FRVUZCekFDaGk1b2RIUndPaTh2ZDNkM0xtTmxjblJsZFhKdmNHVXVabkl2Y21WbVpYSmxibU5sTDJWalgzSnZiM1F1WTNKME1GTUdBMVVkSUFSTU1Fb3dTQVlKS29GNkFXa3BBUUVBTURzd09RWUlLd1lCQlFVSEFnRVdMV2gwZEhCek9pOHZkM2QzTG1ObGNuUmxkWEp2Y0dVdVpuSXZZMmhoYVc1bExXUmxMV052Ym1acFlXNWpaVENDQVdBR0ExVWRId1NDQVZjd2dnRlRNRCtnUGFBN2hqbG9kSFJ3T2k4dmQzZDNMbU5sY25SbGRYSnZjR1V1Wm5JdmNtVm1aWEpsYm1ObEwyTmxjblJsZFhKdmNHVmZaV05mY205dmRDNWpjbXd3Z1lhZ2dZT2dnWUNHZm14a1lYQTZMeTlzWTNJeExtTmxjblJsZFhKdmNHVXVabkl2WTI0OVEyVnlkRVYxY205d1pTVXlNRVZzYkdsd2RHbGpKVEl3VW05dmRDVXlNRU5CTEc5MVBUQXdNRElsTWpBME16UXlNREl4T0RBc2J6MURaWEowUlhWeWIzQmxMR005UmxJL1kyVnlkR2xtYVdOaGRHVlNaWFp2WTJGMGFXOXVUR2x6ZERDQmhxQ0JnNkNCZ0laK2JHUmhjRG92TDJ4amNqSXVZMlZ5ZEdWMWNtOXdaUzVtY2k5amJqMURaWEowUlhWeWIzQmxKVEl3Uld4c2FYQjBhV01sTWpCU2IyOTBKVEl3UTBFc2IzVTlNREF3TWlVeU1EUXpOREl3TWpFNE1DeHZQVU5sY25SRmRYSnZjR1VzWXoxR1VqOWpaWEowYVdacFkyRjBaVkpsZG05allYUnBiMjVNYVhOME1CRUdBMVVkRGdRS0JBaERhUWJoVEZ0amNqQU9CZ05WSFE4QkFmOEVCQU1DQVFZd0VnWURWUjBUQVFIL0JBZ3dCZ0VCL3dJQkFEQUtCZ2dxaGtqT1BRUURBZ05KQURCR0FpRUFvRWVwSE1DNVg5akJLYUdwaGNLamlkaGlOK1puejd2M1MzaGMzMS9BdW5zQ0lRREtxb2dLMlNaT1haY3Z2SENCNlVRU2FBMG5MbjRSVXd5MWd1RGl2Ylpid2c9PSIsIlxuXG5NSUlDSFRDQ0FjS2dBd0lCQWdJQ2RkVXdDZ1lJS29aSXpqMEVBd0l3ZXpFTE1Ba0dBMVVFQmhNQ1JsSXhFekFSQmdOVkJBb1RDa05sY25SRmRYSnZjR1V4RnpBVkJnTlZCQXNURGpBd01ESWdORE0wTWpBeU1UZ3dNU1F3SWdZRFZRUURFeHREWlhKMFJYVnliM0JsSUVWc2JHbHdkR2xqSUZKdmIzUWdRMEV4R0RBV0JnTlZCR0VURDA1VVVrWlNMVFF6TkRJd01qRTRNREFlRncweE9EQXhNakl5TXpBd01EQmFGdzB5T0RBeE1qSXlNekF3TURCYU1Ic3hDekFKQmdOVkJBWVRBa1pTTVJNd0VRWURWUVFLRXdwRFpYSjBSWFZ5YjNCbE1SY3dGUVlEVlFRTEV3NHdNREF5SURRek5ESXdNakU0TURFa01DSUdBMVVFQXhNYlEyVnlkRVYxY205d1pTQkZiR3hwY0hScFl5QlNiMjkwSUVOQk1SZ3dGZ1lEVlFSaEV3OU9WRkpHVWkwME16UXlNREl4T0RBd1dUQVRCZ2NxaGtqT1BRSUJCZ2dxaGtqT1BRTUJCd05DQUFUejJqTmFLT0svTUtkVzJmbWUxdHE2R1JFdVB1dUtXOUhnV1lnTVJyanZaVVRPcUxBTkozTWQ1SHF2MUVOMXpNZDRsV3R5ZnpSbGE3cnY1QVJCb09vVG96WXdOREFQQmdOVkhSTUJBZjhFQlRBREFRSC9NQkVHQTFVZERnUUtCQWhOblRXMGE0RTh1akFPQmdOVkhROEJBZjhFQkFNQ0FRWXdDZ1lJS29aSXpqMEVBd0lEU1FBd1JnSWhBTXJoYjhTbWZOTGVMTmdhQVZtUTZBT01pTE5MVkhYMGtGVU84MENuVDM4RUFpRUF6TkFndjRkSCtIRGhaU2daV0ppYVB1L25mWlRldUd5NE15ZFBNcTV1cnM0PSIsIk1JSUNIVENDQWNLZ0F3SUJBZ0lDZGRVd0NnWUlLb1pJemowRUF3SXdlekVMTUFrR0ExVUVCaE1DUmxJeEV6QVJCZ05WQkFvVENrTmxjblJGZFhKdmNHVXhGekFWQmdOVkJBc1REakF3TURJZ05ETTBNakF5TVRnd01TUXdJZ1lEVlFRREV4dERaWEowUlhWeWIzQmxJRVZzYkdsd2RHbGpJRkp2YjNRZ1EwRXhHREFXQmdOVkJHRVREMDVVVWtaU0xUUXpOREl3TWpFNE1EQWVGdzB4T0RBeE1qSXlNekF3TURCYUZ3MHlPREF4TWpJeU16QXdNREJhTUhzeEN6QUpCZ05WQkFZVEFrWlNNUk13RVFZRFZRUUtFd3BEWlhKMFJYVnliM0JsTVJjd0ZRWURWUVFMRXc0d01EQXlJRFF6TkRJd01qRTRNREVrTUNJR0ExVUVBeE1iUTJWeWRFVjFjbTl3WlNCRmJHeHBjSFJwWXlCU2IyOTBJRU5CTVJnd0ZnWURWUVJoRXc5T1ZGSkdVaTAwTXpReU1ESXhPREF3V1RBVEJnY3Foa2pPUFFJQkJnZ3Foa2pPUFFNQkJ3TkNBQVR6MmpOYUtPSy9NS2RXMmZtZTF0cTZHUkV1UHV1S1c5SGdXWWdNUnJqdlpVVE9xTEFOSjNNZDVIcXYxRU4xek1kNGxXdHlmelJsYTdydjVBUkJvT29Ub3pZd05EQVBCZ05WSFJNQkFmOEVCVEFEQVFIL01CRUdBMVVkRGdRS0JBaE5uVFcwYTRFOHVqQU9CZ05WSFE4QkFmOEVCQU1DQVFZd0NnWUlLb1pJemowRUF3SURTUUF3UmdJaEFNcmhiOFNtZk5MZUxOZ2FBVm1RNkFPTWlMTkxWSFgwa0ZVTzgwQ25UMzhFQWlFQXpOQWd2NGRIK0hEaFpTZ1pXSmlhUHUvbmZaVGV1R3k0TXlkUE1xNXVyczQ9IiwiTUlJRU9EQ0NBOTJnQXdJQkFnSURBSW5CTUFvR0NDcUdTTTQ5QkFNQ01Ic3hDekFKQmdOVkJBWVRBa1pTTVJNd0VRWURWUVFLRXdwRFpYSjBSWFZ5YjNCbE1SY3dGUVlEVlFRTEV3NHdNREF5SURRek5ESXdNakU0TURFa01DSUdBMVVFQXhNYlEyVnlkRVYxY205d1pTQkZiR3hwY0hScFl5QlNiMjkwSUVOQk1SZ3dGZ1lEVlFSaEV3OU9WRkpHVWkwME16UXlNREl4T0RBd0hoY05NVGd3TWpJeU1qTXdNREF3V2hjTk1qZ3dNVEl4TWpNd01EQXdXakIwTVFzd0NRWURWUVFHRXdKR1VqRVRNQkVHQTFVRUNoTUtRMlZ5ZEVWMWNtOXdaVEVYTUJVR0ExVUVDeE1PTURBd01pQTBNelF5TURJeE9EQXhIVEFiQmdOVkJBTVRGRU5sY25SRmRYSnZjR1VnU1dSbFkzbHpJRU5CTVJnd0ZnWURWUVJoRXc5T1ZGSkdVaTAwTXpReU1ESXhPREF3V1RBVEJnY3Foa2pPUFFJQkJnZ3Foa2pPUFFNQkJ3TkNBQVNMVkwrMVNUSnZhRVJPNVdDUitqR2NBeEx2bVBCRGlaWTFOZ0ZGSWhwWDZPQVpBcFFZbXQ2eFNoNzRTd00rbWpnbnNTRWNjNEEyVWYxMzlGZ1o0cnBZbzRJQ1ZUQ0NBbEV3RXdZRFZSMGpCQXd3Q29BSVRaMDF0R3VCUExvd1NnWUlLd1lCQlFVSEFRRUVQakE4TURvR0NDc0dBUVVGQnpBQ2hpNW9kSFJ3T2k4dmQzZDNMbU5sY25SbGRYSnZjR1V1Wm5JdmNtVm1aWEpsYm1ObEwyVmpYM0p2YjNRdVkzSjBNRk1HQTFVZElBUk1NRW93U0FZSktvRjZBV2twQVFFQU1Ec3dPUVlJS3dZQkJRVUhBZ0VXTFdoMGRIQnpPaTh2ZDNkM0xtTmxjblJsZFhKdmNHVXVabkl2WTJoaGFXNWxMV1JsTFdOdmJtWnBZVzVqWlRDQ0FXQUdBMVVkSHdTQ0FWY3dnZ0ZUTUQrZ1BhQTdoamxvZEhSd09pOHZkM2QzTG1ObGNuUmxkWEp2Y0dVdVpuSXZjbVZtWlhKbGJtTmxMMk5sY25SbGRYSnZjR1ZmWldOZmNtOXZkQzVqY213d2dZYWdnWU9nZ1lDR2ZteGtZWEE2THk5c1kzSXhMbU5sY25SbGRYSnZjR1V1Wm5JdlkyNDlRMlZ5ZEVWMWNtOXdaU1V5TUVWc2JHbHdkR2xqSlRJd1VtOXZkQ1V5TUVOQkxHOTFQVEF3TURJbE1qQTBNelF5TURJeE9EQXNiejFEWlhKMFJYVnliM0JsTEdNOVJsSS9ZMlZ5ZEdsbWFXTmhkR1ZTWlhadlkyRjBhVzl1VEdsemREQ0JocUNCZzZDQmdJWitiR1JoY0RvdkwyeGpjakl1WTJWeWRHVjFjbTl3WlM1bWNpOWpiajFEWlhKMFJYVnliM0JsSlRJd1JXeHNhWEIwYVdNbE1qQlNiMjkwSlRJd1EwRXNiM1U5TURBd01pVXlNRFF6TkRJd01qRTRNQ3h2UFVObGNuUkZkWEp2Y0dVc1l6MUdVajlqWlhKMGFXWnBZMkYwWlZKbGRtOWpZWFJwYjI1TWFYTjBNQkVHQTFVZERnUUtCQWhEYVFiaFRGdGpjakFPQmdOVkhROEJBZjhFQkFNQ0FRWXdFZ1lEVlIwVEFRSC9CQWd3QmdFQi93SUJBREFLQmdncWhrak9QUVFEQWdOSkFEQkdBaUVBb0VlcEhNQzVYOWpCS2FHcGhjS2ppZGhpTitabno3djNTM2hjMzEvQXVuc0NJUURLcW9nSzJTWk9YWmN2dkhDQjZVUVNhQTBuTG40UlV3eTFndURpdmJaYndnPT0iXSwiaWNvbiI6ImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0FBQUFBZ0NBSUFBQUQ4R08yakFBQUNxVWxFUVZSSXgyUDgvLzgvQXkwQkV3T053YWdGcEZsdzhjS0Zpckl5UjN0N1MxT3owS0RnQmZQbS8vejVrM2l6dm4zOWxwK1RhMnRsdFdUUklvVG9meGhZdFhLbGxwcTZzcndDQWlrb1JJVkh2SDM3OWo5eDROU3BVMEF0UUkxVzVoWndRYWdQenA4N1YxMVppWEF2SXhqOVp6aDU0a1JOWlJXUlB2ajk2eGNET00wek1US2lCOUc4dVhQLy9mc0hORlJBU0xDK3NYSG03Tmx1YnU0UW0zYnQzTGx1N1ZwaUxHQ0VtY3VJYWNHWlU2ZkI0Y1dRWDFBUUd4L243T0l5YWVvVWJWMGRpSXZhbWx1ZVBYdEdVU1QvK2czMkhTT0Rob1lHUklTRmhhV3BwWVdWbFJVbytPSGpoNmI2Qm9vc2dIdnF6NTgvY0RsOWZmM003Q3dJZTgrZTNhdFhycVFnbWVJb2tES3pzL1gxOUVHeS94azZPem9mUDNwRVdVYkRzQVlZUkMzdGJSd2NIRUQyaC9mdjYycHFDUmVPakNUbVpFMHRyWnk4WEFqNzhLRkR5NVl1SmQ1MFZBc1ljZXBLVFU4M05qV0JxT251N0h4dy93RStPLzdqc2dDMzE1bVptUnVibTluWjJZRnF2bnorMGxCZmh6T2cvcU83bFFtL0IrRUFtSHdMaW9vZ0NvNGNPcnhrMFdJaVBVRWdrcEZCVW5LeW1aazVoTjNUMVhYM3poMWlZb0tKY0RUQkE0cUZ1Ym10bFl1YkM4aisrdlZyVFZVMXFIUWh6UWVNQkh5aHJLeGNXRndNVVhuNjFLbjVjK2RTdjhKSlNFeTB0ckdHc0NmMDk5KzZkUXN1eGNMQ0NySDdQNUlyU1lnRGVLRlMzOVRFeDhzSFpILy85cjJ1R2hGUU42NWZoMlZQTm9xcVRDVWxwZUt5VW1neGZQcE1TV0VSTUFNdVg3YXN2N2NYSXFpbHJZWHdGcnhlZy9xT3VHWlNkRXpNM3QxN0RoMDZDUFQwcGswYk4yM2NDSTlGWUtaSno4aEU5OEhmZjM4aEREWTJkaUw5MGRIZHBhdXJpeGF3ckN5c3JlM3R1bnE2aUxUWDBOQUFUb0lzVHg0L3RuZHdpSXlPQXRZRXhGakF6YzN0NCtzTEpMOTkvUW9zRTBWRlJlM3M3UnRibW9HVkZVcWNqVFlkaDc4RkFJaEJMbE5kN2p1MUFBQUFBRWxGVGtTdVFtQ0MifSwic3RhdHVzUmVwb3J0cyI6W3sic3RhdHVzIjoiTk9UX0ZJRE9fQ0VSVElGSUVEIiwiZWZmZWN0aXZlRGF0ZSI6IjIwMjEtMDktMjEifV0sInRpbWVPZkxhc3RTdGF0dXNDaGFuZ2UiOiIyMDIxLTA5LTIxIn0seyJhYWd1aWQiOiJiOTJjM2Y5YS1jMDE0LTQwNTYtODg3Zi0xNDBhMjUwMTE2M2IiLCJtZXRhZGF0YVN0YXRlbWVudCI6eyJsZWdhbEhlYWRlciI6Imh0dHBzOi8vZmlkb2FsbGlhbmNlLm9yZy9tZXRhZGF0YS9tZXRhZGF0YS1zdGF0ZW1lbnQtbGVnYWwtaGVhZGVyLyIsImFhZ3VpZCI6ImI5MmMzZjlhLWMwMTQtNDA1Ni04ODdmLTE0MGEyNTAxMTYzYiIsImRlc2NyaXB0aW9uIjoiU2VjdXJpdHkgS2V5IGJ5IFl1YmljbyIsImF1dGhlbnRpY2F0b3JWZXJzaW9uIjo1MDIwMCwicHJvdG9jb2xGYW1pbHkiOiJmaWRvMiIsInNjaGVtYSI6MywidXB2IjpbeyJtYWpvciI6MSwibWlub3IiOjB9XSwiYXV0aGVudGljYXRpb25BbGdvcml0aG1zIjpbImVkMjU1MTlfZWRkc2Ffc2hhNTEyX3JhdyIsInNlY3AyNTZyMV9lY2RzYV9zaGEyNTZfcmF3Il0sInB1YmxpY0tleUFsZ0FuZEVuY29kaW5ncyI6WyJjb3NlIl0sImF0dGVzdGF0aW9uVHlwZXMiOlsiYmFzaWNfZnVsbCJdLCJ1c2VyVmVyaWZpY2F0aW9uRGV0YWlscyI6W1t7InVzZXJWZXJpZmljYXRpb25NZXRob2QiOiJwYXNzY29kZV9pbnRlcm5hbCIsImNhRGVzYyI6eyJiYXNlIjo2NCwibWluTGVuZ3RoIjo0LCJtYXhSZXRyaWVzIjo4LCJibG9ja1Nsb3dkb3duIjowfX0seyJ1c2VyVmVyaWZpY2F0aW9uTWV0aG9kIjoibm9uZSJ9LHsidXNlclZlcmlmaWNhdGlvbk1ldGhvZCI6InByZXNlbmNlX2ludGVybmFsIn1dXSwia2V5UHJvdGVjdGlvbiI6WyJoYXJkd2FyZSIsInNlY3VyZV9lbGVtZW50Il0sIm1hdGNoZXJQcm90ZWN0aW9uIjpbIm9uX2NoaXAiXSwiY3J5cHRvU3RyZW5ndGgiOjEyOCwiYXR0YWNobWVudEhpbnQiOlsiZXh0ZXJuYWwiLCJ3aXJlZCJdLCJ0Y0Rpc3BsYXkiOltdLCJhdHRlc3RhdGlvblJvb3RDZXJ0aWZpY2F0ZXMiOlsiTUlJREhqQ0NBZ2FnQXdJQkFnSUVHMEJUOXpBTkJna3Foa2lHOXcwQkFRc0ZBREF1TVN3d0tnWURWUVFERXlOWmRXSnBZMjhnVlRKR0lGSnZiM1FnUTBFZ1UyVnlhV0ZzSURRMU56SXdNRFl6TVRBZ0Z3MHhOREE0TURFd01EQXdNREJhR0E4eU1EVXdNRGt3TkRBd01EQXdNRm93TGpFc01Db0dBMVVFQXhNaldYVmlhV052SUZVeVJpQlNiMjkwSUVOQklGTmxjbWxoYkNBME5UY3lNREEyTXpFd2dnRWlNQTBHQ1NxR1NJYjNEUUVCQVFVQUE0SUJEd0F3Z2dFS0FvSUJBUUMvandZdWhCVmxxYWlZV0VNc3JXRmlzZ0orUHRNOTFlU3JwSTRUSzdVNTNtd0NJYXdTREh5OHZVbWs1TjJLQWo5YWJ2VDlOUDVTTVMxaFFpM3VzeG9ZR29uWFFnZk82Wlh5VUE5YStLQWtxZEZuQm5seXVnU2VDT2VwOEVkWkZmc2FSRnRNamt3ejVHY3oyUHk0dklZdkNkTUhQdHdhejBiVnV6bmV1ZUlFejZUblFqRTYzUmR0Mnpid25lYndURzVaeWJlV1N3Ynp5K0JKMzRaSGNVaFBBWTg5eUpRWHVFMEl6TVpGY0VCYlBOUmJXRUNSS2dqcS8vcVQ5bm1ET0ZWbFNSQ3Qyd2lxUFN6bHV3bit2K3N1UUVCc1VqVEdNRWQyNXRLWFhUa05XMjF3SVdieGVTeVVvVFh3THZHUzZ4bHdRU2dOcGsycVhZd2Y4aVhnN1ZXWkFnTUJBQUdqUWpCQU1CMEdBMVVkRGdRV0JCUWdJdnowYk5HSmhqZ3BUb2tzeUtwUDl4djlvREFQQmdOVkhSTUVDREFHQVFIL0FnRUFNQTRHQTFVZER3RUIvd1FFQXdJQkJqQU5CZ2txaGtpRzl3MEJBUXNGQUFPQ0FRRUFqdmp1T01EU2ErSlhGQ0x5QktzeWNYdEJWWnNKNFVlM0xiYUVzUFk0TVlOL2hJUTVaTTVwN0VqZmNuTUc0Q3RZa05zZk5IYzBBaEJMZHE0NXJuVDg3cS82TzN2VUV0Tk1hZmJoVTZrdGhYN1krOVhGTjlOcG1ZeHIrZWtWWTV4T3hpOGg5SkRJZ29NUDRWQjF1UzBhdW5MMUlHcXJOb29MOW1tRm5MMmtMVlZlZTYvVlI2QzUrS1NUQ01DV3BwTXVKSVpJSTJ2OW80ZGtvWjhZN1FSalFsTGZZemQzcUd0S2J3N3hhRjFVc0cvNXhVYi9CdHdiMlgyZzRJbnBpQi95dC8zQ3BRWHBpV1gvSzRtQnZVS2lHbjA1WnNxZVkxZ3g0ZzB4TEJxY1U5cHNteVB6SytWc2d3MmplUlE1SmxLRHlxRTBoZWJmQzF0dkZ1MENDckpGY3c9PSJdLCJpY29uIjoiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDQUFBQUFmQ0FZQUFBQ0dWcytNQUFBQUFYTlNSMElBcnM0YzZRQUFBQVJuUVUxQkFBQ3hqd3Y4WVFVQUFBQUpjRWhaY3dBQUhZWUFBQjJHQVYyaUU0RUFBQWJOU1VSQlZGaEhwVmQ3VE5WMUZELzNkNTl3ZVFTSWdTOUFRQVhjRkxBUVppOWZwZVZ6MXRZL1dUWnI1V3hwYzdXNWtuTGE1akkzWjg1c3JTMm5NMnNqdFd3WlM3SVVINEg0eENuRVF4NERBWkY3NFY3dXM4ODV2OS9sSW5CdlZKL0I0UHY5bnUvNW51LzVudk01NTZmekEvUXYwSGIvSXJYM1ZGS1BvNDVjbm00aW5VSVdZd0xGUm1aUVV1d2pGRy9OMWlSSGgxRVowTlJWUnVkcXQxQmQrMm5TS3lTL09oeXMwK2xrM2UvM2tROXF2RDRaVXRhNFZWU1V1WTBlaXB5aVRoQWZvY29PUlZnRHV1dzNxS1JpQWQzcmJjRXRqVGpZSW9mNldhSHNDbXpWUFdDTXgrY2doOHRMcVdNS2FNV3NVakxxbzJSdEpJUTBvT3ptZXJwUXU0ZXNaZ3NPTmtHeEg3ZDBrZHZUVDE3czRPTVU3Vkk4WmhqZ0dhTStBcTlpRU51OFBpZjF1ZHowN013dktXZjhHbFZvQ0VZMDRQQzVXZFRhWFlGYlI4dk52TDUrM0tnZmI1eE5NeWE5UmFtSml5bmFNbEdUVnRGbHI2YmE5dStwcW5FWDR1TXVSUmdqU1lFaHJON3V0RkZlNmxxYWw3TmZrdzVpbUFHSHluUHBiazhWbVkweHN0bnB0bEZDVkNZdHpUdUJOODNRcE1MalR0ZXZkUHpTVW5KN2U4bWtqeFozOWZYYktEZmxkWnFidlUrVFVnR25CVkY2ZlEyaVBIZzRXMTZVV1V3dnpiazE2c01aRStQbjBwdno3SlNldUF5ZXM4bGNwQ21hS3VvL3ArcVdyMlVjd0lBSFdydlAwWUV6aFhBdExBYnNzSGhwN2lHYW12eWlqUDhyeXFyWFVXWDlYb293eHlBdWZOQnJwNDNQT0JGWFpsa2Y4TURSaXFjcHlvd0F3cHV6MngrZld2ei9EdGRlOXNtc3p5Z3RjUjZDMXdiZHpCbDZPbHE1V05ZWTRvR2F0aEpNcmtURXgwakFSU0hBVnMrNXJZa1FOWGIrUWdmUExzUTZnWHlJbnNyZVFmbXBtN1JWRllmTDg2bjFmaVVPa1l2U2hrVVB4dmJ1a3pveTZLMWloTTFobzNYelc2RXZTZlhBK2RwaVdHYVdkK2RvWHpMem1Hd0tZRkxDQXNSQWxQQkFoTWxDRlhVN3RCVVZQcjhIZ1ZjSkhXcStGMDBwbHIrRE1UZHJQNHp2eFkxMWtOTWh4VCtTZVRHZytkNFY1TFFKaXR5VUdKTkI4VkZac2pnWUJaTS9JSS9YQ1RrajBxeURPcEYyQVZRMTdDSWpVcC9EblQxVWtMNUY1Z2RqK3NTMXdnMWdFM2dpZ202MGZDWHpTblBYYnlBUGJJWHYrSURwRTE2VGhhSElTOXNreWhsbU1FNUYzY2ZxQUtocTJDMEU1UEgxZ1lhWGFMUERrWkcwSERKT25LV0hwNTFJMHo1U091eDhlMVdBdVp6ZEhRclRrcDhUbWpYb0krbGEwd0dac3p1YnFiTzNpZlE2QS9XN3ZWU1lzVjNtUjBKS3drS2M0V0hpQmttUjhJM0NDZ0k4N29PTDRxelQ1UCtSVUpCZWpFT2dBUEs4aFlQemF0TStlSVRwMklPOXlUUW1lcm9tUFJ4eDFxeEFjc2lsZS91YlNlRWJjV1FHWUVDZ2hjTFkySHlLam9nakgyNWhNcGpwVXYxT3VnbGk0ZWgyZVJ3ME8zMmJKamt5dUNnTnpnMHZ6bFlNU2lTczB1b280TUc3aE1PakNFYVgxeUZFMG5TdmpCenVUbkVwSzg2WjhJb3FGQUl1Ync4a2c5QXJFYVJFV1NaSStqSDRYYnA2ZzlFOUVuSlQzb2FSekROK01VSkJRREhuNTZhOG9VbUVCdXNPeEJzL041K3RKRWJQa0FGRGo4VUd2T3MvSVd2Y1NnbEdCaHZTNy9GVFlmcFdHWWREWThmUEF4V1NBMzVzVEM0cDQrTG00QWFxSW9QZVF0ZnVmSzZKaDBaaHhsYnNVWE9TbVhOaWZENVpUQWt5RG9mYmJjY2x4bkE4V05BcXhDYlJOeWtoWHhRcGFEdzY3ZlhVWWJzaUcwS2h0djJvZUl2aDhyaFFNWU9jRUFxWEcvZUkrem5nT2M1eXhyOHE4MklBTTFjL0ZMRk9wbHF1NWVGUVhyTVp6R2NWQ2pZYkxXRzVJNEJUMWV1UnJsYnh0Tk90TWl0RERFaExYSUl5bkFBdnVPRVdFM1gzTmRBZnQ5NFZnYUc0MlhJUXQwWlg2UGVDRS9xUUZlOXJLNkh4N1lVNTBLdkg3Zlc0ZlMrcTdLS0JKeHNnZ0JYNXBTQUdoMWpJclZoNXpRNnczUmZhYWhCWG0vYUNiQ1pUakNVRlVUeVdacVc5cDYyTWpKUFhWcU9yUGdNTzROdjc0R2tmK293ZnROVkJEUW5qRkpxSFN3MTdwWHZoV1c1S1pxZS9RNDlOL1VTVENBVldvUVhGSUhCSFhYZTNGUHJVRHN1R0RtdEYvaEhLVEhwZWt4aGlBT1BJK1NKcTZTNkhGNEk5WVd6a0JKVG80NmlVTXpXcDhQaXIvUmlkdUx4S1lzU2tzVjh2TGxPUXZoR1gyWWxSME9CaEJqQyt1L2dFY3ZZMEFwSzdZazQxTnhqUFNRbldGSFRGNjZVcmpnZXZCOEN1NWErbDJ2WVNSUHR1VkRvNzNoaGRNU0huVVg3dFRqc1ZaR3hBbC9XcHRpT0lFUTFnbkwyOW1YNi90UjF0bWxrWWo4VzRYK0NTaldjVURHWTFOcFMvQzdoU0txaU1MTS9sMlFtU1daNzNEZHorZ2lvOEJDRU5ZUFE0NnFua3p3WFVicXZCa3hqVVFzV2ZaRmdidW8zckFmK3dON2pPTzkwK3lueDRQaTNMKzBuWUwxU2NoRFVnQVA0Z1BWLzdJZDFxKzFIU2htdUdrSXFXUlBneXhNRnFQOEhmalRualh3WTViUWZiSmN0Nk9JektnTUhvdEYvSGUxZWdzYXhIU3FHNndmZG1RNXg4TnlURkZxQmNwMmlTb3dIUjN5azUrMzZoRjd2WEFBQUFBRWxGVGtTdVFtQ0MiLCJhdXRoZW50aWNhdG9yR2V0SW5mbyI6eyJ2ZXJzaW9ucyI6WyJVMkZfVjIiLCJGSURPXzJfMCIsIkZJRE9fMl8xX1BSRSJdLCJleHRlbnNpb25zIjpbImNyZWRQcm90ZWN0IiwiaG1hYy1zZWNyZXQiXSwiYWFndWlkIjoiYjkyYzNmOWFjMDE0NDA1Njg4N2YxNDBhMjUwMTE2M2IiLCJvcHRpb25zIjp7InBsYXQiOmZhbHNlLCJyayI6dHJ1ZSwiY2xpZW50UGluIjpmYWxzZSwidXAiOnRydWUsImNyZWRlbnRpYWxNZ210UHJldmlldyI6dHJ1ZX0sIm1heE1zZ1NpemUiOjEyMDAsInBpblV2QXV0aFByb3RvY29scyI6WzFdLCJtYXhDcmVkZW50aWFsQ291bnRJbkxpc3QiOjgsIm1heENyZWRlbnRpYWxJZExlbmd0aCI6MTI4LCJ0cmFuc3BvcnRzIjpbInVzYiJdLCJhbGdvcml0aG1zIjpbeyJ0eXBlIjoicHVibGljLWtleSIsImFsZyI6LTd9LHsidHlwZSI6InB1YmxpYy1rZXkiLCJhbGciOi04fV19fSwic3RhdHVzUmVwb3J0cyI6W3sic3RhdHVzIjoiRklET19DRVJUSUZJRURfTDEiLCJlZmZlY3RpdmVEYXRlIjoiMjAyMC0wNS0xMiIsImNlcnRpZmljYXRpb25EZXNjcmlwdG9yIjoiU2VjdXJpdHkgS2V5IGJ5IFl1YmljbyIsImNlcnRpZmljYXRlTnVtYmVyIjoiRklETzIwMDIwMTkxMDE3MDA1IiwiY2VydGlmaWNhdGlvblBvbGljeVZlcnNpb24iOiIxLjEuMSIsImNlcnRpZmljYXRpb25SZXF1aXJlbWVudHNWZXJzaW9uIjoiMS4zIn1dLCJ0aW1lT2ZMYXN0U3RhdHVzQ2hhbmdlIjoiMjAyMC0wNS0xMiJ9LHsiYXR0ZXN0YXRpb25DZXJ0aWZpY2F0ZUtleUlkZW50aWZpZXJzIjpbIjU3OTE4YmMzMzgwMzUwMzkwMGVmMTVhZTliMmFlZjBkNTQ3YmQ2ZjUiLCJjNDhiNzhjYWVhZTdhZjY1YzFjZGE0YTNiOWI5YmZhNDZiYmMwNjVhIiwiYmRlYjdmMDE1YTY2ZTRjODQ0OGI0MTRmZmQ0MWNhNjY5YmJhNmI0YSIsIjY4NDlhNGY4Y2NmNzlmMTQyMjQ5N2Q3NzljZGM5MDFhODFiNjAyMjEiLCJlM2UyNmYyMmU1NWEzZWUxYTQ0OTNkN2YwMjAwOTg1ZWFmZWUyNTcyIiwiOTliMDExODE5YTliMTUzOWIyOGI4NmY2MjU1NDdmMTczZWI1ZDU3YiJdLCJtZXRhZGF0YVN0YXRlbWVudCI6eyJsZWdhbEhlYWRlciI6Imh0dHBzOi8vZmlkb2FsbGlhbmNlLm9yZy9tZXRhZGF0YS9tZXRhZGF0YS1zdGF0ZW1lbnQtbGVnYWwtaGVhZGVyLyIsImF0dGVzdGF0aW9uQ2VydGlmaWNhdGVLZXlJZGVudGlmaWVycyI6WyI1NzkxOGJjMzM4MDM1MDM5MDBlZjE1YWU5YjJhZWYwZDU0N2JkNmY1IiwiYzQ4Yjc4Y2FlYWU3YWY2NWMxY2RhNGEzYjliOWJmYTQ2YmJjMDY1YSIsImJkZWI3ZjAxNWE2NmU0Yzg0NDhiNDE0ZmZkNDFjYTY2OWJiYTZiNGEiLCI2ODQ5YTRmOGNjZjc5ZjE0MjI0OTdkNzc5Y2RjOTAxYTgxYjYwMjIxIiwiZTNlMjZmMjJlNTVhM2VlMWE0NDkzZDdmMDIwMDk4NWVhZmVlMjU3MiIsIjk5YjAxMTgxOWE5YjE1MzliMjhiODZmNjI1NTQ3ZjE3M2ViNWQ1N2IiXSwiZGVzY3JpcHRpb24iOiJZdWJpS2V5IDUgU2VyaWVzIiwiYXV0aGVudGljYXRvclZlcnNpb24iOjEsInByb3RvY29sRmFtaWx5IjoidTJmIiwic2NoZW1hIjozLCJ1cHYiOlt7Im1ham9yIjoxLCJtaW5vciI6MX1dLCJhdXRoZW50aWNhdGlvbkFsZ29yaXRobXMiOlsic2VjcDI1NnIxX2VjZHNhX3NoYTI1Nl9yYXciXSwicHVibGljS2V5QWxnQW5kRW5jb2RpbmdzIjpbImVjY194OTYyX3JhdyJdLCJhdHRlc3RhdGlvblR5cGVzIjpbImJhc2ljX2Z1bGwiXSwidXNlclZlcmlmaWNhdGlvbkRldGFpbHMiOltbeyJ1c2VyVmVyaWZpY2F0aW9uTWV0aG9kIjoicHJlc2VuY2VfaW50ZXJuYWwifV1dLCJrZXlQcm90ZWN0aW9uIjpbImhhcmR3YXJlIiwic2VjdXJlX2VsZW1lbnQiLCJyZW1vdGVfaGFuZGxlIl0sIm1hdGNoZXJQcm90ZWN0aW9uIjpbIm9uX2NoaXAiXSwiY3J5cHRvU3RyZW5ndGgiOjEyOCwiYXR0YWNobWVudEhpbnQiOlsiZXh0ZXJuYWwiLCJ3aXJlZCJdLCJ0Y0Rpc3BsYXkiOltdLCJhdHRlc3RhdGlvblJvb3RDZXJ0aWZpY2F0ZXMiOlsiTUlJREhqQ0NBZ2FnQXdJQkFnSUVHMEJUOXpBTkJna3Foa2lHOXcwQkFRc0ZBREF1TVN3d0tnWURWUVFERXlOWmRXSnBZMjhnVlRKR0lGSnZiM1FnUTBFZ1UyVnlhV0ZzSURRMU56SXdNRFl6TVRBZ0Z3MHhOREE0TURFd01EQXdNREJhR0E4eU1EVXdNRGt3TkRBd01EQXdNRm93TGpFc01Db0dBMVVFQXhNaldYVmlhV052SUZVeVJpQlNiMjkwSUVOQklGTmxjbWxoYkNBME5UY3lNREEyTXpFd2dnRWlNQTBHQ1NxR1NJYjNEUUVCQVFVQUE0SUJEd0F3Z2dFS0FvSUJBUUMvandZdWhCVmxxYWlZV0VNc3JXRmlzZ0orUHRNOTFlU3JwSTRUSzdVNTNtd0NJYXdTREh5OHZVbWs1TjJLQWo5YWJ2VDlOUDVTTVMxaFFpM3VzeG9ZR29uWFFnZk82Wlh5VUE5YStLQWtxZEZuQm5seXVnU2VDT2VwOEVkWkZmc2FSRnRNamt3ejVHY3oyUHk0dklZdkNkTUhQdHdhejBiVnV6bmV1ZUlFejZUblFqRTYzUmR0Mnpid25lYndURzVaeWJlV1N3Ynp5K0JKMzRaSGNVaFBBWTg5eUpRWHVFMEl6TVpGY0VCYlBOUmJXRUNSS2dqcS8vcVQ5bm1ET0ZWbFNSQ3Qyd2lxUFN6bHV3bit2K3N1UUVCc1VqVEdNRWQyNXRLWFhUa05XMjF3SVdieGVTeVVvVFh3THZHUzZ4bHdRU2dOcGsycVhZd2Y4aVhnN1ZXWkFnTUJBQUdqUWpCQU1CMEdBMVVkRGdRV0JCUWdJdnowYk5HSmhqZ3BUb2tzeUtwUDl4djlvREFQQmdOVkhSTUVDREFHQVFIL0FnRUFNQTRHQTFVZER3RUIvd1FFQXdJQkJqQU5CZ2txaGtpRzl3MEJBUXNGQUFPQ0FRRUFqdmp1T01EU2ErSlhGQ0x5QktzeWNYdEJWWnNKNFVlM0xiYUVzUFk0TVlOL2hJUTVaTTVwN0VqZmNuTUc0Q3RZa05zZk5IYzBBaEJMZHE0NXJuVDg3cS82TzN2VUV0Tk1hZmJoVTZrdGhYN1krOVhGTjlOcG1ZeHIrZWtWWTV4T3hpOGg5SkRJZ29NUDRWQjF1UzBhdW5MMUlHcXJOb29MOW1tRm5MMmtMVlZlZTYvVlI2QzUrS1NUQ01DV3BwTXVKSVpJSTJ2OW80ZGtvWjhZN1FSalFsTGZZemQzcUd0S2J3N3hhRjFVc0cvNXhVYi9CdHdiMlgyZzRJbnBpQi95dC8zQ3BRWHBpV1gvSzRtQnZVS2lHbjA1WnNxZVkxZ3g0ZzB4TEJxY1U5cHNteVB6SytWc2d3MmplUlE1SmxLRHlxRTBoZWJmQzF0dkZ1MENDckpGY3c9PSJdLCJpY29uIjoiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDQUFBQUFmQ0FZQUFBQ0dWcytNQUFBQUFYTlNSMElBcnM0YzZRQUFBQVJuUVUxQkFBQ3hqd3Y4WVFVQUFBQUpjRWhaY3dBQUhZWUFBQjJHQVYyaUU0RUFBQWJOU1VSQlZGaEhwVmQ3VE5WMUZELzNkNTl3ZVFTSWdTOUFRQVhjRkxBUVppOWZwZVZ6MXRZL1dUWnI1V3hwYzdXNWtuTGE1akkzWjg1c3JTMm5NMnNqdFd3WlM3SVVINEg0eENuRVF4NERBWkY3NFY3dXM4ODV2OS9sSW5CdlZKL0I0UHY5bnUvNW51LzVudk01NTZmekEvUXYwSGIvSXJYM1ZGS1BvNDVjbm00aW5VSVdZd0xGUm1aUVV1d2pGRy9OMWlSSGgxRVowTlJWUnVkcXQxQmQrMm5TS3lTL09oeXMwK2xrM2UvM2tROXF2RDRaVXRhNFZWU1V1WTBlaXB5aVRoQWZvY29PUlZnRHV1dzNxS1JpQWQzcmJjRXRqVGpZSW9mNldhSHNDbXpWUFdDTXgrY2doOHRMcVdNS2FNV3NVakxxbzJSdEpJUTBvT3ptZXJwUXU0ZXNaZ3NPTmtHeEg3ZDBrZHZUVDE3czRPTVU3Vkk4WmhqZ0dhTStBcTlpRU51OFBpZjF1ZHowN013dktXZjhHbFZvQ0VZMDRQQzVXZFRhWFlGYlI4dk52TDUrM0tnZmI1eE5NeWE5UmFtSml5bmFNbEdUVnRGbHI2YmE5dStwcW5FWDR1TXVSUmdqU1lFaHJON3V0RkZlNmxxYWw3TmZrdzVpbUFHSHluUHBiazhWbVkweHN0bnB0bEZDVkNZdHpUdUJOODNRcE1MalR0ZXZkUHpTVW5KN2U4bWtqeFozOWZYYktEZmxkWnFidlUrVFVnR25CVkY2ZlEyaVBIZzRXMTZVV1V3dnpiazE2c01aRStQbjBwdno3SlNldUF5ZXM4bGNwQ21hS3VvL3ArcVdyMlVjd0lBSFdydlAwWUV6aFhBdExBYnNzSGhwN2lHYW12eWlqUDhyeXFyWFVXWDlYb293eHlBdWZOQnJwNDNQT0JGWFpsa2Y4TURSaXFjcHlvd0F3cHV6MngrZld2ei9EdGRlOXNtc3p5Z3RjUjZDMXdiZHpCbDZPbHE1V05ZWTRvR2F0aEpNcmtURXgwakFSU0hBVnMrNXJZa1FOWGIrUWdmUExzUTZnWHlJbnNyZVFmbXBtN1JWRllmTDg2bjFmaVVPa1l2U2hrVVB4dmJ1a3pveTZLMWloTTFobzNYelc2RXZTZlhBK2RwaVdHYVdkK2RvWHpMem1Hd0tZRkxDQXNSQWxQQkFoTWxDRlhVN3RCVVZQcjhIZ1ZjSkhXcStGMDBwbHIrRE1UZHJQNHp2eFkxMWtOTWh4VCtTZVRHZytkNFY1TFFKaXR5VUdKTkI4VkZac2pnWUJaTS9JSS9YQ1RrajBxeURPcEYyQVZRMTdDSWpVcC9EblQxVWtMNUY1Z2RqK3NTMXdnMWdFM2dpZ202MGZDWHpTblBYYnlBUGJJWHYrSURwRTE2VGhhSElTOXNreWhsbU1FNUYzY2ZxQUtocTJDMEU1UEgxZ1lhWGFMUERrWkcwSERKT25LV0hwNTFJMHo1U091eDhlMVdBdVp6ZEhRclRrcDhUbWpYb0krbGEwd0dac3p1YnFiTzNpZlE2QS9XN3ZWU1lzVjNtUjBKS3drS2M0V0hpQmttUjhJM0NDZ0k4N29PTDRxelQ1UCtSVUpCZWpFT2dBUEs4aFlQemF0TStlSVRwMklPOXlUUW1lcm9tUFJ4eDFxeEFjc2lsZS91YlNlRWJjV1FHWUVDZ2hjTFkySHlLam9nakgyNWhNcGpwVXYxT3VnbGk0ZWgyZVJ3ME8zMmJKamt5dUNnTnpnMHZ6bFlNU2lTczB1b280TUc3aE1PakNFYVgxeUZFMG5TdmpCenVUbkVwSzg2WjhJb3FGQUl1Ync4a2c5QXJFYVJFV1NaSStqSDRYYnA2ZzlFOUVuSlQzb2FSekROK01VSkJRREhuNTZhOG9VbUVCdXNPeEJzL041K3RKRWJQa0FGRGo4VUd2T3MvSVd2Y1NnbEdCaHZTNy9GVFlmcFdHWWREWThmUEF4V1NBMzVzVEM0cDQrTG00QWFxSW9QZVF0ZnVmSzZKaDBaaHhsYnNVWE9TbVhOaWZENVpUQWt5RG9mYmJjY2x4bkE4V05BcXhDYlJOeWtoWHhRcGFEdzY3ZlhVWWJzaUcwS2h0djJvZUl2aDhyaFFNWU9jRUFxWEcvZUkrem5nT2M1eXhyOHE4MklBTTFjL0ZMRk9wbHF1NWVGUVhyTVp6R2NWQ2pZYkxXRzVJNEJUMWV1UnJsYnh0Tk90TWl0RERFaExYSUl5bkFBdnVPRVdFM1gzTmRBZnQ5NFZnYUc0MlhJUXQwWlg2UGVDRS9xUUZlOXJLNkh4N1lVNTBLdkg3Zlc0ZlMrcTdLS0JKeHNnZ0JYNXBTQUdoMWpJclZoNXpRNnczUmZhYWhCWG0vYUNiQ1pUakNVRlVUeVdacVc5cDYyTWpKUFhWcU9yUGdNTzROdjc0R2tmK293ZnROVkJEUW5qRkpxSFN3MTdwWHZoV1c1S1pxZS9RNDlOL1VTVENBVldvUVhGSUhCSFhYZTNGUHJVRHN1R0RtdEYvaEhLVEhwZWt4aGlBT1BJK1NKcTZTNkhGNEk5WVd6a0JKVG80NmlVTXpXcDhQaXIvUmlkdUx4S1lzU2tzVjh2TGxPUXZoR1gyWWxSME9CaEJqQyt1L2dFY3ZZMEFwSzdZazQxTnhqUFNRbldGSFRGNjZVcmpnZXZCOEN1NWErbDJ2WVNSUHR1VkRvNzNoaGRNU0huVVg3dFRqc1ZaR3hBbC9XcHRpT0lFUTFnbkwyOW1YNi90UjF0bWxrWWo4VzRYK0NTaldjVURHWTFOcFMvQzdoU0txaU1MTS9sMlFtU1daNzNEZHorZ2lvOEJDRU5ZUFE0NnFua3p3WFVicXZCa3hqVVFzV2ZaRmdidW8zckFmK3dON2pPTzkwK3lueDRQaTNMKzBuWUwxU2NoRFVnQVA0Z1BWLzdJZDFxKzFIU2htdUdrSXFXUlBneXhNRnFQOEhmalRualh3WTViUWZiSmN0Nk9JektnTUhvdEYvSGUxZWdzYXhIU3FHNndmZG1RNXg4TnlURkZxQmNwMmlTb3dIUjN5azUrMzZoRjd2WEFBQUFBRWxGVGtTdVFtQ0MifSwic3RhdHVzUmVwb3J0cyI6W3sic3RhdHVzIjoiRklET19DRVJUSUZJRURfTDEiLCJlZmZlY3RpdmVEYXRlIjoiMjAyMC0wNS0xMiIsImNlcnRpZmljYXRpb25EZXNjcmlwdG9yIjoiWXViaUtleSA1IFNlcmllcyAoVVNCKSIsImNlcnRpZmljYXRlTnVtYmVyIjoiVTJGMTEwMDIwMTkxMDE3MDA4IiwiY2VydGlmaWNhdGlvblBvbGljeVZlcnNpb24iOiIxLjEuMSIsImNlcnRpZmljYXRpb25SZXF1aXJlbWVudHNWZXJzaW9uIjoiMS4zIn1dLCJ0aW1lT2ZMYXN0U3RhdHVzQ2hhbmdlIjoiMjAyMC0wNS0xMiJ9LHsiYXR0ZXN0YXRpb25DZXJ0aWZpY2F0ZUtleUlkZW50aWZpZXJzIjpbImE5N2IzMzE5ZWVjZGI1OTkzYzQxODQyNzY0NDFiMDU5YjQ4NTA2ZjEiXSwibWV0YWRhdGFTdGF0ZW1lbnQiOnsibGVnYWxIZWFkZXIiOiJodHRwczovL2ZpZG9hbGxpYW5jZS5vcmcvbWV0YWRhdGEvbWV0YWRhdGEtc3RhdGVtZW50LWxlZ2FsLWhlYWRlci8iLCJhdHRlc3RhdGlvbkNlcnRpZmljYXRlS2V5SWRlbnRpZmllcnMiOlsiYTk3YjMzMTllZWNkYjU5OTNjNDE4NDI3NjQ0MWIwNTliNDg1MDZmMSJdLCJkZXNjcmlwdGlvbiI6IlRydXN0S2V5IEczMTAgVTJGIEF1dGhlbnRpY2F0b3IiLCJhdXRoZW50aWNhdG9yVmVyc2lvbiI6MSwicHJvdG9jb2xGYW1pbHkiOiJ1MmYiLCJzY2hlbWEiOjMsInVwdiI6W3sibWFqb3IiOjEsIm1pbm9yIjoxfV0sImF1dGhlbnRpY2F0aW9uQWxnb3JpdGhtcyI6WyJzZWNwMjU2cjFfZWNkc2Ffc2hhMjU2X3JhdyJdLCJwdWJsaWNLZXlBbGdBbmRFbmNvZGluZ3MiOlsiZWNjX3g5NjJfcmF3Il0sImF0dGVzdGF0aW9uVHlwZXMiOlsiYmFzaWNfZnVsbCJdLCJ1c2VyVmVyaWZpY2F0aW9uRGV0YWlscyI6W1t7InVzZXJWZXJpZmljYXRpb25NZXRob2QiOiJmaW5nZXJwcmludF9pbnRlcm5hbCJ9LHsidXNlclZlcmlmaWNhdGlvbk1ldGhvZCI6InByZXNlbmNlX2ludGVybmFsIn1dXSwia2V5UHJvdGVjdGlvbiI6WyJoYXJkd2FyZSIsInJlbW90ZV9oYW5kbGUiXSwibWF0Y2hlclByb3RlY3Rpb24iOlsib25fY2hpcCJdLCJjcnlwdG9TdHJlbmd0aCI6MjU2LCJhdHRhY2htZW50SGludCI6WyJleHRlcm5hbCJdLCJ0Y0Rpc3BsYXkiOltdLCJhdHRlc3RhdGlvblJvb3RDZXJ0aWZpY2F0ZXMiOlsiTUlJQ3BUQ0NBa3FnQXdJQkFnSUJBVEFLQmdncWhrak9QUVFEQWpDQnJ6RUxNQWtHQTFVRUJoTUNTMUl4RVRBUEJnTlZCQWdNQ0ZObGIzVnNMVk5wTVJNd0VRWURWUVFIREFwSFlXNW5ibUZ0TFVkMU1SY3dGUVlEVlFRS0RBNWxWMEpOSUVOdkxpd2dUSFJrTGpFaU1DQUdBMVVFQ3d3WlFYVjBhR1Z1ZEdsallYUnZjaUJCZEhSbGMzUmhkR2x2YmpFY01Cb0dBMVVFQXd3VFpWZENUU0JEUVNCRFpYSjBhV1pwWTJGMFpURWRNQnNHQ1NxR1NJYjNEUUVKQVJZT2FXNW1iMEJsTFhkaWJTNWpiMjB3SGhjTk1UZ3dOekF5TURVek1UTTVXaGNOTWpNd056QXhNRFV6TVRNNVdqQ0JyekVMTUFrR0ExVUVCaE1DUzFJeEVUQVBCZ05WQkFnTUNGTmxiM1ZzTFZOcE1STXdFUVlEVlFRSERBcEhZVzVuYm1GdExVZDFNUmN3RlFZRFZRUUtEQTVsVjBKTklFTnZMaXdnVEhSa0xqRWlNQ0FHQTFVRUN3d1pRWFYwYUdWdWRHbGpZWFJ2Y2lCQmRIUmxjM1JoZEdsdmJqRWNNQm9HQTFVRUF3d1RaVmRDVFNCRFFTQkRaWEowYVdacFkyRjBaVEVkTUJzR0NTcUdTSWIzRFFFSkFSWU9hVzVtYjBCbExYZGliUzVqYjIwd1dUQVRCZ2NxaGtqT1BRSUJCZ2dxaGtqT1BRTUJCd05DQUFRSWZxSGlzaTBvTy9leU9xU2FEcnI5aXRHMkl5bUJrSG5TREdRSUlZbVQrdnFBOEFnTzgxbW9tYzJMZDVQR3BFTjZtdUU1NHdQSFFqdmMveUNpaDh1Mm8xVXdVekFTQmdOVkhSTUJBZjhFQ0RBR0FRSC9BZ0VBTUIwR0ExVWREZ1FXQkJTM0ovZnhpQXYyMmlyZEJzOThTT0RoRjdrVS9qQUxCZ05WSFE4RUJBTUNBUVl3RVFZSllJWklBWWI0UWdFQkJBUURBZ0FITUFvR0NDcUdTTTQ5QkFNQ0Ewa0FNRVlDSVFEYzQxTEZLNExKQ0JVMlZWS0l6N1o2c3hQaFVFa2g4bkxTTEs2SVhka1A1d0loQUllS1ZPWmNoYVZPNWFGN2ZiZFhvU3JjeXkxWVllVWVQTG9qY0tJOWZYODQiXSwiaWNvbiI6ImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBR1lBQUFBN0NBWUFBQUNKei85TEFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBeVpwVkZoMFdFMU1PbU52YlM1aFpHOWlaUzU0YlhBQUFBQUFBRHcvZUhCaFkydGxkQ0JpWldkcGJqMGk3N3UvSWlCcFpEMGlWelZOTUUxd1EyVm9hVWg2Y21WVGVrNVVZM3ByWXpsa0lqOCtJRHg0T25odGNHMWxkR0VnZUcxc2JuTTZlRDBpWVdSdlltVTZibk02YldWMFlTOGlJSGc2ZUcxd2RHczlJa0ZrYjJKbElGaE5VQ0JEYjNKbElEVXVOaTFqTVRFeElEYzVMakUxT0RNeU5Td2dNakF4TlM4d09TOHhNQzB3TVRveE1Eb3lNQ0FnSUNBZ0lDQWdJajRnUEhKa1pqcFNSRVlnZUcxc2JuTTZjbVJtUFNKb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk4eE9UazVMekF5THpJeUxYSmtaaTF6ZVc1MFlYZ3Ribk1qSWo0Z1BISmtaanBFWlhOamNtbHdkR2x2YmlCeVpHWTZZV0p2ZFhROUlpSWdlRzFzYm5NNmVHMXdQU0pvZEhSd09pOHZibk11WVdSdlltVXVZMjl0TDNoaGNDOHhMakF2SWlCNGJXeHVjenA0YlhCTlRUMGlhSFIwY0RvdkwyNXpMbUZrYjJKbExtTnZiUzk0WVhBdk1TNHdMMjF0THlJZ2VHMXNibk02YzNSU1pXWTlJbWgwZEhBNkx5OXVjeTVoWkc5aVpTNWpiMjB2ZUdGd0x6RXVNQzl6Vkhsd1pTOVNaWE52ZFhKalpWSmxaaU1pSUhodGNEcERjbVZoZEc5eVZHOXZiRDBpUVdSdlltVWdVR2h2ZEc5emFHOXdJRU5ESURJd01UVWdLRmRwYm1SdmQzTXBJaUI0YlhCTlRUcEpibk4wWVc1alpVbEVQU0o0YlhBdWFXbGtPalkxTkRZM1JFWkdOVEF3UWpFeFJUWTVSakV6UmpWQlJqaEdRamd6T0RNeUlpQjRiWEJOVFRwRWIyTjFiV1Z1ZEVsRVBTSjRiWEF1Wkdsa09qWTFORFkzUlRBd05UQXdRakV4UlRZNVJqRXpSalZCUmpoR1FqZ3pPRE15SWo0Z1BIaHRjRTFOT2tSbGNtbDJaV1JHY205dElITjBVbVZtT21sdWMzUmhibU5sU1VROUluaHRjQzVwYVdRNk5qVTBOamRFUmtRMU1EQkNNVEZGTmpsR01UTkdOVUZHT0VaQ09ETTRNeklpSUhOMFVtVm1PbVJ2WTNWdFpXNTBTVVE5SW5odGNDNWthV1E2TmpVME5qZEVSa1UxTURCQ01URkZOamxHTVROR05VRkdPRVpDT0RNNE16SWlMejRnUEM5eVpHWTZSR1Z6WTNKcGNIUnBiMjQrSUR3dmNtUm1PbEpFUmo0Z1BDOTRPbmh0Y0cxbGRHRStJRHcvZUhCaFkydGxkQ0JsYm1ROUluSWlQejZYcUFTWEFBQVFjMGxFUVZSNDJ1eGNCMWhVeHhZZWxrVjZFUVVSQlNuQ0xrUVRqZTA5RXhFRk5TOEdFOVRQUkkxR0FSc29kb29STkFJV0VEVVdGTEdpYU5RazFzUmd3UXFhS0lqUnA5S0xZaERCS0tFcUxPOGNtTTBiTGhkMkYwdFVkcjd2ZkhQdjdOeTVjODgvWjA2Wm1WVWxyMEd5TkRPM2E2MnZmeGlvK0hIeGsxdEVtWWpLUHd4SUs4ajhnTDRHd3VzL2dNUlpkM09MV3pvd3F2OGdLUCtDN0NlZ1VkZ1BmWDE5VWxsWnFRdlhPaUExeDVVUzgrb0IwWUVzQkdnR3Z0L2MzTHh5ZS9UT0hGMDlQYzEvOSs1alZsMVZKWUh5ZjRIVVhHbkp3QWhlTVNqL2dReDFpTGVxcXFySzNQbnowbjgrRVNzNXNHKy9iV3BLaXBuM3pKbnB0RStSVUZjb1Q1dUR2c3ZVQVFvSGVsOHBNWW9EWWdUWkdxQXhlRy8vam4zSjl1am93clRVVklzRnZuNGtOemVYZ09RUUFLbHNzSk9UMnYyOCsycFFiUzVJelNvWm9DRFFrVUJtUUVsQXZVOStZVld0QkVZK1VNWkJ0aHFvamJxNk9sa1NISHhuMEpEQm5aY0dod2kvMzcrL1h0MXBYbDdrRXhlWGxLRWZmU1NDMjFJZ093RG5MZzhnOVlCbTBtd0FabzF5S21zYUVBdWdXTGlNUmxENmZ2QkI0ZFZyMSs1cmFXdUpCdzkwYWdBS3BzMlJrVVNvSmhTNURCdDJIMjYxZ2RieGdJSkEzK1lCQlZNUS9ONVJLVEg4Z0toU3hSNk16TlhSMFNGck4yeTRKUmFMN0FPK1hraE9uenJWNVBNOWUvVWkwVEc3QzNwMmY5KzRyQlNGaHJpQzFCd0NobHZBOVNhZ0lUSzZjQkNrWnJoU1l1cUQwaFd5UzNUcTBuYjU5Tk84MzVJU0MvUHUzYlVmNU9Ra0V4Uk1WNjljSVljUEhqSU9DMS81MzlxUkkxQmQ1N3pyMWdKcU5IQkJ5UUlhQnZRN1UrWUtJQTVUU2t3ZElCclVTVVJuVVdoa1pGUzFkY2YyZEUwdExiSGZmQitTZVBXcVF1MmhUM1BxN0pscVQvL2dnc0xlWDFhbzZocGFjcXBVVXgwVENOSlJCa0QwaHV2THpQZWdYcktIMzBwYXJNUUFLUDBnU3daYXFLS2lJblR6OE1nK254QmZFWGM2VHZ6eDRDRUtnNExwdzM3OVNQS0RpdlNLSWJOTWVFQzVqbjRPTUgwZWdvSUZrUDhHV1FSVEI2MjBKUzFTWWdBUVBjaENnYWJVM2x0WmxZT2ptUGVvcUtpekwwZ0ptTUlLdDJuU3ZqM3hYUmhRRksvYm95YjVRWGxienMrVlFOOEFoUUVRVlR4R0FmWW5CWnRocEFyTjU2UVdBd3lBOGlrZG9hYXFRaUh4OGZWTkd6TjJqSGw0MkVyMTZKMDdpVVFpVWF3VEtpcGt6Tml4a2g2anZkSzNwRHkxZlZwZHc2MXlEbWdTTURsTmhsK0Q0WjE5ck1vQzZnUFBTZDdxcVF3QU1RRTZBSmVIRUpUM3VuVXIvdTNxbFJ4YmthM05rRUdEMUhkczM2NHdLRmJXVmlSaTUrNzhoLzA5eXlKdVZYSkJlVUlsY29Bc1VPaVVoalk0RzJmckNlVDUxa29NZ0lIMUpnS0ZBeGxvYW1xU3BjdVgzK25uME04bWFNa1NWYkNpRkg0eFN0clVhZE9xakFhTnk5bVRXbVl0cVdsbzlnSk5CMmJmVjZSZGFsYWpCYWRKaS80Q0VpdmF6bXN2TVFCS1o4aE9BMjFGVUJ3SE9ENjhjaTBwWDFJakVROXljbTRXS04yNmR5ZVJlMy9JdVc3M2VmWHVsQWFnNUFPTlFGK2tPY3lFWjdJaFc4d1VZY1I2N1Zzak1UU0lPSWQrcEthQmdVSE4rbzBSZHpwWldOaDk3ZWRQenA4N3AvREx0TFMwaVBlYzJSV1ZQVndManFhWG1QTlVpUUx5QWVZK2ZwNlBBcWxSbzdHekxreXhDN1I3N0kwR0JrREJTTzBXb081NFAzTFVxSHRCSWNGYWUySmlETU5EdzBoWldabkNMK3J2NkVpK25QTjF4cVpzRFlzbmxkWGNkU0RVSDVPQmNXZGYxSWNCT0gwaHU4aDhZeTcxYlVyZk9HQUFFQzNJRmdITlJUWFEzdFQwMmRidDJ6SUZBb0VJVGVEcnlja0t2NkMxb1NHWjc3K2dPS1dqUTFuOHZUSVRIa2N4RE0xZ1lGakZpLzQ0QUdlVDFKeW5LUno5bnpjS0dBQmxJR1NiZ2F6UmZKM3E2Wms1WTZaM3U0ajE2N1UzUm13azFWVlZDamZ1T253NGNabzRPelV5dmNhMnZLcUJ0WllJNUFHTVNuNVpId2ZBR0VCMkI2Z2RNeEI2d0R1dnYvYkFBQ0N0cWJXRlZoZXhzYkVwM2JFcitrRmVYcDZWbjQ4UHljeklWTGpSRGgwNkVMOUYzeFNlVnVzaXVGbFlZY2o1dVJ3b0FFTXFyMkx0Qk1EQktIUU1VL1FyVU4vWDNiZEJZTkMwdEVQek5TQXdNTlYxeEhETDBHWEwxV0oyNzFiY3hCTUl5UGdKRXlUMnd5ZG5iRXVwdEtscWFBTmpGSE1LTUNYelZYNGtnSU5LZnloVE5BMzZzT2wxQjhZTlRXRTlQVDJTbUh5dDJHdWFwOTZKMkZpRkd4S0p4V1J1d0RkNSswck5ESEtlUE5YbS9QeUlXbmpSd0pBYW9reHlBWU42QnEwaEJ6ZDM5NXloTGk2ZFJycTZrcG9hK2ZqWHFsVXI0amw5K2xPdC9xUHpEcVNWV3ZJODloMlFOd0R5VU1sdUJaVS9icmlETEJtVWZxdnpDZkVabXpaRVdNczdsYTFjdmFybWlFYWZxdnNsejlRNFAySG9mU29BOHJPU3pjMzAvTFB1NXVKUzdRcVVFdmNKRTl2UDgvV3BhdHUyclZ3TmJJMktVbkd4MHNyaUZDZFJuMEVKeWdzSXlTeEZSeTgxSlVYcmw1K1Bad1lzWGlSWEE3ZHYzU1pGNXc1WWQ5QlZLMmVLY1NYVFhNbmVGK2RnT21PNENYZXpnQ0dRN3psMW1vazhvUmNNYW00L2VDeHI0UTFWZGxFTHZXNkhsNlhzcmN3NzRjanhJblZiYTlIMEhaR1ptM09HVThlRjFHM28wS2ZmaW4yWkFmVjJjK3JaUW5ZQ3lJQVdlVUdkR0NqSFZWRmNkT01hTTRWQTkwamRja1FVMUwzSDB6Lzhmb3d6YXRBaURKZDBnN29Gbkhwb0ZNMEMwbU9LZytzRk1XRktRM00ycHJLeWtrejM4bEpkRWhKTU5EUTBaREtwdkx5Y1JJYUdXSDVpclp2TEZIOEk1UDRTQjFVMmtCRmxPdnBpL1hqcW9KZmZpVEpjbithRGVlcE5wdld3RG9hTGZxTGxHSkl5cGVVc1dXT1VDU2dRSncxZ2JoY09zOFdRZlVBZFcra3o3YVVoTHFZZXZtczJCWjl0dnlOZmRCa1IvUE5zM0JtamdnY1A3bmpQbWlrWGw4N0V4WkZPZVFsdGRGc0pXQWtKQlIvQ3VCblNJQUtLQXNvR2VnWlVDWlFPdEFiSWtKRklOdlhrdFBFT1NpeFA4ejA0OVZEaXhyTnFFMGIxWXlqWHBOSW9UUnNwc0NKcWFVcVREZ1dXVFFNNURyVTB2Y3VwaDV0THBOdXQySTMwK2cyQUFhbEJVZk9wOWNJbVQ3R1o2TzVlYkNzU3ljWFFaVUZCMnJPNmFLU3dvVEtnVlFxQ2dsSjJFOE0xZEJRTEtZTndsT0lvMll2MWdIa1pwRzZKZ0pmaDJIM20rZ1J6TFlaMzZETDNuMUhKazRac3BCc0dEVGp0UFlaM1BnRktwZkU5Tm1rMEFjelpKb0NaUkhPTUU1NWsyMnRzUFFiWFhpNFdGUldwcmd3TmU3UjArYkxhNVY5WnFhQ2dnSnlLWGkvdTFrNnppQ2tlQzFMakxDY29nMm04RHNGQVM4OFJxQTAxVEtUSmthUEhwTWtVbm05SDI5SGhTRUVvMVM5U2c0ZWRVanlZNngrQjhkbU5BY05jOTJhdUpXeklCOTR0WVBxSURQK0ZEeGlvaHdIZFQrZ3RUcDJWck5ybUJRYWtCajhDbzdMUHRtM1pZbUZpMGo1ejlKZ3hjbzM0M2RHN2lJdEdya1FvcUFma0pnQkhRd1lvbW5SQVNQczBHcGgwRGdpakJuOHdWZTgxQWd6NzRWK1J1Z1V5VEtqMzRqaHQ5S0x2dElLTUhUVGh6RFVYbUpGUWZ3OVFFcDNXQ0czekMrd25wdzl0NkRWS1BodCtzb2ZuMVpnK1NqZk83K0VZR0hxTnJtQUNPQmhEQzBYZnhtM0NoSGJ6L1h6bDhtMncvdkxGZ1VidTcraXgyMlJ3R2xvbzQ5SFJ6SHliZzBvWVBzSU5DRGRYZk1zWi9ZMEJJNmI1VktZc0doaFhRNW5FMVVkdWpHVWFEL1YrYlFLWVhyU1BVbW5EL1FnN2dNNDNNWTBsQUdVdzkwSTZsYW93a3ZxSU1UWmtUbVYvbTIzWU1QZzIyckhIZjhsUXhMY3BQTGZmeWxTbm5tL2pBMUpqMzhSajdDNUwxQzN4VklKR1VTbkNJeHFqZ0htUlREMWNNbUFYdm16aG85RTZrMXBKQ01nV2VuMk5NM0xSSXByWWlMVHdBUk5LbFR5ZTdjbWoxcE0vME8vUWxuVWp3RndBU3FXbU1qdDQrbEpUR2xNTWZGTWxCVnFhdEpvRUJxU21RanI2RmdVRWlKeWNuUEw3T1RqSUJjN2FOV3VFMHl3cVdPV01JcndSd0dsTVdZazQ4emx1NHZzUktJaWFwaUw0Z0FQc0EzQ1B5dm9TVTRRbTZRVG0vaWpVeWFIWGlTeUFsSUdtOUI1QlA4enBUMnZPUGVvZjlGa1dVbGRBbXREcTlLTlRvNUN4QkhGUXhORSszbUFIQmZwY3pIMFVVMS8yVk1ieGJmWlEzMFlRQkw0Tk9xRHkrRGFidzBJc1A3YldaWTlST0hCR0tadWVNZGNwOEVGOWdOQnBEQVE2RDlUWStnazduYUh5ZDJYdTF6UFhpUndyaWwzWlhNUFRQbGRpL21TdWNaTUl1M0pvdzB5UlV0MldSUFdqVkxMWnVpUHA5UldvSXdXTlZmN3E4dTRyUTkvbU1mZzJ4bUI1M1o0eDAxdHUzOFl5TDhGUXA3NXZFMGJQdHpTWUFabnJQakQ2RmdDcE04WkJPNkJ4UUoyYkFLWVBNOUxSYkQvRlNGY21oN2t1ekJ5L2c2Yy92TUJRaXkrRVVkeVlwQ2V0blJzeDBaTTVVN1laUjFxNC9vNjJYTUNBMUR5QXpKZjZOcmJ1a3lZVjI5all5TzNiekt6djJ4anl6T2VFS25oV2F2RGppNEVSR1VEM3FjOFNUUTBKTmwybS9vZDB1cFNtRFZUcGswYWtSdW84Ym9KNnBYSUFrd2o5eUtWQXN2c0cwdWgweXpYbFR6VUNqTlNDS3VVNHFtelNWV1FuSnFLYjhMZHZzMks1WEEraGJ4TUh2czI3UmhxUG1PSnhJRFZPSEgyUlNPMzZUQTd6cktqdXdGVEVzWElJWmVwbHptdnhYVHQ1dWhQUDQ1dXNhNlRyWEdETUtLa3hFb2tPYjNmb3d4ODBndkFoTS9vVG1HZHZVSCtIVGZ2Z3ViK1llMWI1Q3hUYXUyeHBabzVoRGx5M0VWNjhsSkN4YnUxYTYrLzI3SlVkS1FYbmRNZSsvUVhMN2hvYk04dk5PTkxlNWU2T29hWmtWNm9rTmFsU2ZFejlrWnZ3TVU5NWZDQmtvZ1dyQTdqQlFrWTUyek8rVWg3VWU5aUlYOVdSR2QzY2xBL1A1Zk04MDVYRzJrcmg5elJ1bUluOGYzZG83WmlDT3NYTTcyMllLZTZad3B2S0FSejB3djF0UmFMU2ZkOGZVSGQySENBRUtaTDVuSjI5SFptd2FrOWExSTBuN0J3WUJNQUVLb1A4RFZOenpzZmdmSnFKdnMzSjJOaU1nRVh5K3phUHp1MjNCTitHbFJCZm1OTHNsRER3ekRMTmVRaWtCbU5hc2Jna2NEWDVXdjdVU1pOTkxsNjRJUE01WExmWjl1T3hySUNiOWRadDBITjJWRzdTZUg2SlFTc05UY0c5RlJVVlpPYjBHWUxncFNHSytUWld1dmZrOUcyVUV0TU1xVUZuRG5jNUdueC84T0R0eTVjUzdNQmFrK3ZaMWV2V2xlNlV2S2RWOGxTaXdsaFI0dWZaU1FOVFluOGFObW5ISFErb0U2SHRReTBDR0FvT2htczJ0bTNidHZyQ3BZU3lZUjhQMVUxTGszbStpQmdiRzVNVmU0K2xoQ1NWc1dHWVhjQzg4YzBBUkorSlkzSFRXVkszV1QzdFRaT1k1ejBjaTJzbmx3b0xDMVZYaDRjWEJpOWJLcmR2azN4c3I2aXJETjlHRGxBK28xNDNGeFQwQ1hBUmF1Q2JDTXB6QXdPNlJrSmpUbFZSa1pzdHpjek1Na2Q5OFhuVEx4UUl5RVEzTitJeHlhT2kvZDFMZVp5Zkk0RFo2bklBWWdMMEE2azdkV2JLRFRiU2FYSExtMnhRdktoei9oZ0c4QldKeFNWNzkrL1RjQjR3VVBpSXg3ZkJKZW9WWWFHa2Rldlc2VitORzk4eEp6dGJvNlBudWxzYWxsM1o1UUE4a3JHNEVVQ3d2MjQwcEtQUCtSbkRObmcwOEdDTHRjcDRFcDZwejBxNWMwZm4xTW1UNlFzREF1cjlpTnRvWjgrZFN3NGZPL3JYMGNOSGNnWTQ5TytNb0dCWTQ4OHpNZjVVK1V1VFB3QWc0Z0ZGZXVSd0N3OG9PS1hhdnkyZ3ZEQ0pvVkx6RVdUSHBiN05aSGNQazRUNCtOci9obGtXdW9LVWxaYW1lRXgwczM3NDhDR0dSVEJramxJV2dtcyt3UFRhamUwY3BZMzZvUVorcTNma2tQTmFYSVRDWStibmxlWnkwK0JndFBSekoyZm5nb0JGZ2NZSjhRbkVkY1R3UXArNTg1NGVQWEpFcWd0d0Fjd0RBTG5CbWFLUXVld0NGUG8yMTZtRWNQOGtEb0ZGMjN6Snl6aUo5allDWTBKOUczM1FOYW5sWmVYVjN0T24yNVdVMVA2bEMwYUI4ZjltMWdNbzFUeFRGZW9aREk5TG83ZTRISXVHQVBlOEp2NnBnanNBOHJ2U3dXeUdiOE1weGdNM1V3Q1FIQm5XVmpBRmp5OGhVS2k4dm4xYi9zWHZWUU9EQmdXdVJlQnFJcHBtc3dHUVhYTDZKV2dRNEc0VzdtSVlib2JEazJoWnlwRE04NEdEZTZ0dy9ka2ZRRkVvekVJM0I1NWtRalZ6QUpDZHlsalphNUFBbkJpcVcvQWtXZ0ZwZ2VsL0Fnd0FuYllxUThyZ3RNOEFBQUFBU1VWT1JLNUNZSUk9In0sInN0YXR1c1JlcG9ydHMiOlt7InN0YXR1cyI6Ik5PVF9GSURPX0NFUlRJRklFRCIsImVmZmVjdGl2ZURhdGUiOiIyMDIwLTA4LTEwIn0seyJzdGF0dXMiOiJGSURPX0NFUlRJRklFRF9MMSIsImVmZmVjdGl2ZURhdGUiOiIyMDIwLTEyLTIxIiwiY2VydGlmaWNhdGlvbkRlc2NyaXB0b3IiOiJUcnVzdGtleSBTb2x1dGlvbnMgVDMxMCBVMkYgQXV0aGVudGljYXRvciIsImNlcnRpZmljYXRlTnVtYmVyIjoiVTJGMTEwMDIwMjAwODE0MDAzIiwiY2VydGlmaWNhdGlvblBvbGljeVZlcnNpb24iOiIxLjMuNyIsImNlcnRpZmljYXRpb25SZXF1aXJlbWVudHNWZXJzaW9uIjoiMS4wLjAifV0sInRpbWVPZkxhc3RTdGF0dXNDaGFuZ2UiOiIyMDIwLTEyLTIxIn0seyJhYWd1aWQiOiI2MDI4YjAxNy1iMWQ0LTRjMDItYjRiMy1hZmNkYWZjOTZiYjIiLCJtZXRhZGF0YVN0YXRlbWVudCI6eyJsZWdhbEhlYWRlciI6Imh0dHBzOi8vZmlkb2FsbGlhbmNlLm9yZy9tZXRhZGF0YS9tZXRhZGF0YS1zdGF0ZW1lbnQtbGVnYWwtaGVhZGVyLyIsImFhZ3VpZCI6IjYwMjhiMDE3LWIxZDQtNGMwMi1iNGIzLWFmY2RhZmM5NmJiMiIsImRlc2NyaXB0aW9uIjoiV2luZG93cyBIZWxsbyBTb2Z0d2FyZSBBdXRoZW50aWNhdG9yIiwiYXV0aGVudGljYXRvclZlcnNpb24iOjEsInByb3RvY29sRmFtaWx5IjoiZmlkbzIiLCJzY2hlbWEiOjMsInVwdiI6W3sibWFqb3IiOjEsIm1pbm9yIjowfV0sImF1dGhlbnRpY2F0aW9uQWxnb3JpdGhtcyI6WyJyc2FfZW1zYV9wa2NzMV9zaGEyNTZfcmF3Il0sInB1YmxpY0tleUFsZ0FuZEVuY29kaW5ncyI6WyJjb3NlIl0sImF0dGVzdGF0aW9uVHlwZXMiOlsiYmFzaWNfc3Vycm9nYXRlIl0sInVzZXJWZXJpZmljYXRpb25EZXRhaWxzIjpbW3sidXNlclZlcmlmaWNhdGlvbk1ldGhvZCI6InBhc3Njb2RlX2ludGVybmFsIn1dLFt7InVzZXJWZXJpZmljYXRpb25NZXRob2QiOiJleWVwcmludF9pbnRlcm5hbCJ9XSxbeyJ1c2VyVmVyaWZpY2F0aW9uTWV0aG9kIjoiZmluZ2VycHJpbnRfaW50ZXJuYWwifV0sW3sidXNlclZlcmlmaWNhdGlvbk1ldGhvZCI6ImZhY2VwcmludF9pbnRlcm5hbCJ9XV0sImtleVByb3RlY3Rpb24iOlsic29mdHdhcmUiXSwiaXNLZXlSZXN0cmljdGVkIjpmYWxzZSwibWF0Y2hlclByb3RlY3Rpb24iOlsic29mdHdhcmUiXSwiYXR0YWNobWVudEhpbnQiOlsiaW50ZXJuYWwiXSwidGNEaXNwbGF5IjpbXSwiYXR0ZXN0YXRpb25Sb290Q2VydGlmaWNhdGVzIjpbXSwiaWNvbiI6ImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBRWdBQUFCSUNBWUFBQUJWN2JOSEFBQUNrVWxFUVZSNDJ1eWFpM0dETUF5R1F5ZWdHekFDbmFDTWtCSG9CaGtoblNBajBBMlNEYUFUMEU2UWJFQTNjT1hXNlhFcEJ0bkltTXY5dXRPbGx4akYvcUtITFRkUlNtMGdkbmtBQWdBQ0lBQUNJQUFDSUFBQ0lBZ0FBUkFBQVJBQUFSQUFBUkJFQUZDU0pJTktrcEx1U1R0U1piUXo3NlcyNXpoS2twRldQYnRhejZRNzV2UHVvbHV1UG1xeGxaSzJ5aTc2czlSem5qbHBOMks3Q3JGV2FVQUhOUzBIVDBBdHczWXBEU2p4YmRvUHVhemlHM3VrNTc5Y3ZJZGVXc2JRRDdMN05BWW9XcEttTHk4Y2h1ZU81cmVCN0tLS3JRblFKZERZbjlBSlpIYzVRQlQ3ZW5JTlkyaGp4cnFJdHN2SldTZHhGeEt1WWxPbFdKbUU2elBQY3NKdU43V0ZpRjdtZTVET0F3czRPeVp5RzZUT3NyL0tRemlEYUptL21jeTJWMVYwK1QwSmVYeHFxbHJXQzltR0d5M082d3dGYUkwU2RSK0VNZzlBRUFBQ0lBQnlxVmlaYisvcHJnRmRONnFiMzA2ajNsVFdzMEJKNzZRancwa3RPKzNhZDYwUFFoTXJmTTlZd3FLN2xVUGU0aisvT1I0MGNEYXFKZUoreG84MEpzV2loMVdUQkFjYjh5c0tyYitUZm93UUt5M3Y1NXdiQmtrNDlGSmJRdXNxcjRzbmFkTDloRXRYQzNuTzFHMUhHNlVmeElqNW9EbkpsSFBPVlZBZXJXR212WVF4d2M3MGhpVGg3QmlkeTMvM1pGRTZpc3hmOGVwTmhVQ2w0bjVmdFlxV0t6TVAzSUlxdWFGbnF1WE8wc1oxeW4vUldxNjlTdUs2R2RQWE9SZlN6NEhQbmsxYk5YTzArVVp6ZTVIcUtJb2ROWXduSFZWY09VaXZOY1N0eGo0Q0dGWWhXQVdnWGdtdUY0SnpkTWhuNndEVW0xRHBtRnlWWTdJdlFxZVRSZG9kMnYyRjhsTm4vZ2NwVytyVXNPaTltQW1Gd2xTbzNQdzlKUTNwKzhiaGduQU1rUE02MTNCeE9CUXFjMkZFQjRTbVBRU0FBQWlBQUFpQUFBaUFBQWlBSUFBRVFBQUVRQUFFUVBjbzN3SU1BRE9YZ0ZoT1RnaHVBQUFBQUVsRlRrU3VRbUNDIiwiYXV0aGVudGljYXRvckdldEluZm8iOnsidmVyc2lvbnMiOlsiRklET18yXzAiXSwiYWFndWlkIjoiNjAyOGIwMTdiMWQ0NGMwMmI0YjNhZmNkYWZjOTZiYjIiLCJvcHRpb25zIjp7InBsYXQiOnRydWUsInJrIjp0cnVlLCJ1cCI6dHJ1ZX0sIm1heENyZWRlbnRpYWxDb3VudEluTGlzdCI6MTAwLCJtYXhDcmVkZW50aWFsSWRMZW5ndGgiOjMyLCJ0cmFuc3BvcnRzIjpbImludGVybmFsIl0sImFsZ29yaXRobXMiOlt7InR5cGUiOiJwdWJsaWMta2V5IiwiYWxnIjotMjU3fV0sIm1pblBJTkxlbmd0aCI6NCwiZmlybXdhcmVWZXJzaW9uIjoxOTA0Mn19LCJzdGF0dXNSZXBvcnRzIjpbeyJzdGF0dXMiOiJGSURPX0NFUlRJRklFRF9MMSIsImVmZmVjdGl2ZURhdGUiOiIyMDIwLTA4LTA1IiwiY2VydGlmaWNhdGlvbkRlc2NyaXB0b3IiOiJXaW5kb3dzIEhlbGxvIFNvZnR3YXJlIEF1dGhlbnRpY2F0b3IiLCJjZXJ0aWZpY2F0ZU51bWJlciI6IkZJRE8yMDAyMDE5MDQxODAwMyIsImNlcnRpZmljYXRpb25Qb2xpY3lWZXJzaW9uIjoiMS4zLjYiLCJjZXJ0aWZpY2F0aW9uUmVxdWlyZW1lbnRzVmVyc2lvbiI6IjEuMS4wIn1dLCJ0aW1lT2ZMYXN0U3RhdHVzQ2hhbmdlIjoiMjAyMC0wOC0wNSJ9LHsiYWFndWlkIjoiNmQ0NGJhOWItZjZlYy0yZTQ5LWI5MzAtMGM4ZmU5MjBjYjczIiwibWV0YWRhdGFTdGF0ZW1lbnQiOnsibGVnYWxIZWFkZXIiOiJodHRwczovL2ZpZG9hbGxpYW5jZS5vcmcvbWV0YWRhdGEvbWV0YWRhdGEtc3RhdGVtZW50LWxlZ2FsLWhlYWRlci8iLCJhYWd1aWQiOiI2ZDQ0YmE5Yi1mNmVjLTJlNDktYjkzMC0wYzhmZTkyMGNiNzMiLCJkZXNjcmlwdGlvbiI6IlNlY3VyaXR5IEtleSBieSBZdWJpY28gd2l0aCBORkMiLCJhdXRoZW50aWNhdG9yVmVyc2lvbiI6NTAxMDAsInByb3RvY29sRmFtaWx5IjoiZmlkbzIiLCJzY2hlbWEiOjMsInVwdiI6W3sibWFqb3IiOjEsIm1pbm9yIjowfV0sImF1dGhlbnRpY2F0aW9uQWxnb3JpdGhtcyI6WyJlZDI1NTE5X2VkZHNhX3NoYTUxMl9yYXciLCJzZWNwMjU2cjFfZWNkc2Ffc2hhMjU2X3JhdyJdLCJwdWJsaWNLZXlBbGdBbmRFbmNvZGluZ3MiOlsiY29zZSJdLCJhdHRlc3RhdGlvblR5cGVzIjpbImJhc2ljX2Z1bGwiXSwidXNlclZlcmlmaWNhdGlvbkRldGFpbHMiOltbeyJ1c2VyVmVyaWZpY2F0aW9uTWV0aG9kIjoicHJlc2VuY2VfaW50ZXJuYWwifSx7InVzZXJWZXJpZmljYXRpb25NZXRob2QiOiJub25lIn0seyJ1c2VyVmVyaWZpY2F0aW9uTWV0aG9kIjoicGFzc2NvZGVfaW50ZXJuYWwiLCJjYURlc2MiOnsiYmFzZSI6NjQsIm1pbkxlbmd0aCI6NCwibWF4UmV0cmllcyI6OCwiYmxvY2tTbG93ZG93biI6MH19XV0sImtleVByb3RlY3Rpb24iOlsiaGFyZHdhcmUiLCJzZWN1cmVfZWxlbWVudCJdLCJtYXRjaGVyUHJvdGVjdGlvbiI6WyJvbl9jaGlwIl0sImNyeXB0b1N0cmVuZ3RoIjoxMjgsImF0dGFjaG1lbnRIaW50IjpbImV4dGVybmFsIiwid2lyZWQiLCJ3aXJlbGVzcyIsIm5mYyJdLCJ0Y0Rpc3BsYXkiOltdLCJhdHRlc3RhdGlvblJvb3RDZXJ0aWZpY2F0ZXMiOlsiTUlJREhqQ0NBZ2FnQXdJQkFnSUVHMEJUOXpBTkJna3Foa2lHOXcwQkFRc0ZBREF1TVN3d0tnWURWUVFERXlOWmRXSnBZMjhnVlRKR0lGSnZiM1FnUTBFZ1UyVnlhV0ZzSURRMU56SXdNRFl6TVRBZ0Z3MHhOREE0TURFd01EQXdNREJhR0E4eU1EVXdNRGt3TkRBd01EQXdNRm93TGpFc01Db0dBMVVFQXhNaldYVmlhV052SUZVeVJpQlNiMjkwSUVOQklGTmxjbWxoYkNBME5UY3lNREEyTXpFd2dnRWlNQTBHQ1NxR1NJYjNEUUVCQVFVQUE0SUJEd0F3Z2dFS0FvSUJBUUMvandZdWhCVmxxYWlZV0VNc3JXRmlzZ0orUHRNOTFlU3JwSTRUSzdVNTNtd0NJYXdTREh5OHZVbWs1TjJLQWo5YWJ2VDlOUDVTTVMxaFFpM3VzeG9ZR29uWFFnZk82Wlh5VUE5YStLQWtxZEZuQm5seXVnU2VDT2VwOEVkWkZmc2FSRnRNamt3ejVHY3oyUHk0dklZdkNkTUhQdHdhejBiVnV6bmV1ZUlFejZUblFqRTYzUmR0Mnpid25lYndURzVaeWJlV1N3Ynp5K0JKMzRaSGNVaFBBWTg5eUpRWHVFMEl6TVpGY0VCYlBOUmJXRUNSS2dqcS8vcVQ5bm1ET0ZWbFNSQ3Qyd2lxUFN6bHV3bit2K3N1UUVCc1VqVEdNRWQyNXRLWFhUa05XMjF3SVdieGVTeVVvVFh3THZHUzZ4bHdRU2dOcGsycVhZd2Y4aVhnN1ZXWkFnTUJBQUdqUWpCQU1CMEdBMVVkRGdRV0JCUWdJdnowYk5HSmhqZ3BUb2tzeUtwUDl4djlvREFQQmdOVkhSTUVDREFHQVFIL0FnRUFNQTRHQTFVZER3RUIvd1FFQXdJQkJqQU5CZ2txaGtpRzl3MEJBUXNGQUFPQ0FRRUFqdmp1T01EU2ErSlhGQ0x5QktzeWNYdEJWWnNKNFVlM0xiYUVzUFk0TVlOL2hJUTVaTTVwN0VqZmNuTUc0Q3RZa05zZk5IYzBBaEJMZHE0NXJuVDg3cS82TzN2VUV0Tk1hZmJoVTZrdGhYN1krOVhGTjlOcG1ZeHIrZWtWWTV4T3hpOGg5SkRJZ29NUDRWQjF1UzBhdW5MMUlHcXJOb29MOW1tRm5MMmtMVlZlZTYvVlI2QzUrS1NUQ01DV3BwTXVKSVpJSTJ2OW80ZGtvWjhZN1FSalFsTGZZemQzcUd0S2J3N3hhRjFVc0cvNXhVYi9CdHdiMlgyZzRJbnBpQi95dC8zQ3BRWHBpV1gvSzRtQnZVS2lHbjA1WnNxZVkxZ3g0ZzB4TEJxY1U5cHNteVB6SytWc2d3MmplUlE1SmxLRHlxRTBoZWJmQzF0dkZ1MENDckpGY3c9PSJdLCJpY29uIjoiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDQUFBQUFmQ0FZQUFBQ0dWcytNQUFBQUFYTlNSMElBcnM0YzZRQUFBQVJuUVUxQkFBQ3hqd3Y4WVFVQUFBQUpjRWhaY3dBQUhZWUFBQjJHQVYyaUU0RUFBQWJOU1VSQlZGaEhwVmQ3VE5WMUZELzNkNTl3ZVFTSWdTOUFRQVhjRkxBUVppOWZwZVZ6MXRZL1dUWnI1V3hwYzdXNWtuTGE1akkzWjg1c3JTMm5NMnNqdFd3WlM3SVVINEg0eENuRVF4NERBWkY3NFY3dXM4ODV2OS9sSW5CdlZKL0I0UHY5bnUvNW51LzVudk01NTZmekEvUXYwSGIvSXJYM1ZGS1BvNDVjbm00aW5VSVdZd0xGUm1aUVV1d2pGRy9OMWlSSGgxRVowTlJWUnVkcXQxQmQrMm5TS3lTL09oeXMwK2xrM2UvM2tROXF2RDRaVXRhNFZWU1V1WTBlaXB5aVRoQWZvY29PUlZnRHV1dzNxS1JpQWQzcmJjRXRqVGpZSW9mNldhSHNDbXpWUFdDTXgrY2doOHRMcVdNS2FNV3NVakxxbzJSdEpJUTBvT3ptZXJwUXU0ZXNaZ3NPTmtHeEg3ZDBrZHZUVDE3czRPTVU3Vkk4WmhqZ0dhTStBcTlpRU51OFBpZjF1ZHowN013dktXZjhHbFZvQ0VZMDRQQzVXZFRhWFlGYlI4dk52TDUrM0tnZmI1eE5NeWE5UmFtSml5bmFNbEdUVnRGbHI2YmE5dStwcW5FWDR1TXVSUmdqU1lFaHJON3V0RkZlNmxxYWw3TmZrdzVpbUFHSHluUHBiazhWbVkweHN0bnB0bEZDVkNZdHpUdUJOODNRcE1MalR0ZXZkUHpTVW5KN2U4bWtqeFozOWZYYktEZmxkWnFidlUrVFVnR25CVkY2ZlEyaVBIZzRXMTZVV1V3dnpiazE2c01aRStQbjBwdno3SlNldUF5ZXM4bGNwQ21hS3VvL3ArcVdyMlVjd0lBSFdydlAwWUV6aFhBdExBYnNzSGhwN2lHYW12eWlqUDhyeXFyWFVXWDlYb293eHlBdWZOQnJwNDNQT0JGWFpsa2Y4TURSaXFjcHlvd0F3cHV6MngrZld2ei9EdGRlOXNtc3p5Z3RjUjZDMXdiZHpCbDZPbHE1V05ZWTRvR2F0aEpNcmtURXgwakFSU0hBVnMrNXJZa1FOWGIrUWdmUExzUTZnWHlJbnNyZVFmbXBtN1JWRllmTDg2bjFmaVVPa1l2U2hrVVB4dmJ1a3pveTZLMWloTTFobzNYelc2RXZTZlhBK2RwaVdHYVdkK2RvWHpMem1Hd0tZRkxDQXNSQWxQQkFoTWxDRlhVN3RCVVZQcjhIZ1ZjSkhXcStGMDBwbHIrRE1UZHJQNHp2eFkxMWtOTWh4VCtTZVRHZytkNFY1TFFKaXR5VUdKTkI4VkZac2pnWUJaTS9JSS9YQ1RrajBxeURPcEYyQVZRMTdDSWpVcC9EblQxVWtMNUY1Z2RqK3NTMXdnMWdFM2dpZ202MGZDWHpTblBYYnlBUGJJWHYrSURwRTE2VGhhSElTOXNreWhsbU1FNUYzY2ZxQUtocTJDMEU1UEgxZ1lhWGFMUERrWkcwSERKT25LV0hwNTFJMHo1U091eDhlMVdBdVp6ZEhRclRrcDhUbWpYb0krbGEwd0dac3p1YnFiTzNpZlE2QS9XN3ZWU1lzVjNtUjBKS3drS2M0V0hpQmttUjhJM0NDZ0k4N29PTDRxelQ1UCtSVUpCZWpFT2dBUEs4aFlQemF0TStlSVRwMklPOXlUUW1lcm9tUFJ4eDFxeEFjc2lsZS91YlNlRWJjV1FHWUVDZ2hjTFkySHlLam9nakgyNWhNcGpwVXYxT3VnbGk0ZWgyZVJ3ME8zMmJKamt5dUNnTnpnMHZ6bFlNU2lTczB1b280TUc3aE1PakNFYVgxeUZFMG5TdmpCenVUbkVwSzg2WjhJb3FGQUl1Ync4a2c5QXJFYVJFV1NaSStqSDRYYnA2ZzlFOUVuSlQzb2FSekROK01VSkJRREhuNTZhOG9VbUVCdXNPeEJzL041K3RKRWJQa0FGRGo4VUd2T3MvSVd2Y1NnbEdCaHZTNy9GVFlmcFdHWWREWThmUEF4V1NBMzVzVEM0cDQrTG00QWFxSW9QZVF0ZnVmSzZKaDBaaHhsYnNVWE9TbVhOaWZENVpUQWt5RG9mYmJjY2x4bkE4V05BcXhDYlJOeWtoWHhRcGFEdzY3ZlhVWWJzaUcwS2h0djJvZUl2aDhyaFFNWU9jRUFxWEcvZUkrem5nT2M1eXhyOHE4MklBTTFjL0ZMRk9wbHF1NWVGUVhyTVp6R2NWQ2pZYkxXRzVJNEJUMWV1UnJsYnh0Tk90TWl0RERFaExYSUl5bkFBdnVPRVdFM1gzTmRBZnQ5NFZnYUc0MlhJUXQwWlg2UGVDRS9xUUZlOXJLNkh4N1lVNTBLdkg3Zlc0ZlMrcTdLS0JKeHNnZ0JYNXBTQUdoMWpJclZoNXpRNnczUmZhYWhCWG0vYUNiQ1pUakNVRlVUeVdacVc5cDYyTWpKUFhWcU9yUGdNTzROdjc0R2tmK293ZnROVkJEUW5qRkpxSFN3MTdwWHZoV1c1S1pxZS9RNDlOL1VTVENBVldvUVhGSUhCSFhYZTNGUHJVRHN1R0RtdEYvaEhLVEhwZWt4aGlBT1BJK1NKcTZTNkhGNEk5WVd6a0JKVG80NmlVTXpXcDhQaXIvUmlkdUx4S1lzU2tzVjh2TGxPUXZoR1gyWWxSME9CaEJqQyt1L2dFY3ZZMEFwSzdZazQxTnhqUFNRbldGSFRGNjZVcmpnZXZCOEN1NWErbDJ2WVNSUHR1VkRvNzNoaGRNU0huVVg3dFRqc1ZaR3hBbC9XcHRpT0lFUTFnbkwyOW1YNi90UjF0bWxrWWo4VzRYK0NTaldjVURHWTFOcFMvQzdoU0txaU1MTS9sMlFtU1daNzNEZHorZ2lvOEJDRU5ZUFE0NnFua3p3WFVicXZCa3hqVVFzV2ZaRmdidW8zckFmK3dON2pPTzkwK3lueDRQaTNMKzBuWUwxU2NoRFVnQVA0Z1BWLzdJZDFxKzFIU2htdUdrSXFXUlBneXhNRnFQOEhmalRualh3WTViUWZiSmN0Nk9JektnTUhvdEYvSGUxZWdzYXhIU3FHNndmZG1RNXg4TnlURkZxQmNwMmlTb3dIUjN5azUrMzZoRjd2WEFBQUFBRWxGVGtTdVFtQ0MiLCJhdXRoZW50aWNhdG9yR2V0SW5mbyI6eyJ2ZXJzaW9ucyI6WyJVMkZfVjIiLCJGSURPXzJfMCJdLCJleHRlbnNpb25zIjpbImhtYWMtc2VjcmV0Il0sImFhZ3VpZCI6IjZkNDRiYTliZjZlYzJlNDliOTMwMGM4ZmU5MjBjYjczIiwib3B0aW9ucyI6eyJwbGF0IjpmYWxzZSwicmsiOnRydWUsImNsaWVudFBpbiI6dHJ1ZSwidXAiOnRydWV9LCJtYXhNc2dTaXplIjoxMjAwLCJwaW5VdkF1dGhQcm90b2NvbHMiOlsxXX19LCJzdGF0dXNSZXBvcnRzIjpbeyJzdGF0dXMiOiJGSURPX0NFUlRJRklFRF9MMSIsImVmZmVjdGl2ZURhdGUiOiIyMDIwLTA1LTEyIiwiY2VydGlmaWNhdGlvbkRlc2NyaXB0b3IiOiJTZWN1cml0eSBLZXkgYnkgWXViaWNvIHdpdGggTkZDIiwiY2VydGlmaWNhdGVOdW1iZXIiOiJGSURPMjAwMjAxODA5MTgwMDEiLCJjZXJ0aWZpY2F0aW9uUG9saWN5VmVyc2lvbiI6IjEuMS4wIiwiY2VydGlmaWNhdGlvblJlcXVpcmVtZW50c1ZlcnNpb24iOiIxLjIifV0sInRpbWVPZkxhc3RTdGF0dXNDaGFuZ2UiOiIyMDIwLTA1LTEyIn0seyJhdHRlc3RhdGlvbkNlcnRpZmljYXRlS2V5SWRlbnRpZmllcnMiOlsiNGUzMDM4ZjZhNGViZmQ2Y2VhMmNmZTE0ZTQ0OGM2ZjhmMzA4NTE2NyIsImIzOWU2YThmNWU0ZGE3MTE3MTIxYjJiMTQ4MWFiYjFkMTVmMTU3YmIiLCJiNzY2MzJlMmM3NWU5OTJjOTAyNzdmOTlhZmQyYzEzOTk2OGYzZDJlIl0sIm1ldGFkYXRhU3RhdGVtZW50Ijp7ImxlZ2FsSGVhZGVyIjoiaHR0cHM6Ly9maWRvYWxsaWFuY2Uub3JnL21ldGFkYXRhL21ldGFkYXRhLXN0YXRlbWVudC1sZWdhbC1oZWFkZXIvIiwiYXR0ZXN0YXRpb25DZXJ0aWZpY2F0ZUtleUlkZW50aWZpZXJzIjpbIjRlMzAzOGY2YTRlYmZkNmNlYTJjZmUxNGU0NDhjNmY4ZjMwODUxNjciLCJiMzllNmE4ZjVlNGRhNzExNzEyMWIyYjE0ODFhYmIxZDE1ZjE1N2JiIiwiYjc2NjMyZTJjNzVlOTkyYzkwMjc3Zjk5YWZkMmMxMzk5NjhmM2QyZSJdLCJkZXNjcmlwdGlvbiI6IkdlbWFsdG8gTXVsdGlBcHAgRklETyBBdXRoZW50aWNhdG9yIiwiYXV0aGVudGljYXRvclZlcnNpb24iOjEsInByb3RvY29sRmFtaWx5IjoidTJmIiwic2NoZW1hIjozLCJ1cHYiOlt7Im1ham9yIjoxLCJtaW5vciI6MX1dLCJhdXRoZW50aWNhdGlvbkFsZ29yaXRobXMiOlsic2VjcDI1NnIxX2VjZHNhX3NoYTI1Nl9yYXciXSwicHVibGljS2V5QWxnQW5kRW5jb2RpbmdzIjpbImVjY194OTYyX3JhdyJdLCJhdHRlc3RhdGlvblR5cGVzIjpbImJhc2ljX2Z1bGwiXSwidXNlclZlcmlmaWNhdGlvbkRldGFpbHMiOltbeyJ1c2VyVmVyaWZpY2F0aW9uTWV0aG9kIjoicHJlc2VuY2VfaW50ZXJuYWwifV1dLCJrZXlQcm90ZWN0aW9uIjpbImhhcmR3YXJlIiwic2VjdXJlX2VsZW1lbnQiLCJyZW1vdGVfaGFuZGxlIl0sIm1hdGNoZXJQcm90ZWN0aW9uIjpbIm9uX2NoaXAiXSwiY3J5cHRvU3RyZW5ndGgiOjEyOCwiYXR0YWNobWVudEhpbnQiOlsiZXh0ZXJuYWwiLCJ3aXJlbGVzcyIsIm5mYyJdLCJ0Y0Rpc3BsYXkiOltdLCJhdHRlc3RhdGlvblJvb3RDZXJ0aWZpY2F0ZXMiOlsiTUlJRUNUQ0NBdkdnQXdJQkFnSU1SM01FQytVdE1uSFNGU3l0TUEwR0NTcUdTSWIzRFFFQkN3VUFNR294Q3pBSkJnTlZCQVlUQWtaU01RNHdEQVlEVlFRSERBVlViM1Z5Y3pFUU1BNEdBMVVFQ2d3SFIyVnRZV3gwYnpFNU1EY0dBMVVFQXd3d1IyVnRZV3gwYnlCQ2RYTnBibVZ6Y3lCVGIyeDFkR2x2Ym5NZ1EyVnlkR2xtYVdOaGRHVWdRWFYwYUc5eWFYUjVNQjRYRFRFNU1EVXdNakUwTXpVMU0xb1hEVEk1TURVd01URTBNelkxTTFvd1RqRUxNQWtHQTFVRUJoTUNSbEl4RXpBUkJnTlZCQW9NQ2tkbGJXRnNkRzhnVTBFeEREQUtCZ05WQkFzTUEwUkpVekVjTUJvR0ExVUVBd3dUZDNkM0xuUm9ZV3hsYzJkeWIzVndMbU52YlRDQ0FTSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnRVBBRENDQVFvQ2dnRUJBSzFxM01JQjBla0dCYkt3WjBGV0tNRm9tMWVoc0F5RUwxVWZHWGUxOFpUeWh5VmcrVmNoeS9pSDlvM3NxMGZQQ2t1RHkyOWlBUGp5V1dPUVRmN3FkUzFFVHE4aVJwS05TeHhwbEprVkduU3pMeksreENEeDVNNGRhSEpMcDg4VzJKTzhITDBXY2k4SnJvTm0zVXo3WVIrejRVVTBhcHpPYmRkMmxSd0VFMG1wMVRERkowanhUK3hhaGx6WkFsZGY5Mi8vc1dkZG9ZUnJUb2RjL2pkZWZFWDlibWd3SE5UdDN6SEJKb1A4OHlvUTEyblVLSGVzM04yL3FReDNIakEyK3lTRmZtZFlBcWVyRGVqNTJvcnZBMVYvUXBkODdQVjlEQk5JMHQ5dEIwMXQrNlBidVBvamZlcVNsTkJtMWtUcUt5VTlPS21WdzhCd1FFWFFLbVQrdDBzQ0F3RUFBYU9CeWpDQnh6QVNCZ05WSFJNQkFmOEVDREFHQVFIL0FnRUFNQjBHQTFVZERnUVdCQlF2TXEzMFFqZUhMT3pXbURpNTNLRU9nODZHakRBZkJnTlZIU01FR0RBV2dCUjNWZlduTFdWRFVvaFNsWXJ6ZzIzeVlhQTJiakFPQmdOVkhROEJBZjhFQkFNQ0FRWXdZUVlEVlIwZkJGb3dXREJXb0ZTZ1VvWlFhSFIwY0RvdkwyTnliQzFpY0d0cExtZGxiV0ZzZEc4dVkyOXRMME5TVEM5SFpXMWhiSFJ2UW5WemFXNWxjM05UYjJ4MWRHbHZibk5EWlhKMGFXWnBZMkYwWlVGMWRHaHZjbWwwZVM1amNtd3dEUVlKS29aSWh2Y05BUUVMQlFBRGdnRUJBSGNrSWxRb3BOaUJDRDZtTVNpRWcwN3Rhb1paTlZQTEtBU3Y1NFpxWG9meGhJZG9xbHF0cy9XNU5ZSjZUKy9Gd2huN21TZWJDS253dVVoYXFCeVZrVnQ3a2hlQkl3L0Y2YVBhQWRVOFlJY3VMOGJrdkdQdnQ1b1FtVTk5YnVVVjFwVGJyRWVkVTFSWWxXTGU0RXRuNkxTaUV5S0twc0RvQlFCSFdzSkVqZ1ZxSEtGZVJrUS9XZ0ZtR2MxK3d4UnlLQUdGb3RocnRyYXcxcmVySzNwK0JOeTBHUnRmTU43dE9uVG4yZ2lPdnRPdGViTUJDWXp5ZVJsLzlYQUxmVUM4TXcrT294dmM1MU9FN2xoZTJ5anVPM3hGM1NqRTBheCtjV0FqR1FIaHVJdVZkZlg4Q1Z1L1I1U0c1MnpBOU9vNHl1ZytjaktpZUFBRXUyT1BIK2ltSXlNPSJdLCJpY29uIjoiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFQUUFBQUFlQ0FJQUFBQ1VrcVJOQUFBQUFYTlNSMElBcnM0YzZRQUFBQVJuUVUxQkFBQ3hqd3Y4WVFVQUFBQUpjRWhaY3dBQURzTUFBQTdEQWNkdnFHUUFBQUFZZEVWWWRGTnZablIzWVhKbEFIQmhhVzUwTG01bGRDQTBMakV1TnYxT0NlZ0FBQXlqU1VSQlZIaGU3VnozVzFSWEdwNTk5b2ZzRC92ei9nM0FWSW90bG1oMGRSV3hwcGwxbFNwcUlwMmhvMGF4Sllhc1E3UEZtR2lTVFRTSklFMEVSU1d1amhVcmJSaVVNb09Vd0NEaXdPaSs5OTREYytkT3ZUT1l3ZXk4ei92NGdQZWM3enZsdmQvNXpqMzNJbmpwZ1FkL1VIREZQVER3ckxsWnEyclNnRGV1TngzLzVuelV4d2REMXlwQzErNXptSXJ3RU1VWG54ZWVxNnB0YkdoblREMTUwa2NjV0VkLy95QktOdFMzbHhaZmw4Y2ZvZTBVNU9lV2tzdDhrSjU2UEN3NEwyU05ZdnZXLzlSY2ZLQlNhWnViTlhyOU1MbnNBdFFZSEJVWkh4T3F0RTFOSGFTUUMranJlMnBtWHd1bkl5TUdVbUpjMGRPalk3dzhmTkJhY3ZwYWV1b3hQbk90Q0YyemIyZldpZXJ6ZHhzYk9sUXF5czdUcDBQRU5CLzA5ZzR3ellEazhuSkxRNE5wNDF4M0hDcTJaSHhYY2VaMlEzMGJSa3l0N256eDRnVXhOd3FqdUNIcjQ5OVVyMTZWTFJWR2k3MmlSRjZiUkY1Ull1OFlpVSs4MUNlQkorTWwzckZpNzJqR0NQNmRQM2Z6OWs5KzFHcCtJODRzSVM3NnNNUW5qbllhelRqMWs2UnZYSjlQTHZQQjNObVp2dUlVV0lCQjlFWHNIU1VUeDM5NTZDeTU3Q3lLaTVRQlV2bG92MHdJRnhKaEhHSUJLZW9zdmoxV2piNHpnelpxT1hxeVgwSlhWejhwTVU2QUVnNGRPTE1rY0FmdEJlNllZWTlqVGFKRHBFYVlIaENNZ05ocjA1cC8vdnQwb2RKZzRPck1JcUNIWEVWSjl0N0NaVUU3YU1reHpZamx1TEJHdG10ZmNVek1waS9QVjkwaHBta1l4YTNSOUw0MUkwMG1ZaVlQRFNYT21DSG1UN3FoWS9TT2s0bVNiOTFzSnM0c1lVbGdsbFNZT09xWE1vSmY0MklPazh0OEFGUDBmV0pzaVV5VUpJODdRaTQ3aGVkRCtwWExka3FGQ1NiOUdpWCtFOE85ZUdHV1R2ZU1WSEFLaUM5d0lmYWk0Z3REaVU5TWdEVHVWWWg3NXJSa2FycFpYUmdkTWI0azFha2dJa3BlODJIMjhMRDlkUVpyKzd6Wm44aUVjaENoY013SXoyYU11WTcyRTZlbEpCNGwxbWtZeGQzWitSdXRDYmpoMUI4WHduM01uZG9XNHN3UzNsMnhodzVheGxyakpHNWlLaVBsR0xuc0ZQYm5sMHVGSnMweko3eDh1dWNuVXNFcC9KNlJPM0RCSjV4UmNwMHd1REd5d0s2NEMvSktNVmJqS3pZRWwyMmJ2eWNPYUJqRnJkWDJMcGk3QmJjeTJtZUQwQ2pIS0VndHltWWxUUm1QenR5K3BTYk9MR0VpaXh0My9ydzVtWFNBTWRyRVVIQkdBNzlPRFpDcjFWcFNqVC9jTG00SWpqVnJ2SWtWTWl4WVlWdmNkMnJWazJRSlNEOVlmdTNxeHo1OVJTbWNLVGFLdTd1N2YrUDZncVdCTzRNV2JiZkJ1Yk16V0cwaUxjUG9jNHFaTVF2cFhYMWRHM0ZtQ1JOVzNOQkJmazZKVkNobkc0U09wMDJTejVtVnpoWWlLQk1tWWp2cjlPYlZ2ZUxHZG12Ui9LMW1jOGVEU3dOM2JkMzgvY2lJclp5N3BQZzZVaEdXWHlRek1SdzdUbkJaNEI1TUUvRkJ3eWh1QjFGWmNadEp5c2NhaHh4eHd6cG50bjBjVEZoeGQzZnJwdmdqMGhpRE5FWmdra3lPTGNTRjZudllQWS85UDNXSkpHQzIxaWdiY0tPNDBldzNKeWM1OGx6TFJaU1gzYVMzTHNRdjFzUDViMjkrRlkrRGVJdjdYR1d0dWJpUlpwSExMbURDaW52UHpwUHN5YUN0eFVkRzVPSFMwSkQrL1hjK1E3Ykh2b3BlZkxSaFAxT1hMOXd1Yml6Z3BNUXJnMFZ4RzlDZzhZWW5jdHRCczBvN2UwWW1PMnlqNzM2U0JLV3lrU21BcWFKOW1jaHhpbC9LMVN2MVRBRmVjTHU0c2JzZ0pWNFpMSXA3ZUhpRVhCNC9lTVJ0QjFzeXZrTmRrZGZIWTZhUUx5YkdmMFV1djN5SjlQcjlsV2c1MTkzR3lId25Kc3k5NHA0K0pibS9mNUNVZUdVd0YvZUN1WnZKdFhIRkJCZTNQRmx1OHVUU1FTeGZzbk5jeEgzdjdpTmZNVGtwWUlpZlpjSzRLLyt0SXlWb0ZCVXEvY1JKN0RIQno4akZzWE1pSlJ5R2U4VTl4VC94bXJLQk9TeTB5eFoxcDRPSE5SeVlpVHZtN1ZucDlYVnRIUHVPVXFWOS90enk5bjFDaTF2c0hidDBjVmF1b29Rdlo3Nlp3bFlrNklTNHNjVkI5T1hrMC9nMUxFUkJTb3dDbWZlS3BiaWRUQm9QM2F4WXVvdnZjYlFieGMyTHVCTm16MGdiSEh4T3pQRkJXU25FamNXUWE5TXBVc2MzNjhNTGZqcHhtVmhuWVVLTEc4a0FCcEU1eE9KRnNUYzdpRkowUXR5WEx0eUhkNDdPcGdha0tLODJrQklzbEpYYzROd0dJSUwzMFNOVnBJUmpjTHU0cVZOMEJ5anhpWjMxWm9wejRqNVRiaEs1aVYvNnJORUpZcXhnRFl0OFFSNzNOYVFKTHU1eEkxOXg2L1VqLy9vZ214dTJoUWtmcmJmOFhBalR2SHBWdG9UejJNUTdGbXRJZnorUEEvbi9oOGpkM2QwZnRHaTczZU5lWGtSN3dKcWFCOFFIRFkrNExZTTZhQkNabnRvZ1RuakhYTDFpSVd3eitQbmtaWTR1UVF4T1hxN0p5WUp0dkViaWZtdDZxblBpQnI0NlVpV2pqdC9qYVMxeGpUdEhUSEZxOGpmRUFRMVBXbUlCQ052dnJOak5tWGhZQ0E5V0dKaXp0eGN2SHVqMFpZLzd6bllNUE93bkU0eHR6ZktnSFJKdmsxcllOc3labGRuVzFzMlVzUXUzaXh2ZUpjSUV1NVNKa3Z3a3NjNjk0TXJnK0xIcUpZRlo2Qm8xWlNMdUREcEMrZ0RmK0JRTEU1UWkvNXBZcHpHaHhZM0VEaHZLL054U3ZwdzV6YVVONWNrZmYrVXF6Q3ZhWDVwNDZTSzE2ajBiTm55ZzdQaFQyU05CcVZwUTF2TG5vb1pnWlh2cm9CNlhpazVkdFpCNUN4UDM3SEwwYlNxM2lqdktYeHIzUlhiaHdRTm43SEovUVJuVTZmckQ2V3ZLeHZ3Y1RGa1pad1lkNFh2VUUxampDeW9ZNTdUWEtISzc1VkVnb3RIS1piczVHU0cyaGhGaE9iamFvemVzdk5rcHFQbE5VTm9zS0ZGUmhNU3ZQSjFYVFoyM0R3M3BWNzMzR1FhRVhWZmlFek45U29wYTNVbWJ0d00zaWh1TDVQUXBTYytmVTNmcGE0R2RPMDZ3WC9oNTdjVHRoa09jd3djclVKaGRGNTJWQ21PWkU4Y1RiVHJCci8yQzRpYkI2VVlqUzlWdlZIYWNhcVAwOStNUE5WUXZUUE1pR0l5Tk9rU2J0d1AzaXZ2M09hRWNMMnpKWk03WFNQdnhzMGZjdHREVnBac3pNNDN6bmpIcWhnVXJSdWdsZU1GNXRlQnN1NG15d2FJR0tINWJReThLUEIwY0NscTRuZU1kSXliMWlibHkyZVRveHlJODRuWWNIbkViVGRrVnQ4SHdJbnR2SVNkcHBoL3J4bFpWVXQ4dlFSQmU1WTJDczIxY2NZT1hlbmMzVXVJR2ZqcHgyVi9DT2JDa1Jpa3NPR2R3ME00T3pKcTRkUU11ZmVCakRtdmk3bnIxTDA2TkY3WnU5b2g3MUpSZGNiZTBQUEdYeFdPT1RTcjZ4SzhMejRVVUdLVFdhZ1hWM1Z4bGd4ZDdkdGYzTUdWR1JnekxnN2dIbHFCTW1GaFZlWnNwWXcwV3hSMGdpMGRTMUZEZlhsL1h4b3YzN3ozdTYzdEtUSnZDRTdrdDRBOHNiZ3lOMUllYmJRZklrbW91R1k4R2FuWDZ2NTdUVUprSlVwRXhaWi9UL3EycytYR2ZNYmlPUHZObW02SU81TjlkdnN2OEkyMDJ6TVVOWXZXWU5raytZMm95Tm55OE9HTnFSbkdSa3BnMmhibTRRYWt3ZXVIOHJZc1hibk9hUVl1eTNsK3hwOXRtRW5YcDR2MGxnYnNYLzJPYmk1dzJHYnRKdGc3bFNRbkdGOW9BajdnSjd0MTlOSDFxT2pkc0N4UFdydjdDWVBvZS9jblcvamNxV3FsdDVUbXQ0THhXY0tIN0wrVXRlWTBtVDdJSGRNL29ObkQwSFNVVEpSU2R1a29LV1lKRmNZTm9tQk9VaVpKUC9GQkRUSnZDb3JoQkZ6OHp3NGpKaE5GYURjblFMS0trK0xxdk9JVlQwUW5TT2h4ck9mVU4rT2VmL2tKODBQQ0ltd0tpS1c1NitybVM4VkFBZmNSTWw1ZmRJSVZZS05ib1F1cDA4ODZyNTFXM1JOelFLTnN0ZkwzeS9iY1h6R1dLaFA3RDkvWU9XRStnclluYk9hTFhXRU9JYVZOWUU3ZUxoRGFtK2lkMmFtM2xOcHkzQWwwbm5FTFpxMWQ5enNuQmVJdjc3SmxiQ0FraUwwYmZGREdDa2VIVVp5a3VZc1hTWFhTZjJiZk5lSWtidDdVOExja2tJV09qN21HcnlEdWE3dGRZRmNwN1dMREN4bHVkdzBQNmtTR3JUNFdIaHZSTEFyZHpEaXhCdENRdngrcGZHanA2cEpLK3g1Zy9IZU8weE1rYlJaaHlHNUg3NzNNeU1lRDBhYTRydmhqU3J6SFJMMVQ1Q21NMEhiWWlkMm5KRFRSc3JKRm1wdXlTVklTbXFZVkNsRHpaTDJuVHhvTzl2UVBFd1NoNGk3dWkvQlk2UUs5NlVBTkZ6TmE2c0Z4eTJRWFFCMDdVZmc3aGphR2ZKSDFEcERPM3pkZ2Y1VUhuOFM4OUNvbVphZCtTeTZZd0dBeWJQanBBVHpQcno4RUk1ZGhLVmxYV2trSk80ZFRQVjN4RktVd2JhSnNKektJL2QzWkdlenZaZlhJQWp6T21wZEt4ZzBwRk1DREc2ZzVUUWo0c3A3NFlxanhyZFFzYnVuWWZmWUpObFVRVmpoRkhTVVo0N09GcDFKb1BzM1UydjNpNC9PdkRBQm4yTnBTc3laano2ZU5vRE1KMktENHA0V2hCWHNYMWEwM0V0Q2w0aTd1am8vZDAwYlhpMDBZV0ZTb3R2Z1hLRjIxdDNhb216VmVISzhPRGM4T0NjeEExMTRYdHp6ZDdqOUVSWktRZWp3ak5oNFh3a056SWlId2tlYzNOblYxUExPOXlrSk8wUHU1NitMQnRmMzQ1N1pkeWplcnA5amFnZHRIVE01QXMvem9pTkE4R21jYnMvZlNYMnplYm14bzExdjUyRHhhSzl2YnVacFcydnE0ZFFYZERaRDVxTWRVZEk5VjR4YjdpdTNjZndVaUx1bE92dDNwQzN0T2pReG53MWsxVlFWN3BXSFZlREEvSldSZVdkK2hBeGQwN0xiUTFqVzFsQThQREl5MHRuU2o4NEg0cktrYUU1TUFJeDZ4RmhnZFRKWTk4V1htSDl2WDRVUmV4YUFXOHhlMkJCNjhIWHI3OEh5aHIxQzFibUo3OEFBQUFBRWxGVGtTdVFtQ0MifSwic3RhdHVzUmVwb3J0cyI6W3sic3RhdHVzIjoiRklET19DRVJUSUZJRUQiLCJlZmZlY3RpdmVEYXRlIjoiMjAxOS0wNy0xNiIsImNlcnRpZmljYXRpb25EZXNjcmlwdG9yIjoiVW5pdmVyc2FsIFNlY29uZCBGYWN0b3IgKFUyRikiLCJjZXJ0aWZpY2F0ZU51bWJlciI6IlUyRjExMDAyMDE4MDUyMzAwMSIsImNlcnRpZmljYXRpb25Qb2xpY3lWZXJzaW9uIjoiMS4wLjEifV0sInRpbWVPZkxhc3RTdGF0dXNDaGFuZ2UiOiIyMDE5LTA3LTE2In0seyJhYWlkIjoiMDA2NiMwMDAxIiwibWV0YWRhdGFTdGF0ZW1lbnQiOnsibGVnYWxIZWFkZXIiOiJodHRwczovL2ZpZG9hbGxpYW5jZS5vcmcvbWV0YWRhdGEvbWV0YWRhdGEtc3RhdGVtZW50LWxlZ2FsLWhlYWRlci8iLCJhYWlkIjoiMDA2NiMwMDAxIiwiZGVzY3JpcHRpb24iOiJDQVBZIFVBRiIsImF1dGhlbnRpY2F0b3JWZXJzaW9uIjozLCJwcm90b2NvbEZhbWlseSI6InVhZiIsInNjaGVtYSI6MywidXB2IjpbeyJtYWpvciI6MSwibWlub3IiOjF9XSwiYXV0aGVudGljYXRpb25BbGdvcml0aG1zIjpbInNlY3AyNTZyMV9lY2RzYV9zaGEyNTZfZGVyIl0sInB1YmxpY0tleUFsZ0FuZEVuY29kaW5ncyI6WyJlY2NfeDk2Ml9yYXciXSwiYXR0ZXN0YXRpb25UeXBlcyI6WyJiYXNpY19zdXJyb2dhdGUiXSwidXNlclZlcmlmaWNhdGlvbkRldGFpbHMiOltbeyJ1c2VyVmVyaWZpY2F0aW9uTWV0aG9kIjoiZmluZ2VycHJpbnRfaW50ZXJuYWwifV1dLCJrZXlQcm90ZWN0aW9uIjpbImhhcmR3YXJlIiwidGVlIl0sIm1hdGNoZXJQcm90ZWN0aW9uIjpbInRlZSJdLCJhdHRhY2htZW50SGludCI6WyJpbnRlcm5hbCJdLCJ0Y0Rpc3BsYXkiOlsiYW55Il0sInRjRGlzcGxheUNvbnRlbnRUeXBlIjoidGV4dC9wbGFpbiIsInRjRGlzcGxheVBOR0NoYXJhY3RlcmlzdGljcyI6W3sid2lkdGgiOjMyLCJoZWlnaHQiOjMyLCJiaXREZXB0aCI6MSwiY29sb3JUeXBlIjozLCJjb21wcmVzc2lvbiI6MCwiZmlsdGVyIjowLCJpbnRlcmxhY2UiOjAsInBsdGUiOlt7InIiOjI1NSwiZyI6MjU1LCJiIjoyNTV9XX1dLCJhdHRlc3RhdGlvblJvb3RDZXJ0aWZpY2F0ZXMiOltdLCJpY29uIjoiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDQUFBQUFnQ0FJQUFBRDhHTzJqQUFBS24ybERRMUJwWTJNQUFFakhsWllIVUpQWkZzZnY5NlUzV2tMb0VIb1RwQk5BZWcxZE90Z0lTWUJRUWtnSUtqWlVGbGRnTGFpSWdMS2dpeFFGMXdMSVdoQUx0a1hBQXRZTnNpaW82MkxCaHNwK3dDUHV2cGszYi9aa3puZC9jK2JjYzgrOXVYZm1Ed0I1a0MwVVpzQUtBR1FLY2tRUi9sNk11UGdFQnU0eGdBQUIrUmtBRlRaSExQUU1EdzhHaU0yTi83UjNkNUJzeEc1YVROY0MvODRVdVR3eEJ3QW9IT0VrcnBpVGlmQnh4RHM1UWxFT0FDakVnZjd5SE9FMGx5Tk1FeUVOSW54b21sTm11WE9hazJiNTFreE9WSVEzd3FNQTRNbHN0aWdGQU5KYkpNN0k1YVFnZGNnMGhLMEVYTDRBWVIrRTNUaXBiQzdDQlFqUHk4ek1tdVlqQ0pzay9hMU95ajlxSnNscXN0a3BNcDdkeTR6aGZmaGlZUVo3NWI4OGp2OXZtUm1TdVRYMEVTZW5pZ0lpcHNmcGMwdlBDcEt4SUNrMGJJNzUzSm44R1U2VkJFVFBNVWZzblRESFhMWlBrR3h1Um1qd0hDZnovVml5T2ptc3FEa1daVVhJNnZQRXZwRnp6Qlo5VzB1U0h1MHBXNWZIa3RYTVM0MktuZU5jZmt6b0hJdlRJNE8rNVhqTDRpSkpoS3puWkpHZmJJK1o0ci90aTgrUzVlZWtSZ1hJOXNqKzFodFBIQ2ZyZ2N2ejhaWEZCZEd5SEdHT2w2eStNQ05jbHMvTDhKZkZ4Ym1Sc3JrNXlHWDdOamRjZGo1cDdNRHdPUWFSd0FiWUFXdGdCV0p6ZUN1bTd6VHd6aEt1RlBGVFVuTVluc2lyNFRGWUFvN2xQSWFObFRVVGdPazNPUHNYdnhtY2VWc1FIZjh0bG8yczdmUWJjaGNQZjRzbENnRm8zUVVBdmZwYnpGQVhBUGtTQU5xbEhJa29kemFHbnY1Z0FCSElBeHBRQTlySUhUSUJGa2gzRHNBRmVBQmZFQWpDUUJTSUIwc0JCNlNDVENBQ3k4RnFzQjRVZ21Ld0Rld0NGYUFhN0FmMTREQTRDdHJBS1hBT1hBTFhRQys0RGU0REtSZ0J6OEU0ZUFjbUlRakNRUlNJQ3FsQk9wQWhaQTdaUUV6SURmS0ZncUVJS0I1S2hGSWdBU1NCVmtNYm9XS29GS3FBYXFBRzZHZm9KSFFPdWdMMVFYZWhJV2dNZWcxOWdsRXdHYWJCV3JBUlBCOW13cDV3RUJ3Rkw0RlQ0R3c0RHk2QXQ4RGxjQzE4Q0c2Rno4SFg0TnV3Rkg0T1Q2QUFpb1NpbzNSUkZpZ215aHNWaGtwQUphTkVxTFdvSWxRWnFoYlZqT3BBZGFOdW9xU29GNmlQYUN5YWltYWdMZEF1NkFCME5KcUR6a2F2UlplZ0s5RDE2RmIwQmZSTjlCQjZIUDBWUThGb1lzd3h6aGdXSmc2VGdsbU9LY1NVWWVvd0p6QVhNYmN4STVoM1dDeVdqalhHT21JRHNQSFlOT3dxYkFsMkw3WUYyNG50d3c1akozQTRuQnJPSE9lS0M4T3hjVG00UXR3ZTNDSGNXVncvYmdUM0FVL0M2K0J0OEg3NEJMd0F2d0ZmaG0vRW44SDM0NS9pSndrS0JFT0NNeUdNd0NXc0pHd2xIQ0IwRUc0UVJnaVRSRVdpTWRHVkdFVk1JNjRubGhPYmlSZUpENGh2U0NTU0hzbUp0SkRFSitXVHlrbEhTSmRKUTZTUFpDV3lHZG1idkpnc0lXOGhIeVIza3UrUzMxQW9GQ09LQnlXQmtrUFpRbW1nbktjOG9ueVFvOHBaeXJIa3VITHI1Q3JsV3VYNjVWN0tFK1FONVQzbGw4cm55WmZKSDVPL0lmOUNnYUJncE9DdHdGWllxMUNwY0ZKaFFHRkNrYXBvclJpbW1LbFlvdGlvZUVWeFZBbW5aS1RrcThSVktsRGFyM1JlYVppS291cFR2YWtjNmticUFlcEY2Z2dOU3pPbXNXaHB0R0xhWVZvUGJWeFpTZGxPT1VaNWhYS2w4bWxsS1IxRk42S3o2Qm4wcmZTajlEdjBUeXBhS3A0cVBKWE5LczBxL1NydlZUVlVQVlI1cWtXcUxhcTNWVCtwTWRSODFkTFZ0cXUxcVQxVVI2dWJxUzlVWDY2K1QvMmkrZ3NObW9hTEJrZWpTT09veGoxTldOTk1NMEp6bGVaK3pldWFFMXJhV3Y1YVFxMDlXdWUxWG1qVHRUMjAwN1IzYXAvUkh0T2g2cmpwOEhWMjZwelZlY1pRWm5neU1oamxqQXVNY1YxTjNRQmRpVzZOYm8vdXBKNnhYclRlQnIwV3ZZZjZSSDJtZnJMK1R2MHUvWEVESFlNUWc5VUdUUWIzREFtR1RNTlV3OTJHM1lidmpZeU5ZbzAyR2JVWmpScXJHck9NODR5YmpCK1lVRXpjVGJKTmFrMXVtV0pObWFicHBudE5lODFnTTN1elZMTktzeHZtc0xtRE9kOThyM25mUE13OHAzbUNlYlh6Qml6SUZwNFd1UlpORmtPV2RNdGd5dzJXYlpZdjV4dk1UNWkvZlg3My9LOVc5bFlaVmdlczdsc3JXUWRhYjdEdXNINXRZMmJEc2FtMHVXVkxzZld6WFdmYmJ2dkt6dHlPWjdmUGJ0Q2VhaDlpdjhtK3kvNkxnNk9EeUtIWlljelJ3REhSc2NweGdFbGpoak5MbUplZE1FNWVUdXVjVGpsOWRIWnd6bkUrNnZ5bmk0Vkx1a3VqeStnQzR3VzhCUWNXREx2cXViSmRhMXlsYmd5M1JMY2YzYVR1dXU1czkxcjN4eDc2SGx5UE9vK25ucWFlYVo2SFBGOTZXWG1KdkU1NHZmZDI5bDdqM2VtRDh2SDNLZkxwOFZYeWpmYXQ4SDNrcCtlWDR0ZmtOKzV2NzcvS3Z6TUFFeEFVc0QxZ2dLWEY0ckFhV09PQmpvRnJBaThFa1lNaWd5cUNIZ2ViQll1Q08wTGdrTUNRSFNFUFFnMURCYUZ0WVNDTUZiWWo3R0c0Y1hoMitDOExzUXZERjFZdWZCSmhIYkU2b2p1U0dya3Nzakh5WFpSWDFOYW8rOUVtMFpMb3JoajVtTVV4RFRIdlkzMWlTMk9sY2ZQajFzUmRpMWVQNThlM0orQVNZaExxRWlZVytTN2F0V2hrc2YzaXdzVjNsaGd2V2JIa3lsTDFwUmxMVHkrVFg4WmVkaXdSa3hpYjJKajRtUjNHcm1WUEpMR1NxcExHT2Q2YzNaem5YQS91VHU0WXo1Vlh5bnVhN0pwY21qeWE0cHF5STJVczFUMjFMUFVGMzV0ZndYK1ZGcEJXbmZZK1BTejlZUHBVUm14R1N5WStNekh6cEVCSmtDNjRrS1dkdFNLclQyZ3VMQlJLczUyemQyV1BpNEpFZFdKSXZFVGNua05EeE01MWlZbmtPOGxRcmx0dVplNkg1VEhMajYxUVhDRlljWDJsMmNyTks1L20rZVg5dEFxOWlyT3FhN1h1NnZXcmg5WjRycWxaQzYxTld0dTFUbjlkd2JxUmZQLzgrdlhFOWVucmY5MWd0YUYwdzl1TnNSczdDclFLOGd1R3YvUC9ycWxRcmxCVU9MREpaVlAxOStqditkLzNiTGJkdkdmejF5SnUwZFZpcStLeTRzOGxuSktyUDFqL1VQN0QxSmJrTFQxYkhiYnUyNGJkSnRoMlo3djc5dnBTeGRLODB1RWRJVHRhZHpKMkZ1MTh1MnZacml0bGRtWFZ1NG03SmJ1bDVjSGw3WHNNOW16Yjg3a2l0ZUoycFZkbFM1Vm0xZWFxOTN1NWUvdjNlZXhycnRhcUxxNys5Q1AveDhFYS81cldXcVBhc3YzWS9ibjdueHlJT2REOUUvT25oanIxdXVLNkx3Y0ZCNlgxRWZVWEdod2JHaG8xRzdjMndVMlNwckZEaXcvMUh2WTUzTjVzMFZ6VFFtOHBQZ0tPU0k0OCt6bng1enRIZzQ1MkhXTWVhejV1ZUx6cUJQVkVVU3ZVdXJKMXZDMjFUZG9lMzk1M012QmtWNGRMeDRsZkxIODVlRXIzVk9WcDVkTmJ6eERQRkp5Wk9wdDNkcUpUMlBuaVhNcTU0YTVsWGZmUHg1Mi9kV0hoaFo2TFFSY3ZYL0s3ZEw3YnMvdnNaZGZMcDY0NFh6bDVsWG0xN1pyRHRkYnI5dGRQL0dyLzY0a2VoNTdXRzQ0MzJudWRlanY2RnZTZDZYZnZQM2ZUNSthbFc2eGIxMjZIM3U2N0UzMW5jR0R4Z0hTUU96aDZOK1B1cTN1NTl5YnY1ei9BUENoNnFQQ3c3SkhtbzlyZlRIOXJrVHBJVHcvNURGMS9IUG40L2pCbitQbnY0dDgvanhROG9Ud3BlNnJ6dEdIVVp2VFVtTjlZNzdORnowYWVDNTlQdmlqOFEvR1BxcGNtTDQvLzZmSG45Zkc0OFpGWG9sZFRyMHZlcUwwNStOYnViZGRFK01TamQ1bnZKdDhYZlZEN1VQK1IrYkg3VSt5bnA1UExQK00rbDM4eC9kTHhOZWpyZzZuTXFTa2hXOFNla1FJb3hPSGtaQUJlSHdTQUVnOEF0UmNBNHFKWmpUeGowS3l1bnlId3YzaFdSOCtZQXdEN0VTMGVsUTlBTURKV0ltNkVzTHdIQU9HSVIza0EyTlpXNXY4eGNiS3R6V3d0VWhzaVRjcW1wdDRnMmhCbkNzQ1hnYW1weWJhcHFTOTFTTFAzQU9oOE42dk5wMDM1UEFDcU0xMmNQYUNSLzk4YStTK1l6d2QxakdpRGRRQUFBQ0JqU0ZKTkFBQjZKZ0FBZ0lRQUFQb0FBQUNBNkFBQWRUQUFBT3BnQUFBNm1BQUFGM0NjdWxFOEFBQUFCbUpMUjBRQS93RC9BUCtndmFlVEFBQUFDWEJJV1hNQUFBc1NBQUFMRWdIUzNYNzhBQUFBQjNSSlRVVUg0Z2NOQkMwTStZZXEvQUFBQUhkMFJWaDBVbUYzSUhCeWIyWnBiR1VnZEhsd1pTQTRZbWx0QUFvNFltbHRDaUFnSUNBZ0lEUXdDak00TkRJME9UUmtNRFF3TkRBd01EQXdNREF3TURBd01ETTROREkwT1RSa01EUXlOVEF3TURBd01EQXdNREF4TUdRME1XUTRZMlE1T0dZd01HSXlNRFJsT1Rnd01EazVPQXBsWTJZNE5ESTNaUXFtVThPT0FBQU1SbnBVV0hSU1lYY2djSEp2Wm1sc1pTQjBlWEJsSUdsall3QUFXTU90bVd1VzVLZ1JoZjlyRlY0Q0JCQVF5K0VWNTNqL0cvQ0hsTlZWM1psamUzeXNHbG9wQ1VFUWozc3ZtdXVmYzE3LzRFalMyaFhPTVZmVFdFTU5Pb1BFKzVZdTNUVlhLWkpyRmdtbEZTdGRRcWliZjhMcFpFK1R6R1c5TkdxcXFZWWNTeWdoei9BNi9yeitkNGN6Ni9VYS9UNVdrdlhMc3I5NVhIK3ZlNHlhdGRTazZia3NyL3NxbCtaelc5ZnpZT1RuUEFNTERsWHFjNTFlNXlDcFZqd1h2dTViZTAyUUw5eDV1L0Y1ME9mWEE2MC83Myt0bFB1LzlWLzU1MENaeUR5bXB2M00wTUlrQ0xHSzF2dDYrSmRGb1NyMjE1ZEZNNzd1cDNEcFp0V20rM21Rdng1c3VwTVMrbnFoZlEwMENkQlMvN28vWHBaS3UvU3ZMS3AvYmFsK3NQUzZIOVQzQjc5RjUvdG9HZnRQM2lsRFZ2dWZ3LzkveTZQL1lpQmNPR3Y1Y3lueWRUMjFWY210eU5mMS9TOTVwME05anlMWDI0T3RrbmYydC92Mml0U2Y5eHRSYWFXOEQwUUo1L1JLdUovM3M4YWM4L2d3OFdUaStUNlFxdkdXdlZ0VWM3YVMvN3hQMGpwcDR1OERFZlJjU25xN1Q1NS9XaHArSGFYaytENVEwNUx0Rnc1OXY5QzFrYUwxN1Q0cktKcjMyMEFrNFNqcDNSZG5vSnp5Zmw5YUxVVStPVnNKczM0STg2by9VK1BuQ293VmZMQW9ueVhrOWg1Tm92YkpkL2kwdEU5UjR4RmhMdTh2NkM0ZkJqb2dsK1ZEUXA1eS9BSDZQd2VhaE9odHlSU3c0dFB5WVdrUDFIMmFHVjU1eXlQdExMbVg4RFpRQ01mOHhFQ0ozeWtlOU9NZW1JZzNXdjFWSmptcE03aVJrQVlNdFF2Mmc4TWVDanJCeXFDbEp0a3loZUVTUTZYYjhiOEk4c2ZoYVoxbk41M2R2QlkxdEU4ZGEzeWNubXc5Ulp6Nit0UlBNZU5lMmlBNTc1V3ArYWVPQk9VaFVXKzNDMGJiaDY0S3lhaGZmUjRmZlFQRUdmQlV2aCtLb1ZHOGNUKzRKQ3hEMXN0L0RKREc4K0t4T25jR090aHpvbEY0cWZEU0FUZHRCK3BZM0ZFTjFGZkZrb1pWalFIYWVPa0hCakFtTmQ3dmlZRTZMM1ZlR3J3MGVHbk1RMWdIRkIrK09TUzhlR254KzVUYTV2Y2V0OUhJQjlyQTNWUi94Rk9SM2pFbW10RThSQ2swT3JDTUU3V1lkamlPanlScUpMUVI2NGtRalhmaHhGaEp5SWpac1RFSUprZWpFK2JHemh5ZHpvUHo0SXlGY1hKZW5CZm56WGx6ZHZwN2g3MVltb1FqcmpKdEJSR2xPYjV0NktkSUc0U01aNFZuekM2VmU1VVhZVjRoZElLSUVFSXNuYUtWd2N2TUtQaEQ4SVdjSU9FRDhYSW5kUXFEckZTQ0ZXa3JKQ1lCMVdrZURyWW41Vm1sYUZQZElUVnVHRGNZUFhXdUI5ZXpvalo0WVIvS25pRzVFVzJsREZLZ0dtaUxPaG5oUUU0K3dBYlNoSXpKbVFFekNaZnhVU2FTR1V2enpDRXpXTVluSjB1eWJ6SnRoWUtBS2dTanBFN21XQ2dGTVZwWU96VkpNU21wUk91MFFhR0RKb1dsRnNKZENQUDl4eEpWNnEzQ0ZFdVU2S24yb0hWYzVCN3l6RmJRN3JkMFZDS2pPd1ZZSnB4YXJxUkVaZmFhRmtqaUNDUVNCaFNvVEZ5Tlo0aXpPcUNqdWxCUHpGcTlJVnNHQ2V5aGtUOHRuMUx1SlBNT3JYR050YTF6UGJqbW5iWnJhQ1Nqa2JzbStNaFlwekhUb1dSRHFGampkK2MzRHJmSmJ5WXhYdWd4aHM2eU9wWjFVcUt6cEU3WmRGS2dkOEMvNDR1K1p1aCtBczBmNm53a0M2UEVBd3VVT2xWRDV6Rk85WERHOFlNSXprZ0dTa2ZscFRBTGVZUUdRZHJ0TUhzTjg1UVptVHNaZEowL0V2VG96Y1VTRjM1WjlGdGsvSm84WC96R0hadDAySUpGbS9DaEk4T3VIcllONmxIRHhnZDdiK3JTZ2xOM1RwWTd5T0JrdGVNckh5azR5L1o5cWhzdmlWNGtDTUNzT0tCaXMxRmNnd2VybmpjamhYei9GN01Eb3l2R05tUHNlR3Rhakx1eHVCb3BxeWl3U0JUTmtkcUowbE9VU2R2QTlJRnFvVEVKT2hJQW9IVnllaGFBb0ZDWlVBZUZoejVCZWZlWTI3amdrZ1U2YkNZRkhhSkVTQ3FXb2hIT0FDMUdMR05GVm5XcTdjaFpGTE5GMVJtMWVkUWhHTW85NzFlc1lFUE5NY0p6c1RhTHRlOUlic1hxTlRad2hFS1BLSlRZV28rdGUyeUwzOTRmeE1rbG1vNW9GcTlvZzl4ZEsxSmhzVXVQSGRmMFdvR2pIVW1OMkhIb2lEbU9OT0pnbVlNQkI1YU0xZU1CSUZJZ1RpZzd6anJpeEQ5enpqaHg4QUsxRmxXODZzRXdpNFE2TGdiYkNQS05kUnVmYk10eGsxQjdXM1NpNFdsZjBaVUxIdmp3Nkx2TGphWDRuc0lUMHB5c0F6VEFPa0lGL2pYV0REbDFuRG0zOEpLSVZEbjZTS1R4dTd2SVdwQk9GNEJMQUN0SmxpVk5rZVFITEYxeVh1eEtwK1ErSks5T2RsRmg5QzFLczNwSm1hZ0doOElaR1hxWEk2aDEwSFlqd0xSc1VpdFZ4Z0IxVGRodFNVc3VqUlJxSFR0V0ZzRGtFbU5VUEM5bVMwQVRxZ2NEVXhHa25uUWJ3TEVESWlJakthaHNNdWhIUnNpQnRwbU0vUkk2b2NzbGMxVkFjOHJDTDZ1cUxHWmVtN3drYTlEUGdtRkFlQlZLUmxnZ1VON0ZMWXF6RW5lQUt5RmZkRjY0aGZKZGcwSWdsVFBodzBWeGNIWkp4emJSbE1RR3VKOFRIVk1DbTFQMWxFWkxpWkJsYkVYeVhDbmJUbm0xUlBLbkFrQ1hoaWlja29xdmRMWUJpTk9rZlNmZEJsbGtCQnA4WVROVjFHbUxPVFhJcGpVc2FyT0JQdVVPa2pHVERWYnV3QjNEOUpvVEs0VllQTEhnTkpTMDdEMk4zUWhvVFNpcU5GblIzT2xLaXdoVExvbEVUVUJNMm5JMm9qUVlDU1FoUGpFNXo1M004QzB3STFKTzg0SElnejE0bGlUVWZsRVhrelRkMkFOVllidU1na2N4aFhMSGZxYUR1cUREakx6TXJXY0tuQW9ET05nNEZEQzVyTTNXVzY2ajBFRUNWS1ZEYlhpcFZwUW5MemNZcStXUnFlUGNnRWVLQlZtSVN6c0NuYjQ5MWR5WkNEc2c5bm5sZThQQXlBT3pLY0JNVlBNY1BaTlNtVzU1R2JGWWJLVVFBVnQzSmhVZXJrVHY0OHJzNi9COHZlQ2hXRUIyb0I2c2dBdUJnMEpsRnBLZ1NLV3VBWFZnclJCR2lMVVhIRmFPUk0vTkNUSTdJMkhiaDZ3cGhMcUF3a1doVnUzc2RCeHhpUFN2bEJJc1hob3AyQ29pZEk1aWdJd2hPRzBjeHF1bDgxYnZOR2VnZ2R1RzBkZ2h6RVFEeGViU3N0ajJyTnJLbWxaQXBzSk9zZXl4Q3BBUGc4Y0NBU0Mxc0tHUVdiMWZHTU1PUHZPb2c2TVlKcmhVYkNveUNkZVNURlkxUVMzNUJQMXNMcmVSUGN4azFQZytYemdXV3phNWxDcFhlRjJya2NSMG9ySVZldGEySnh1b3BHWWQxVXltNU1iS0hZbFFkVER4Nkp6ZHNiUHE3SDZoWFJ2NGpYWVlhSDQ0WmJNQjM1TnN3T09PVW5BZ0hUVUcwU05iTnFFaDM2T1Zpa1FndmxSenh3N0VLS2xEMFF4MkdURS9YNFltWVFKdFVPNFY1NXgxVlFYWTFWdGxBMHVhSmZnRm50QmRHMzFOZXJWbVY3VU5iR1d0UkxhaXZ5b0FYd2VGQkxEVzJXaUhWTml0VUVMMTZOY05BbTZlQXc0SW1GeDlGMVJadlpBUzdXaUtCa20xT0JjZ0VrQTZBTmd6a0ZBYlZRcDlya2FxdDd3cDlrd28rMEFkSGVjS2ZtSFRsTWJWcW5sanlNYmVGRFRZelFCdE00ejEzYWpMMW1kdlVIM0RoVzM0YkZNQkRPNHRrR3Z4eW5KdlcvVWlPTHQ1Z2pjTjRZeDJRNjRoTjZBVzFHZnN6YUFQUUxzYlZINkt4Y0FTRUFkSjFTZzY2cVFVdHpMdHV1dVErQm9TeXZDbTRRaGpzMnR0WUJoSmhib3o4MGtTTkdPWFpRT3NIOTBORnJSSmwrblZsdVlMa2hXRCtHejNUYm9zRmpyTUhZMm55TnNGcmJMbGgyTGhDNXBwQjZBcGZCcE1tU2txcXB3Q2JGY3ZuY25RS25pZ2t6U2syZTVZMVJ0RTBtYnVBQ3c5RERFemU0ZjBZWlErS0xPeERVYWZmYUlFVjg1WFg1RDVoanMydEg4U0dJdk9ad2hrYkVGMTlZRU1HWEhCVnhuR255Qjl3dmQ5czBMSzFLamttRVpwL1VLZllYaTFBYkNSZFcxZ0RiVk5mUysyTTlDcThUSW9QZm9vakxUNWNkSXNqbW5qQ0o2eGtMWXM0QUxId1RTSCthRlM5NEpvWnBlelVSUmFVUTVnZkhGSUQwWUFTTkppTDREc0IyNW55WU9Wa1EyWlhmVk0xNlEyRUNRa1NGcXpqVG5oRHlZekJFcWJPR09DRm5NTW5ZdzBXY2lFc0NaNEJuSG9CQlRRclhYNmFOYzZlK2d3a0cxcHNoaGthUExGYm1rQjl3dSt3WStHSFFCUjNxc3N2RlhLMGdXS014NXVXRTFoeGMxQXBnaGk0azY0VnZlQjcxRy83RUptNjhndlZMQXBERDRYaW1jNTZzQTdPeHZvTWd4dVo3WTdFMzFUMGtYQUJsYW1EWGh0YUdSbm41UWhPQi9XUHQ5ZXdZdE5Ba0NKeUlBeDBWaWsvaUtlWUdyZmdDYmdNbnhjRzJqZENOKzliQ0lUMmlhdzI2RStud2pwd241aUY0L29oZWlPbHNFbDBSeEk4Z3lCUUR0ZWtPRncyK1dxeS9VRURhWFo2TlRJT3FRT05WQWRaUEdPa2grMU91R2tVQm9PTkYvVXlNN0Q5NXBnSkdYcmZySHhPcCtiNDQ4UEQxL2ZpRVE1N2c4UVlOZDlaNVg3YXlEYy92UmdlVitmcGYvOHhCckRqLzhIOE9OZStFLzNyejhmL1BaOSs5dkkyN0wrK3RKZVhsL084bnl1RVREUFFLS3ZUMnF2cjlEbDliR2tQTi9KMGFjcGZUai9kZ0QrTERJbCtjMnlNUjZmUUt2SGtaNWUzeCtyM0Q2Qzd1dDluMzczZVhWOWxvWTRPcWNaVGd4L2ZJci9HaGtLdnMvdDIwL0QyZVNNOW0xUitJdmoraGNUOVRvUkFyUDNsUUFBQUNWMFJWaDBVbUYzSUhCeWIyWnBiR1VnZEhsd1pTQnBjSFJqQUFwcGNIUmpDaUFnSUNBZ0lDQXdDc0RXL0dZQUFBZWNTVVJCVkVqSHJWWmJiSnhYRVo0NS8va3ZlOG11ZCsxZHIyTTdkdXpHdVRTaGlkS0VwaUZwQkNVUkVvUUthRlVFUlJWQ29rK2dWanhDSDNqaUFmSENFdzhvU0NCQkt3alFvcGFXRkFwTlErdmdKczNGY1p5TEw3RzlhKy9OdjNmLyszL084SERXYm1nclZDN242VDl6NWo5elp1YWIrUWFKU0JJd2hGakt1YnFmTXJSUzFnUUFJa0NFLzMxeFNjUVFieXc3UDNsOXNlWkVHdUo5ZytsdlB0UnY2dHIveFFabmlFMG4rc0ZMYzdZbmlFaGorS2ZKWml6cG1lTkRHMHFTQU9GZmpCRUFBaEFCM0NWWHd2ZnBNQUI0NFdLMTFvN3lLZjc1ZlQySFJqUFpoUGIyN2JYckZRY1JoQ1FBWUFpSVFBUzAvak91eDFESk40UjNMN1ZsZmlRdXpMYzF4Q2NPbGI3MjRPYW5qdzg5TUpwcCtlS2R1UllBYUF5SmFMYm1sVmNEUkVBQUFoQlNockZFQk51THluYWdQQkNTSWlIbHVqVWlpb1NNcGVUekRiOXNCMXNMMXBHeHJsZ1NaM2hzZS82bFMvVmJWUmNBYXUzd1I2L016OVY5eG5EL1VQcXBZd09XcnYzc3phVnJaZWZ4ZzZWVFo4dE5KenE1citmeGczMVRGZWVIZjV3OU1wYjcraWY2QWVEbEs3WG54NWVmT2piQUszYm9CbUtra0FCQUJnUUEyMHZKSDM5bHU2RXhBSGh1ZlBueWdyTXBvY1dDWHIzYTNKSzN2ckMvdCttS2hVYjQwemVXNWh0Qk5zR2ZQNyt5ZHpBemxMZGF2cnk2NkNqVVRKWGRwaXQ2TXlhejNWZ1E5S1IxbFJZQTBEVTJXa2dPNWkwdkZPTXphN2tVLzk3bmhyOXh0Qytoc3hzckhnQlluUG1SNUl3OWMzeHdyRGNSQy9qelZDTnQ4ZUdlUkxVVnJYa3hBQ3cyZzRHYzJaOHpXUkJMSUxCMGRuZCtWRzVqU2R0Nms0OGRLTzdzU3g4Wnl4a2NnNWdVYklLWUhqMVEvTlRPN2ljZUxCa2NaMnMrQUl3V0VnMG5hamhSTEdUWkRnZnpsc0VaUjhTTnQyOHNqU0VBYkxMNGR6KzdkWGt0T0ROWkg1OVpDeUxTVkQ0SmtnYmIxcHNFZ0lGY29qZGpOSjBZQU1aS2lkTVRzbUtIYVl1dnV2RTl4UVFBOEtUQkFNRUp4UHR3UmtTSStQTGw2cW16WmRzVDJRUTNkSlRVT1RJNEtxZE56bEttNWdTaGtEUlNTT3FjTFRhRHBNR0VwTkZpQWdCWVBxWHJEQ3QycUFvS0FCWWEvcmQvZWYwWGI1WGRVUHpxN1JXRHN5Y1BsNTQ5T1d4eTloNEsxNzJXUkVJUzExQVE5V1dON2hTZmIvZzNWN3lVcVEzbUxRQmcvVGt6bStUWHlrN0xqN21HQUhCcG9YVmhycTB6dHJJV3JMVENUKy9LZi9uamZTT0ZaQlFUQWdJQVEvUkMyUXBpQUhCRDJYRGlUUmJYRUMxZEcrcTI1dXIrbGNYMlFNN3NTUnNBd0FaeTFsQzNWVzFGcDg0dUJiR1lxYm92WDY1M3AvbmVMV2sva3BJZ2srQUFNRlYyMm9IUUdLakNqZ1M5UHRVRWdMZHVyZFphWVYvV1VHbmJWa3BXN1BCNnhWVUprRVFjQUI3YTNuVnBvVDArMDVwY21vNEUyWjRZN3JGMjlLV25sOTJVcVoyN2FaczYvdUhkT3RkUTNTSWtKQTMyeXBYRzlMSmJYWXNZdzkwREtSVzYwVUlDQUNMUlNRQVJjQUI0ZUZmM3hOemF1WnRyUWN3a2tjN3d5Y045QUxDMXh4b3RXSk5sWjJLdWRlTGVuQkEwWFhFVVRCTTYyOTJmK3V1MHpSbU9GcTFQN3NnckEwUGRDVXRuWVN5MzlpU1VKbGM5NnpzbmhsOHNWYTh1T2dtRGZXWlA5ODYrdEpDa2ErenA0MXQrL1krVllzWjQ5UDdpNUpKVGJZVkV4QkNDbUw1NnFHKzBtS3kxb3kvdUwxaTZwa2lsTjJ2a1Vuek5Fd041Q3dBUWtLdDJxREY4WkYveGtYM3Y5V2VOSVJGczdySys5ZkFXSmR3enNHbmpWQklabkgzcC90NTFUSGNnYm1qTURXVi96c3hZbkpRSHloRUNJRW1JcUlET0VEdHlBdFdrRVpHSWhBUmRRMFJnaUFxeXNTUnRYWGxwMWYvZGhXcTFGUjdiM2dVQVVwTEdrRzMwYnNiVW44RHVZaFoxRjBORUFJYW9VQlRHNUlXaVUvT0lpS0NNdlh1bi9kdDNhaHJpeHdiU0cwVEUvME1HUkFBWXpCdDdCbEs2eHU1K0J3RGtVL3BJd1h4Z0pLdUMyUWtERWFrNHNIL0x2L1FCd29JUERBWkVKSWc0WStvSUVCQUFwYVQvZ3RrVlp1QWpEQjhNRVdxdDhHL1REUlZIb2c3SDBucUxWZHRxSyt3b0FCQUJRNmkzdzFvNzdBQmhuYTZEU0s2NkVSRTFuTEFkeEtCSS8veXNYYkdETTVOMUZVMzFJbHlQaWRwNllUd3hhN3VoMkJndnhtZHNWL1ZnQkVYWEFIQ3Q3UHhtWWptVzlNWjA4OXBTR3dDNEc0cTJMeDQ3MExmcWhoZm0xNmJLenNtOWhkTVR5NFdNc2EyWVRCcThiUHMzVjd3ZHBlVEZPNjNadW5kaWQrSDJpcnQzUzJheEdmVG56TmZPMWcrT1pDdDJhT25zOEQwNUx4SXBVN085Mk9STUpaVWxEVzFMdC9YOUYyNHRyWWJsMWFBM2F6eDN2ckovT051Yk1lY2JnUmZKbVpyZjMyVzJBN0d0bU9wSm0xY1dXbDRrQVdEWDV0U2RSbkIwTEYreHcrVzFjSGQvR2dEYWdVaWJ2R0tIdXNaVTBGakxqOGRLcVdkUGp2NzkxbXJkaVN6T1VvYTJ1Y3U4ZDNQSzBwbWxNNU96b1o2RXFUT040V2d4ZVhQRkxXVU1BT0FhSTRMUllwSXpMS1NOYkVMM0lqRmI5ZVliZnEwZGFocXE1SEdEczkrZnIyd3RKRXBaMDlKUkV2WG56TDlNTlV5T3NZVGJWVGR0YW40a2lLRGhoQU41MHd0bEpxRURnSkMweWRKZXZMaGk2a3hqREFCbWE5NkJrY3g5ZzVtZm4xc3NaVTJMc3c1NDc5UzkweE1WUHhLTFRlKzFhelVpZXZOR3M5b0tabXZ1K1puVmVqdG8rWkh0UlFzTmI5bjJYNzFTaldKSlJQVjJFRVRpekdTdDJncWFUa2hFVFNkc2VSRVJ6ZGZkWmR0WHdnK3Bndyt0S2JWdVY5MkZwbjkwTEsrR240OVUrcXFTSlpGcW42cWtKWFhZa1lBUU9pTWpJb1N4MUZYM1dTOHhLUWx4UTZXRGIxci9Rb0IvQXFaSUdYTDN6VGhFQUFBQWJHVllTV1pOVFFBcUFBQUFDQUFFQVJvQUJRQUFBQUVBQUFBK0FSc0FCUUFBQUFFQUFBQkdBU2dBQXdBQUFBRUFBZ0FBaDJrQUJBQUFBQUVBQUFCT0FBQUFBQUFBQUVnQUFBQUJBQUFBU0FBQUFBRUFBcUFDQUFRQUFBQUJBQUFFVGFBREFBUUFBQUFCQUFBQ293QUFBQUFPeVA1ZkFBQUFKWFJGV0hSa1lYUmxPbU55WldGMFpRQXlNREU0TFRBM0xURXpWREEwT2pRMU9qRXlLekF3T2pBdzZoWk8wZ0FBQUNWMFJWaDBaR0YwWlRwdGIyUnBabmtBTWpBeE9DMHdOeTB4TTFRd05EbzBOVG94TWlzd01Eb3dNSnRMOW00QUFBQVlkRVZZZEdWNGFXWTZSWGhwWmtsdFlXZGxUR1Z1WjNSb0FEWTNOU0FKQU13QUFBQVlkRVZZZEdWNGFXWTZSWGhwWmtsdFlXZGxWMmxrZEdnQU1URXdNUVluTnE4QUFBQVNkRVZZZEdWNGFXWTZSWGhwWms5bVpuTmxkQUEzT01uVWV5Y0FBQUFvZEVWWWRHbGpZenBqYjNCNWNtbG5hSFFBUTI5d2VYSnBaMmgwSUVGd2NHeGxJRWx1WXk0c0lESXdNVGd2VEFWQkFBQUFGM1JGV0hScFkyTTZaR1Z6WTNKcGNIUnBiMjRBUkdsemNHeGhlUmNibGJnQUFBQUFTVVZPUks1Q1lJST0ifSwic3RhdHVzUmVwb3J0cyI6W3sic3RhdHVzIjoiTk9UX0ZJRE9fQ0VSVElGSUVEIiwiZWZmZWN0aXZlRGF0ZSI6IjIwMTgtMDctMjAifV0sInRpbWVPZkxhc3RTdGF0dXNDaGFuZ2UiOiIyMDE4LTA3LTIwIn0seyJhYWd1aWQiOiI5Zjc3ZTI3OS1hNmUyLTRkNTgtYjcwMC0zMWU1OTQzYzZhOTgiLCJtZXRhZGF0YVN0YXRlbWVudCI6eyJsZWdhbEhlYWRlciI6Imh0dHBzOi8vZmlkb2FsbGlhbmNlLm9yZy9tZXRhZGF0YS9tZXRhZGF0YS1zdGF0ZW1lbnQtbGVnYWwtaGVhZGVyLyIsImFhZ3VpZCI6IjlmNzdlMjc5LWE2ZTItNGQ1OC1iNzAwLTMxZTU5NDNjNmE5OCIsImRlc2NyaXB0aW9uIjoiSHlwZXIgRklETyBQcm8iLCJhdXRoZW50aWNhdG9yVmVyc2lvbiI6MSwicHJvdG9jb2xGYW1pbHkiOiJmaWRvMiIsInNjaGVtYSI6MywidXB2IjpbeyJtYWpvciI6MSwibWlub3IiOjB9XSwiYXV0aGVudGljYXRpb25BbGdvcml0aG1zIjpbInNlY3AyNTZyMV9lY2RzYV9zaGEyNTZfcmF3Il0sInB1YmxpY0tleUFsZ0FuZEVuY29kaW5ncyI6WyJjb3NlIl0sImF0dGVzdGF0aW9uVHlwZXMiOlsiYmFzaWNfZnVsbCJdLCJ1c2VyVmVyaWZpY2F0aW9uRGV0YWlscyI6W1t7InVzZXJWZXJpZmljYXRpb25NZXRob2QiOiJwcmVzZW5jZV9pbnRlcm5hbCJ9XV0sImtleVByb3RlY3Rpb24iOlsiaGFyZHdhcmUiLCJzZWN1cmVfZWxlbWVudCJdLCJtYXRjaGVyUHJvdGVjdGlvbiI6WyJvbl9jaGlwIl0sImNyeXB0b1N0cmVuZ3RoIjoxMjgsImF0dGFjaG1lbnRIaW50IjpbImV4dGVybmFsIl0sInRjRGlzcGxheSI6W10sImF0dGVzdGF0aW9uUm9vdENlcnRpZmljYXRlcyI6WyJNSUlCeHpDQ0FXeWdBd0lCQWdJQ0VBc3dDZ1lJS29aSXpqMEVBd0l3T2pFTE1Ba0dBMVVFQmhNQ1EwRXhFakFRQmdOVkJBb01DVWhaVUVWU1UwVkRWVEVYTUJVR0ExVUVBd3dPU0ZsUVJWSkdTVVJQSURBeU1EQXdJQmNOTVRnd01UQXhNREF3TURBd1doZ1BNakEwTnpFeU16RXlNelU1TlRsYU1Eb3hDekFKQmdOVkJBWVRBa05CTVJJd0VBWURWUVFLREFsSVdWQkZVbE5GUTFVeEZ6QVZCZ05WQkFNTURraFpVRVZTUmtsRVR5QXdNakF3TUZrd0V3WUhLb1pJemowQ0FRWUlLb1pJemowREFRY0RRZ0FFcktVSTFHMFM3YTZJT0xsbUhpcExsQnV4VFlqc0VFU1F2elFoM2RCN2R2eHhXV203a1dMOTFycTZTN2F5WkcwZ1pQUit6WXFkRnp3QVlEY0c0K2FYNjZOZ01GNHdIUVlEVlIwT0JCWUVGTFpZY2ZNTXdrUUFHYnQzcnl6WkZQRnlwbXNJTUI4R0ExVWRJd1FZTUJhQUZMWlljZk1Nd2tRQUdidDNyeXpaRlBGeXBtc0lNQXdHQTFVZEV3UUZNQU1CQWY4d0RnWURWUjBQQVFIL0JBUURBZ0VHTUFvR0NDcUdTTTQ5QkFNQ0Ewa0FNRVlDSVFDRzIvcHBNR3Q3cGtjUmllNVlJb2hTM3VEUElybWlSY1RqcURjbEtWV2cwZ0loQU5jUE5EWkhFMi96Wit1QjVUaEc5T1p1cyt4U2I0a25rcmJBeVhLWDJ6bS8iXSwiaWNvbiI6ImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBSTBBQUFBV0NBWUFBQUQ5L3g4bEFBQUFCSE5DU1ZRSUNBZ0lmQWhraUFBQUIzRkpSRUZVYUlIdG1rMXkyOWdSeDM4Tkl0TFN6QW5Nbk1ETU5rbVY2YXFweW5KNEE5TW5NQ1NTVmFHME1Md1FzUkJsd1NjUWRZS1JWbG1sUkc1bUcrb0VRNTBnMUM1VVNIUVdqL2grL05CRXRtY20rcThJdkVhL2ZrRDN2L3YxWTRWTk9BeGEvUG03S2ovK1kxb2E4L3dxZi9ucjMvblRkM2ZXOFdmOFp1R3VIV24zbXdnWHdCdnJlR1V2QkJwQWc4UGdIWjk2d3k5aTRUTytMZHI5SmlLdlZsZGpCcjJSWXhYc250U0JpdzJLaG9pOFRhNGRMamdNV2s5bzZqTitDZWowUFVSbXdCaUpyb21vMFFrYVphZnBudFNKNUFhUjZnWkZiMHYzbngzbk53aXBNdWlOVUIyaUVsS0pKcUQxZkhyeS9Db3FGMnNkeGpqRitkbzVqT093TVZWbDZVNmlhMDZQSjdueFR0QUFYcSt1eGl5WTRwSTY2V0wrbWRDZjVaN3BudFJSNS90VWhrdCtGMVdKNUJVaXRaSU5xbE9XTWlic3BiVllwKytCdkZocmQ2dzM3RTFOWUZWZUkycDVUekpoOGU5eHljWjRiU3F2Y3MrSmp2aVAzQ1cyUE1hT0dGNVFvNkt2UzJzVkhYRjZOTWJ6cTdqNzc4M2FaY2JaM3o3bjVMeWdscnpqaUx2ayswV1lPVVNxcU5ZWUhFL29CTTI4MDdoN1Z5RDF6SjFyQnIxUnN1QlN5dElEVkZvSXI1SmJEaGUwK3pQT2pxNnNDeFk4WXFkUVI0QkpRYUlCZkZqOS9nanpFUFlQQVBNaUszdC9BUEtNRm9tSEpJNTFEL1BQNk40UWtkZllJR0txdVZ3dEp1dURJWWJMR0ppaUVpSnExNDFDWlcvR1lYQ1E2TzZlMUltY0g0QWFvZ1Z4QVZmSHEzVS96ZzZBZGhBaXZBZXhtQ0xRQ2VLYTFEZnFGU0R2TkM2MVpOelJNV0RzRnVxckpRMUJqSE9oc3pROXRmdER5THhrNVpiRnZKVXNXdldIZ2trZkdSeUZMT2NObE52QzJNV3FMdnJmWVNJMlRLNUYzaHJqVi9DQ1dpNWRSbmpXS0xmQjRTS242NmtnVWtYMEhNODNqQkxKRmNMVHo5TUpmT013WHdoTFF0cEJDUElUeUUrNHRGZzhEQTNUSEFhdFRLUWFoMW5PRzRUK0RNK3ZsbW9jMVV2T2pveG5HcGtHbGYxUndqZ2lWWlFMNEk5UFl2eWc1OVB1dHhCNUNVQUZEL0RNYi9XVEtGTzk0OU5ST1RXcVhpSVNVMjROSjhPWURnM2l5RW9mT0FBcE1pQXM1dVY3V2QxWmxoU3A0dTdYZ1ZGaTl6cmRvbXVjZklzZFNqTWhHTlU3SUM1Yzg3TEdqc2ZEcEVDdmVOczFrYXJuR1hxN1owa3ppVlozZndoa2MvYzFaMGNwQTUwZVQ2eU9nOVRwQkQ2RG52K3pEQzVDeFYrMUFBQjlpK2Y3c0YvTk9idUl2UkFYbVNacEZxRFRieVdzNnRnWVFDWTUrVTNJNng3UkRwcTVkRjNFUXE1eTljaG01WnZ0eU00ajBsb3Iyd2wybTI1SHVGVFV6N0ZJaEpkZmxGYlRTT2FXNVNwbHhVVnp6Q2FoUDZONzBrS2RmNmFQNm52aVhHbUQ4cEp1UDE4YlJMeTBwV2MrOVliSnh6WlI3S0ZhUzUxZHh3eU9kdnZRM3hJVmJtajNmWllQMXp1blVSdTZKM1d5NWRHdVR2NEVjQkZwWnE3djErNThpaW5MM2JzcEZNMXdlanloMHg4blVTeFN4UXRxYXlOTGFLRUZkckE1VERyb0F6ZkdIbjJmMytYSmJzNFpVY3ZWYnZFT0lZK2JVblNxempnNyt2MUczU29Oc0xDTVNXR0dFWVVheUJCM0g5ckJFT0Z5d3djdjIyR0NvNEU2OWgzdVY0QkR2Q3NCVVA2MVJzNlNzc1NlSjdWQTl6dFQ4UTR3TC9jYW9GUmpiYWJ4RmlvalZFYVorZ1Bnbm1odTMrV1ZkS3hwUTJSMVoxbFY5UzZ4YWZuZ29YcHBmZFk0eHRPazhLOEVGelRERE5RNERGcDV0cEVaRWpVSWoxZGJ2UDRRK042aUsrNHhaSXUrOGNiWlZlK1FRcVFydFh6aFdNQUNEN2N3LzNJRHk2eWRtMXVjcUdWTkVZWVpDczYrcmxpMTRocEhVNXZNSEMyOHdNZlZKb3BYV09NSHZHQllDakNiSFZIUnJxOFBGeVZFU09sYTlKenV5U1JwdWkzbTZZczFQWUZzTi9nKytXWDZPSVVldzVhUEtUSXNGY29tNmo3WUg4QXdWN3VmMHIzeWVTdWJaWGM0dStSK1k5ZXVOY0liVkt1SVpGc1NZYWxwR2R0dTJnZmg2bjFkRVRPOTZaWGsxN0hKRHJNclNxODNsUUZiWmJXK3BTN0l3VmsxNGE0emhwb3RkdHhuaVIzR2JNdnpQUUdKVEVQSzFzZFJQbit4NGl3YmZjSjJCb2gzT0YvS251STdSTGMzNkFhOUVacHhrdWlSZlJ6elhkS2dyV3dLdElLc20ybU9tbDVTcHQxaTJlSVhZUG8waTNtTHl0NGtvVXlSS2hFM2RFL2VjSG84NFRCbzVYb2JBQkh2K0hROHNaNVZLYmVjOVVyNysxOFA5SnhPVUhaR2lRNnNEQUxtSGJyN1UrQkZydDFnampqS1RxVFVjZzIvU21UUnU4VU8xYXRNZ2QxYUhkRk1yTEl3SWkwclB0QU8zaUpNVWExRHRsN1RyWUZsbk1ac2w1dXJZczdRWmV3NDdiNW5JaWREWHhGcCt6MXloZ2pab3ZTTzVVTmoyOFMvYkt3cjhqZnNXRUovUnFmdko4Y0FxdS94Z2lGS2xlU0lJRHRGVnE5ZU1yQTU0eFk3bHVMajBpVDd6WXB6eGJJUythalRTR1dwQVRVa1k0aHl1L2I0SjRQMDdPbjBlRUwzcElFNmVjY3Bka3RWTDNOZDEzd2o2eDVIbTV4dDZEK29USkx6RjF0UkZ6RmRuWCtzTC9wMmtkazJUL21CelVVN3BKM2JyTzVzTjNkd0ZOTHUxeEZxQ0NZTkxCamk4aEUwUGx1cUF5OVdHNUFaRVZmNUx2WWo3QWg3VTd5Z1RnVVAwWHFxRytNQXdwVEZLZ1dlSGsrTXJQb2c5ZngzMHpISWlPVThMRTVsbmI1MHg5QnA2amhabU9PRGZGK2xFMlJiVEcrK1pwUHBHZDhHNWYvVG5CNVBWZ1h1Zlg1QXh5V0h5U0xpM2JQRC9IL0Evcys5b3VNb3R5d2VtbFpaSTNEdy9IZlBaeGgwVCtwMCtxUGtpTitHVHY5WHZFdDZ4cy9CZndHaGhtblljYXlkZ1FBQUFBQkpSVTVFcmtKZ2dnPT0iLCJhdXRoZW50aWNhdG9yR2V0SW5mbyI6eyJ2ZXJzaW9ucyI6WyJVMkZfVjIiLCJGSURPXzJfMCIsIkZJRE9fMl8xX1BSRSJdLCJleHRlbnNpb25zIjpbImNyZWRQcm90ZWN0IiwiaG1hYy1zZWNyZXQiXSwiYWFndWlkIjoiOWY3N2UyNzlhNmUyNGQ1OGI3MDAzMWU1OTQzYzZhOTgiLCJvcHRpb25zIjp7InBsYXQiOmZhbHNlLCJyayI6dHJ1ZSwiY2xpZW50UGluIjpmYWxzZSwidXAiOnRydWUsImNyZWRlbnRpYWxNZ210UHJldmlldyI6dHJ1ZX0sIm1heE1zZ1NpemUiOjIwNDgsInBpblV2QXV0aFByb3RvY29scyI6WzFdLCJtYXhDcmVkZW50aWFsQ291bnRJbkxpc3QiOjEwLCJtYXhDcmVkZW50aWFsSWRMZW5ndGgiOjk2LCJ0cmFuc3BvcnRzIjpbInVzYiJdLCJhbGdvcml0aG1zIjpbeyJ0eXBlIjoicHVibGljLWtleSIsImFsZyI6LTd9XX19LCJzdGF0dXNSZXBvcnRzIjpbeyJzdGF0dXMiOiJGSURPX0NFUlRJRklFRF9MMSIsImVmZmVjdGl2ZURhdGUiOiIyMDE5LTA4LTA4IiwiY2VydGlmaWNhdGlvbkRlc2NyaXB0b3IiOiJIeXBlciBGSURPwq4gUHJvIiwiY2VydGlmaWNhdGVOdW1iZXIiOiJGSURPMjAwMjAxOTA4MDUwMDEiLCJjZXJ0aWZpY2F0aW9uUG9saWN5VmVyc2lvbiI6IjEuMy42IiwiY2VydGlmaWNhdGlvblJlcXVpcmVtZW50c1ZlcnNpb24iOiIxLjAuMCJ9LHsic3RhdHVzIjoiTk9UX0ZJRE9fQ0VSVElGSUVEIiwiZWZmZWN0aXZlRGF0ZSI6IjIwMTktMDctMjkifSx7InN0YXR1cyI6IkZJRE9fQ0VSVElGSUVEX0wxIiwiZWZmZWN0aXZlRGF0ZSI6IjIwMjAtMDctMTciLCJjZXJ0aWZpY2F0aW9uRGVzY3JpcHRvciI6Ikh5cGVyIEZJRE_CriBQcm8iLCJjZXJ0aWZpY2F0ZU51bWJlciI6IkZJRE8yMDAyMDE5MDgwNTAwMSIsImNlcnRpZmljYXRpb25Qb2xpY3lWZXJzaW9uIjoiMS4zLjYiLCJjZXJ0aWZpY2F0aW9uUmVxdWlyZW1lbnRzVmVyc2lvbiI6IjEuMC4wIn1dLCJ0aW1lT2ZMYXN0U3RhdHVzQ2hhbmdlIjoiMjAyMC0wNy0xNyJ9LHsiYXR0ZXN0YXRpb25DZXJ0aWZpY2F0ZUtleUlkZW50aWZpZXJzIjpbImM4ODlhYmQwMTYyN2I5OGQyZjdjMWNkOWQ1ZDE2ZDJkMDI2MmY2OTYiXSwibWV0YWRhdGFTdGF0ZW1lbnQiOnsibGVnYWxIZWFkZXIiOiJodHRwczovL2ZpZG9hbGxpYW5jZS5vcmcvbWV0YWRhdGEvbWV0YWRhdGEtc3RhdGVtZW50LWxlZ2FsLWhlYWRlci8iLCJhdHRlc3RhdGlvbkNlcnRpZmljYXRlS2V5SWRlbnRpZmllcnMiOlsiYzg4OWFiZDAxNjI3Yjk4ZDJmN2MxY2Q5ZDVkMTZkMmQwMjYyZjY5NiJdLCJkZXNjcmlwdGlvbiI6IkVnaXMgVTJGIEJMRSBBdXRoZW50aWNhdG9yIiwiYXV0aGVudGljYXRvclZlcnNpb24iOjIsInByb3RvY29sRmFtaWx5IjoidTJmIiwic2NoZW1hIjozLCJ1cHYiOlt7Im1ham9yIjoxLCJtaW5vciI6MH1dLCJhdXRoZW50aWNhdGlvbkFsZ29yaXRobXMiOlsic2VjcDI1NnIxX2VjZHNhX3NoYTI1Nl9yYXciXSwicHVibGljS2V5QWxnQW5kRW5jb2RpbmdzIjpbImVjY194OTYyX3JhdyJdLCJhdHRlc3RhdGlvblR5cGVzIjpbImJhc2ljX2Z1bGwiXSwidXNlclZlcmlmaWNhdGlvbkRldGFpbHMiOltbeyJ1c2VyVmVyaWZpY2F0aW9uTWV0aG9kIjoiZmluZ2VycHJpbnRfaW50ZXJuYWwiLCJiYURlc2MiOnsic2VsZkF0dGVzdGVkRlJSIjowLjAsInNlbGZBdHRlc3RlZEZBUiI6MC4wLCJtYXhUZW1wbGF0ZXMiOjAsIm1heFJldHJpZXMiOjAsImJsb2NrU2xvd2Rvd24iOjB9fV1dLCJrZXlQcm90ZWN0aW9uIjpbImhhcmR3YXJlIiwic2VjdXJlX2VsZW1lbnQiXSwibWF0Y2hlclByb3RlY3Rpb24iOlsib25fY2hpcCJdLCJhdHRhY2htZW50SGludCI6WyJleHRlcm5hbCIsIndpcmVsZXNzIiwiYmx1ZXRvb3RoIl0sInRjRGlzcGxheSI6W10sImF0dGVzdGF0aW9uUm9vdENlcnRpZmljYXRlcyI6WyJNSUlCYkRDQ0FSR2dBd0lCQWdJQkFUQUtCZ2dxaGtqT1BRUURBakFkTVJzd0dRWURWUVFERXhKRloybHpkR1ZqSUVOQklHWnZjaUJWTWtZd0hoY05NVFl3TWpJMk1EZ3hNVEEyV2hjTk1Ua3dNakkxTURneE1UQTJXakFkTVJzd0dRWURWUVFERXhKRloybHpkR1ZqSUVOQklHWnZjaUJWTWtZd1dUQVRCZ2NxaGtqT1BRSUJCZ2dxaGtqT1BRTUJCd05DQUFSUDNBRTZWczV0RkJDSU1leG1kWGlSRmM4UWN5VHJjNm5sMWZFb0JLd01kQk10amYvdnpQanJyQWl0azVRMk9qTzlZTnkyNkNpNFRNSVlJd3I4WUJRb28wSXdRREFkQmdOVkhRNEVGZ1FVeUltcjBCWW51WTB2ZkJ6WjFkRnRMUUppOXBZd0h3WURWUjBqQkJnd0ZvQVVNdXJpUC9DMWlGZzR2cUJHMTVrNHZIaE9zM2d3Q2dZSUtvWkl6ajBFQXdJRFNRQXdSZ0loQUpRTU82bjZQSTlFUFl4Nk1qdXNJRm83R1BCMVk4WXB6K1VCbVVqNkNVbDJBaUVBaDBFMm1wYVRWVFJwMXBhV1VsSHZuWUdCdTNTMDRIcmQzN09SMGxYb1hSMD0iXSwiaWNvbiI6ImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBTWdBQUFCcUNBWUFBQUQ1akI1N0FBQUFBWE5TUjBJQXJzNGM2UUFBQUFSblFVMUJBQUN4and2OFlRVUFBQUFKY0VoWmN3QUFEc0lBQUE3Q0FSVW9Tb0FBQUJ6WlNVUkJWSGhlN1owSFlGUkZHc2YvNmIwSFFraWpTSkVpZ2hwQWxONmJJQkE2eWlrSW5BVVZEanp1UEUrOXBsaG9LaXJxSVVWQUZGQzZpQ2pGQStsSWs2YVVRSUJBRXRLem0vdStlZTlsYTVMZHpTYlpsZm5wc0p2WnQ3UHo1czEvdnZubXpjenpLQ1lna1VpczRxbStTaVFTSzBpQlNDUmxJQVVpa1pTQkZJaEVVZ1pTSU5XSUhCMXhmVW9keGNvNWZ4NnBxOVpDbjU4UER3OFBOVmJpRExqSVBieThrUGpJS1BoR2hxdXhFbGVrVklGYysyRW45ajgyQVlVWm1lSmlTcHhIc1U0UEx6OC9QTEIxTFlMcTExZGpKYTVJNlYwc05ocHNPV1J3ZnZCVVh5VXVUeGsraUhJUlBUdzg0ZUVwZzFPRHNWZ2tMbzNkVGpyM3lHU3dQMGpjazlKOWtPMjdzUC94aVNqS3lJS0h0K0tEaUVQNWdoY1ZvVml2RjNHU2NpQXI0ZW5ycTc1VkxFYXhUa2R4NUlOOCt6V0M2dFVUY1JMWHhENkJrQ2k4QWdNUjJxUXhmTUxEcFVoc2dVcjMycmJ2UmVNaUJlSisyQ1VRZldFaEF1c2tvY1dzbVFpN3R5V0s4d3RFdk1RS0plNkZCelkxdkFzZ1VXaWpnVklnN29QOUFxbFhGeTNuejBaWTgyWWlUbEkrRzVJYW9iaXdTQXJFRGJIL1RqckxTWGF0YklLTFNyUS9WcHNnaVRzZ3A1cElKR1VnQlNLUmxJSDlQa2hkOGtIZWV4dGhMY2p4TktJb054ZFpQeCtEdnFDQTNOTGI2d1pZTWYzbjRlMk5pUHZ1S1JtcFlrVEJVdkZ1VEdvc2hzYWxEK0orT0UwZzJXZk9ZdStqNDVGM0pRMmVubVNZYmhlTlVPbnB5U2Z6all4RXgxMWIxVWdGS1JEM3gya0N1WFhxRFA0M2FBVHlVbE52djhtTlZPRjlvNlBSNWVoZWszWkJDc1Q5Y1o0UFFqWER3OHVUZ2pjOHFTSjRVcGZqZGdoYzZibDdKVjdWb3BEOGZwQk91a1JTQmxJZ0Vra1p1TFZBMkgwcUswZ2tGY1Z0QlNJRW9OZERuNWRQSVE4Nk5mQjdQYzhSbzgra1NDUVZ4VDBGd2haQ3A0TlBSRGdhL25rcUdyNHdGWTJtVDBHakY2YUk5M2RNL2lOOG9pTEZNWHlzUk9Jb2Jpa1Fydkw2b2lMRXB3eEJnK2VlUW9Qbm4wYURLYy9RSzRlbjBXakduMUQ3NFlmRTZqMXBSU1FWd2YwRVFoV2U3OGNFSlNVaWFkd2phcVFsaVdOR3dDYzhWTFVpYXFSRVlpZHVKeEMyQ0o3ZVhvZ2JPaGdCdFdQVldFdUM2OWREVEk5dVFpRFVJVk5qSlJMN2NDK0JzTzlCWGF1QXVEalVmcWl2R2xrNmRTYzhydmdpOUIySnhCSGNSeUFzRG43UkY2TkdsNDRJYm5pSEVsOEdRUTBiSU83aEFlQjE0WEo1c01RUjNNcUNjSGZKbHl4Qy9JaWhhb3daWmowcG52b1JOMlFnL0dwRUs3NklSR0luYmlNUVVmZkpDc1NuUEl5dzVrMUZuREZwbTdjZ2RkMTY5UzhENFMxYklPcitOc0tDeUJFdGliMjRqMERJaitEN0h2SERocWd4Qm5UNStUZzk2eDJjWDdpRUxJVmxWeXArUkFxOC9QeVZicFlVaWNRTzNFSWczUExyQzRzUTI3OHZRcG8wVm1NTlhQMW1LNjV2MzRYMC8vMkVHM3QrVW1NTlJMVzdIN1VIOWhNaWsvS1EySVByQzRTZGMvSWYvR3BHaTBwdUR0OFRPYjlrR1R4OGZhREx5Y0c1ano2bDc1aGFFWjZHejhQQ1BzRkIwaGVSMklYTEM0UmJmTzRheFhUcmpQQldMWlZJSTY1OTl6M1NkL3hZc2o0amRkVnFYTisxVy8zVVFHVGJaTlRvMmhuNmdrTHBpMGhzeHJVRndoVlpYMHorZ3k5aUJ6NEVUM28xaGljbVhsanhKWFM1dVhRbWRDcnF4dEFYbHF4UWp6REEwMDVpQi9TRFQxaUljUGFsTHlLeEJaY1dDRmRoWFg0ZVlucDJSNDFPN1pWSUl6S1BIa2ZhdW8xaVJWOEpYdDVJMi9RTjBuZGIraUxSSGRvaHVtTjc2bVpKWDBSaUc2NHJFUFk5cUtYM0RncEMwdVBXNTF5ZGZlOUQ2UEx5eFkxQXRoeDgzNE10QlQvMEozWGxhZ3Qvd3pzb0dMVjY5NlN6SmtHeEZaRkl5c0ZsQlNKYWVLcmd0ZnIwUkdpekppTE9tS3ZmL1lDMHpkL0NrNXp6RXJRdGQ4Z3B2N0Q4YytTY09hZjhiVVRjNEFHSWF0dGFPUGZTRjVHVWgyc0toQ3N1Qlg1c1FLMytmZUFkR0tSK29NQ1c0ZkxxcjZETFVYd1A0NzJvaENXaHVLTE1MUHo2MzBWcXJDbHNrY1FPSStydlNDU2w0WklDNFNyTElvaG9rNHlZN2wyVlNDTnU3RCtJeStzMkNVdFJHcDUrZnVUQWY0R2JCdzZxTVFhaTJyVkZ6YTZkeEwwVktROUpXYmlzQmVHNzQ0bVBqaEwzTU15NXZHWXQ4dFBTaEtWZ3VLdGtIQVRzaTl6TXdLVlZYMWxZQ1ord1VNVDA2azdmSjh0ajlwbEVZb3pMQ1VSVWNtcloyWExVNk54QmpUV1F2bnNQTGk1ZExycEk0czU0R1lFZDhVdkx2MFRXMFJQcXR3M0VEdXlQME9aTnlWTEpPVnFTMG5FOUM2SW5nZEIvQ2FPR3dqc2dRSTAwa1B2cmVZUzBhSTZhTEtBdUhjc01OYnQxUVhEakJzaTllRkg5dGdIdndFRDZqZUhRNTVFZkl3VWlLUVhuYlQxNitneDJEeG1Gdk5RcjhPUnVrWkhqYkN2Q2V1aUtFSm1jalB1V0x4VFBFamVGcytwWXV1SmJabmtxdUhFVGU0YU5Kai9sTUR4OWZFeWNmVnNSeFVlV3lqY3FDbDBPbTk3QkZ3VkxuOHV0UjkwWDE3SWdYTm1LUFZDcmYyOHI0bURzcjhDTXFQaFdLcjh2enc0ZVBsU0lVdnkyUkdLR3l3aEVXQTlxaVVPYk5rYjhrSUZxYk9YRHU1K0VObTlHdjAyL0wwVWlNY04xTEFoVlR1cnZJVDVsRUx4RFE5WEl5c2NuTkFTeGZYb3BkOWFsUUNSbXVJUkFOT3NSM0tnaDZqenhtQnBiZFNTT0hZbWcrblVwSDNKRVMyS0tTempwSWd2a3VFWjFiSStFa1VQRisvSmFjKzRTZVFiNm8wYjdCOFN6MjQzaENZN1h0KzFBMGExYkpmZEtTb1h5eWI5MC91TkZ1TDU3anpqZUhtZGQ1RjA2NmI5YlhFY2dGUGp4YmJ6b1NhbFpLaUlaeTdRNEwwRjFFdEYyMHhvRTE2bWp4aXJrcFY3R2pwNFBJZXZvY1RGZHhSTCtQZlV0UTNsbGtZbDVYZlJlQ2tTaVVlMWRMS1dDVVJlTG55Tk9yVGZQdVBVT3BoQkNJU3dFdmhFUllpMjZiMlNFUmZBT0N4VVA2ekhIdzlPTC9CajZycFh2Y0ZvKzlNcHBpOS9nM3dvS29wSWdTOEtXaXlwN0tXMkc1RGFrV2dXaXRiN2U0YUZvOXRhL2NkZXMxOUY4MW1zaTNEVjdwdGlJMmlzd1FBaklhZER2K1ZGcjMzRDZGUHFOTjBwK3I4V3NtYmp6bFJmaEYxdUxoQ0pGSWxHb2RndkNjNjU0NUNweDVEQ3hZMG5DOEJRUjRvY09SbUJjYlJUZXlyYld3Nm9RdkFJeE1DR09mbU9RNGZlR0RVYmRjV01SMDYwTEhVSGlrQUtSRU5VbUVHNmh1Vi9PSTFmMW5weWd4aHJnWjMyY2Vuc2V2ZEVMdjhCcFVEZU83NkNmKytBVEZHV1QrTXlvTzNFOGZLanJ4WU1BVWlTUzZyTWdhdVdMNmQ0WmZ0RlI0cjB4RjVhdFJQYXY1OFVBZ1RNTkNEdmd2TGxEeHNFanVMN3pSelhXUUdCU1BLSTdkU1NmcU5ERWo1ZmNubFRQS0JiOXBMNUlCLy9ZR0NTdldJVGdPK3FySHlnVVptVmhWODhCSWszeEJGa3JhWEZlQXFpYjFQcUxwZFJkU2xCakZmS3ZYTVdQZzRjaisrUXBxNk5ZZk1vOFloYVJmQS9hcmxtcFRIczNJdnZNT2V3YWtJS0N0R3VLUU1zNEYxRjhsVFNLZFpNczNZOTdkaU1yTTRzTW45S1c4VFBaUTBOQzBhSERnL0QzOXhkeHRsQkE1N3ZsMisrUWsyTnFOVG43UmJvaTNOV3NHWm8wdVZPTkJVNmMvQVdYVXkvQnkwdFo3MC8yWGxqVnBrMmFJTXFvUWN2SXpNVDJIN1lqaHl5K1p3VXN2WTU2Q3Z6N3pab2FWbzhlUFhvTVI0NGVoWmZaVUwxT3I4Tjk5OXlMdW5WTlJ5L3RKVGMzajhya1crUlIzclZyek5kTVI5ZW5iZXRrSkNZbVZvOUFSQVZsMzRQNi9TM212S25HR2toZHV4RUhKendsS3BKV3FjeXBpRUM0VnZDTlNVLy9BSExPWDBPdGZyM1ZEMVRvczhOVFhzQ0ZKY3NBNzdJbk1WYW1RSTRlTzRieEV5Ymk3TmxmNFUzNVlBb0xDOUN3WVVNc1c3b0lNVFZyaWpoYldQTFpNa3liL21kVmFOcjVGQ09mcmtPVE81dGczcHhadVBQT1JtbzhNT092TCtLelpTc1F5SU1rQko4bWkreTllWFBRdVhNbkVjZWNKQ0VOR3prYWFXbHBKV0t5SHlVZms1OTVHdFAvTkVXTkF6WnMzSXduSms0U1pheGNBdzdGVkFhRkdEUndJT2JNNXJwVCtyVXBqMisyZkl2SHgwOFFqWTZIaHlKQ0hWMm5nS0JBYk5tNFRnakVWSnBWQVZkT3FpRDhiSSs2azhhcmtRYUtzbk53N3YwRjBOSEZZSCtoVXVEQ3ByUjExSnFlbmI5QVdCTVQ2TE9FVWNQZ0U4bVBUcWpPamVhSzRlWHRTOEdiQk9LbEJub3ZoR1o3eFZpNGVERmVmdVVmUWh6aSsycGFuQWEzd3ZQZm5Xc2lEaVl2cndDM2J0MUNObDBQSldUVDM5a29vQXBrRE5jcmJ4S0dhUjd0RGNyM3pTMUZ6eDdkMExMVjNmVE9ReHlqSGV0TGpkNk9uVHV4ZDk4QjVVQUh5TW5KeGNKRmk0VzE4UEh4RVdsN2NmbyszdWpmcDQ4UUIxUGxBdUZXbFIrZnh1czFRdSswM0VZMGZkZVB5TmgvVU56ZmNMeHRLQjl1a2JqVnlEenlNMjVZMlNLSU42a0xiZEZjaUxrVUkxc0ZLRGN0dWV2Q2xadURrbS9iYjJZZVBIZ0lNMmUrSlZwb3JnaGFHdHhxK3ZuN1llcVU1OUNnZ2VXakpEeXAyK2xGMThBMFdKdGxZSmxIZTRQMmZXdm5OSGJNR0JRVkZZcjM0amc2bnZOeTQrWk5iUDVtaTRoM0JMYk9lL2Z1RTRMVDhzQzlpdkR3Y0hUdnppT1pDbFV2RUJLSFAzVU42b3ovZ3hwalFFLzkwRk52ekJGRHY1UnJMaEgxazBxQ0xyZ3VPeGZuRml3a0lWZytaS2YrVXhQRjhseXhJWGExaWNSeHVBOC83Yzh6a0o2ZUxpcVZxQVIwSGl3T1Bwc1haN3lBaHdjTVVBNnVFTlFyNEo2QmcwRkpRZnZIbFBZUFBvaTJiZHFRU0F6WFJ4UFNpaFdmaTY2ZEk3dys4MDFra2EvTDVhTEJYYmUyclZ1alMrZk9ha3dWQzBRVUJsVzJHcDNiSTZTeHFVbG4wbmZ1d3MxOSs4VW9VeVZMb3dRUE1xblhkK3pFalo4c3pYVmttMlJoNlZqVVZxNmRTMU5ZVUlpWFhuNFZKMDc4QWo4L1AxTngwT3VvRWNNeGF1UUk5V2pINGZUWU9yR2o2MmpJNVZkeW1BdFZTMkZNZUhnWWVuVHZWcEp2RG53dVhMRXZYa3JGMXEzYjFDTnQ1L1NwMHpodzRJRG8xbW5sd3FHSWVndERVd1lMcTZKUmRRTGhURkFHL0dKcUluNTRpaHBwZ085N25KbnpyaUlNYmlIVVZxSXlFUzBSV2FxQ0d4azQvZlljTmRZQVQzMUplblEwdkVQY2E5TnJyblRQUGo4VjI3ZnZvTk5UdWlWYUplQStkOS9ldlRGaitqVDE2SW9SR2hxQzNyMTdZZENnaC9Id3dBRU9oVUVVQmc5K0dFMnQ3SC9HMTZoZnZ6Nm9YYnUyeUw4eGZuNitXUER4SjhqTXpGSmp5b2ZUK0hUSlV1U1JxSTE5SHJaUWQ5OTFGenAyTk4wSG9jb0V3cWZHbFN3aXVaWEZDQmlUdm1zM2J1NC9SQjZmb3lNaGpzRXk5Q0lyY25YYmRtVCtmRXlKTkNJeStWNUV0VzBqbkhYekMrU3F2UHZlKzlpeTlUdjRCL2lYdEpCTUVYVWgyTitZTVdNNkF0VFJxWW9TV3lzV3I3N3lkOHlaOVJiZWZ1c05od09Qb3ZVajU5Z2FzYlZxb1hPbkRrTGN4bkJMZi9iY09YeXo1UnMxcG54NFJIRGJ0dTlGbzZIQjVjT08vK2pSSTlVWUExVm5RY2hFOG16WnVwT2VnSGVRNmZSMEZzNzV4WitoS0NORFdBN1JzbGNWcWhXaEpnUm41czYzdEJUa3A0Z05KS2lsNUhPZzBsUS9jRTFXclY2RDJYUG5JVGMzUjFRQ3JTeTVoYXhYdno3bXpuNGJ0V0ppUkp5ekVBNTZCUU8zNW1WZDl4SERoeUVvTUxDa3E4WEhjbUMvWWNuUzVhS2Jad3RyMTY4VG9pcHh6Q2t0SHI1dTJmSnVkT3hndVl0T2xRaUVNNkhMTHlEZm94TWk3bTJseGhySVBuTVdWelpzSm4vQWFCdlJxb1phbzJ2ZmIwZkdvY05xaElHSTF2Y2h2RVZ6TWZybXl2TDRZY2QyL1BOZi94SHZ1WFhWS2dEZmhBc0pEcVp1MVovUXVKR2w3K2NPTkdyWVVIUi9qSjExaG4yUkkwZU80TkRoSTJwTTJTeGU4cGtRcEZZMkRLZlpsUnp6T0N1UEZhOThnWEFtU1BVOHY2bU9sVTJvZVJYZmlYLzhSenpLZ0hJdE1sN1Y4Ryt5djFGdzlhclZSeWY0UmtaUzNoOVZMSTFhcUs3R2I3LzlobW5UWnVEeWxTc1dJMVk4dlB2czVNbm8ydFV3Zk9sdWNCZG83S05qeEgwS1BpOE80cnBSdUVFOWo5VmtPYmtoS0l0RjVIdWN2M0JCWEd1dG5uSDUxS2haQXdNSDloZC9tMVBwQXVIcUpPNTdVQitTTjJvejU4YWVmVWpmOFQreFZXaDF3OU5hTHE1Y2hYd1Npamt4dlhzSWYwUlBsbEJyZVZ3Rm5wTHkxNy85SFJjdVhoSVZTWU12UHZmYng0OTdESStNR2FYR3VpK3RXcllVVTJLTWZSR3U2QUgrL3NLdk9ISFNjb05BamN5c1cxaXo1aXY0cUpaVm82Q2dFUDM3OVVXTjZCcHFqQ21WS3hDdVNCUzh5UGVJSHpsVUxINHlodTg5WEZ6MnVaaDdSYmsyeVhoVkkzNmJXaGIyZzA2KzlwWWFhMHFkY1dPVmgvaW81K1VhRkdQNmpMOElwOXhYM2VtZXowVVRSOTgrdlRIbHVjbGtWYXFrTjEycHNHVWNscElpS3JuZXFQeUZzMDRXOUt1dnZsWmpMTm0yYlJzT0hqb2swdERncmhWM3EwYVNmMU1hbFZwcWZBcnM5SWFTNnEwOUFDZnJ4Q2xjL21xOTBuVnhKaFhRbVFkWnNyVDFtNUI1eEhKRUsrS2VsbUpEYlY3OVdOM3k0SDQwODk3N0M3QjIzWHI0cVphRHhjRVdMcDhzWGRzMnJURnR5dk1pL3ZkQ3A4NGRrSlNVQkQzVksyTkw3a3ZkeU9VclZ1THExV3RxakNrcnYvaFNXQXN1SDYyTWVEaThlNCt1cUYvUGRMS3NNWlZ2UVlqNlQwKzBPdW53L0tLbHlGTTNvUll0dU4ydzcyQ1pMbTk0N1VoNld1RVZYRXNYenpvMHg1OWFtMFRlVkVKcmpZMHVVTlhpQVIreUZqeGlOV3YySE9GamFIbm5DeTlHck9yVndac3pYMGRpa2pLbnFMTEl6YzBWTGZPZW4zNFNVemNjQ1QvdDNTdStmOEhLRnJIbXhOU01RYytlUGVpZHdjbG1lRlRxOHBYTCtIcmRXalhHQU05TTN2THRWbkVNbzMyUHU2TkRCZzB1c2J6V3FEeUJVQ1o0Ymt0STB6dmhIUmxPMXVJWGNaK0JBNzlQMjd3VmFSczJ3NHY2ajQ1VVp2b1MrUEVGV2NkUFVEaUp6S09VTm9Xc1l5ZkVvOW1LOHd2Rk1YYkRsWXkrZG1uMTE3aTJiVHZsbGRJMnlyZC9YQng4b3lMcHdPb1JCNWVWbDdjbmpsQitYbjcxVlhFWDJuZzRsN3RXMFZIUmVPbkZ2NksybFZFWlozUHgwaVU4TS9sNVBETDJjWXg5Zkp4ajRiSHhHRFZtTEZaOC9vV2FhdG1NSGpVQ1FVRUI0bHk1c212bjdrbU41YWJOVzVCMjFYVDZ5ZUxGUzhXeGZKeDJMSGMvNzcrL0xab2FUZkczUnVVSmhETkRGNDQzbXo0dzdrbnNIalFDdTRlT1ZzTGdFVGo0NUROa1BhNEt4OWdSMkNJVnBxZmowTlBQaS9SMnAxQzZISWFNeElFSlR5TW5OZFdodEVVaFV0cDVGeTlqLzRTbktOOGpEZmtlTkJ6N3gwMUNFVGw4ZEtUeWhTcUcrOUJYcWR5bVQ1K09HemN5eE14ZTdhSnI1QmZraTNsdFZRRlhQR1dtN3kweDI5ZXhjRXZNaXlvMG4xVmRDanpOdjIrZlBtUXBUWjExdHFTSERoMFdNd2cwamh6NUdXdStXcU1PWGloV2h3UFAzaDJhTXNURUo3RkdwWGF4V0NDOC9qdi8yblhrWDcrT2d1dnBJdkRmUlZuS3doM3ppMnNyL0QyMlVJWHBHWlMya3E1SW0wSmgrazIrY2hWS216cjU1TEJubXVhYkEvVngyYThTS1R1WWZrWGd2TjNNeU1DbDFNdFdMeTViRTY1d2YzdjVaUkxRRFRXMjh1RDhjTXZOZWFsbzBMcEF0akNNS2pjdjNHSkxvSFdaK1B1Wm1abjRlaTM1dFNvclZxN0VqWnNaSW4zdGNuRVhsQmQrZFd4djZSZWJVNmtDWVZnazJqUE1qUU8zMG81V1lBMytQaS9tc2tpYjRweVNObDgwczdSRitweDJCZE4zRkpFdk5XaG9yU0lIanVjSys5dHY1L0h5Sy85RU5qK21ydEl4L0w0alFVbEIrOGMybWpadElsYjk2WTEydk9Gelp5dXk5YnR0T0hQbXJHZ2d2bDYzUVl4eUdjUE8rWmpSb3hFUkVhN0dsRTZsQzBUaWZNd0Z3aTBpZDNVWXJuRDhFVmVVRFpzMll0bXk1U0src3VEZjQ2NE81OEhSd05ORmVKNFlMNlcxRmU0eThmMkxnQUEvY2U2YTBOaUs2SFJGZUh2MkhLeGR2NTY2bzJrbFpjWEhzTVhoS1RlOWhLTmZQcFVnRUZYUm5PSGJJWWh6TGZtbnl1Q0x6UldENXlCMTc5WVZDUW54b3JJeGloWHhGTmJqblhmbjQreFp5NmY5T290QS93QzBhblUzMmxCcjNqcjVQb2RDR3dvOEpKMWd0blM2UEhnYWZFSjhRa25qd1BDNTgvTGs3N1o5ajduejNoTmRLeTFlRTlHd2xNRWtMTnZXOHp0M1RmcmdVY2k3ZkZsMFRXNHJxRlh5cGY1d2w4TjcxQWdGUlRjVlc1TSs2YW5KT0hmMnJMQUlHbnpKbE12bWdiNTllMkhtZi82TjlSczI0cm1wMDhUOUFSYUhWaUc0ZGU3VXNRUGVuUGthSWlONTlNMDJwazU3QVl1WExFVVE3enBKY0Zvc3hnOC9tSThlSkVnTnJwenNwUE9OTzYybGRnVGVFTUxmMzArc1hiR0hCUjk5akZmKzhXOFNnckk2a2RIS2g0TnhXYkQxNElia2cvbnZpcmxkdHVBMEM4S3I3bmdqQnA1VHhXczdicmNncHFDb1pWSFo4TVhtZm5Udm50M3hLam5qTEI3dWJuVHIwdG5FYWVXS3dSc3BjR3Y2enZ6M1JaeXo0UW9ZRWhLQ3NOQlFoTktyb3lFc0xOUnVjVEE4Ulo2bjhITkRZSHplSERSeGFMQ0Z2Yjl0RzV2RndUak5naFJjdjQ0TGk1ZWg0RmEyU2FadUM2Z0l2UUlDY01lelQ2b1JDcUpnNlRObldoQytYQnp1YWRVU0gzMzRBWUtERGMrUVAzZnVIQ1k5K1F4K1BucFVITS9YZ1k5bDBRU0hCT085dVhQUXJ0Mzk2dEZsWTZzRmNRWDRadWxicythVU9oS21WSEhLZjBFaHZ0KzZCWFhySkNrZjJJRFRCQ0t4cERJRXdpMWxmRndjRm42eUFQV3NmSmNuN1QzK3hDUnFMUXZWb1UxRFY2dDU4K2I0NUtNUEVCMWx1VkdmT2U0a2tMTlVQa09HamNLMWExZE51cUlhbkhkZTg5R0ZMT3pISDlwblNlVW9scHZCRnpzZ0lCQWhvV0ZxakNrZE9yUVhkNXE1SlRWdSszaW84L0NSSTJLZCt1K051dFJvUC9oQVcvS0hETVBHR3Z3MyswbmNqWHRzck9WeWkvS1FBbkZMTEN1Q01ZLzk0VkhjZlhjTHNocksxSHkySWh4NDFkNjZkZXZ4OWJwMTZwRy9IL3IwN29Yd2lEQWhCdk95NFdIb2xpMWJvbFVyeThWNjVlR2dRRzR6SDZNaVZJTS9GbGU3Tmw3OHl3dmtuNFNRLzJHWXI4UldoU3ZRNjYrL2lXUEhqNnRIL3o1NHNOMERhTk82ZGNsUXR3YWZPMDhyU1JreUNJRlducnRmSG5ZTGhLOTN0UzZOZFNOWUd0WFZsTFM0cXdYK09Ha0NYUy9EVmo4c0VyRjI0dGRmeGI1UXJrbnBsckVzZUJPODJyR3hKdGFEMy9NQUJjZjM3TkZkamJVUHU1eDBkaTU5SWlKUXExOHZCTVRWRmp0OVNFcUh4Y0dGZStyTjJXTGVHRSs3WVNyaXBMT3oyYkJCQXl4ZXRCQTFhMFNMdU5MZ1RhK24vK1ZGckZxMWl2d1dRK3ZKbDV4Yld0NEhkK0tFSjlSWVUyeDEwcStucCtQTEwxY2pPeWZiNmdpU3JYQitXaWNuaTJGWVJ6aDkrZ3llbVBoSG5EcDlXalFDM0Jnb0RRUHc3RE5QNGFrbko2bEgyb2Q5QWxFUDVRVkQ5Sy80WDFJR3BCQXVNeTgvUC9IS0Y0MnBLb0V3eDQrZlJNcUlFU1NXVytKbUd1ZUI4OEticEVXRWgySCtPL09Rbkh5ZmVyUUJXd1Z5NHVSSkRCOHhHbGZTMGtURmRBVHlxSkNmbDQ5bkovUG0xVlBWV1B1WVAvOER2UGFHWWhXMUFRb2V1VXRNVE1Cbml6OUZYRnljK014ZTdKSzhkb0Y1TjBMdVpubjR5bEJtb0RMaTNlV054VkhWTkc3Y0VOT25UaFg5Y0c1UkdjNExUNU5QVDcrQlYvLzVMMlR3ZGtzT3dwV1JwM2F3Z0IwTzZ2ZTlyQ3grc3dXZXZieDY3Vm9TUkpGSk9mT28xckFoUXh3V0IrT0FEMktZVFNxRDdjRmgyRkNUd0xRZ291eTAzT3lnY3VDMUY4YnBjSXUvNzhBQkxQam9FL0czbzFnN1gwZURJK3pZOVNOK09mbUxhQVMwTkxqTEZoa1pnVDU5elI1dFlTZU9keG9sVllEaVlKc0gzaXBKcStTMndFSjRjdEpFTkd2V1JGUWNRenJGNHRFRnMrZStRMzZLNVJKamQ0Q24zUENNWmU3K2FUNFFueGV2MmUvY3NTUHFKTmwrMTl3YXBRcUUrOG42M0R3VTVlYWdLRWNHWndaZFRxNll2OFdPZTFuNCt2aWhWa3hOSk1USElUNnV0aHJpRUVOeDVzL1NLSS9ZMkZqaHJQS0dCN3pQclpaZVFudzhZbXZGWU9ueUZjTGgxdUMxNXZ6MEtPNSthWUgzd09WK3ZURThTblRyVnBiSmNYWUgvaDBLWE5udFplKysvZGkrYzZkb0JEVHJ3WGtLRFF0RDMzN1d0eksxaDFLZGRGN2JmWHJlZk9oSUlOcm9pOFE1OE14VkQrcDNOM2xwaG5nTVhXa1VVR1hNek1nVXJiNTI4Zmx5OFlOZW9pSWpIUm8xU3VNVmtXdzk2TDNXb1dFbm1aZm9Sa1ZGbGt3WS9HN2JEemgyL0pqd0R4ZytYcThyUXMvdTNaQlV4L0RvTTE2VXRIYjlCdVNROEQzVnB6VFpDNmZOVDNiaWFmUEo5MWtPR0pURm1FZkhVbDYzaTQwWHVJeTRmQXJJbW5TamZIN3c3anlyejlHM2gxSUZ3bzhwMEJYWXR0K3B4REY0c3p4M2JIeTR5ampxTHppVDR5ZE9JR1hvU0dTUkJkTkcwTGpyeU05aFhMSDhNenh3djIwVE04dWlkSUZJSkM0TUMrRnZMNzJDUlV1V21Feks1R0h3MW0yU3NXTHBFdlhJaWlIN1RoSzNKUFZ5S25iczJrbENNYlR2L0o2M0llM1RzNWNhVTNHa1FDUnV5ZWRmZkNtZXNPdkQ5K1JVNjhHVE01czJiNDVldlJ5YlZtSU5LUkNKMjFGSUR2MnlaWitMbTR1TTVoUHg2RlduOWcrSzNSZWRoUlNJeE8zNDc4SlBjZW5TSlpOUlBCWkhqZWhvREI5bStYaS9paUFGSW5FcmVGckp4bzJieFh0dEpFMTByOGc1SC9CUWYwU1RTSnlKRklqRXJkaTArUnZzM2JjUE9yMWUzQi9pd0hmUjR4TVRNTHlNeHhnNGloem1sYmdWL0lEUzdUdDJ3Sk5uSnF1M092UEplanpRcmgyZUdQY0grUG82OTBGTVVpQVNTUm5JTHBaRVVpckEvd0ZBenJnV1duZDBqQUFBQUFCSlJVNUVya0pnZ2c9PSJ9LCJzdGF0dXNSZXBvcnRzIjpbeyJzdGF0dXMiOiJGSURPX0NFUlRJRklFRF9MMSIsImVmZmVjdGl2ZURhdGUiOiIyMDE4LTA5LTE0IiwiY2VydGlmaWNhdGlvbkRlc2NyaXB0b3IiOiJVbml2ZXJzYWwgU2Vjb25kIEZhY3RvciAoVTJGKSIsImNlcnRpZmljYXRlTnVtYmVyIjoiVTJGMTAwMDIwMTgwMjIxMDAxIiwiY2VydGlmaWNhdGlvblBvbGljeVZlcnNpb24iOiIxLjMuMiIsImNlcnRpZmljYXRpb25SZXF1aXJlbWVudHNWZXJzaW9uIjoiMS4wIn1dLCJ0aW1lT2ZMYXN0U3RhdHVzQ2hhbmdlIjoiMjAxOC0wOS0xNCJ9LHsiYWFndWlkIjoiYzFmOWEwYmMtMWRkMi00MDRhLWIyN2YtOGUyOTA0N2E0M2ZkIiwibWV0YWRhdGFTdGF0ZW1lbnQiOnsibGVnYWxIZWFkZXIiOiJodHRwczovL2ZpZG9hbGxpYW5jZS5vcmcvbWV0YWRhdGEvbWV0YWRhdGEtc3RhdGVtZW50LWxlZ2FsLWhlYWRlci8iLCJhYWd1aWQiOiJjMWY5YTBiYy0xZGQyLTQwNGEtYjI3Zi04ZTI5MDQ3YTQzZmQiLCJkZXNjcmlwdGlvbiI6Ill1YmlLZXkgNSBGSVBTIFNlcmllcyB3aXRoIE5GQyIsImF1dGhlbnRpY2F0b3JWZXJzaW9uIjo1MDQwMCwicHJvdG9jb2xGYW1pbHkiOiJmaWRvMiIsInNjaGVtYSI6MywidXB2IjpbeyJtYWpvciI6MSwibWlub3IiOjB9XSwiYXV0aGVudGljYXRpb25BbGdvcml0aG1zIjpbInNlY3AyNTZyMV9lY2RzYV9zaGEyNTZfcmF3IiwiZWQyNTUxOV9lZGRzYV9zaGE1MTJfcmF3Il0sInB1YmxpY0tleUFsZ0FuZEVuY29kaW5ncyI6WyJjb3NlIl0sImF0dGVzdGF0aW9uVHlwZXMiOlsiYmFzaWNfZnVsbCJdLCJ1c2VyVmVyaWZpY2F0aW9uRGV0YWlscyI6W1t7InVzZXJWZXJpZmljYXRpb25NZXRob2QiOiJwYXNzY29kZV9leHRlcm5hbCIsImNhRGVzYyI6eyJiYXNlIjo2NCwibWluTGVuZ3RoIjo2LCJtYXhSZXRyaWVzIjo4LCJibG9ja1Nsb3dkb3duIjowfX0seyJ1c2VyVmVyaWZpY2F0aW9uTWV0aG9kIjoicHJlc2VuY2VfaW50ZXJuYWwifV0sW3sidXNlclZlcmlmaWNhdGlvbk1ldGhvZCI6Im5vbmUifV0sW3sidXNlclZlcmlmaWNhdGlvbk1ldGhvZCI6InBhc3Njb2RlX2V4dGVybmFsIiwiY2FEZXNjIjp7ImJhc2UiOjY0LCJtaW5MZW5ndGgiOjYsIm1heFJldHJpZXMiOjgsImJsb2NrU2xvd2Rvd24iOjB9fV0sW3sidXNlclZlcmlmaWNhdGlvbk1ldGhvZCI6InByZXNlbmNlX2ludGVybmFsIn1dXSwia2V5UHJvdGVjdGlvbiI6WyJoYXJkd2FyZSIsInNlY3VyZV9lbGVtZW50Il0sIm1hdGNoZXJQcm90ZWN0aW9uIjpbIm9uX2NoaXAiXSwiY3J5cHRvU3RyZW5ndGgiOjEyOCwiYXR0YWNobWVudEhpbnQiOlsiZXh0ZXJuYWwiLCJ3aXJlZCIsIndpcmVsZXNzIiwibmZjIl0sInRjRGlzcGxheSI6W10sImF0dGVzdGF0aW9uUm9vdENlcnRpZmljYXRlcyI6WyJNSUlESGpDQ0FnYWdBd0lCQWdJRUcwQlQ5ekFOQmdrcWhraUc5dzBCQVFzRkFEQXVNU3d3S2dZRFZRUURFeU5aZFdKcFkyOGdWVEpHSUZKdmIzUWdRMEVnVTJWeWFXRnNJRFExTnpJd01EWXpNVEFnRncweE5EQTRNREV3TURBd01EQmFHQTh5TURVd01Ea3dOREF3TURBd01Gb3dMakVzTUNvR0ExVUVBeE1qV1hWaWFXTnZJRlV5UmlCU2IyOTBJRU5CSUZObGNtbGhiQ0EwTlRjeU1EQTJNekV3Z2dFaU1BMEdDU3FHU0liM0RRRUJBUVVBQTRJQkR3QXdnZ0VLQW9JQkFRQy9qd1l1aEJWbHFhaVlXRU1zcldGaXNnSitQdE05MWVTcnBJNFRLN1U1M213Q0lhd1NESHk4dlVtazVOMktBajlhYnZUOU5QNVNNUzFoUWkzdXN4b1lHb25YUWdmTzZaWHlVQTlhK0tBa3FkRm5Cbmx5dWdTZUNPZXA4RWRaRmZzYVJGdE1qa3d6NUdjejJQeTR2SVl2Q2RNSFB0d2F6MGJWdXpuZXVlSUV6NlRuUWpFNjNSZHQyemJ3bmVid1RHNVp5YmVXU3dienkrQkozNFpIY1VoUEFZODl5SlFYdUUwSXpNWkZjRUJiUE5SYldFQ1JLZ2pxLy9xVDlubURPRlZsU1JDdDJ3aXFQU3psdXduK3Yrc3VRRUJzVWpUR01FZDI1dEtYWFRrTlcyMXdJV2J4ZVN5VW9UWHdMdkdTNnhsd1FTZ05wazJxWFl3ZjhpWGc3VldaQWdNQkFBR2pRakJBTUIwR0ExVWREZ1FXQkJRZ0l2ejBiTkdKaGpncFRva3N5S3BQOXh2OW9EQVBCZ05WSFJNRUNEQUdBUUgvQWdFQU1BNEdBMVVkRHdFQi93UUVBd0lCQmpBTkJna3Foa2lHOXcwQkFRc0ZBQU9DQVFFQWp2anVPTURTYStKWEZDTHlCS3N5Y1h0QlZac0o0VWUzTGJhRXNQWTRNWU4vaElRNVpNNXA3RWpmY25NRzRDdFlrTnNmTkhjMEFoQkxkcTQ1cm5UODdxLzZPM3ZVRXROTWFmYmhVNmt0aFg3WSs5WEZOOU5wbVl4citla1ZZNXhPeGk4aDlKRElnb01QNFZCMXVTMGF1bkwxSUdxck5vb0w5bW1Gbkwya0xWVmVlNi9WUjZDNStLU1RDTUNXcHBNdUpJWklJMnY5bzRka29aOFk3UVJqUWxMZll6ZDNxR3RLYnc3eGFGMVVzRy81eFViL0J0d2IyWDJnNElucGlCL3l0LzNDcFFYcGlXWC9LNG1CdlVLaUduMDVac3FlWTFneDRnMHhMQnFjVTlwc215UHpLK1ZzZ3cyamVSUTVKbEtEeXFFMGhlYmZDMXR2RnUwQ0NySkZjdz09Il0sImljb24iOiJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNBQUFBQWZDQVlBQUFDR1ZzK01BQUFBQVhOU1IwSUFyczRjNlFBQUFBUm5RVTFCQUFDeGp3djhZUVVBQUFBSmNFaFpjd0FBSFlZQUFCMkdBVjJpRTRFQUFBYk5TVVJCVkZoSHBWZDdUTlYxRkQvM2Q1OXdlUVNJZ1M5QVFBWGNGTEFRWmk5ZnBlVnoxdFkvV1RacjVXeHBjN1c1a25MYTVqSTNaODVzclMybk0yc2p0V3daUzdJVUg0SDR4Q25FUXg0REFaRjc0Vjd1czg4NXY5L2xJbkJ2VkovQjRQdjludS81bnUvNW52TTU1NmZ6QS9RdjBIYi9JclgzVkZLUG80NWNubTRpblVJV1l3TEZSbVpRVXV3akZHL04xaVJIaDFFWjBOUlZSdWRxdDFCZCsyblNLeVMvT2h5czArbGszZS8za1E5cXZENFpVdGE0VlZTVXVZMGVpcHlpVGhBZm9jb09SVmdEdXV3M3FLUmlBZDNyYmNFdGpUallJb2Y2V2FIc0NtelZQV0NNeCtjZ2g4dExxV01LYU1Xc1VqTHFvMlJ0SklRMG9Pem1lcnBRdTRlc1pnc09Oa0d4SDdkMGtkdlRUMTdzNE9NVTdWSThaaGpnR2FNK0FxOWlFTnU4UGlmMXVkejA3TXd2S1dmOEdsVm9DRVkwNFBDNVdkVGFYWUZiUjh2TnZMNSszS2dmYjV4Tk15YTlSYW1KaXluYU1sR1RWdEZscjZiYTl1K3BxbkVYNHVNdVJSZ2pTWUVock43dXRGRmU2bHFhbDdOZmt3NWltQUdIeW5QcGJrOFZtWTB4c3RucHRsRkNWQ1l0elR1Qk44M1FwTUxqVHRldmRQelNVbko3ZThta2p4WjM5ZlhiS0RmbGRacWJ2VStUVWdHbkJWRjZmUTJpUEhnNFcxNlVXVXd2emJrMTZzTVpFK1BuMHB2ejdKU2V1QXllczhsY3BDbWFLdW8vcCtxV3IyVWN3SUFIV3J2UDBZRXpoWEF0TEFic3NIaHA3aUdhbXZ5aWpQOHJ5cXJYVVdYOVhvb3d4eUF1Zk5CcnA0M1BPQkZYWmxrZjhNRFJpcWNweW93QXdwdXoyeCtmV3Z6L0R0ZGU5c21zenlndGNSNkMxd2JkekJsNk9scTVXTllZNG9HYXRoSk1ya1RFeDBqQVJTSEFWcys1cllrUU5YYitRZ2ZQTHNRNmdYeUluc3JlUWZtcG03UlZGWWZMODZuMWZpVU9rWXZTaGtVUHh2YnVrem95NksxaWhNMWhvM1h6VzZFdlNmWEErZHBpV0dhV2QrZG9Yekx6bUd3S1lGTENBc1JBbFBCQWhNbENGWFU3dEJVVlByOEhnVmNKSFdxK0YwMHBscitETVRkclA0enZ4WTExa05NaHhUK1NlVEdnK2Q0VjVMUUppdHlVR0pOQjhWRlpzamdZQlpNL0lJL1hDVGtqMHF5RE9wRjJBVlExN0NJalVwL0RuVDFVa0w1RjVnZGorc1Mxd2cxZ0UzZ2lnbTYwZkNYelNuUFhieUFQYklYditJRHBFMTZUaGFISVM5c2t5aGxtTUU1RjNjZnFBS2hxMkMwRTVQSDFnWWFYYUxQRGtaRzBIREpPbktXSHA1MUkwejVTT3V4OGUxV0F1WnpkSFFyVGtwOFRtalhvSStsYTB3R1pzenVicWJPM2lmUTZBL1c3dlZTWXNWM21SMEpLd2tLYzRXSGlCa21SOEkzQ0NnSTg3b09MNHF6VDVQK1JVSkJlakVPZ0FQSzhoWVB6YXRNK2VJVHAySU85eVRRbWVyb21QUnh4MXF4QWNzaWxlL3ViU2VFYmNXUUdZRUNnaGNMWTJIeUtqb2dqSDI1aE1wanBVdjFPdWdsaTRlaDJlUncwTzMyYkpqa3l1Q2dOemcwdnpsWU1TaVNzMHVvbzRNRzdoTU9qQ0VhWDF5RkUwblN2akJ6dVRuRXBLODZaOElvcUZBSXVidzhrZzlBckVhUkVXU1pJK2pINFhicDZnOUU5RW5KVDNvYVJ6RE4rTVVKQlFESG41NmE4b1VtRUJ1c094QnMvTjUrdEpFYlBrQUZEajhVR3ZPcy9JV3ZjU2dsR0JodlM3L0ZUWWZwV0dZZERZOGZQQXhXU0EzNXNUQzRwNCtMbTRBYXFJb1BlUXRmdWZLNkpoMFpoeGxic1VYT1NtWE5pZkQ1WlRBa3lEb2ZiYmNjbHhuQThXTkFxeENiUk55a2hYeFFwYUR3NjdmWFVZYnNpRzBLaHR2Mm9lSXZoOHJoUU1ZT2NFQXFYRy9lSSt6bmdPYzV5eHI4cTgySUFNMWMvRkxGT3BscXU1ZUZRWHJNWnpHY1ZDalliTFdHNUk0QlQxZXVScmxieHROT3RNaXREREVoTFhJSXluQUF2dU9FV0UzWDNOZEFmdDk0VmdhRzQyWElRdDBaWDZQZUNFL3FRRmU5cks2SHg3WVU1MEt2SDdmVzRmUytxN0tLQkp4c2dnQlg1cFNBR2gxaklyVmg1elE2dzNSZmFhaEJYbS9hQ2JDWlRqQ1VGVVR5V1pxVzlwNjJNakpQWFZxT3JQZ01PNE52NzRHa2Yrb3dmdE5WQkRRbmpGSnFIU3cxN3BYdmhXVzVLWnFlL1E0OU4vVVNUQ0FWV29RWEZJSEJIWFhlM0ZQclVEc3VHRG10Ri9oSEtUSHBla3hoaUFPUEkrU0pxNlM2SEY0STlZV3prQkpUbzQ2aVVNeldwOFBpci9SaWR1THhLWXNTa3NWOHZMbE9RdmhHWDJZbFIwT0JoQmpDK3UvZ0VjdlkwQXBLN1lrNDFOeGpQU1FuV0ZIVEY2NlVyamdldkI4Q3U1YStsMnZZU1JQdHVWRG83M2hoZE1TSG5VWDd0VGpzVlpHeEFsL1dwdGlPSUVRMWduTDI5bVg2L3RSMXRtbGtZajhXNFgrQ1NqV2NVREdZMU5wUy9DN2hTS3FpTUxNL2wyUW1TV1o3M0RkeitnaW84QkNFTllQUTQ2cW5rendYVWJxdkJreGpVUXNXZlpGZ2J1bzNyQWYrd043ak9POTAreW54NFBpM0wrMG5ZTDFTY2hEVWdBUDRnUFYvN0lkMXErMUhTaG11R2tJcVdSUGd5eE1GcVA4SGZqVG5qWHdZNWJRZmJKY3Q2T0l6S2dNSG90Ri9IZTFlZ3NheEhTcUc2d2ZkbVE1eDhOeVRGRnFCY3AyaVNvd0hSM3lrNSszNmhGN3ZYQUFBQUFFbEZUa1N1UW1DQyIsImF1dGhlbnRpY2F0b3JHZXRJbmZvIjp7InZlcnNpb25zIjpbIlUyRl9WMiIsIkZJRE9fMl8wIiwiRklET18yXzFfUFJFIl0sImV4dGVuc2lvbnMiOlsiY3JlZFByb3RlY3QiLCJobWFjLXNlY3JldCJdLCJhYWd1aWQiOiJjMWY5YTBiYzFkZDI0MDRhYjI3ZjhlMjkwNDdhNDNmZCIsIm9wdGlvbnMiOnsicGxhdCI6ZmFsc2UsInJrIjp0cnVlLCJjbGllbnRQaW4iOmZhbHNlLCJ1cCI6dHJ1ZSwiY3JlZGVudGlhbE1nbXRQcmV2aWV3Ijp0cnVlfSwibWF4TXNnU2l6ZSI6MTIwMCwicGluVXZBdXRoUHJvdG9jb2xzIjpbMiwxXSwibWF4Q3JlZGVudGlhbENvdW50SW5MaXN0Ijo4LCJtYXhDcmVkZW50aWFsSWRMZW5ndGgiOjEyOCwidHJhbnNwb3J0cyI6WyJuZmMiLCJ1c2IiXSwiYWxnb3JpdGhtcyI6W3sidHlwZSI6InB1YmxpYy1rZXkiLCJhbGciOi03fSx7InR5cGUiOiJwdWJsaWMta2V5IiwiYWxnIjotOH1dLCJtaW5QSU5MZW5ndGgiOjYsImZpcm13YXJlVmVyc2lvbiI6MzI4NzA2LCJjZXJ0aWZpY2F0aW9ucyI6eyJGSVBTLUNNVlAtMiI6MiwiRklQUy1DTVZQLTItUEhZIjozfX19LCJzdGF0dXNSZXBvcnRzIjpbeyJzdGF0dXMiOiJGSURPX0NFUlRJRklFRF9MMSIsImVmZmVjdGl2ZURhdGUiOiIyMDIxLTAyLTE4IiwiY2VydGlmaWNhdGlvbkRlc2NyaXB0b3IiOiJZSyA1IEZJUFMiLCJjZXJ0aWZpY2F0ZU51bWJlciI6IkZJRE8yMDAyMDIxMDExODAwNCIsImNlcnRpZmljYXRpb25Qb2xpY3lWZXJzaW9uIjoiMS4zLjciLCJjZXJ0aWZpY2F0aW9uUmVxdWlyZW1lbnRzVmVyc2lvbiI6IjEuMyJ9XSwidGltZU9mTGFzdFN0YXR1c0NoYW5nZSI6IjIwMjEtMDItMTgifSx7ImFhZ3VpZCI6IjUwNGQ3MTQ5LTRlNGMtMzg0MS00NTU1LTU1NDQ1YTY3NzM1NyIsIm1ldGFkYXRhU3RhdGVtZW50Ijp7ImxlZ2FsSGVhZGVyIjoiaHR0cHM6Ly9maWRvYWxsaWFuY2Uub3JnL21ldGFkYXRhL21ldGFkYXRhLXN0YXRlbWVudC1sZWdhbC1oZWFkZXIvIiwiYWFndWlkIjoiNTA0ZDcxNDktNGU0Yy0zODQxLTQ1NTUtNTU0NDVhNjc3MzU3IiwiZGVzY3JpcHRpb24iOiJXaVNFQ1VSRSBBdXRoVHJvbiBVU0IgRklETzIgQXV0aGVudGljYXRvciIsImFsdGVybmF0aXZlRGVzY3JpcHRpb25zIjp7InpoLVRXIjoiV2lTRUNVUkUgQXV0aFRyb24gVVNCIEZJRE8yIOi6q-S7vempl-itieWZqCJ9LCJhdXRoZW50aWNhdG9yVmVyc2lvbiI6MiwicHJvdG9jb2xGYW1pbHkiOiJmaWRvMiIsInNjaGVtYSI6MywidXB2IjpbeyJtYWpvciI6MSwibWlub3IiOjF9XSwiYXV0aGVudGljYXRpb25BbGdvcml0aG1zIjpbInNlY3AyNTZyMV9lY2RzYV9zaGEyNTZfcmF3Il0sInB1YmxpY0tleUFsZ0FuZEVuY29kaW5ncyI6WyJjb3NlIl0sImF0dGVzdGF0aW9uVHlwZXMiOlsiYmFzaWNfZnVsbCJdLCJ1c2VyVmVyaWZpY2F0aW9uRGV0YWlscyI6W1t7InVzZXJWZXJpZmljYXRpb25NZXRob2QiOiJwYXNzY29kZV9leHRlcm5hbCIsImNhRGVzYyI6eyJiYXNlIjoxMCwibWluTGVuZ3RoIjo0LCJtYXhSZXRyaWVzIjo4LCJibG9ja1Nsb3dkb3duIjowfX1dLFt7InVzZXJWZXJpZmljYXRpb25NZXRob2QiOiJwcmVzZW5jZV9pbnRlcm5hbCJ9XV0sImtleVByb3RlY3Rpb24iOlsiaGFyZHdhcmUiLCJzZWN1cmVfZWxlbWVudCJdLCJtYXRjaGVyUHJvdGVjdGlvbiI6WyJvbl9jaGlwIl0sImNyeXB0b1N0cmVuZ3RoIjoxMjgsImF0dGFjaG1lbnRIaW50IjpbImV4dGVybmFsIiwid2lyZWQiXSwidGNEaXNwbGF5IjpbXSwiYXR0ZXN0YXRpb25Sb290Q2VydGlmaWNhdGVzIjpbIk1JSURSakNDQXUyZ0F3SUJBZ0lVWlBoU0R0eEk1bGcycWd5KzdJR0RKaEdxUE9nd0NnWUlLb1pJemowRUF3SXdnWWN4Q3pBSkJnTlZCQVlUQWxSWE1ROHdEUVlEVlFRSURBWlVZV2x3WldreEVqQVFCZ05WQkFjTUNWTnZiV1YzYUdWeVpURVdNQlFHQTFVRUNnd05WMmxUUlVOVlVrVWdTVzVqTGpFZ01CNEdDU3FHU0liM0RRRUpBUllSWVdSdGFXNUFaWGhoYlhCc1pTNXZjbWN4R1RBWEJnTlZCQU1NRUZkcFUwVkRWVkpGSUZKdmIzUWdRMEV3SGhjTk1qRXdNVEk0TURneU56SXdXaGNOTXpFd01USTJNRGd5TnpJd1dqQ0JoekVMTUFrR0ExVUVCaE1DVkZjeER6QU5CZ05WQkFnTUJsUmhhWEJsYVRFU01CQUdBMVVFQnd3SlUyOXRaWGRvWlhKbE1SWXdGQVlEVlFRS0RBMVhhVk5GUTFWU1JTQkpibU11TVNBd0hnWUpLb1pJaHZjTkFRa0JGaEZoWkcxcGJrQmxlR0Z0Y0d4bExtOXlaekVaTUJjR0ExVUVBd3dRVjJsVFJVTlZVa1VnVW05dmRDQkRRVEJaTUJNR0J5cUdTTTQ5QWdFR0NDcUdTTTQ5QXdFSEEwSUFCQmlXdkZhZi9JaEZNT1dOcWx3ZXFyNEdmTzBtdS8xQjE4SjAzT0crcFNsdFJpeDlHalJvakJ5YTRMQVJ5WE1QOG53MlhoOVB2d09CbTlRZWRNQzY2WEdqZ2dFek1JSUJMekFkQmdOVkhRNEVGZ1FVZCtZdmo2STNZOGNLSDNRUk5MbEM4L09wOTdjd2djY0dBMVVkSXdTQnZ6Q0J2SUFVZCtZdmo2STNZOGNLSDNRUk5MbEM4L09wOTdlaGdZMmtnWW93Z1ljeEN6QUpCZ05WQkFZVEFsUlhNUTh3RFFZRFZRUUlEQVpVWVdsd1pXa3hFakFRQmdOVkJBY01DVk52YldWM2FHVnlaVEVXTUJRR0ExVUVDZ3dOVjJsVFJVTlZVa1VnU1c1akxqRWdNQjRHQ1NxR1NJYjNEUUVKQVJZUllXUnRhVzVBWlhoaGJYQnNaUzV2Y21jeEdUQVhCZ05WQkFNTUVGZHBVMFZEVlZKRklGSnZiM1FnUTBHQ0ZHVDRVZzdjU09aWU5xb012dXlCZ3lZUnFqem9NQXdHQTFVZEV3RUIvd1FDTUFBd05nWURWUjBmQkM4d0xUQXJvQ21nSjRZbGFIUjBjRG92TDNkM2R5NWxlR0Z0Y0d4bExtOXlaeTlsZUdGdGNHeGxYMk5oTG1OeWJEQUtCZ2dxaGtqT1BRUURBZ05IQURCRUFpQmYzcDhMSjNQbGZNc3hUeldnakhhYWw2dXpJbzV0eDNvK0VVeWJkRFk0b2dJZ1Y2blIxTVVFMXdLejF1Qzcva0VOZy9GcEpPZXRGYUplUGNnb25lRXdzS0E9IiwiIE1JSURFakNDQXJlZ0F3SUJBZ0lVTEtMQlNWd0RxOWl0M3ArMHl2eUNQazJGRkxvd0NnWUlLb1pJemowRUF3SXdkakVMTUFrR0ExVUVCaE1DVkZjeER6QU5CZ05WQkFnTUJsUmhhWEJsYVRFUE1BMEdBMVVFQnd3R1ZHRnBkMkZ1TVNvd0tBWURWUVFLRENGWGFWTkZRMVZTUlNCVVpXTm9ibTlzYjJkcFpYTWdRMjl5Y0c5eVlYUnBiMjR4R1RBWEJnTlZCQU1NRUZkcFUwVkRWVkpGSUZKdmIzUWdRMEV3SUJjTk1qRXdOREEzTVRFeE5qQTBXaGdQTWpBM01UQXpNall4TVRFMk1EUmFNSFl4Q3pBSkJnTlZCQVlUQWxSWE1ROHdEUVlEVlFRSURBWlVZV2x3WldreER6QU5CZ05WQkFjTUJsUmhhWGRoYmpFcU1DZ0dBMVVFQ2d3aFYybFRSVU5WVWtVZ1ZHVmphRzV2Ykc5bmFXVnpJRU52Y25CdmNtRjBhVzl1TVJrd0Z3WURWUVFEREJCWGFWTkZRMVZTUlNCU2IyOTBJRU5CTUZrd0V3WUhLb1pJemowQ0FRWUlLb1pJemowREFRY0RRZ0FFRUhVZXdQcFdieFFyS0I3emxJbUd0U0YwMW1LSEpRMmY0YWlKdlVVSnRDZ20rTE1KSG1CYzBJTWVGVk0wSGJOTXNwWHVjVVE5M2ZjS2pCeTE4dkVBZ3FPQ0FSOHdnZ0ViTUIwR0ExVWREZ1FXQkJUSHd6Y0ozWG9SYzM3M1k3TlhJc2EySWVwa2V6Q0Jzd1lEVlIwakJJR3JNSUdvZ0JUSHd6Y0ozWG9SYzM3M1k3TlhJc2EySWVwa2U2RjZwSGd3ZGpFTE1Ba0dBMVVFQmhNQ1ZGY3hEekFOQmdOVkJBZ01CbFJoYVhCbGFURVBNQTBHQTFVRUJ3d0dWR0ZwZDJGdU1Tb3dLQVlEVlFRS0RDRlhhVk5GUTFWU1JTQlVaV05vYm05c2IyZHBaWE1nUTI5eWNHOXlZWFJwYjI0eEdUQVhCZ05WQkFNTUVGZHBVMFZEVlZKRklGSnZiM1FnUTBHQ0ZDeWl3VWxjQTZ2WXJkNmZ0TXI4Z2o1TmhSUzZNQXdHQTFVZEV3RUIvd1FDTUFBd05nWURWUjBmQkM4d0xUQXJvQ21nSjRZbGFIUjBjRG92TDNkM2R5NWxlR0Z0Y0d4bExtOXlaeTlsZUdGdGNHeGxYMk5oTG1OeWJEQUtCZ2dxaGtqT1BRUURBZ05KQURCR0FpRUF2eEMrRnJwR0lITDdXcDl1NWQ1UHR5RWFPeFNaTVplVU5jYzd2azIzUmE4Q0lRRHViT3k1S0Nua3lWZkhyK09yUGZOKzhJc0RqVGk3ckdTV1dpaDlCMlkvWlE9PSJdLCJpY29uIjoiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDQUFBQUFnQ0FJQUFBRDhHTzJqQUFBQUNYQklXWE1BQUM0akFBQXVJd0Y0cFQ5MkFBQUtUMmxEUTFCUWFHOTBiM05vYjNBZ1NVTkRJSEJ5YjJacGJHVUFBSGphblZOblZGUHBGajMzM3ZSQ1M0aUFsRXR2VWhVSUlGSkNpNEFVa1NZcUlRa1FTb2dob2RrVlVjRVJSVVVFRzhpZ2lBT09qb0NNRlZFc0RJb0syQWZrSWFLT2c2T0lpc3I3NFh1amE5YTg5K2JOL3JYWFB1ZXM4NTJ6endmQUNBeVdTRE5STllBTXFVSWVFZUNEeDhURzRlUXVRSUVLSkhBQUVBaXpaQ0Z6L1NNQkFQaCtQRHdySXNBSHZnQUJlTk1MQ0FEQVRadkFNQnlIL3cvcVFwbGNBWUNFQWNCMGtUaExDSUFVQUVCNmprS21BRUJHQVlDZG1DWlRBS0FFQUdETFkyTGpBRkF0QUdBbmYrYlRBSUNkK0psN0FRQmJsQ0VWQWFDUkFDQVRaWWhFQUdnN0FLelBWb3BGQUZnd0FCUm1TOFE1QU5ndEFEQkpWMlpJQUxDM0FNRE9FQXV5QUFnTUFEQlJpSVVwQUFSN0FHRElJeU40QUlTWkFCUkc4bGM4OFN1dUVPY3FBQUI0bWJJOHVTUTVSWUZiQ0MxeEIxZFhMaDRvemtrWEt4UTJZUUpobWtBdXdubVpHVEtCTkEvZzg4d0FBS0NSRlJIZ2cvUDllTTRPcnM3T05vNjJEbDh0NnI4Ry95SmlZdVArNWMrcmNFQUFBT0YwZnRIK0xDK3pHb0E3Qm9CdC9xSWw3Z1JvWGd1Z2RmZUxacklQUUxVQW9PbmFWL053K0g0OFBFV2hrTG5aMmVYazVOaEt4RUpiWWNwWGZmNW53bC9BVi8xcytYNDgvUGYxNEw3aUpJRXlYWUZIQlBqZ3dzejBUS1VjejVJSmhHTGM1bzlIL0xjTC8vd2QweUxFU1dLNVdDb1U0MUVTY1k1RW1venpNcVVpaVVLU0tjVWwwdjlrNHQ4cyt3TSszelVBc0dvK0FYdVJMYWhkWXdQMlN5Y1FXSFRBNHZjQUFQSzdiOEhVS0FnRGdHaUQ0YzkzLys4Ly9VZWdKUUNBWmttU2NRQUFYa1FrTGxUS3N6L0hDQUFBUktDQktyQkJHL1RCR0N6QUJoekJCZHpCQy94Z05vUkNKTVRDUWhCQ0NtU0FISEpnS2F5Q1FpaUd6YkFkS21BdjFFQWROTUJSYUlhVGNBNHV3bFc0RGoxd0QvcGhDSjdCS0x5QkNRUkJ5QWdUWVNIYWlBRmlpbGdqamdnWG1ZWDRJY0ZJQkJLTEpDREppQlJSSWt1Uk5VZ3hVb3BVSUZWSUhmSTljZ0k1aDF4R3VwRTd5QUF5Z3Z5R3ZFY3hsSUd5VVQzVURMVkR1YWczR29SR29ndlFaSFF4bW84V29KdlFjclFhUFl3Mm9lZlFxMmdQMm84K1E4Y3d3T2dZQnpQRWJEQXV4c05Dc1Rnc0NaTmp5N0VpckF5cnhocXdWcXdEdTRuMVk4K3hkd1FTZ1VYQUNUWUVkMElnWVI1QlNGaE1XRTdZU0tnZ0hDUTBFZG9KTndrRGhGSENKeUtUcUV1MEpyb1IrY1FZWWpJeGgxaElMQ1BXRW84VEx4QjdpRVBFTnlRU2lVTXlKN21RQWtteHBGVFNFdEpHMG01U0kra3NxWnMwU0Jvams4bmFaR3V5QnptVUxDQXJ5SVhrbmVURDVEUGtHK1FoOGxzS25XSkFjYVQ0VStJb1VzcHFTaG5sRU9VMDVRWmxtREpCVmFPYVV0Mm9vVlFSTlk5YVFxMmh0bEt2VVllb0V6UjFtam5OZ3haSlM2V3RvcFhUR21nWGFQZHByK2gwdWhIZGxSNU9sOUJYMHN2cFIraVg2QVAwZHd3TmhoV0R4NGhuS0JtYkdBY1laeGwzR0srWVRLWVowNHNaeDFRd056SHJtT2VaRDVsdlZWZ3F0aXA4RlpIS0NwVktsU2FWR3lvdlZLbXFwcXJlcWd0VjgxWExWSStwWGxOOXJrWlZNMVBqcVFuVWxxdFZxcDFRNjFNYlUyZXBPNmlIcW1lb2IxUS9wSDVaL1lrR1djTk13MDlEcEZHZ3NWL2p2TVlnQzJNWnMzZ3NJV3NOcTRaMWdUWEVKckhOMlh4MktydVkvUjI3aXoycXFhRTVRek5LTTFlelV2T1VaajhINDVoeCtKeDBUZ25uS0tlWDgzNkszaFR2S2VJcEc2WTBUTGt4WlZ4cnFwYVhsbGlyU0t0UnEwZnJ2VGF1N2FlZHByMUZ1MW43Z1E1Qngwb25YQ2RIWjQvT0JaM25VOWxUM2FjS3B4Wk5QVHIxcmk2cWE2VWJvYnRFZDc5dXArNllucjVlZ0o1TWI2ZmVlYjNuK2h4OUwvMVUvVzM2cC9WSERGZ0dzd3drQnRzTXpoZzh4VFZ4Ynp3ZEw4ZmI4VkZEWGNOQVE2VmhsV0dYNFlTUnVkRThvOVZHalVZUGpHbkdYT01rNDIzR2JjYWpKZ1ltSVNaTFRlcE43cHBTVGJtbUthWTdURHRNeDgzTXphTE4xcGsxbXoweDF6TG5tK2ViMTV2ZnQyQmFlRm9zdHFpMnVHVkpzdVJhcGxudXRyeHVoVm81V2FWWVZWcGRzMGF0bmEwbDFydXR1NmNScDdsT2swNnJudFpudzdEeHRzbTJxYmNac09YWUJ0dXV0bTIyZldGblloZG50OFd1dys2VHZaTjl1bjJOL1QwSERZZlpEcXNkV2gxK2M3UnlGRHBXT3Q2YXpwenVQMzNGOUpicEwyZFl6eERQMkRQanRoUExLY1JwblZPYjAwZG5GMmU1YzRQemlJdUpTNExMTHBjK0xwc2J4dDNJdmVSS2RQVnhYZUY2MHZXZG03T2J3dTJvMjYvdU51NXA3b2Zjbjh3MG55bWVXVE56ME1QSVErQlI1ZEUvQzUrVk1HdmZySDVQUTArQlo3WG5JeTlqTDVGWHJkZXd0NlYzcXZkaDd4Yys5ajV5bitNKzR6dzMzakxlV1YvTU44QzN5TGZMVDhOdm5sK0YzME4vSS85ay8zci8wUUNuZ0NVQlp3T0pnVUdCV3dMNytIcDhJYitPUHpyYlpmYXkyZTFCaktDNVFSVkJqNEt0Z3VYQnJTRm95T3lRclNIMzU1ak9rYzVwRG9WUWZ1alcwQWRoNW1HTHczNE1KNFdIaFZlR1A0NXdpRmdhMFRHWE5YZlIzRU56MzBUNlJKWkUzcHRuTVU4NXJ5MUtOU28rcWk1cVBObzN1alM2UDhZdVpsbk0xVmlkV0Vsc1N4dzVMaXF1Tm01c3Z0Lzg3Zk9INHAzaUMrTjdGNWd2eUYxd2VhSE93dlNGcHhhcExoSXNPcFpBVEloT09KVHdRUkFxcUJhTUpmSVRkeVdPQ25uQ0hjSm5JaS9STnRHSTJFTmNLaDVPOGtncVRYcVM3Skc4Tlhra3hUT2xMT1c1aENlcGtMeE1EVXpkbXpxZUZwcDJJRzB5UFRxOU1ZT1NrWkJ4UXFvaFRaTzJaK3BuNW1aMnk2eGxoYkwreFc2THR5OGVsUWZKYTdPUXJBVlpMUXEyUXFib1ZGb28xeW9Ic21kbFYyYS96WW5LT1phcm5pdk43Y3l6eXR1UU41enZuLy90RXNJUzRaSzJwWVpMVnkwZFdPYTlyR281c2p4eGVkc0s0eFVGSzRaV0Jxdzh1SXEyS20zVlQ2dnRWNWV1ZnIwbWVrMXJnVjdCeW9MQnRRRnI2d3RWQ3VXRmZldmMxKzFkVDFndldkKzFZZnFHblJzK0ZZbUtyaFRiRjVjVmY5Z28zSGpsRzRkdnlyK1ozSlMwcWF2RXVXVFBadEptNmViZUxaNWJEcGFxbCthWERtNE4yZHEwRGQ5V3RPMzE5a1hiTDVmTktOdTdnN1pEdWFPL1BMaThaYWZKenMwN1AxU2tWUFJVK2xRMjd0TGR0V0hYK0c3UjdodDd2UFkwN05YYlc3ejMvVDdKdnR0VkFWVk4xV2JWWmZ0Sis3UDNQNjZKcXVuNGx2dHRYYTFPYlhIdHh3UFNBLzBISXc2MjE3blUxUjNTUFZSU2o5WXI2MGNPeHgrKy9wM3ZkeTBOTmcxVmpaekc0aU53UkhuazZmY0ozL2NlRFRyYWRveDdyT0VIMHg5MkhXY2RMMnBDbXZLYVJwdFRtdnRiWWx1NlQ4dyswZGJxM25yOFI5c2ZENXcwUEZsNVN2TlV5V25hNllMVGsyZnl6NHlkbFoxOWZpNzUzR0Rib3JaNzUyUE8zMm9QYisrNkVIVGgwa1gvaStjN3ZEdk9YUEs0ZFBLeTIrVVRWN2hYbXE4NlgyM3FkT284L3BQVFQ4ZTduTHVhcnJsY2E3bnVlcjIxZTJiMzZSdWVOODdkOUwxNThSYi8xdFdlT1QzZHZmTjZiL2ZGOS9YZkZ0MStjaWY5enN1NzJYY243cTI4VDd4ZjlFRHRRZGxEM1lmVlAxdiszTmp2M0g5cXdIZWc4OUhjUi9jR2hZUFAvcEgxanc5REJZK1pqOHVHRFlicm5qZytPVG5pUDNMOTZmeW5RODlrenlhZUYvNmkvc3V1RnhZdmZ2alY2OWZPMFpqUm9aZnlsNU8vYlh5bC9lckE2eG12MjhiQ3hoNit5WGd6TVY3MFZ2dnR3WGZjZHgzdm85OFBUK1I4SUg4by8yajVzZlZUMEtmN2t4bVRrLzhFQTVqei9HTXpMZHNBQUFBZ1kwaFNUUUFBZWlVQUFJQ0RBQUQ1L3dBQWdPa0FBSFV3QUFEcVlBQUFPcGdBQUJkdmtsL0ZSZ0FBQXRoSlJFRlVlTnJzbHQ5TGsxRVl4Ny92TnRlMHZYT2s3eVM3cXlXQll2bmpJa3RHVTB2REN3a3RWNEtYcHYzd0IvNEJCaUlhL1FDMXdqa1ZVeE5zVXV1dXpkMWs2aUJMQ3hJRnpjRFhPVFp3WThyMnNyMXJwNHVYWnVvZ2dyeUpmUzhlZUw2YzUzdzQ1K0U1SElvUWdvT1VDQWVzR0NBR2lBRUF5WDZMWmRuMTlYV0dZZFJxOVQ4Z2tOMXFhMjBWRGxWWmNaVVFZcHVaS1MwdEhUY2E5eXd6Nkh1cnE2cy96czZTUDJrWHdHSTJBempLcUhRNjNmdDNrNFNRcG9ZR0FNV0ZSWHZLTG1vTEFBd09EUHdkb0xkSEQyQmthT2gzODQzSjVISzU5cFRWMWR3RThHcDhmUCtPUzR0TDVyZm1INkdRa083MG9MdXpjMmp3dVNvcDJkQnJPQ3luazVLTzlQWDNaMlprTUNrcHF5dmZHSVlCY0wrOXcycWRLQ29xQ2dRQ0FIaWVGMm9mUDN4a01yMVcwSXJhdWxwdFFZSFA3d05GN2UyQk5sOERJTzM0Q1FBTmQrdTd1N29BU0VBQnFLdXBKWVJVNmE0RG9HWHhxYW9VcFp3V0E5YUpDVUpJNFFVdGdGUHFrd25TUXdENjlQcm9WeFFNQnR2YjJpaUtldERSd2ZOOEtCVGlPTzdaazZjQStub05MTXNDeU1vOHpmbjlITWZsbk1rQ3NMUzRPRDAxRFVCMzlSb2h4T2wweWhNUzRpaVIzVzZQYkxzekIzRnhjYlJDUVFoUkpDWktKQkt4V0N5VHllUnlHb0JVS3YweS94bUFUbGNwaTQrWHlXUWFqUWFBeitlYm1wd0VVRjVSRGtDbFVoVnFDM2dTbnArYml6NEhuTjhQd08vM1I1eEFnTXZOems1bWtrV1VDTURxNm5mQmR6ZzJCREN0VUFCd09sMi9mSWRBaWc0SUJvT1JLSWpuZVFWTmIzbTNpaStYaUVIcCt3enBHZWx1dC91bDBRZ2dFQWlVWFNtN2RlZjJ2WmFXdExTMGhZV3ZIK1krNVovTnk4bk5qZjVVU0NTU1NJdzQ0WERZNGRoUUtwWER3OE5paXFwdmJCd2RlVkYxb3dvQXU3YVdtbnJNMEtQZjN0NitWRkxjMU54OFB1L2M2TmlZU0NTS1Bza2V0MmQ1ZWRuajhVUWNyOWRyWDdlNzNadEN5ckpyVnFzMUhBNFRRcFpYVnJ4ZXIrQzdOOTBXaThWbXMrMGZDeXIycTRnQllvRC9BUEJ6QUk2Vk5xR1FQVXFuQUFBQUFFbEZUa1N1UW1DQyIsImF1dGhlbnRpY2F0b3JHZXRJbmZvIjp7InZlcnNpb25zIjpbIlUyRl9WMiIsIkZJRE9fMl8wIl0sImV4dGVuc2lvbnMiOlsiaG1hYy1zZWNyZXQiXSwiYWFndWlkIjoiNTA0ZDcxNDk0ZTRjMzg0MTQ1NTU1NTQ0NWE2NzczNTciLCJvcHRpb25zIjp7InBsYXQiOmZhbHNlLCJyayI6dHJ1ZSwiY2xpZW50UGluIjp0cnVlLCJ1cCI6dHJ1ZX0sIm1heE1zZ1NpemUiOjEyMDAsInBpblV2QXV0aFByb3RvY29scyI6WzFdLCJtYXhDcmVkZW50aWFsQ291bnRJbkxpc3QiOjI1LCJtYXhDcmVkZW50aWFsSWRMZW5ndGgiOjEyOCwidHJhbnNwb3J0cyI6WyJ1c2IiXSwiYWxnb3JpdGhtcyI6W3sidHlwZSI6InB1YmxpYy1rZXkiLCJhbGciOi03fSx7InR5cGUiOiJwdWJsaWMta2V5IiwiYWxnIjotOH1dLCJmaXJtd2FyZVZlcnNpb24iOjJ9fSwic3RhdHVzUmVwb3J0cyI6W3sic3RhdHVzIjoiRklET19DRVJUSUZJRUQiLCJlZmZlY3RpdmVEYXRlIjoiMjAyMS0xMS0xMSJ9LHsic3RhdHVzIjoiRklET19DRVJUSUZJRURfTDEiLCJlZmZlY3RpdmVEYXRlIjoiMjAyMS0xMS0xMSIsImNlcnRpZmljYXRpb25EZXNjcmlwdG9yIjoiQXV0aFRyb24gVVNCIEtleSBGSURPMiIsImNlcnRpZmljYXRlTnVtYmVyIjoiRklETzIwMDIwMjEwNDIxMDAyIiwiY2VydGlmaWNhdGlvblBvbGljeVZlcnNpb24iOiIxLjMiLCJjZXJ0aWZpY2F0aW9uUmVxdWlyZW1lbnRzVmVyc2lvbiI6IjEuMyJ9XSwidGltZU9mTGFzdFN0YXR1c0NoYW5nZSI6IjIwMjEtMTEtMTEifSx7ImF0dGVzdGF0aW9uQ2VydGlmaWNhdGVLZXlJZGVudGlmaWVycyI6WyIzYmMxMjExYzEyZDk1MmEzMmIwM2M1NWI4OGQzZWE2ZjdkMTUyZjE4IiwiOGRjMmE2ZjI5M2VhNDg0NWJiNzZhNDJjNDJiODk2MDFhYWI1NDdmOCJdLCJtZXRhZGF0YVN0YXRlbWVudCI6eyJsZWdhbEhlYWRlciI6Imh0dHBzOi8vZmlkb2FsbGlhbmNlLm9yZy9tZXRhZGF0YS9tZXRhZGF0YS1zdGF0ZW1lbnQtbGVnYWwtaGVhZGVyLyIsImF0dGVzdGF0aW9uQ2VydGlmaWNhdGVLZXlJZGVudGlmaWVycyI6WyIzYmMxMjExYzEyZDk1MmEzMmIwM2M1NWI4OGQzZWE2ZjdkMTUyZjE4IiwiOGRjMmE2ZjI5M2VhNDg0NWJiNzZhNDJjNDJiODk2MDFhYWI1NDdmOCJdLCJkZXNjcmlwdGlvbiI6IkdvVHJ1c3QgSWRlbSBLZXkgVTJGIEF1dGhlbnRpY2F0b3IiLCJhdXRoZW50aWNhdG9yVmVyc2lvbiI6MiwicHJvdG9jb2xGYW1pbHkiOiJ1MmYiLCJzY2hlbWEiOjMsInVwdiI6W3sibWFqb3IiOjEsIm1pbm9yIjoxfV0sImF1dGhlbnRpY2F0aW9uQWxnb3JpdGhtcyI6WyJzZWNwMjU2cjFfZWNkc2Ffc2hhMjU2X3JhdyJdLCJwdWJsaWNLZXlBbGdBbmRFbmNvZGluZ3MiOlsiZWNjX3g5NjJfcmF3Il0sImF0dGVzdGF0aW9uVHlwZXMiOlsiYmFzaWNfZnVsbCJdLCJ1c2VyVmVyaWZpY2F0aW9uRGV0YWlscyI6W1t7InVzZXJWZXJpZmljYXRpb25NZXRob2QiOiJwcmVzZW5jZV9pbnRlcm5hbCJ9XV0sImtleVByb3RlY3Rpb24iOlsiaGFyZHdhcmUiLCJzZWN1cmVfZWxlbWVudCIsInJlbW90ZV9oYW5kbGUiXSwibWF0Y2hlclByb3RlY3Rpb24iOlsib25fY2hpcCJdLCJjcnlwdG9TdHJlbmd0aCI6MTI4LCJhdHRhY2htZW50SGludCI6WyJleHRlcm5hbCIsIndpcmVkIiwid2lyZWxlc3MiLCJuZmMiXSwidGNEaXNwbGF5IjpbXSwiYXR0ZXN0YXRpb25Sb290Q2VydGlmaWNhdGVzIjpbIk1JSUJxVENDQVUrZ0F3SUJBZ0lCQVRBS0JnZ3Foa2pPUFFRREFqQTdNU0F3SGdZRFZRUUREQmRIYjFSeWRYTjBJRVpKUkU4eUlGSnZiM1FnUTBFZ01URVhNQlVHQTFVRUNnd09SMjlVY25WemRFbEVJRWx1WXk0d0lCY05NakV3TXpBeU1EWXhPRFE0V2hnUE1qQTFNVEF5TWpNd05qRTRORGhhTURzeElEQWVCZ05WQkFNTUYwZHZWSEoxYzNRZ1JrbEVUeklnVW05dmRDQkRRU0F4TVJjd0ZRWURWUVFLREE1SGIxUnlkWE4wU1VRZ1NXNWpMakJaTUJNR0J5cUdTTTQ5QWdFR0NDcUdTTTQ5QXdFSEEwSUFCSXprTWR0Tlp0MFpPek8rdTFmMkVLWlJTbmZodnl3YmhvbkJGOU5TUHEyV0c3bnVSaS95dlo4bERqd3A1ZGFyUTZPZFpnK0hxYlNTZVhKWHc3VXBjbFNqUWpCQU1BOEdBMVVkRXdRSU1BWUJBZjhDQVFBd0RnWURWUjBQQVFIL0JBUURBZ0VHTUIwR0ExVWREZ1FXQkJSald4VG8xRXEzM1pyeGZMRFdzc2RkYkQvdlpUQUtCZ2dxaGtqT1BRUURBZ05JQURCRkFpQitFMDlHem1jWWxNOTVxVC9hZm5QVTlxNlhKbXhPU0tXQVJPNStrZ1VuV2dJaEFJYTluNXA0MHRjR2ZtZUY2L1d2WW9qQU51eWtRcWhWazhXbmZnMTVTNjlyIiwiTUlJQnp6Q0NBWGFnQXdJQkFnSUNBU0F3Q2dZSUtvWkl6ajBFQXdJd096RWdNQjRHQTFVRUF3d1hSMjlVY25WemRDQkdTVVJQTWlCU2IyOTBJRU5CSURFeEZ6QVZCZ05WQkFvTURrZHZWSEoxYzNSSlJDQkpibU11TUNJWUR6SXdNVGt4TWpBME1EWTFPVFF3V2hnUE1qQTFNVEEwTURjd016QTFNREJhTURzeElEQWVCZ05WQkFNTUYwZHZWSEoxYzNRZ1JrbEVUeklnVW05dmRDQkRRU0F4TVJjd0ZRWURWUVFLREE1SGIxUnlkWE4wU1VRZ1NXNWpMakJaTUJNR0J5cUdTTTQ5QWdFR0NDcUdTTTQ5QXdFSEEwSUFCQTVtallzam93QUkwam5waS8vQ0ozS256aEdiVFVtc3ROV3FONzhpb0cxQ1RLOWdQZ1BsOVVpRk9KTy92K0ZmRksrUHh2MTBjNjA0ZHZsSURBYkt3K2lqWmpCa01CSUdBMVVkRXdFQi93UUlNQVlCQWY4Q0FRQXdEZ1lEVlIwUEFRSC9CQVFEQWdFR01CMEdBMVVkRGdRV0JCU2dXdFkwbkVjbVBtR0RMdUN3Y2VLZUpQU2NvekFmQmdOVkhTTUVHREFXZ0JTZ1d0WTBuRWNtUG1HREx1Q3djZUtlSlBTY296QUtCZ2dxaGtqT1BRUURBZ05IQURCRUFpQWtyTE01VjNEbkQwWGNWVUZXK05NRmNCWkNPMUZ4eVl6NFZrUEgzQTdLR1FJZ0hheVRmVTg4b0lFaU1OYXgxM3RnWmFvaGhNQVhFTWpxVHlJdGJjVFQ4UWM9IiwiTUlJQnpUQ0NBWE9nQXdJQkFnSUpBTFMzU2liR0RYVFBNQW9HQ0NxR1NNNDlCQU1DTURzeElEQWVCZ05WQkFNTUYwZHZWSEoxYzNRZ1JrbEVUeklnVW05dmRDQkRRU0F4TVJjd0ZRWURWUVFLREE1SGIxUnlkWE4wU1VRZ1NXNWpMakFlRncweE9URXlNRFF3TmpVNU5EQmFGdzAwT1RFeE1qWXdOalU1TkRCYU1Ec3hJREFlQmdOVkJBTU1GMGR2VkhKMWMzUWdSa2xFVHpJZ1VtOXZkQ0JEUVNBeE1SY3dGUVlEVlFRS0RBNUhiMVJ5ZFhOMFNVUWdTVzVqTGpCWk1CTUdCeXFHU000OUFnRUdDQ3FHU000OUF3RUhBMElBQkE1bWpZc2pvd0FJMGpucGkvL0NKM0tuemhHYlRVbXN0TldxTjc4aW9HMUNUSzlnUGdQbDlVaUZPSk8vditGZkZLK1B4djEwYzYwNGR2bElEQWJLdytpallEQmVNQXdHQTFVZEV3RUIvd1FDTUFBd0RnWURWUjBQQVFIL0JBUURBZ0VHTUIwR0ExVWREZ1FXQkJTZ1d0WTBuRWNtUG1HREx1Q3djZUtlSlBTY296QWZCZ05WSFNNRUdEQVdnQlNnV3RZMG5FY21QbUdETHVDd2NlS2VKUFNjb3pBS0JnZ3Foa2pPUFFRREFnTklBREJGQWlBeG9WczZxajdEWDJ4aXhDampjRFVkeEJUSm1TVExiMGYxclJHd3JBQnpUUUloQVB0MFAzMnF6QWVlcEY0Ly90Z3p4cU5vS2tXRGNhUFBTWHJnK3h6cmxWSHciXSwiaWNvbiI6ImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0FBQUFBakNBWUFBQUQxN2doYUFBQUFCR2RCVFVFQUFMR09mUHRSa3dBQUFDQmpTRkpOQUFDSER3QUFqQThBQVAxU0FBQ0JRQUFBZlhrQUFPbUxBQUE4NVFBQUdjeHpQSVYzQUFBS0wybERRMUJKUTBNZ1VISnZabWxzWlFBQVNNZWRsbmRVVk5jV2g4KzlkM3FoelREU0dYcVRMakNBOUM0Z0hRUlJHR1lHR01vQXd3eE5iSWlvUUVRUkVRRkZrS0NBQWFPaFNLeUlZaUVvcUdBUFNCQlFZakNLcUtoa1J0WktmSGw1NytYbDk4ZTkzOXBuNzNQMzJYdWZ0UzRBSkU4ZkxpOEZsZ0lnbVNmZ0IzbzQwMWVGUjlDeC9RQUdlSUFCcGdBd1dlbXB2a0h1d1VBa0x6Y1hlcnJJQ2Z5TDNnd0JTUHkrWmVqcFQ2ZUQvMC9TckZTK0FBRElYOFRtYkU0NlM4VDVJazdLRktTSzdUTWlwc1lraWhsR2laa3ZTbERFY21LT1crU2xuMzBXMlZITTdHUWVXOFRpbkZQWnlXd3g5NGg0ZTRhUUkyTEVSOFFGR1Z4T3BvaHZpMWd6U1pqTUZmRmJjV3d5aDVrT0FJb2t0Z3M0ckhnUm00aVl4QThPZEJIeGNnQndwTGd2T09ZTEZuQ3lCT0pEdWFTa1p2TzVjZkVDdWk1TGoyNXFiYzJnZTNJeWt6Z0NnYUUvazVYSTVMUHBMaW5KcVV4ZU5nQ0xaLzRzR1hGdDZhSWlXNXBhVzFvYW1obVpmbEdvLzdyNE55WHU3U0s5Q3ZqY000alc5NGZ0ci94UzZnQmd6SXBxcytzUFc4eCtBRHEyQWlCMy93K2I1aUVBSkVWOWE3L3h4WGxvNG5tSkZ3aFNiWXlOTXpNempiZ2NscEc0b0wvcmZ6cjhEWDN4UFNQeGRyK1hoKzdLaVdVS2t3UjBjZDFZS1VrcFFqNDlQWlhKNHRBTi96ekUvemp3ci9OWUdzaUo1ZkE1UEZGRXFHakt1THc0VWJ0NWJLNkFtOEtqYzNuL3FZbi9NT3hQV3B4cmtTajFud0ExeWdoSTNhQUM1T2MrZ0tJUUFSSjVVTnoxMy92bWd3OEY0cHNYcGpxeE9QZWZCZjM3cm5DSitKSE9qZnNjNXhJWVRHY0orUm1MYStKckNkQ0FBQ1FCRmNnREZhQUJkSUVoTUFOV3dCWTRBamV3QXZpQllCQU8xZ0lXaUFmSmdBOHlRUzdZREFwQUVkZ0Y5b0pLVUFQcVFTTm9BU2RBQnpnTkxvREw0RHE0Q2U2QUIyQUVqSVBuWUFhOEFmTVFCR0VoTWtTQjVDRlZTQXN5Z013Z0JtUVB1VUUrVUNBVURrVkRjUkFQRWtLNTBCYW9DQ3FGS3FGYXFCSDZGam9GWFlDdVFnUFFQV2dVbW9KK2hkN0RDRXlDcWJBeXJBMGJ3d3pZQ2ZhR2crRTFjQnljQnVmQStmQk91QUt1ZzQvQjdmQUYrRHA4Qng2Qm44T3pDRUNJQ0ExUlF3d1JCdUtDK0NFUlNDekNSellnaFVnNVVvZTBJRjFJTDNJTEdVR21rWGNvRElxQ29xTU1VYllvVDFRSWlvVktRMjFBRmFNcVVVZFI3YWdlMUMzVUtHb0c5UWxOUml1aERkQTJhQy8wS25RY09oTmRnQzVITjZEYjBKZlFkOURqNkRjWURJYUcwY0ZZWVR3eDRaZ0V6RHBNTWVZQXBoVnpIak9BR2NQTVlyRlllYXdCMWc3cmgyVmlCZGdDN0g3c01ldzU3Q0IySFBzV1I4U3A0c3h3N3JnSUhBK1hoeXZITmVITzRnWnhFN2g1dkJSZUMyK0Q5OE96OGRuNEVudzl2Z3QvQXorT255ZElFM1FJZG9SZ1FnSmhNNkdDMEVLNFJIaEllRVVrRXRXSjFzUUFJcGU0aVZoQlBFNjhRaHdsdmlQSmtQUkpMcVJJa3BDMGszU0VkSjUwai9TS1RDWnJreDNKRVdRQmVTZTVrWHlSL0pqOFZvSWlZU1RoSmNHVzJDaFJKZEV1TVNqeFFoSXZxU1hwSkxsV01rZXlYUEtrNUEzSmFTbThsTGFVaXhSVGFvTlVsZFFwcVdHcFdXbUt0S20wbjNTeWRMRjBrL1JWNlVrWnJJeTJqSnNNV3laZjVyRE1SWmt4Q2tMUm9MaFFXSlF0bEhyS0pjbzRGVVBWb1hwUkU2aEYxRytvL2RRWldSblpaYktoc2xteVZiSm5aRWRvQ0UyYjVrVkxvcFhRVHRDR2FPK1hLQzl4V3NKWnNtTkp5NUxCSlhOeWluS09jaHk1UXJsV3VUdHk3K1hwOG03eWlmSzc1VHZrSHltZ0ZQUVZBaFF5RlE0cVhGS1lWcVFxMmlxeUZBc1ZUeWplVjRLVjlKVUNsZFlwSFZicVU1cFZWbEgyVUU1VjNxOThVWGxhaGFiaXFKS2dVcVp5Vm1WS2xhSnFyOHBWTFZNOXAvcU1Ma3Qzb2lmUksrZzk5QmsxSlRWUE5hRmFyVnEvMnJ5NmpucUllcDU2cS9vakRZSUdReU5XbzB5alcyTkdVMVhUVnpOWHMxbnp2aFplaTZFVnI3VlBxMWRyVGx0SE8weDdtM2FIOXFTT25JNlhUbzVPczg1RFhiS3VnMjZhYnAzdWJUMk1Ia012VWUrQTNrMTlXTjlDUDE2L1N2K0dBV3hnYWNBMU9HQXdzQlM5MUhvcGIybmQwbUZEa3FHVFlZWmhzK0dvRWMzSXh5alBxTVBvaGJHbWNZVHhidU5lNDA4bUZpWkpKdlVtRDB4bFRGZVk1cGwybWY1cXBtL0dNcXN5dTIxT05uYzMzMmplYWY1eW1jRXl6cktEeSs1YVVDeDhMYlpaZEZ0OHRMU3k1RnUyV0U1WmFWcEZXMVZiRFRPb0RIOUdNZU9LTmRyYTJYcWo5V25yZHphV05nS2JFemEvMkJyYUp0bzIyVTR1MTFuT1dWNi9mTXhPM1k1cFYyczNZayszajdZL1pEL2lvT2JBZEtoemVPS280Y2gyYkhDY2NOSnpTbkE2NXZUQzJjU1o3OXptUE9kaTQ3TGU1YndyNHVyaFd1amE3eWJqRnVKVzZmYllYZDA5enIzWmZjYkR3bU9keDNsUHRLZTM1MjdQWVM5bEw1WlhvOWZNQ3FzVjYxZjBlSk84Zzd3cnZaLzQ2UHZ3ZmJwOFlkOFZ2bnQ4SDY3VVdzbGIyZUVIL0x6ODl2Zzk4dGZ4VC9QL1BnQVQ0QjlRRmZBMDBEUXdON0EzaUJJVUZkUVU5Q2JZT2JnaytFR0lib2d3cER0VU1qUXl0REYwTHN3MXJEUnNaSlh4cXZXcnJvY3JoSFBET3lPd0VhRVJEUkd6cTkxVzcxMDlIbWtSV1JBNXRFWm5UZGFhcTJzVjFpYXRQUk1sR2NXTU9obU5qZzZMYm9yK3dQUmoxakZuWTd4aXFtTm1XQzZzZmF6bmJFZDJHWHVLWThjcDVVekUyc1dXeGs3RzJjWHRpWnVLZDRndmo1L211bkFydVM4VFBCTnFFdVlTL1JLUEpDNGtoU1cxSnVPU281TlA4V1I0aWJ5ZUZKV1VySlNCVklQVWd0U1JOSnUwdldremZHOStRenFVdmlhOVUwQVYvVXoxQ1hXRlc0V2pHZllaVlJsdk0wTXpUMlpKWi9HeStyTDFzM2RrVCtTNDUzeTlEcldPdGE0N1Z5MTNjKzdvZXFmMXRSdWdEVEVidWpkcWJNemZPTDdKWTlQUnpZVE5pWnQveURQSks4MTd2U1ZzUzFlK2N2Nm0vTEd0SGx1YkN5UUsrQVhEMjJ5MzFXeEhiZWR1Nzk5aHZtUC9qaytGN01KclJTWkY1VVVmaWxuRjE3NHkvYXJpcTRXZHNUdjdTeXhMRHU3QzdPTHRHdHJ0c1B0b3FYUnBUdW5ZSHQ4OTdXWDBzc0t5MTN1ajlsNHRYMVplczQrd1Q3aHZwTUtub25PLzV2NWQrejlVeGxmZXFYS3VhcTFXcXQ1UlBYZUFmV0R3b09QQmxocmxtcUthOTRlNGgrN1dldFMyMTJuWGxSL0dITTQ0L0xRK3RMNzNhOGJYalEwS0RVVU5INC93am93Y0RUemEwMmpWMk5pazFGVFNERGNMbTZlT1JSNjcrWTNyTjUwdGhpMjFyYlRXb3VQZ3VQRDRzMitqdngwNjRYMmkreVRqWk10M1d0OVZ0MUhhQ3R1aDl1ejJtWTc0anBITzhNNkJVeXRPZFhmWmRyVjliL1Q5a2ROcXA2dk95SjRwT1VzNG0zOTI0VnpPdWRuenFlZW5MOFJkR091TzZuNXdjZFhGMnowQlBmMlh2QzlkdWV4KytXS3ZVKys1SzNaWFRsKzF1WHJxR3VOYXgzWEw2KzE5Rm4xdFAxajgwTlp2MmQ5K3crcEc1MDNybTEwRHl3Zk9Eam9NWHJqbGV1dnliYS9iMSsrc3ZETXdGREowZHpoeWVPUXUrKzdrdmFSN0wrOW4zSjkvc09raCttSGhJNmxINVkrVkh0ZjlxUGRqNjRqbHlKbFIxOUcrSjBGUEhveXh4cDcvbFA3VGgvSDhwK1NuNVJPcUU0MlRacE9ucDl5bmJqNWIvV3o4ZWVyeitlbUNuNlYvcm42aCsrSzdYeHgvNlp0Wk5UUCtrdjl5NGRmaVYvS3ZqcnhlOXJwNzFuLzI4WnZrTi9OemhXL2wzeDU5eDNqWCt6N3MvY1I4NWdmc2g0cVBlaCs3UG5sL2VyaVF2TER3Ry9lRTgvczNCQ2tlQUFBQUNYQklXWE1BQUE3RUFBQU94QUdWS3c0YkFBQUFJWFJGV0hSRGNtVmhkR2x2YmlCVWFXMWxBREl3TVRnNk1EVTZNamdnTVRZNk5ESTZNVFQ5aHdyZkFBQUlIVWxFUVZSWVI1MVhDMUJVNXhYK2RsbGdRZDRQVVJBZmlTaGFORzFpN0JodG0wNUtVa25UV0IrTlFhMFlHMk9EbGpvT0drMWlPNTFxTkdRY2s5b2tSSnMwNEl3NnB1TjBURXhUYU9zWVM3U1NwaHBmMUtBVkJSWmhXUjRySUx0N2I3L3ozN3ZzUWhhQy9TNy9zdnozdk0vNXovbXg2QVNHQ1oyUC9GZ3M4cGY2NklOZmpNVjRPV3hZemQvRGcrWlhZRUhsSjUvanZnV2I4T2pxSFdoc2NhbjlPMVV1R0Y0RWhNUVUzdHJoUnQ3cWwzR3FzaHBJaUFGOFBxRHJOcFlWNU9IMUYxY2dKam9xS0ZMQ0krSUhOMng0RVRDVi8zemJINUE4Y1JGT1ZWOENSaWNEVVpGQU5KZlZpdklERmFqNjl4ZUtUaWtrajZiUkZIMXc1WUpCSXREZjZqOVZuc2E4WjNiUVd5OFFTNit0NWp0M3Q0ckExczBGMkx6cWNXT1A2TDFhcDR5S0dEZkczQ0VHQzRRWUVBeU5qeCsxMTV2MEtZK3UxNUdXcHlNblg4YzBXVXQxWkQraEkrbGhmV0hSVHQzcjlablVCaHBYYmRUUElWdy9qeEc2WTgwV2M1ZHlmUUc1d1JpMEJ2S0xkMk4vMlFmTWN5eGdaNWdGa3UrV2RveWNPQVpWKzMrTnV6UFRqSDNDdGZzZE9OWVcwMUVmd3BEQUhZMVBCLysySVdOZktlS1h6RGNJQjhDaU1WSEIxZnYySDQ5aFpXRUpNTUlPeEl6Z0R1M1RXUDRkWFRURWh2SlhpckQwc1RrR01kRlRmUVoxMzE0QVgzY2pGYk11K0NsUWhhaGk3dVhUZ3Nqa2lSaHo3QkRzT2RucURWZ2ZGcWF5THdKZlhHL0M3Q1cvd3MzTHpGOUtvbEdlOHFhblZ5bGZ1M1loWG51K1FFZ1Z2TTJ0YUpqM0ZEcXJqdExIVk83WTFMNUV3SWQycXJaUVJMejZOUFk5M0c5R2JPNGlaQjR0SjNtWU1xL1BBTXU0SDlIRENLNXdRN0dQWGplMVlzYUQ5NkxpblJlWWlXZ2hVM0NzZmc3TzB0Zm9hd3lGUkN0QnVncTVDMkhXUkdSV0hZYnU5VEV5ODZGcjdhUkw0bnN4aVdKcG5DMHBBMW5PYzBxV01xKyt5Y1d6M0FORW1zcDdic01XYnNYSEgrM0M2ZmUyOVNsdmUvY1FMbGppNENwOWkvNm1rRm1VaTg5dXJqYU0zTG9kazN4MWlQcm1mWWllUFJQWnZoc1l1YjJFS1dnbXQ0ZVVPbmxpNFdtdGcrWm1TZ2tWQVllekRhTnpsZ0pwU1R4RFhxU1BUa0w5WDNjckFrSDN5Yzl3NDRjcjRHbXVVZUVXTVlZMzNhclFFbjljZ1BTRGJ4akVSQWVGaDltc0xDUFdrWW5hakJud05UU1JMNHdHdFdOeVZ5T3NVWFl6UVNKT01xR1d4djdDVkppNE5tc2Vyc3lhQmEzNUpwVkwxUXVMRjcxb2dIM2ExekNwcnJhZjhwSzNqeUIrYWo1aTZORHJiRTUrMk1hbTAxaXZpb0pSbkxMTUZDaW9QV1BUTEFzRjkwa3BzbEg4SmtkUnd1MVVRaWI4cFFJVHp2NE40Wm5waXU1RTlVVkU1T1JqdzVhOVFCeFRGaEdPd2swQncrUUlHOUw3STJDQTZBeFM3RWNZN0dTVUVwSWk2MGJxOWgzSTF1c3hJdmM3NnYzMW15NU1tN2NCMzNxa0NCNWhUNDRqRTQ4aWo1aE5EUGtLQkF3WUJNb3V0WGdxNkZYS3htZlZ2cUI5Y1NIRzNyTU01eTVlQXpLWW5yQlFQZ2J3WmZjR1NjRkF5QUZTajhVZ2IzMTFEeTVhWXVBK2VBalc5QlRqOUlpQmJwNmtMczRIdnlacFlFRVlPZ1hzVEFNWkJNSWszaXVaMWtoY3Vlc0JOUDVpSFZPVHlIbkR3U1JHZDdOWk9Wd29MbHlBalQ5YlFDTjR4Q2dxTXR4b1RuNUk3UmhGR0VEQUFFNHZ0UVpBVExMS1kySG42dmJBdzBrblBVQjJkYTBYV2tNTDd2MTZGdHBxMzhQTDYvUFppR2lRTVBHWFBWd2lFNENTd3ljWVFSRWdWNGdpTkRvY1AzazhqVzRtdlY1VHA4RWRsNERLRDNiaTAwTmJFVzgySzFjbnZUZkhkYkEwK1M2UzVBbEcvd2lFcUFHYm1teUdhamtOR2pwVjEwdjc3VzVNYWorSGg3NlJwZWphZVRlWXRmZ0Z2UEg3STd5a1JDbWVZSWprcjQ1QWlCcVFycVdoaCtKNjJFd2JrTEJ5SmFicUhVaGFFeGhNVC85eUR4TEdQWTZULzZwaEQrQUVGVzJzcWM1YlJyc1ZEQjBCQ1gxUURkZzRxZnpJZHJHM1Q3OEhFVk9tWUhKekUwYnQ1YWcyOGRiQlNsZ216TWZlc2crQmRFNUV1VGRJRkNVTm5DY2x4Y3RNU201VHRoSEYvbEZXR2xYcW1XUDFoVTNrOGpVSC9uemlqTHhDV0VJaXhwOWgxN3Z3ZDloU09DdUkwNTlmUWNvRHEvRE11bDI4TXpEY2ZxOXY4elRjYU1hU1JkK0ZmdlV3aXBibktYcUJ0MUVHRWd0M1FHcVVBWkdSOUZqR3I0QUZwRE1WY3hjK2h5ay9LRWFkdzJuc0UyMjhGOHhjL0NKbVBsUUlaMXVIZVcrZ0NDOTVHMXVSTTNrODZpL3R4NzRkYTB3TzhyeFp6Z2thRDIvZE5kb1lyaUtnTTdIUWVMc2krbTVFdVN0K3c0citCNUJxQ3BWS0ZvK2EyL0RUWitjamxTMzJwYTN2QW9sQlZ6U3BtWFkzNTNzY2p2NXVBM0xuVERmMmlhNFRwMUQveUZKNHVocFl5TWxVYWt4UUwwZTNMVDRGazlwNHN5Wk1BOVJYbEIwNWdlVWJPSWFsb3lXYVRVWndpOTFOR2xXTWpGZHpUL0pNYk51OEhKdWVEdHlJdmMxTzNKaTdETGMrcmVDQlRTTzFUWEdJMXg3Y1JPeU03eUh6NDhPdzBBblpWd1lJWS9DOXNMaGtIMTU1cVl5RGhVY3dpcU5admVPU091bjFzT3M1OGNSVGorSEF6aUtEd1VUalQ5YkJWVjVLeFhHa3RsT3A4UG1vdWhVUjlqUmtWQjdnUmVWK2cxanFUZVRLaFNRVXZKcFBuLzNrRmw3SjV4clg4S2xQcXU5WjMxK25PMXJhVENvRHpsZjM4Q3B1NTFVOFVhOUJKdGRZL1JMWEJmNTlIckc2czdUTXBKUnJmLzlyL0pjTWtJandwdy9WNTJ2MTFEbXJkUXYvTDNqLytHZm1yb0hPaXVQNmYyS3pxQ1JhS2F6QmVLNXgra1drY1M5S2J5aFliMUlLUks2eGdqSG8vd1ZEd2NPclZiM2srZXh4aGp1RmdaYWhJMklrejAySXVUOFhZOTdmQjl0SUtUNlZ2RUZoZEo0aElTSUNOamF0ZlI0MUdhUFFmZllzMVk3dVU2NHh6OVlJTys2cStnVGovL21ob1Z4OEM3Q0doa1RnVG5ENzhuLzFxOU1mWnM0akdlcFVoanFldVU3U25idjJtaFIzaGpzeVFHTmgralBvL3VpWVhwZVhyenVLdGdUOU54bjYvNytoOEgvVlFDaUlrS0Z5SFJyQS93QzRlK08rWjFjbjRRQUFBQUJKUlU1RXJrSmdnZz09In0sInN0YXR1c1JlcG9ydHMiOlt7InN0YXR1cyI6IkZJRE9fQ0VSVElGSUVEIiwiZWZmZWN0aXZlRGF0ZSI6IjIwMjAtMDktMTEiLCJ1cmwiOiJodHRwczovL3d3dy5nb3RydXN0aWQuY29tL2lkZW0ta2V5IiwiY2VydGlmaWNhdGlvbkRlc2NyaXB0b3IiOiJVMkYgQXV0aGVudGljYXRvciAoSWRlbSBTZW5zZSkiLCJjZXJ0aWZpY2F0ZU51bWJlciI6IlUyRjEwMDAyMDE2MDMyMzAwMSIsImNlcnRpZmljYXRpb25Qb2xpY3lWZXJzaW9uIjoiMS4yLjAiLCJjZXJ0aWZpY2F0aW9uUmVxdWlyZW1lbnRzVmVyc2lvbiI6IjEuMy4wIn0seyJzdGF0dXMiOiJGSURPX0NFUlRJRklFRF9MMSIsImVmZmVjdGl2ZURhdGUiOiIyMDIwLTA5LTE4IiwidXJsIjoiaHR0cHM6Ly93d3cuZ290cnVzdGlkLmNvbS9pZGVtLWtleSIsImNlcnRpZmljYXRpb25EZXNjcmlwdG9yIjoiVTJGIEF1dGhlbnRpY2F0b3IgKElkZW0gU2Vuc2UpIiwiY2VydGlmaWNhdGVOdW1iZXIiOiJVMkYxMDAwMjAxNjAzMjMwMDEiLCJjZXJ0aWZpY2F0aW9uUG9saWN5VmVyc2lvbiI6IjEuMi4wIiwiY2VydGlmaWNhdGlvblJlcXVpcmVtZW50c1ZlcnNpb24iOiIxLjMuMCJ9LHsic3RhdHVzIjoiRklET19DRVJUSUZJRURfTDIiLCJlZmZlY3RpdmVEYXRlIjoiMjAyMS0wMy0wOSIsInVybCI6Imh0dHBzOi8vd3d3LmdvdHJ1c3RpZC5jb20vaWRlbS1rZXkiLCJjZXJ0aWZpY2F0aW9uRGVzY3JpcHRvciI6IlUyRiBBdXRoZW50aWNhdG9yIChJZGVtIFNlbnNlKSIsImNlcnRpZmljYXRlTnVtYmVyIjoiVTJGMTAwMDIwMTYwMzIzMDAxIiwiY2VydGlmaWNhdGlvblBvbGljeVZlcnNpb24iOiIxLjIuMCIsImNlcnRpZmljYXRpb25SZXF1aXJlbWVudHNWZXJzaW9uIjoiMS4zLjAifV0sInRpbWVPZkxhc3RTdGF0dXNDaGFuZ2UiOiIyMDIxLTAzLTA5In0seyJhdHRlc3RhdGlvbkNlcnRpZmljYXRlS2V5SWRlbnRpZmllcnMiOlsiNDE4Mzc3ZTIxM2RiMTRhYmM2NTA5ZGI1ZTEwYzk1OThiNDJmOTJlYSIsIjUyNWVhOTZjNDdiOWE0NzkzM2EwOWI0ODcxYzM5OGRmNjQwN2FhYTQiXSwibWV0YWRhdGFTdGF0ZW1lbnQiOnsibGVnYWxIZWFkZXIiOiJodHRwczovL2ZpZG9hbGxpYW5jZS5vcmcvbWV0YWRhdGEvbWV0YWRhdGEtc3RhdGVtZW50LWxlZ2FsLWhlYWRlci8iLCJhdHRlc3RhdGlvbkNlcnRpZmljYXRlS2V5SWRlbnRpZmllcnMiOlsiNDE4Mzc3ZTIxM2RiMTRhYmM2NTA5ZGI1ZTEwYzk1OThiNDJmOTJlYSIsIjUyNWVhOTZjNDdiOWE0NzkzM2EwOWI0ODcxYzM5OGRmNjQwN2FhYTQiXSwiZGVzY3JpcHRpb24iOiJGZWl0aWFuIE11bHRpUGFzcyBGSURPIFNlY3VyaXR5IEtleSIsImF1dGhlbnRpY2F0b3JWZXJzaW9uIjoxLCJwcm90b2NvbEZhbWlseSI6InUyZiIsInNjaGVtYSI6MywidXB2IjpbeyJtYWpvciI6MSwibWlub3IiOjB9XSwiYXV0aGVudGljYXRpb25BbGdvcml0aG1zIjpbInNlY3AyNTZyMV9lY2RzYV9zaGEyNTZfcmF3Il0sInB1YmxpY0tleUFsZ0FuZEVuY29kaW5ncyI6WyJlY2NfeDk2Ml9yYXciXSwiYXR0ZXN0YXRpb25UeXBlcyI6WyJiYXNpY19mdWxsIl0sInVzZXJWZXJpZmljYXRpb25EZXRhaWxzIjpbW3sidXNlclZlcmlmaWNhdGlvbk1ldGhvZCI6InByZXNlbmNlX2ludGVybmFsIn1dXSwia2V5UHJvdGVjdGlvbiI6WyJoYXJkd2FyZSIsInNlY3VyZV9lbGVtZW50IiwicmVtb3RlX2hhbmRsZSJdLCJpc0tleVJlc3RyaWN0ZWQiOnRydWUsImlzRnJlc2hVc2VyVmVyaWZpY2F0aW9uUmVxdWlyZWQiOnRydWUsIm1hdGNoZXJQcm90ZWN0aW9uIjpbIm9uX2NoaXAiXSwiYXR0YWNobWVudEhpbnQiOlsiZXh0ZXJuYWwiXSwidGNEaXNwbGF5IjpbXSwiYXR0ZXN0YXRpb25Sb290Q2VydGlmaWNhdGVzIjpbIk1JSUJmakNDQVNXZ0F3SUJBZ0lCQVRBS0JnZ3Foa2pPUFFRREFqQVhNUlV3RXdZRFZRUUREQXhHVkNCR1NVUlBJREF5TURBd0lCY05NVFl3TlRBeE1EQXdNREF3V2hnUE1qQTFNREExTURFd01EQXdNREJhTUJjeEZUQVRCZ05WQkFNTURFWlVJRVpKUkU4Z01ESXdNREJaTUJNR0J5cUdTTTQ5QWdFR0NDcUdTTTQ5QXdFSEEwSUFCTkJtclJxVk94enRUSlZOMTl2dGRxY0w3dEtRZW9sMm5uTTIveVlndmtzWm5yNTBTS2JWZ0lFa3pIUVZPdTgwTFZFRTNsVmhlTzFIamdneEFsVDZvNFdqWURCZU1CMEdBMVVkRGdRV0JCUkpGV1F0MWJ2RzNqTTZYZ21WL0ljak50Ty9DekFmQmdOVkhTTUVHREFXZ0JSSkZXUXQxYnZHM2pNNlhnbVYvSWNqTnRPL0N6QU1CZ05WSFJNRUJUQURBUUgvTUE0R0ExVWREd0VCL3dRRUF3SUJCakFLQmdncWhrak9QUVFEQWdOSEFEQkVBaUF3ZlBxZ0lXSVVCK1FCQmFWR3NkSHkwczVSTXhsa3pwU1gvelN5VFptVXBRSWdCMndKNm5aUk04b1gvbkE0M1JoNlNKb3ZNMlh3Q0NILy8rTGlyQkFiQjBNPSJdLCJpY29uIjoiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFGQUFBQUFVQ0FNQUFBQXRCa3JsQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUJIWnBWRmgwV0UxTU9tTnZiUzVoWkc5aVpTNTRiWEFBQUFBQUFEdy9lSEJoWTJ0bGRDQmlaV2RwYmowaTc3dS9JaUJwWkQwaVZ6Vk5NRTF3UTJWb2FVaDZjbVZUZWs1VVkzcHJZemxrSWo4K0lEeDRPbmh0Y0cxbGRHRWdlRzFzYm5NNmVEMGlZV1J2WW1VNmJuTTZiV1YwWVM4aUlIZzZlRzF3ZEdzOUlrRmtiMkpsSUZoTlVDQkRiM0psSURVdU5pMWpNREUwSURjNUxqRTFOamM1Tnl3Z01qQXhOQzh3T0M4eU1DMHdPVG8xTXpvd01pQWdJQ0FnSUNBZ0lqNGdQSEprWmpwU1JFWWdlRzFzYm5NNmNtUm1QU0pvZEhSd09pOHZkM2QzTG5jekxtOXlaeTh4T1RrNUx6QXlMekl5TFhKa1ppMXplVzUwWVhndGJuTWpJajRnUEhKa1pqcEVaWE5qY21sd2RHbHZiaUJ5WkdZNllXSnZkWFE5SWlJZ2VHMXNibk02ZUcxd1BTSm9kSFJ3T2k4dmJuTXVZV1J2WW1VdVkyOXRMM2hoY0M4eExqQXZJaUI0Yld4dWN6cGtZejBpYUhSMGNEb3ZMM0IxY213dWIzSm5MMlJqTDJWc1pXMWxiblJ6THpFdU1TOGlJSGh0Ykc1ek9uQm9iM1J2YzJodmNEMGlhSFIwY0RvdkwyNXpMbUZrYjJKbExtTnZiUzl3YUc5MGIzTm9iM0F2TVM0d0x5SWdlRzFzYm5NNmVHMXdUVTA5SW1oMGRIQTZMeTl1Y3k1aFpHOWlaUzVqYjIwdmVHRndMekV1TUM5dGJTOGlJSGh0Ykc1ek9uTjBVbVZtUFNKb2RIUndPaTh2Ym5NdVlXUnZZbVV1WTI5dEwzaGhjQzh4TGpBdmMxUjVjR1V2VW1WemIzVnlZMlZTWldZaklpQjRiWEE2UTNKbFlYUnZjbFJ2YjJ3OUlrRmtiMkpsSUZCb2IzUnZjMmh2Y0NCRFF5QXlNREUwSUNoTllXTnBiblJ2YzJncElpQjRiWEE2UTNKbFlYUmxSR0YwWlQwaU1qQXhOaTB4TWkwek1GUXhORG96TXpvd09Dc3dPRG93TUNJZ2VHMXdPazF2WkdsbWVVUmhkR1U5SWpJd01UWXRNVEl0TXpCVU1EYzZNekU2TlRrck1EZzZNREFpSUhodGNEcE5aWFJoWkdGMFlVUmhkR1U5SWpJd01UWXRNVEl0TXpCVU1EYzZNekU2TlRrck1EZzZNREFpSUdSak9tWnZjbTFoZEQwaWFXMWhaMlV2Y0c1bklpQndhRzkwYjNOb2IzQTZTR2x6ZEc5eWVUMGlNakF4TmkweE1pMHpNRlF4TlRvek1Eb3lOeXN3T0Rvd01DWWplRGs3NXBhSDVMdTJJT2FjcXVhZ2grbWltQzB4SU9XM3N1YUprK1c4Z0NZamVFRTdJaUI0YlhCTlRUcEpibk4wWVc1alpVbEVQU0o0YlhBdWFXbGtPakpGTnpGQ1JrWkRRelkzUmpFeFJUWTVOemhFUVRsRFFrSTJORFl6Umprd0lpQjRiWEJOVFRwRWIyTjFiV1Z1ZEVsRVBTSjRiWEF1Wkdsa09qSkZOekZDUmtaRVF6WTNSakV4UlRZNU56aEVRVGxEUWtJMk5EWXpSamt3SWo0Z1BIaHRjRTFOT2tSbGNtbDJaV1JHY205dElITjBVbVZtT21sdWMzUmhibU5sU1VROUluaHRjQzVwYVdRNk1rVTNNVUpHUmtGRE5qZEdNVEZGTmprM09FUkJPVU5DUWpZME5qTkdPVEFpSUhOMFVtVm1PbVJ2WTNWdFpXNTBTVVE5SW5odGNDNWthV1E2TWtVM01VSkdSa0pETmpkR01URkZOamszT0VSQk9VTkNRalkwTmpOR09UQWlMejRnUEM5eVpHWTZSR1Z6WTNKcGNIUnBiMjQrSUR3dmNtUm1PbEpFUmo0Z1BDOTRPbmh0Y0cxbGRHRStJRHcvZUhCaFkydGxkQ0JsYm1ROUluSWlQejQ3N0pYRkFBQUFZRkJNVkVYLy8vOEVWcUlYWmF2RzJPb3FjTEcyek9Pa3d0MEJTSnRxbGNYVjR1K2F1dGxXaGJ6azdQVUFNWTlIY3JLanROYnE4ZmVBbDhhQm9zeno5dnBkanNHR3F0RjNuOHVUc05TWnBjNkpzTlQ1K3YweFlLbnU4UGZmNS9MNDhmZy9mcmljekpnWUFBQURBRWxFUVZSNDJrUlVDWmJESUFqRlhaT1kxVGF0TmMzOWJ6a3NTWWMzcjRNRTRmTUJBYUQ2emw4eS85VE9nZXQ4ZDVqZk43OGJ3TS9kRENScFI1MjF6WGZvakhKMDVJSXloQkFVU1ZBT05kR3pCWXQyZjdLRnJma0phQWtIaDlGWmhjRFhIUmtUS285TUxpaEdhYXZJbW5WM3F5RVgwRXByZ3ovNER3VUQ3a0NIUm5kOFFGTjQzR280VVZtRERnemE0dzI3b2l6ZEEyK2NLK3V1VXBqam8yK3h3Yy80Mlc1MHg1TEdZZURCc1IwSFZJeDV4OGlGNjBDYmxiVEVFa0ZyMjdiTkRCVVZTcTFPS1ZQYkU2MmIzRUg4RnFCZzVPT09FdWMydDhaSmlxTU91R3ArY0tqZzd3VkdjZW96cU40cHhnVlBRa2pGWWdiVkpLRFVoRENqWXJhd1A1cTRFVGdDOWZJTVJIdGl0cFFjQ3ZKT0VMY2JNc1FnbmNpUmtsanB5UWp2RzQ0anFCVUVURmlCaTFQRUl5ZWtPenNXK1R5NWNMSG9zNVIrZE1TMUx0U1N4ZjNnUUhjelIyQ0k0Z01OcFc0SVJBMVFNYTZ0SjQrQzZ1SHVHRThtTkRJeUZxZy9PUC9NTVV1ZVM2SXE4UzkwZEFlQkpTRXkvcUtrSytCTnd6OGNZWTRqYjVKNnU0aVdDSTJCMVo1NkxXNWtFYzRoa2RNcHN2VUM1NTg1U1gwUXViY2dOcXlmZ0RGRWNUdCs0MC8wUzVOeDB3YUN3M09La2NPYkE1SW4wQVlwMDFwamp3Mm42MjZVRGp0SHdhMjhpSHVUS3F0cnYrcmVXNDFOWjZpR2xyN3V1TEpDZmtGdGN0Y0cwNHNnbTFlTlMrWmFEbnBhVEVyR295WDVKSzJpTXo4eHMwbk93V0djUERONDlxYUNkNGJ6Sm96RFptL2FCSytFb3pMdytYaE5CaVl3SGYwc2lPdTFYUGtHL3pLd3ZxWUtjZlN3REVjSC9vVWUwN2VzL1dROHJJeWcyRE9Yajh0amtaZHVEQi9iOGh6RGxsTU1PQ1M1QkVuZDUzNGY4dGkzVVpjNGtNczN4THlhZk1Tc0poZEc4WFBxak5rNXRBZ08yNWZlS0NoblZkRGovSjBGTWtPc1UveE1CdjB3RmhZZUVHZlZIMTNmdURVMHlERkxhNGZjN1JuV0hCZnVURlYydEVtTndhZGM3YWMzVVkyamZCbDdIVDM2ZmUzNGlRTzVtTkNGRkJXMDdLalBncWhPTFUwMXZaOFB1ZVoySkNsRlpOOGprVXM2OXVrYTllUHA2K0VmTDRBRjUrTnl3U2Jpckh0Y0I4TWwvZ2t3QUVqa0s2NEtqSFBlQUFBQUFFbEZUa1N1UW1DQyJ9LCJzdGF0dXNSZXBvcnRzIjpbeyJzdGF0dXMiOiJGSURPX0NFUlRJRklFRF9MMiIsImVmZmVjdGl2ZURhdGUiOiIyMDE4LTExLTAxIiwiY2VydGlmaWNhdGlvbkRlc2NyaXB0b3IiOiJNdWx0aVBhc3MgRklETyBTZWN1cml0eSBLZXkiLCJjZXJ0aWZpY2F0ZU51bWJlciI6IlUyRjEwMDAyMDE4MDIyODAwNiIsImNlcnRpZmljYXRpb25Qb2xpY3lWZXJzaW9uIjoiMS4wLjEiLCJjZXJ0aWZpY2F0aW9uUmVxdWlyZW1lbnRzVmVyc2lvbiI6IjEuMC4xIn1dLCJ0aW1lT2ZMYXN0U3RhdHVzQ2hhbmdlIjoiMjAxOC0xMS0wMSJ9LHsiYWFndWlkIjoiY2I2OTQ4MWUtOGZmNy00MDM5LTkzZWMtMGEyNzI5YTE1NGE4IiwibWV0YWRhdGFTdGF0ZW1lbnQiOnsibGVnYWxIZWFkZXIiOiJodHRwczovL2ZpZG9hbGxpYW5jZS5vcmcvbWV0YWRhdGEvbWV0YWRhdGEtc3RhdGVtZW50LWxlZ2FsLWhlYWRlci8iLCJhYWd1aWQiOiJjYjY5NDgxZS04ZmY3LTQwMzktOTNlYy0wYTI3MjlhMTU0YTgiLCJkZXNjcmlwdGlvbiI6Ill1YmlLZXkgIDUgU2VyaWVzIiwiYXV0aGVudGljYXRvclZlcnNpb24iOjUwMTAwLCJwcm90b2NvbEZhbWlseSI6ImZpZG8yIiwic2NoZW1hIjozLCJ1cHYiOlt7Im1ham9yIjoxLCJtaW5vciI6MH1dLCJhdXRoZW50aWNhdGlvbkFsZ29yaXRobXMiOlsic2VjcDI1NnIxX2VjZHNhX3NoYTI1Nl9yYXciLCJlZDI1NTE5X2VkZHNhX3NoYTUxMl9yYXciXSwicHVibGljS2V5QWxnQW5kRW5jb2RpbmdzIjpbImNvc2UiXSwiYXR0ZXN0YXRpb25UeXBlcyI6WyJiYXNpY19mdWxsIl0sInVzZXJWZXJpZmljYXRpb25EZXRhaWxzIjpbW3sidXNlclZlcmlmaWNhdGlvbk1ldGhvZCI6InBhc3Njb2RlX2ludGVybmFsIiwiY2FEZXNjIjp7ImJhc2UiOjY0LCJtaW5MZW5ndGgiOjQsIm1heFJldHJpZXMiOjgsImJsb2NrU2xvd2Rvd24iOjB9fSx7InVzZXJWZXJpZmljYXRpb25NZXRob2QiOiJub25lIn0seyJ1c2VyVmVyaWZpY2F0aW9uTWV0aG9kIjoicHJlc2VuY2VfaW50ZXJuYWwifV1dLCJrZXlQcm90ZWN0aW9uIjpbImhhcmR3YXJlIiwic2VjdXJlX2VsZW1lbnQiXSwibWF0Y2hlclByb3RlY3Rpb24iOlsib25fY2hpcCJdLCJjcnlwdG9TdHJlbmd0aCI6MTI4LCJhdHRhY2htZW50SGludCI6WyJleHRlcm5hbCIsIndpcmVkIl0sInRjRGlzcGxheSI6W10sImF0dGVzdGF0aW9uUm9vdENlcnRpZmljYXRlcyI6WyJNSUlESGpDQ0FnYWdBd0lCQWdJRUcwQlQ5ekFOQmdrcWhraUc5dzBCQVFzRkFEQXVNU3d3S2dZRFZRUURFeU5aZFdKcFkyOGdWVEpHSUZKdmIzUWdRMEVnVTJWeWFXRnNJRFExTnpJd01EWXpNVEFnRncweE5EQTRNREV3TURBd01EQmFHQTh5TURVd01Ea3dOREF3TURBd01Gb3dMakVzTUNvR0ExVUVBeE1qV1hWaWFXTnZJRlV5UmlCU2IyOTBJRU5CSUZObGNtbGhiQ0EwTlRjeU1EQTJNekV3Z2dFaU1BMEdDU3FHU0liM0RRRUJBUVVBQTRJQkR3QXdnZ0VLQW9JQkFRQy9qd1l1aEJWbHFhaVlXRU1zcldGaXNnSitQdE05MWVTcnBJNFRLN1U1M213Q0lhd1NESHk4dlVtazVOMktBajlhYnZUOU5QNVNNUzFoUWkzdXN4b1lHb25YUWdmTzZaWHlVQTlhK0tBa3FkRm5Cbmx5dWdTZUNPZXA4RWRaRmZzYVJGdE1qa3d6NUdjejJQeTR2SVl2Q2RNSFB0d2F6MGJWdXpuZXVlSUV6NlRuUWpFNjNSZHQyemJ3bmVid1RHNVp5YmVXU3dienkrQkozNFpIY1VoUEFZODl5SlFYdUUwSXpNWkZjRUJiUE5SYldFQ1JLZ2pxLy9xVDlubURPRlZsU1JDdDJ3aXFQU3psdXduK3Yrc3VRRUJzVWpUR01FZDI1dEtYWFRrTlcyMXdJV2J4ZVN5VW9UWHdMdkdTNnhsd1FTZ05wazJxWFl3ZjhpWGc3VldaQWdNQkFBR2pRakJBTUIwR0ExVWREZ1FXQkJRZ0l2ejBiTkdKaGpncFRva3N5S3BQOXh2OW9EQVBCZ05WSFJNRUNEQUdBUUgvQWdFQU1BNEdBMVVkRHdFQi93UUVBd0lCQmpBTkJna3Foa2lHOXcwQkFRc0ZBQU9DQVFFQWp2anVPTURTYStKWEZDTHlCS3N5Y1h0QlZac0o0VWUzTGJhRXNQWTRNWU4vaElRNVpNNXA3RWpmY25NRzRDdFlrTnNmTkhjMEFoQkxkcTQ1cm5UODdxLzZPM3ZVRXROTWFmYmhVNmt0aFg3WSs5WEZOOU5wbVl4citla1ZZNXhPeGk4aDlKRElnb01QNFZCMXVTMGF1bkwxSUdxck5vb0w5bW1Gbkwya0xWVmVlNi9WUjZDNStLU1RDTUNXcHBNdUpJWklJMnY5bzRka29aOFk3UVJqUWxMZll6ZDNxR3RLYnc3eGFGMVVzRy81eFViL0J0d2IyWDJnNElucGlCL3l0LzNDcFFYcGlXWC9LNG1CdlVLaUduMDVac3FlWTFneDRnMHhMQnFjVTlwc215UHpLK1ZzZ3cyamVSUTVKbEtEeXFFMGhlYmZDMXR2RnUwQ0NySkZjdz09Il0sImljb24iOiJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNBQUFBQWZDQVlBQUFDR1ZzK01BQUFBQVhOU1IwSUFyczRjNlFBQUFBUm5RVTFCQUFDeGp3djhZUVVBQUFBSmNFaFpjd0FBSFlZQUFCMkdBVjJpRTRFQUFBYk5TVVJCVkZoSHBWZDdUTlYxRkQvM2Q1OXdlUVNJZ1M5QVFBWGNGTEFRWmk5ZnBlVnoxdFkvV1RacjVXeHBjN1c1a25MYTVqSTNaODVzclMybk0yc2p0V3daUzdJVUg0SDR4Q25FUXg0REFaRjc0Vjd1czg4NXY5L2xJbkJ2VkovQjRQdjludS81bnUvNW52TTU1NmZ6QS9RdjBIYi9JclgzVkZLUG80NWNubTRpblVJV1l3TEZSbVpRVXV3akZHL04xaVJIaDFFWjBOUlZSdWRxdDFCZCsyblNLeVMvT2h5czArbGszZS8za1E5cXZENFpVdGE0VlZTVXVZMGVpcHlpVGhBZm9jb09SVmdEdXV3M3FLUmlBZDNyYmNFdGpUallJb2Y2V2FIc0NtelZQV0NNeCtjZ2g4dExxV01LYU1Xc1VqTHFvMlJ0SklRMG9Pem1lcnBRdTRlc1pnc09Oa0d4SDdkMGtkdlRUMTdzNE9NVTdWSThaaGpnR2FNK0FxOWlFTnU4UGlmMXVkejA3TXd2S1dmOEdsVm9DRVkwNFBDNVdkVGFYWUZiUjh2TnZMNSszS2dmYjV4Tk15YTlSYW1KaXluYU1sR1RWdEZscjZiYTl1K3BxbkVYNHVNdVJSZ2pTWUVock43dXRGRmU2bHFhbDdOZmt3NWltQUdIeW5QcGJrOFZtWTB4c3RucHRsRkNWQ1l0elR1Qk44M1FwTUxqVHRldmRQelNVbko3ZThta2p4WjM5ZlhiS0RmbGRacWJ2VStUVWdHbkJWRjZmUTJpUEhnNFcxNlVXVXd2emJrMTZzTVpFK1BuMHB2ejdKU2V1QXllczhsY3BDbWFLdW8vcCtxV3IyVWN3SUFIV3J2UDBZRXpoWEF0TEFic3NIaHA3aUdhbXZ5aWpQOHJ5cXJYVVdYOVhvb3d4eUF1Zk5CcnA0M1BPQkZYWmxrZjhNRFJpcWNweW93QXdwdXoyeCtmV3Z6L0R0ZGU5c21zenlndGNSNkMxd2JkekJsNk9scTVXTllZNG9HYXRoSk1ya1RFeDBqQVJTSEFWcys1cllrUU5YYitRZ2ZQTHNRNmdYeUluc3JlUWZtcG03UlZGWWZMODZuMWZpVU9rWXZTaGtVUHh2YnVrem95NksxaWhNMWhvM1h6VzZFdlNmWEErZHBpV0dhV2QrZG9Yekx6bUd3S1lGTENBc1JBbFBCQWhNbENGWFU3dEJVVlByOEhnVmNKSFdxK0YwMHBscitETVRkclA0enZ4WTExa05NaHhUK1NlVEdnK2Q0VjVMUUppdHlVR0pOQjhWRlpzamdZQlpNL0lJL1hDVGtqMHF5RE9wRjJBVlExN0NJalVwL0RuVDFVa0w1RjVnZGorc1Mxd2cxZ0UzZ2lnbTYwZkNYelNuUFhieUFQYklYditJRHBFMTZUaGFISVM5c2t5aGxtTUU1RjNjZnFBS2hxMkMwRTVQSDFnWWFYYUxQRGtaRzBIREpPbktXSHA1MUkwejVTT3V4OGUxV0F1WnpkSFFyVGtwOFRtalhvSStsYTB3R1pzenVicWJPM2lmUTZBL1c3dlZTWXNWM21SMEpLd2tLYzRXSGlCa21SOEkzQ0NnSTg3b09MNHF6VDVQK1JVSkJlakVPZ0FQSzhoWVB6YXRNK2VJVHAySU85eVRRbWVyb21QUnh4MXF4QWNzaWxlL3ViU2VFYmNXUUdZRUNnaGNMWTJIeUtqb2dqSDI1aE1wanBVdjFPdWdsaTRlaDJlUncwTzMyYkpqa3l1Q2dOemcwdnpsWU1TaVNzMHVvbzRNRzdoTU9qQ0VhWDF5RkUwblN2akJ6dVRuRXBLODZaOElvcUZBSXVidzhrZzlBckVhUkVXU1pJK2pINFhicDZnOUU5RW5KVDNvYVJ6RE4rTVVKQlFESG41NmE4b1VtRUJ1c094QnMvTjUrdEpFYlBrQUZEajhVR3ZPcy9JV3ZjU2dsR0JodlM3L0ZUWWZwV0dZZERZOGZQQXhXU0EzNXNUQzRwNCtMbTRBYXFJb1BlUXRmdWZLNkpoMFpoeGxic1VYT1NtWE5pZkQ1WlRBa3lEb2ZiYmNjbHhuQThXTkFxeENiUk55a2hYeFFwYUR3NjdmWFVZYnNpRzBLaHR2Mm9lSXZoOHJoUU1ZT2NFQXFYRy9lSSt6bmdPYzV5eHI4cTgySUFNMWMvRkxGT3BscXU1ZUZRWHJNWnpHY1ZDalliTFdHNUk0QlQxZXVScmxieHROT3RNaXREREVoTFhJSXluQUF2dU9FV0UzWDNOZEFmdDk0VmdhRzQyWElRdDBaWDZQZUNFL3FRRmU5cks2SHg3WVU1MEt2SDdmVzRmUytxN0tLQkp4c2dnQlg1cFNBR2gxaklyVmg1elE2dzNSZmFhaEJYbS9hQ2JDWlRqQ1VGVVR5V1pxVzlwNjJNakpQWFZxT3JQZ01PNE52NzRHa2Yrb3dmdE5WQkRRbmpGSnFIU3cxN3BYdmhXVzVLWnFlL1E0OU4vVVNUQ0FWV29RWEZJSEJIWFhlM0ZQclVEc3VHRG10Ri9oSEtUSHBla3hoaUFPUEkrU0pxNlM2SEY0STlZV3prQkpUbzQ2aVVNeldwOFBpci9SaWR1THhLWXNTa3NWOHZMbE9RdmhHWDJZbFIwT0JoQmpDK3UvZ0VjdlkwQXBLN1lrNDFOeGpQU1FuV0ZIVEY2NlVyamdldkI4Q3U1YStsMnZZU1JQdHVWRG83M2hoZE1TSG5VWDd0VGpzVlpHeEFsL1dwdGlPSUVRMWduTDI5bVg2L3RSMXRtbGtZajhXNFgrQ1NqV2NVREdZMU5wUy9DN2hTS3FpTUxNL2wyUW1TV1o3M0RkeitnaW84QkNFTllQUTQ2cW5rendYVWJxdkJreGpVUXNXZlpGZ2J1bzNyQWYrd043ak9POTAreW54NFBpM0wrMG5ZTDFTY2hEVWdBUDRnUFYvN0lkMXErMUhTaG11R2tJcVdSUGd5eE1GcVA4SGZqVG5qWHdZNWJRZmJKY3Q2T0l6S2dNSG90Ri9IZTFlZ3NheEhTcUc2d2ZkbVE1eDhOeVRGRnFCY3AyaVNvd0hSM3lrNSszNmhGN3ZYQUFBQUFFbEZUa1N1UW1DQyIsImF1dGhlbnRpY2F0b3JHZXRJbmZvIjp7InZlcnNpb25zIjpbIlUyRl9WMiIsIkZJRE9fMl8wIl0sImV4dGVuc2lvbnMiOlsiaG1hYy1zZWNyZXQiXSwiYWFndWlkIjoiY2I2OTQ4MWU4ZmY3NDAzOTkzZWMwYTI3MjlhMTU0YTgiLCJvcHRpb25zIjp7InBsYXQiOmZhbHNlLCJyayI6dHJ1ZSwiY2xpZW50UGluIjp0cnVlLCJ1cCI6dHJ1ZX0sIm1heE1zZ1NpemUiOjEyMDAsInBpblV2QXV0aFByb3RvY29scyI6WzFdfX0sInN0YXR1c1JlcG9ydHMiOlt7InN0YXR1cyI6IkZJRE9fQ0VSVElGSUVEX0wxIiwiZWZmZWN0aXZlRGF0ZSI6IjIwMjAtMDUtMTIiLCJjZXJ0aWZpY2F0aW9uRGVzY3JpcHRvciI6Ill1YmlLZXkgNUEiLCJjZXJ0aWZpY2F0ZU51bWJlciI6IkZJRE8yMDAyMDE4MTAzMTAwMSIsImNlcnRpZmljYXRpb25Qb2xpY3lWZXJzaW9uIjoiMS4wLjAiLCJjZXJ0aWZpY2F0aW9uUmVxdWlyZW1lbnRzVmVyc2lvbiI6IjEuMC4wIn1dLCJ0aW1lT2ZMYXN0U3RhdHVzQ2hhbmdlIjoiMjAyMC0wNS0xMiJ9LHsiYXR0ZXN0YXRpb25DZXJ0aWZpY2F0ZUtleUlkZW50aWZpZXJzIjpbIjU1NmQyN2YzOGIyMzFiYjNkODE4YmZjMWI2MTVmMjYwZjZiMDhmMjAiXSwibWV0YWRhdGFTdGF0ZW1lbnQiOnsibGVnYWxIZWFkZXIiOiJodHRwczovL2ZpZG9hbGxpYW5jZS5vcmcvbWV0YWRhdGEvbWV0YWRhdGEtc3RhdGVtZW50LWxlZ2FsLWhlYWRlci8iLCJhdHRlc3RhdGlvbkNlcnRpZmljYXRlS2V5SWRlbnRpZmllcnMiOlsiNTU2ZDI3ZjM4YjIzMWJiM2Q4MThiZmMxYjYxNWYyNjBmNmIwOGYyMCJdLCJkZXNjcmlwdGlvbiI6Ik1LIEtleXBhc3MgUzEiLCJhdXRoZW50aWNhdG9yVmVyc2lvbiI6MywicHJvdG9jb2xGYW1pbHkiOiJ1MmYiLCJzY2hlbWEiOjMsInVwdiI6W3sibWFqb3IiOjEsIm1pbm9yIjoxfV0sImF1dGhlbnRpY2F0aW9uQWxnb3JpdGhtcyI6WyJzZWNwMjU2cjFfZWNkc2Ffc2hhMjU2X3JhdyJdLCJwdWJsaWNLZXlBbGdBbmRFbmNvZGluZ3MiOlsiZWNjX3g5NjJfcmF3Il0sImF0dGVzdGF0aW9uVHlwZXMiOlsiYmFzaWNfZnVsbCJdLCJ1c2VyVmVyaWZpY2F0aW9uRGV0YWlscyI6W1t7InVzZXJWZXJpZmljYXRpb25NZXRob2QiOiJwcmVzZW5jZV9pbnRlcm5hbCJ9XV0sImtleVByb3RlY3Rpb24iOlsiaGFyZHdhcmUiLCJzZWN1cmVfZWxlbWVudCJdLCJtYXRjaGVyUHJvdGVjdGlvbiI6WyJvbl9jaGlwIl0sImF0dGFjaG1lbnRIaW50IjpbImV4dGVybmFsIl0sInRjRGlzcGxheSI6W10sImF0dGVzdGF0aW9uUm9vdENlcnRpZmljYXRlcyI6WyJNSUlCK3pDQ0FhS2dBd0lCQWdJSkFJOWdpbjFBRDMrRE1Bb0dDQ3FHU000OUJBTUNNRmt4Q3pBSkJnTlZCQVlUQWxaT01STXdFUVlEVlFRSURBcE9iM0owYUNCVGFXUmxNUTR3REFZRFZRUUhEQVZJWVU1dmFURVJNQThHQTFVRUNnd0lUVXNnUjNKdmRYQXhFakFRQmdOVkJBTU1DVzFyTG1OdmJTNTJiakFlRncweE9ERXlNalF3TXpFd05URmFGdzB5T0RFeU1qRXdNekV3TlRGYU1Ga3hDekFKQmdOVkJBWVRBbFpPTVJNd0VRWURWUVFJREFwT2IzSjBhQ0JUYVdSbE1RNHdEQVlEVlFRSERBVklZVTV2YVRFUk1BOEdBMVVFQ2d3SVRVc2dSM0p2ZFhBeEVqQVFCZ05WQkFNTUNXMXJMbU52YlM1MmJqQlpNQk1HQnlxR1NNNDlBZ0VHQ0NxR1NNNDlBd0VIQTBJQUJPMXJ3aTNOa21XemQwT0dKNU9PY2FNUnF3VjhaRGlYVEM1dVF4VTJ1UGhJUjVDeFVVN0I3MWRuc2dMaWo1bmthWkVhOWhrZjJKejZmL2loMytIeERFbWpVekJSTUIwR0ExVWREZ1FXQkJSVmJTZnppeU1iczlnWXY4RzJGZkpnOXJDUElEQWZCZ05WSFNNRUdEQVdnQlJWYlNmeml5TWJzOWdZdjhHMkZmSmc5ckNQSURBUEJnTlZIUk1CQWY4RUJUQURBUUgvTUFvR0NDcUdTTTQ5QkFNQ0EwY0FNRVFDSUJFUGVtYS9qdGFPMS8xcWVXTTZTcnJKdEdCbGNuR0NKZGszdEZlWk56Q3RBaUF6Q2lOV0JiclEyS2xLc3crN1FxL3gxQWJ6VXZ3K1N5V2xQbkowbVVyRE93PT0iXSwiaWNvbiI6ImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBaFlBQUFEZkJBTUFBQUJZRVllMUFBQUFHMUJNVkVVQVRKaEFlYktBcHN5LzB1WGV1MXpteklYdjNhNzM3dGIvLy8vTFpuNlNBQUFQeUVsRVFWUjQydTJkVFpLak9oTEhBVys4VkZSdFdGTDBoaVgyYkRoQWRiOEw5R0lPOEdKbURqQXg4WlpJZXQzTnNjY0lCUHBJU1NrTTFlQ3lGMTNSR0F2cFJ5ci9xUStTSk5FK3B5NzgrZld1Zjc2Qlo5SEUvS2hsOCtKMklHdTZYWDNNQ2lPcTl3UEZvclpZNUFvS0lvNmt6YTVaSUF6ak80b0ZzVmdvWDk2c29pemZjR2I0KzFpazBXWUJzK0FXaWt6dFA4SWltR1lyKzJNUnJ0MmZLQmF0VmZCWnRabHFaSkx0bWtVYTZUa2RMSXJFN1luWTFEZnFwTmt6aTVCaC9CZkh3c2Y0Um9DWHQwOTFvM0xlTllzczBpeEFGbDVGSlZudktnUWVrdTJhaGQ5c2YrQlllQlgxWmd4TTZFaDFPMi9mTEU0eGd1cGc0Vk5VbHZTZG96L3BmTE9mWnRjc2ZOVUR6QUppd1h3OXIrY2dXQlJud1dYWExFNHhuaE5rMGZxNlNEdXk0UDNCdmJOSVlqd255TUtucUYyYlNjTnBoTy9ZTjRzOHhpd0FGdHdidFV3c1hyc0RzSERHVys4NEZ2NHg2c0NpTElTdDdKNkZ5ekIrSUZuWWlscDF0cjhRZ0hidkwxeUc4UjNKd2p0R3ZWbk53S0pPKzk2MGV4YXdyUDU4eDdGZy9saFd4aGZEMzJiM0xFNW96d213YVAxOXJ0ZFNFVi9jcnRMdVBPNTBHY2F2ZHlRTEVpaU5uQVlXdDA1U1pBZGdjVUtiaGNXQ2g5eVBHS2YybmFYa094K25PZzNqTzVJRjlVM2pEQ2ZrRTVYcUNDeHluS0FDTFB5S09uU2laclNndERzQ2l4UnJGaGFMY0V4ZkQ4TEN5YzduTzEyRzhmTWR5WUloZkE5SjBxcTdrbjJaaFlkRml2T2NGb3NXRWNVeS9Hck1MbGpvdmZ6WE81WUZ3ZWp6TU1kWGRVZGhvWm4yMzFnV0hCblFsMlhaZFlkaG9kM1A3MWdXUVVYZDd5ZkJHY2FQZHl5TElxaW9oMlNoR01hZmFCWkovS3JrSVZqa0NCVXhXTEM0YWZYanNFamorMGdkdjBCN0RCWktPN0MrazhRdFBSMklCY293dm5rVk5lc2VoSVZpR0RnV0IxYlVJSXRUWkF4K1lFVU5zcGg3K3k4VWl3TXJhcGdGd2pDKytickk2WUZZeklieEU4SGl5SXFLWUhHT21lTWorS1haL2JNZ0MyVDEyMk1vcXNYaXk0SjQ2NXRuR3VkOFlCWlY3VEdNNEZwUmNlQ2dFMkRCUFlZeHl1clhQMTBzRHEyb05ndkEvWm15K2s4WGkyTXJLc0NDaHVLdHI1Mkx4YkVWRldEaE5ZemVlLzdoWkhGc1JZVlkrQXlqbDlXL1hDellzUlVWWXNFVHIySDgwYmxZdEFmdklnQ0x6aWVyZjcvL3g4bmk0SW9Lc3ZESzZ0Zk94WUlmWEZGQkZsN0Q2SndzanE2b01Bc2FXR2lHV2RSSG5zWnhzZ0RFTVF1ek9McWlPbGhRLzNvaXlPTHdpdXBnNFkyM0hDd09yNmd1RnJYWE1FQVc1T2lLNm1MaGpiZEFGc2RYVkJjTHY2eENMT2l4cDNGOExIenhGc2ppK0lycVpOSDVKajRoRnNuaEZkWE53aGR2QVN6WTRZTk9Ed3ZBTU00ZUZ2WHhGZFhEZ3JvZEFNRGlBUlRWdzRMSCtJdEhVRlFQQzh2c2ZUcnlFTzdDdzRKSHhCZVBiaGVHWWZqanp1S2gvWVhwUGYzamtmYWhkY1FRaDhBNDlRRkc3SDRXMVBFRkZIZVNCNDQ3RGNOSVEvTmFqendlTWJ4bmNMN3p2cGxmMXFlTUtSdi9DWHJkcnYwdnZpeHZ1TWhTbzVmcFpjSHg4K0QzcUNxVDltY2tZdU9Ta01qU3BrMENYT1ZWeWpCVWlCcVR3cWMrdytJMzdCcTh4K0M4MW5KVmZYTmRuNDJIeGl4dE13dXVYRXpuMXdLdEtHeFhmbFV1K1lwa3djRm1yVHZmV1RncndQUnRFQk1McmpscUxaRWRqc1VGVnJ6ZzA1TkExMTkxSHZ6aXJzSElncHJqWkVPelZCZ29GcVp2ZThXeG9ORFJOZGRITEorcnRHeGtRUXdXdFFjNmhnVjNTVjVJQ0FuZ0JiSHJab2hPNHAxa0hsaThHZk1ud0N6VGF4UUw1NVJkaUFVRjJyVGllbXJ0ZS82UmdYTkp4TGNoRjhHQ09uYzNoMWh3UUJ6WFcyZm4zZ2MxUUJhMWQ2YzJnZ1Z4N200T0JvdTFmWHZYMjM5UmV4K01oVmh3LzA3dE1BdnEzdlllWk1IdEZxSDM1WnlYbU1WOGx5RVdyZjhuWVJZa2NhYlJDZzhpL3RFaFdjVHZnSjRhbHQzQ1F2Wm0zbVdWUldrMjVhV0NmaEprTVZleWowNUxvdnI1SlFPcTFmYnhFVjBIcm9ZQU1WdG9xVkZSWnZ3a3lLSTFTaXlVMjdZbWkxaFY1YVlrVXQyZW1PMTRhcGZXWkVnV3hJeGlpdmtTYTdLSVZkWFc2a20xWmsvTVJtb0ZGTk5GR3hRTGJ0OGtNaDFaazBYc2Z2RENWaHVpVm9OWnBUQ2dXS0syTHNTQzJvNk1UYmR0VlJhUnFncllEbFVGaUZseTFBSmRqNnJGaEZqVVFMVnF5WGRWRm5HcXlpQmM2bjJ6TTRZVWtMVVI1V0NJQlFFS29QSXFxN0tJVTlVV3pqYzFPd3k3UnpqU01zM0VBaXc0Nk5MSmVIQlZGbkdxV29jYXh1REJtdG54dUZMMUFBdTRBRm1SZFZsRXFTb0JyNmpVZzVsRlVOZ2hGMlpZNm1UUmdzYkt4cVByc29oU1ZkaHdsSVl4czA0dFhLUnlPTUNpaHAzWWlIaGRGakdxeW1HSDBsb3NURTU1NTdpdllSWUYzTWpoOE5vc0lsU1Z3VGRaYVppRFJRVlRUUkVzQ0Z5bDhWY3JzNGhRVlFwL3pVMFdXYWhYcWNjRExCd0YwRTFZUktocTY3amdBaFpGRkl2TVlhTDV5aXdpTml1NVdKQ3BZVll2Y3NHZCs0NmZCZk95T0svTkFxK3FyWU5VWWJBNFE2N2tIaFpuUnlkYm5RVmVWZXVnd2FOWnRQdGtnVmZWWW04c1RxdXpRR2VKV2NyaWZDK0x5c0VpVzUwRmVwTzhpMFg3T0N6UXFycVVSWFljRm1oVi9Rd3NzS3BhUjdQZzYyanFCN0xBN2dGdW8xbDBXN0hnRzJrcVdsVmRzVmFJUmRKNVF0VmxMTmhtTEpDcTZvckJGN0R3ajgyU0lBdTZHUXVrcWxLSEwvR3dXRFptRDdOb3R4bWI0VlhWTVg4UlpuR0dxU3F0elNOWkZKdU0yU05VMWFVS0hoYU9PYjU2UGd5RVk4eWNLSE1OalpzdFdDQlYxZEg3UFN3Y2M3L0ViTzNKTVdmRWZIMXM5VG0rR0ZWMXpGNTZXRERmeHN2S2NCMzZuY2s5TE9nbTgrQlJxbHI3WnJWaGd3Zkp0cXFCdVpab0t3K0xZaXgxRXhZNFZhV3dML0d4S0tCK3BhMExFdFBZdUxYNFZNRmRKTitHQlU1Vk9keC9mQ3lDYTh2MmltdHJMVXBXc0h0cnRtR0IzTkpIYk1QZ3VaZEZjTStCYkhwamZKMXBMTFJ0MHp6WlpKMDlVbFZySy9yZzVPeGwwZG0rK0tJdjNES2pUTTFxSkF0TnlZdHQ5bDlFcWlvelF6Rk9rZ0NMMml5T09UYTQ1N3FGNWpvTEJjWWwyV1pmVHF5cUVtTi9Ga2xDTEthQ3grZEJyaGJyUW0zSjlFUkJZN0NZbmh0NVV6WUViTU1DbWZaZ05wLytQZFJ2UTh1OUxPYmVsNVUzRW9WZC9MUnk5OUowWlFKdGhxdUcycjE4NmZpOHAvRzBIUXZjNDJmQVh0Y1FDK3JmNityWVA1c0RMT3pxYmNRQ09WYXRvMWs0OXUwMi9oT2FFSXUwMjQ0RlVsVjVQQXZxTnd2d0JIMVRkZVY2S2YxR0xMQXp3SFUwQytpK2EvR0M1OUpPRm1tM0pRdms0MmVjUkxOZ1NhQm82clFhSjR0bVV4YllHV0FXemNLMnBWTmdPTlNFV0x4Mm03SkFKeE82UkxNdzI1b0d2RkRlbVN3SVBPMjJHUXVjcXBvd3NnN0JRb2VSTm41amUrMHNGbnJQeEQ2VHVad0ZQdm5ZVmE4M2dvWDZlRzhXNkhtdm5jMUNvemtYa0pUYXA4R3crTisvdE0rL3daTjRhWDZjRDUvTHg1Q3phcnJwNlZ3RWVIdmtZOS9wRjMrUittc0dsVEg3OU55NFVzQk9Vak1valM0d1R5U05vS3E0NzdYNUMyN2RuLzJscVVDeVdQSmhmai93WkxGbkZxZ25HSjhzUGhzTGhuMFUvaE93b1BnNDUrRloxT2gwRVkvUGd1Q3lBbndHRmpUWlRsS1B4cUxlVUVZT3hvSWxHN3JPZzdFZ3lZYXVjKzhzU21oaUl2dWNMTFJSZDRITUlmS1lMTGlTNStOSzBMbGxIcEtGbklBcXk5QlUxZU96b0o0VnY4L0dvdlhsbFBwa0xPcVBOSXVkc3lnKzBpeDJ6c0svWlA3WldlVGRKMlZoN3psNDdUNHJDeTFiN2VZb2RqODJZd3FOdE5xWXZIOXRjQWZqVkY0V2NqUFpiM1plM2ZQelpQRms4V1R4WlBGazhXVHhaUEZrOFdUeFpQRms4V1R4WlBGazhXVHhaUEhnTEs1bEdkaVA3Zm13OHE3M3RPbXpkREdiK2pkaGNibHJjMERyZlBBRFYyWDE3YjhrV1c4bnp5SVdORm1EeGRKbEliWGhkZks3V1pDVldJekxoUnpvTHF6Q3NPREpJaGJYWmpVV1BGbUp4YmdjUWdBRElRbUdSYnVJQlhNOEI1Z3M2eUpackZtZmRSWnlYY1F5K2hsM0pkWjIvQ3lLUmF0THJUREl3bXBFc3V5K05uZXpHQnh3Zmg4THNtaFZmazBXZGZTbVE1QkZmMWV6NGEramp3UlpMSHYzK2RCSDFtRlJSTytvZ2xud1VVbzQwTmw1ZzJPeHlHT3hia1VXNlNvc2VnUEwvVGR3R3haZHQyWWZhZlF3c2hwQ1VUV3duTTdndCtNT0Z0U3djV1pFb3lxTE9WTFZXR1JtT1B3bEZQTldxN0pvdFNhd1FkS0tPVjY0ekE5KzN2NlFLYnZiMldUQjVYdkZodnE5YVJtUEt2WGxDa044bWRtK1UzTzcrbU43ZlhGbk5yMmtKZXVMbytOVDR2SmtrVzFObnJCUVUyY3BHMnFaMHZrcGU2cWxHaUdKbTBYZmxybHhsMFRMTWFpeElOcHJDeXZGUXBWSXZyWXpiWmtzeU5vc3VMcHJoRnFicllnU1ZXcFovMndXdGNLQ3EyVVlMR3IxTzRVRlZZYzFXZ0V5SmFIQklsbWJ4VkMxVndXL3V0dUtxdjhKc0dqSDk4MVY2dERpWkxOSTlCUS9sVFlha0RDMEFtVHl4czFaY0dXWG1hZ0xFV3d1b2hxRk9OSS9MejZtNzZxRWoxTkcrQnFMU2pidTlvT1hvWk9yTFByeHVNQmJEYlUzV05CNXdNdUgrM01aRElPS1ZFdGxaYkxJcHV2ZjFGRDQ0enRaS0E4TE1uRzc2ZEFqU0g4cEdUVEl0RzY1VzFQNzMwa1c4cVcxUkZKUTRzNTZ0RUtpb0ZQZHBZQWhSd1pFWExLWVU3bHFMQnFGaGVhS0Y3TVkvVndqcjhXVEtaUmowbm5WbzNFM0hoWnNiaHdkRFUxNGVvTUZHZjhPMytuYU1RbE1QUnluVXo2NUJtQng2dFpuTWNBNGlXdk5qZTB2U0dWVnFaTHR6Y1ZDNlNQMW5JRXpNMWxNMmdDd0dIUXNseEhncVBCTVNjR25zamh2d1dLQVVjbnF6aXpVNEtIcUpoa01zcGhDbjhKaXdhZWZGOE10MTJKMkFTTWRnYkhaZ1ZjUWkyb1RGZ0xHQ1dLUktySHkyQW9QaTI1aWNaSnlrQm9zMk5UNlluQkkrdmhGd01qRk5UaVprNnMwSDhoQ0NBYkVJc096S0ZRV1ozVjJJNEtGSU5DL3dlODhvWmd2WWJEb05tTFJYL2xPRm1RTXlDcmxGSkJGNTJNeFNNaXRBS0srN085RFdRalBmUmNMZFR4Q2x0dkZJT2JEUzNadTM5TzAvSGdXRkdhQjl4ZnRjUHplUGpKb2lMQ0xkQ3pndzFrd21FV0Naa0hrQUU3VkVadEZOMDF6K0ZtY2FoRjA5ZXJzMGhHUXhYa3J1NWh2WXBBRlRlU1BxMUUrbkN4T0lSWlp6NE0xMGdsTjhRVWZPUlloRnNWOUxIcmhzbGlNSVdqSHF5QUxvZzdDVzlsRWdFVXgvcjM2L0VVOXA0NC9qY01raFdQaVpFSGtXRzU5SGVsYktDdzF5S0tReXhxeTNhSnVWNTFGTS82Z1YwcWV1WFhrTkkxSGFuR3hRaHJHRUwrTDZGMW5VYy92RVcyR2VHNEppM0ZobVNpc0ZSYkQvTW8xVVZrVVlzQ3BqRk81K1BtVU4zTWVwMTRTblVVL3ZoWFJaSjlGejJJeFZFUk1ZTWx4NmxVZnAvYlZ5Y1J0cXd3V3QzOWYrbkZxTFVmWCtiSzUzM25kekdZeFRXc3BMR3B6L2tMTDdhRFBYeWdzcGxkUmpOTkRGZ3R0RXFsV2x5YTVyQ0NkMDBUcUxHVFdrZW1FNWo0V0RjQmlldCs4d29MQ0xGN1Z5VndPc0pEdi9hSWhGcWs2cjVYUEkrbXptbDVkWnpHOS8wU205dXZ1WWpHWHI3SmdOb3ZoZWlhTFRKL2t2OWdzcUQ3ZmVYS3lxRnp6bmVvckhIUVd3K216SWVkM3NYanBRQlpEbzE1VlRSMzRHQ3krbUFzZW90eVhkaDZialVWTmc5SEd4YUp5em9QTG8xVm5zZUF5WkM5R0c5MWtqeEpidU92bTJqdTdGbHlWNDZpOU4vRDZ5RFcwZ2VodHVESDcyNi9WYnBmekliQSt0OGM4alU4V2E2eVJQaGdMdXUwajdRZGhjUjBYekxiTWRIQVVGa1VmRTIrWkx1ZEFMTWdIWkgwNENvdnQ4NkljamtYelpOR0hscjJ6YUg3TGxjV1dvdjhEd2lmRXpLcDRyVWdBQUFBQVNVVk9SSzVDWUlJPSJ9LCJzdGF0dXNSZXBvcnRzIjpbeyJzdGF0dXMiOiJGSURPX0NFUlRJRklFRCIsImVmZmVjdGl2ZURhdGUiOiIyMDE5LTAxLTA3IiwidXJsIjoibWsuY29tLnZuIiwiY2VydGlmaWNhdGlvbkRlc2NyaXB0b3IiOiJVMkYgQXV0aGVudGljYXRvciIsImNlcnRpZmljYXRlTnVtYmVyIjoiVTJGMTEwMDIwMTgwNzA5MDAxIiwiY2VydGlmaWNhdGlvblBvbGljeVZlcnNpb24iOiIxLjMuMyIsImNlcnRpZmljYXRpb25SZXF1aXJlbWVudHNWZXJzaW9uIjoiMS4xIn1dLCJ0aW1lT2ZMYXN0U3RhdHVzQ2hhbmdlIjoiMjAxOS0wMS0wNyJ9LHsiYXR0ZXN0YXRpb25DZXJ0aWZpY2F0ZUtleUlkZW50aWZpZXJzIjpbIjJlYjlmZjM1NzJmNjc2MjhkMTI5MWEzYjU3OTI0ZjgxOGFhZDllNzIiXSwibWV0YWRhdGFTdGF0ZW1lbnQiOnsibGVnYWxIZWFkZXIiOiJodHRwczovL2ZpZG9hbGxpYW5jZS5vcmcvbWV0YWRhdGEvbWV0YWRhdGEtc3RhdGVtZW50LWxlZ2FsLWhlYWRlci8iLCJhdHRlc3RhdGlvbkNlcnRpZmljYXRlS2V5SWRlbnRpZmllcnMiOlsiMmViOWZmMzU3MmY2NzYyOGQxMjkxYTNiNTc5MjRmODE4YWFkOWU3MiJdLCJkZXNjcmlwdGlvbiI6Ikh5cGVyIEZJRE_CqSBVMkYgTWluaSBTZWN1cml0eSBLZXkiLCJhdXRoZW50aWNhdG9yVmVyc2lvbiI6MSwicHJvdG9jb2xGYW1pbHkiOiJ1MmYiLCJzY2hlbWEiOjMsInVwdiI6W3sibWFqb3IiOjEsIm1pbm9yIjowfV0sImF1dGhlbnRpY2F0aW9uQWxnb3JpdGhtcyI6WyJzZWNwMjU2cjFfZWNkc2Ffc2hhMjU2X3JhdyJdLCJwdWJsaWNLZXlBbGdBbmRFbmNvZGluZ3MiOlsiZWNjX3g5NjJfcmF3Il0sImF0dGVzdGF0aW9uVHlwZXMiOlsiYmFzaWNfZnVsbCJdLCJ1c2VyVmVyaWZpY2F0aW9uRGV0YWlscyI6W1t7InVzZXJWZXJpZmljYXRpb25NZXRob2QiOiJwcmVzZW5jZV9pbnRlcm5hbCJ9XV0sImtleVByb3RlY3Rpb24iOlsiaGFyZHdhcmUiLCJzZWN1cmVfZWxlbWVudCIsInJlbW90ZV9oYW5kbGUiXSwiaXNLZXlSZXN0cmljdGVkIjp0cnVlLCJpc0ZyZXNoVXNlclZlcmlmaWNhdGlvblJlcXVpcmVkIjp0cnVlLCJtYXRjaGVyUHJvdGVjdGlvbiI6WyJvbl9jaGlwIl0sImF0dGFjaG1lbnRIaW50IjpbImV4dGVybmFsIl0sInRjRGlzcGxheSI6W10sImF0dGVzdGF0aW9uUm9vdENlcnRpZmljYXRlcyI6WyJNSUlCeHpDQ0FXeWdBd0lCQWdJQ0VBc3dDZ1lJS29aSXpqMEVBd0l3T2pFTE1Ba0dBMVVFQmhNQ1EwRXhFakFRQmdOVkJBb01DVWhaVUVWU1UwVkRWVEVYTUJVR0ExVUVBd3dPU0ZsUVJWSkdTVVJQSURBeU1EQXdJQmNOTVRnd01UQXhNREF3TURBd1doZ1BNakEwTnpFeU16RXlNelU1TlRsYU1Eb3hDekFKQmdOVkJBWVRBa05CTVJJd0VBWURWUVFLREFsSVdWQkZVbE5GUTFVeEZ6QVZCZ05WQkFNTURraFpVRVZTUmtsRVR5QXdNakF3TUZrd0V3WUhLb1pJemowQ0FRWUlLb1pJemowREFRY0RRZ0FFcktVSTFHMFM3YTZJT0xsbUhpcExsQnV4VFlqc0VFU1F2elFoM2RCN2R2eHhXV203a1dMOTFycTZTN2F5WkcwZ1pQUit6WXFkRnp3QVlEY0c0K2FYNjZOZ01GNHdIUVlEVlIwT0JCWUVGTFpZY2ZNTXdrUUFHYnQzcnl6WkZQRnlwbXNJTUI4R0ExVWRJd1FZTUJhQUZMWlljZk1Nd2tRQUdidDNyeXpaRlBGeXBtc0lNQXdHQTFVZEV3UUZNQU1CQWY4d0RnWURWUjBQQVFIL0JBUURBZ0VHTUFvR0NDcUdTTTQ5QkFNQ0Ewa0FNRVlDSVFDRzIvcHBNR3Q3cGtjUmllNVlJb2hTM3VEUElybWlSY1RqcURjbEtWV2cwZ0loQU5jUE5EWkhFMi96Wit1QjVUaEc5T1p1cyt4U2I0a25rcmJBeVhLWDJ6bS8iXSwiaWNvbiI6ImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBSTBBQUFBV0NBWUFBQUQ5L3g4bEFBQUFCSE5DU1ZRSUNBZ0lmQWhraUFBQUIzRkpSRUZVYUlIdG1rMXkyOWdSeDM4Tkl0TFN6QW5Nbk1ETU5rbVY2YXFweW5KNEE5TW5NQ1NTVmFHME1Md1FzUkJsd1NjUWRZS1JWbG1sUkc1bUcrb0VRNTBnMUM1VVNIUVdqL2grL05CRXRtY20rcThJdkVhL2ZrRDN2L3YxWTRWTk9BeGEvUG03S2ovK1kxb2E4L3dxZi9ucjMvblRkM2ZXOFdmOFp1R3VIV24zbXdnWHdCdnJlR1V2QkJwQWc4UGdIWjk2d3k5aTRUTytMZHI5SmlLdlZsZGpCcjJSWXhYc250U0JpdzJLaG9pOFRhNGRMamdNV2s5bzZqTitDZWowUFVSbXdCaUpyb21vMFFrYVphZnBudFNKNUFhUjZnWkZiMHYzbngzbk53aXBNdWlOVUIyaUVsS0pKcUQxZkhyeS9Db3FGMnNkeGpqRitkbzVqT093TVZWbDZVNmlhMDZQSjdueFR0QUFYcSt1eGl5WTRwSTY2V0wrbWRDZjVaN3BudFJSNS90VWhrdCtGMVdKNUJVaXRaSU5xbE9XTWlic3BiVllwKytCdkZocmQ2dzM3RTFOWUZWZUkycDVUekpoOGU5eHljWjRiU3F2Y3MrSmp2aVAzQ1cyUE1hT0dGNVFvNkt2UzJzVkhYRjZOTWJ6cTdqNzc4M2FaY2JaM3o3bjVMeWdscnpqaUx2ayswV1lPVVNxcU5ZWUhFL29CTTI4MDdoN1Z5RDF6SjFyQnIxUnN1QlN5dElEVkZvSXI1SmJEaGUwK3pQT2pxNnNDeFk4WXFkUVI0QkpRYUlCZkZqOS9nanpFUFlQQVBNaUszdC9BUEtNRm9tSEpJNTFEL1BQNk40UWtkZllJR0txdVZ3dEp1dURJWWJMR0ppaUVpSnExNDFDWlcvR1lYQ1E2TzZlMUltY0g0QWFvZ1Z4QVZmSHEzVS96ZzZBZGhBaXZBZXhtQ0xRQ2VLYTFEZnFGU0R2TkM2MVpOelJNV0RzRnVxckpRMUJqSE9oc3pROXRmdER5THhrNVpiRnZKVXNXdldIZ2trZkdSeUZMT2NObE52QzJNV3FMdnJmWVNJMlRLNUYzaHJqVi9DQ1dpNWRSbmpXS0xmQjRTS242NmtnVWtYMEhNODNqQkxKRmNMVHo5TUpmT013WHdoTFF0cEJDUElUeUUrNHRGZzhEQTNUSEFhdFRLUWFoMW5PRzRUK0RNK3ZsbW9jMVV2T2pveG5HcGtHbGYxUndqZ2lWWlFMNEk5UFl2eWc1OVB1dHhCNUNVQUZEL0RNYi9XVEtGTzk0OU5ST1RXcVhpSVNVMjROSjhPWURnM2l5RW9mT0FBcE1pQXM1dVY3V2QxWmxoU3A0dTdYZ1ZGaTl6cmRvbXVjZklzZFNqTWhHTlU3SUM1Yzg3TEdqc2ZEcEVDdmVOczFrYXJuR1hxN1owa3ppVlozZndoa2MvYzFaMGNwQTUwZVQ2eU9nOVRwQkQ2RG52K3pEQzVDeFYrMUFBQjlpK2Y3c0YvTk9idUl2UkFYbVNacEZxRFRieVdzNnRnWVFDWTUrVTNJNng3UkRwcTVkRjNFUXE1eTljaG01WnZ0eU00ajBsb3Iyd2wybTI1SHVGVFV6N0ZJaEpkZmxGYlRTT2FXNVNwbHhVVnp6Q2FoUDZONzBrS2RmNmFQNm52aVhHbUQ4cEp1UDE4YlJMeTBwV2MrOVliSnh6WlI3S0ZhUzUxZHh3eU9kdnZRM3hJVmJtajNmWllQMXp1blVSdTZKM1d5NWRHdVR2NEVjQkZwWnE3djErNThpaW5MM2JzcEZNMXdlanloMHg4blVTeFN4UXRxYXlOTGFLRUZkckE1VERyb0F6ZkdIbjJmMytYSmJzNFpVY3ZWYnZFT0lZK2JVblNxempnNyt2MUczU29Oc0xDTVNXR0dFWVVheUJCM0g5ckJFT0Z5d3djdjIyR0NvNEU2OWgzdVY0QkR2Q3NCVVA2MVJzNlNzc1NlSjdWQTl6dFQ4UTR3TC9jYW9GUmpiYWJ4RmlvalZFYVorZ1Bnbm1odTMrV1ZkS3hwUTJSMVoxbFY5UzZ4YWZuZ29YcHBmZFk0eHRPazhLOEVGelRERE5RNERGcDV0cEVaRWpVSWoxZGJ2UDRRK042aUsrNHhaSXUrOGNiWlZlK1FRcVFydFh6aFdNQUNEN2N3LzNJRHk2eWRtMXVjcUdWTkVZWVpDczYrcmxpMTRocEhVNXZNSEMyOHdNZlZKb3BYV09NSHZHQllDakNiSFZIUnJxOFBGeVZFU09sYTlKenV5U1JwdWkzbTZZczFQWUZzTi9nKytXWDZPSVVldzVhUEtUSXNGY29tNmo3WUg4QXdWN3VmMHIzeWVTdWJaWGM0dStSK1k5ZXVOY0liVkt1SVpGc1NZYWxwR2R0dTJnZmg2bjFkRVRPOTZaWGsxN0hKRHJNclNxODNsUUZiWmJXK3BTN0l3VmsxNGE0emhwb3RkdHhuaVIzR2JNdnpQUUdKVEVQSzFzZFJQbit4NGl3YmZjSjJCb2gzT0YvS251STdSTGMzNkFhOUVacHhrdWlSZlJ6elhkS2dyV3dLdElLc20ybU9tbDVTcHQxaTJlSVhZUG8waTNtTHl0NGtvVXlSS2hFM2RFL2VjSG84NFRCbzVYb2JBQkh2K0hROHNaNVZLYmVjOVVyNysxOFA5SnhPVUhaR2lRNnNEQUxtSGJyN1UrQkZydDFnampqS1RxVFVjZzIvU21UUnU4VU8xYXRNZ2QxYUhkRk1yTEl3SWkwclB0QU8zaUpNVWExRHRsN1RyWUZsbk1ac2w1dXJZczdRWmV3NDdiNW5JaWREWHhGcCt6MXloZ2pab3ZTTzVVTmoyOFMvYkt3cjhqZnNXRUovUnFmdko4Y0FxdS94Z2lGS2xlU0lJRHRGVnE5ZU1yQTU0eFk3bHVMajBpVDd6WXB6eGJJUythalRTR1dwQVRVa1k0aHl1L2I0SjRQMDdPbjBlRUwzcElFNmVjY3Bka3RWTDNOZDEzd2o2eDVIbTV4dDZEK29USkx6RjF0UkZ6RmRuWCtzTC9wMmtkazJUL21CelVVN3BKM2JyTzVzTjNkd0ZOTHUxeEZxQ0NZTkxCamk4aEUwUGx1cUF5OVdHNUFaRVZmNUx2WWo3QWg3VTd5Z1RnVVAwWHFxRytNQXdwVEZLZ1dlSGsrTXJQb2c5ZngzMHpISWlPVThMRTVsbmI1MHg5QnA2amhabU9PRGZGK2xFMlJiVEcrK1pwUHBHZDhHNWYvVG5CNVBWZ1h1Zlg1QXh5V0h5U0xpM2JQRC9IL0Evcys5b3VNb3R5d2VtbFpaSTNEdy9IZlBaeGgwVCtwMCtxUGtpTitHVHY5WHZFdDZ4cy9CZndHaGhtblljYXlkZ1FBQUFBQkpSVTVFcmtKZ2dnPT0ifSwic3RhdHVzUmVwb3J0cyI6W3sic3RhdHVzIjoiRklET19DRVJUSUZJRUQiLCJlZmZlY3RpdmVEYXRlIjoiMjAxOS0wOC0wMiIsImNlcnRpZmljYXRpb25EZXNjcmlwdG9yIjoiSHlwZXIgRklET8KuIE1pbmkiLCJjZXJ0aWZpY2F0ZU51bWJlciI6IlUyRjEwMDAyMDE4MDkxODAwMSIsImNlcnRpZmljYXRpb25Qb2xpY3lWZXJzaW9uIjoiMS4zLjQiLCJjZXJ0aWZpY2F0aW9uUmVxdWlyZW1lbnRzVmVyc2lvbiI6IjEuMS4wIn1dLCJ0aW1lT2ZMYXN0U3RhdHVzQ2hhbmdlIjoiMjAxOS0wOC0wMiJ9LHsiYXR0ZXN0YXRpb25DZXJ0aWZpY2F0ZUtleUlkZW50aWZpZXJzIjpbImNkOWRkNzdjZjU4MGRmZTA1ZDlkMDg5ODY1YTE2NGRiYjY0MzJjZDIiXSwibWV0YWRhdGFTdGF0ZW1lbnQiOnsibGVnYWxIZWFkZXIiOiJodHRwczovL2ZpZG9hbGxpYW5jZS5vcmcvbWV0YWRhdGEvbWV0YWRhdGEtc3RhdGVtZW50LWxlZ2FsLWhlYWRlci8iLCJhdHRlc3RhdGlvbkNlcnRpZmljYXRlS2V5SWRlbnRpZmllcnMiOlsiY2Q5ZGQ3N2NmNTgwZGZlMDVkOWQwODk4NjVhMTY0ZGJiNjQzMmNkMiJdLCJkZXNjcmlwdGlvbiI6IlRydXN0S2V5IFQxMTAgVTJGIEF1dGhlbnRpY2F0b3IiLCJhdXRoZW50aWNhdG9yVmVyc2lvbiI6MSwicHJvdG9jb2xGYW1pbHkiOiJ1MmYiLCJzY2hlbWEiOjMsInVwdiI6W3sibWFqb3IiOjEsIm1pbm9yIjoxfV0sImF1dGhlbnRpY2F0aW9uQWxnb3JpdGhtcyI6WyJzZWNwMjU2cjFfZWNkc2Ffc2hhMjU2X3JhdyJdLCJwdWJsaWNLZXlBbGdBbmRFbmNvZGluZ3MiOlsiZWNjX3g5NjJfcmF3Il0sImF0dGVzdGF0aW9uVHlwZXMiOlsiYmFzaWNfZnVsbCJdLCJ1c2VyVmVyaWZpY2F0aW9uRGV0YWlscyI6W1t7InVzZXJWZXJpZmljYXRpb25NZXRob2QiOiJwcmVzZW5jZV9pbnRlcm5hbCJ9XV0sImtleVByb3RlY3Rpb24iOlsiaGFyZHdhcmUiLCJyZW1vdGVfaGFuZGxlIl0sIm1hdGNoZXJQcm90ZWN0aW9uIjpbIm9uX2NoaXAiXSwiY3J5cHRvU3RyZW5ndGgiOjI1NiwiYXR0YWNobWVudEhpbnQiOlsiZXh0ZXJuYWwiXSwidGNEaXNwbGF5IjpbXSwiYXR0ZXN0YXRpb25Sb290Q2VydGlmaWNhdGVzIjpbIk1JSUNwVENDQWtxZ0F3SUJBZ0lCQVRBS0JnZ3Foa2pPUFFRREFqQ0JyekVMTUFrR0ExVUVCaE1DUzFJeEVUQVBCZ05WQkFnTUNGTmxiM1ZzTFZOcE1STXdFUVlEVlFRSERBcEhZVzVuYm1GdExVZDFNUmN3RlFZRFZRUUtEQTVsVjBKTklFTnZMaXdnVEhSa0xqRWlNQ0FHQTFVRUN3d1pRWFYwYUdWdWRHbGpZWFJ2Y2lCQmRIUmxjM1JoZEdsdmJqRWNNQm9HQTFVRUF3d1RaVmRDVFNCRFFTQkRaWEowYVdacFkyRjBaVEVkTUJzR0NTcUdTSWIzRFFFSkFSWU9hVzVtYjBCbExYZGliUzVqYjIwd0hoY05NVGd3TnpBeU1EVXpNVE01V2hjTk1qTXdOekF4TURVek1UTTVXakNCcnpFTE1Ba0dBMVVFQmhNQ1MxSXhFVEFQQmdOVkJBZ01DRk5sYjNWc0xWTnBNUk13RVFZRFZRUUhEQXBIWVc1bmJtRnRMVWQxTVJjd0ZRWURWUVFLREE1bFYwSk5JRU52TGl3Z1RIUmtMakVpTUNBR0ExVUVDd3daUVhWMGFHVnVkR2xqWVhSdmNpQkJkSFJsYzNSaGRHbHZiakVjTUJvR0ExVUVBd3dUWlZkQ1RTQkRRU0JEWlhKMGFXWnBZMkYwWlRFZE1Cc0dDU3FHU0liM0RRRUpBUllPYVc1bWIwQmxMWGRpYlM1amIyMHdXVEFUQmdjcWhrak9QUUlCQmdncWhrak9QUU1CQndOQ0FBUUlmcUhpc2kwb08vZXlPcVNhRHJyOWl0RzJJeW1Ca0huU0RHUUlJWW1UK3ZxQThBZ084MW1vbWMyTGQ1UEdwRU42bXVFNTR3UEhRanZjL3lDaWg4dTJvMVV3VXpBU0JnTlZIUk1CQWY4RUNEQUdBUUgvQWdFQU1CMEdBMVVkRGdRV0JCUzNKL2Z4aUF2MjJpcmRCczk4U09EaEY3a1UvakFMQmdOVkhROEVCQU1DQVFZd0VRWUpZSVpJQVliNFFnRUJCQVFEQWdBSE1Bb0dDQ3FHU000OUJBTUNBMGtBTUVZQ0lRRGM0MUxGSzRMSkNCVTJWVktJejdaNnN4UGhVRWtoOG5MU0xLNklYZGtQNXdJaEFJZUtWT1pjaGFWTzVhRjdmYmRYb1NyY3l5MVlZZVVlUExvamNLSTlmWDg0Il0sImljb24iOiJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUdZQUFBQTdDQVlBQUFDSnovOUxBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQXlacFZGaDBXRTFNT21OdmJTNWhaRzlpWlM1NGJYQUFBQUFBQUR3L2VIQmhZMnRsZENCaVpXZHBiajBpNzd1L0lpQnBaRDBpVnpWTk1FMXdRMlZvYVVoNmNtVlRlazVVWTNwcll6bGtJajgrSUR4NE9uaHRjRzFsZEdFZ2VHMXNibk02ZUQwaVlXUnZZbVU2Ym5NNmJXVjBZUzhpSUhnNmVHMXdkR3M5SWtGa2IySmxJRmhOVUNCRGIzSmxJRFV1Tmkxak1URXhJRGM1TGpFMU9ETXlOU3dnTWpBeE5TOHdPUzh4TUMwd01Ub3hNRG95TUNBZ0lDQWdJQ0FnSWo0Z1BISmtaanBTUkVZZ2VHMXNibk02Y21SbVBTSm9kSFJ3T2k4dmQzZDNMbmN6TG05eVp5OHhPVGs1THpBeUx6SXlMWEprWmkxemVXNTBZWGd0Ym5NaklqNGdQSEprWmpwRVpYTmpjbWx3ZEdsdmJpQnlaR1k2WVdKdmRYUTlJaUlnZUcxc2JuTTZlRzF3UFNKb2RIUndPaTh2Ym5NdVlXUnZZbVV1WTI5dEwzaGhjQzh4TGpBdklpQjRiV3h1Y3pwNGJYQk5UVDBpYUhSMGNEb3ZMMjV6TG1Ga2IySmxMbU52YlM5NFlYQXZNUzR3TDIxdEx5SWdlRzFzYm5NNmMzUlNaV1k5SW1oMGRIQTZMeTl1Y3k1aFpHOWlaUzVqYjIwdmVHRndMekV1TUM5elZIbHdaUzlTWlhOdmRYSmpaVkpsWmlNaUlIaHRjRHBEY21WaGRHOXlWRzl2YkQwaVFXUnZZbVVnVUdodmRHOXphRzl3SUVORElESXdNVFVnS0ZkcGJtUnZkM01wSWlCNGJYQk5UVHBKYm5OMFlXNWpaVWxFUFNKNGJYQXVhV2xrT2pZMU5EWTNSRVpHTlRBd1FqRXhSVFk1UmpFelJqVkJSamhHUWpnek9ETXlJaUI0YlhCTlRUcEViMk4xYldWdWRFbEVQU0o0YlhBdVpHbGtPalkxTkRZM1JUQXdOVEF3UWpFeFJUWTVSakV6UmpWQlJqaEdRamd6T0RNeUlqNGdQSGh0Y0UxTk9rUmxjbWwyWldSR2NtOXRJSE4wVW1WbU9tbHVjM1JoYm1ObFNVUTlJbmh0Y0M1cGFXUTZOalUwTmpkRVJrUTFNREJDTVRGRk5qbEdNVE5HTlVGR09FWkNPRE00TXpJaUlITjBVbVZtT21SdlkzVnRaVzUwU1VROUluaHRjQzVrYVdRNk5qVTBOamRFUmtVMU1EQkNNVEZGTmpsR01UTkdOVUZHT0VaQ09ETTRNeklpTHo0Z1BDOXlaR1k2UkdWelkzSnBjSFJwYjI0K0lEd3ZjbVJtT2xKRVJqNGdQQzk0T25odGNHMWxkR0UrSUR3L2VIQmhZMnRsZENCbGJtUTlJbklpUHo2WHFBU1hBQUFRYzBsRVFWUjQydXhjQjFoVXh4WWVsa1Y2RVFVUkJTbkNMa1FUamUwOUV4RUZOUzhHRTlUUFJJMUdBUnNvZG9vUk5BSVdFRFVXRkxHaWFOUWsxc1Jnd1FxYUtJalJwOUtMWWhEQktLRXFMTzhjbU0wYkxoZDJGMHRVZHI3dmZIUHY3Tnk1Yzg4L1owNlptVlVscjBHeU5ETzNhNjJ2ZnhpbytISHhrMXRFbVlqS1B3eElLOGo4Z0w0R3d1cy9nTVJaZDNPTFd6b3dxdjhnS1ArQzdDZWdVZGdQZlgxOVVsbFpxUXZYT2lBMXg1VVM4K29CMFlFc0JHZ0d2dC9jM0x4eWUvVE9IRjA5UGMxLzkrNWpWbDFWSllIeWY0SFVYR25Kd0FoZU1Tai9nUXgxaUxlcXFxckszUG56MG44K0VTczVzRysvYldwS2lwbjN6Sm5wdEUrUlVGY29UNXVEdnN2VUFRb0hlbDhwTVlvRFlnVFpHcUF4ZUcvL2puM0o5dWpvd3JUVVZJc0Z2bjRrTnplWGdPUVFBS2xzc0pPVDJ2MjgrMnBRYlM1SXpTb1pvQ0RRa1VCbVFFbEF2VTkrWVZXdEJFWStVTVpCdGhxb2picTZPbGtTSEh4bjBKREJuWmNHaHdpLzM3Ky9YdDFwWGw3a0V4ZVhsS0VmZlNTQzIxSWdPd0RuTGc4ZzlZQm0wbXdBWm8xeUttc2FFQXVnV0xpTVJsRDZmdkJCNGRWcjErNXJhV3VKQnc5MGFnQUtwczJSa1VTb0poUzVEQnQySDI2MWdkYnhnSUpBMytZQkJWTVEvTjVSS1RIOGdLaFN4UjZNek5YUjBTRnJOMnk0SlJhTDdBTytYa2hPbnpyVjVQTTllL1VpMFRHN0MzcDJmOSs0ckJTRmhyaUMxQndDaGx2QTlTYWdJVEs2Y0JDa1pyaFNZdXFEMGhXeVMzVHEwbmI1OU5PODM1SVNDL1B1M2JVZjVPUWtFeFJNVjY5Y0lZY1BIaklPQzEvNTM5cVJJMUJkNTd6cjFnSnFOSEJCeVFJYUJ2UTdVK1lLSUE1VFNrd2RJQnJVU1VSblVXaGtaRlMxZGNmMmRFMHRMYkhmZkIrU2VQV3FRdTJoVDNQcTdKbHFULy9nZ3NMZVgxYW82aHBhY3FwVVV4MFRDTkpSQmtEMGh1dkx6UGVnWHJLSDMwcGFyTVFBS1AwZ1N3WmFxS0tpSW5UejhNZytueEJmRVhjNlR2eng0Q0VLZzRMcHczNzlTUEtEaXZTS0liTk1lRUM1am40T01IMGVnb0lGa1A4R1dRUlRCNjIwSlMxU1lnQVFQY2hDZ2FiVTNsdFpsWU9qbVBlb3FLaXpMMGdKbU1JS3QyblN2ajN4WFJoUUZLL2JveWI1UVhsYnpzK1ZRTjhBaFFFUVZUeEdBZlluQlp0aHBBck41NlFXQXd5QThpa2RvYWFxUWlIeDhmVk5Hek4yakhsNDJFcjE2SjA3aVVRaVVhd1RLaXBrek5peGtoNmp2ZEszcER5MWZWcGR3NjF5RG1nU01EbE5obCtENFoxOXJNb0M2Z1BQU2Q3cXFRd0FNUUU2QUplSEVKVDN1blVyL3UzcWxSeGJrYTNOa0VHRDFIZHMzNjR3S0ZiV1ZpUmk1Kzc4aC8wOXl5SnVWWEpCZVVJbGNvQXNVT2lVaGpZNEcyZnJDZVQ1MWtvTWdJSDFKZ0tGQXhsb2FtcVNwY3VYMytubjBNOG1hTWtTVmJDaUZINHhTdHJVYWRPcWpBYU55OW1UV21ZdHFXbG85Z0pOQjJiZlY2UmRhbGFqQmFkSmkvNENFaXZhem1zdk1RQktaOGhPQTIxRlVCd0hPRDY4Y2kwcFgxSWpFUTl5Y200V0tOMjZkeWVSZTMvSXVXNzNlZlh1bEFhZzVBT05RRitrT2N5RVo3SWhXOHdVWWNSNjdWc2pNVFNJT0lkK3BLYUJnVUhOK28wUmR6cFpXTmg5N2VkUHpwODdwL0RMdExTMGlQZWMyUldWUFZ3TGpxYVhtUE5VaVFMeUFlWStmcDZQQXFsUm83R3pMa3l4QzdSNzdJMEdCa0RCU08wV29PNTRQM0xVcUh0QkljRmFlMkppRE1ORHcwaFpXWm5DTCtydjZFaStuUE4xeHFac0RZc25sZFhjZFNEVUg1T0JjV2RmMUljQk9IMGh1OGg4WXk3MWJVcmZPR0FBRUMzSUZnSE5SVFhRM3RUMDJkYnQyeklGQW9FSVRlRHJ5Y2tLdjZDMW9TR1o3NytnT0tXalExbjh2VElUSGtjeERNMWdZRmpGaS80NEFHZVQxSnluS1J6OW56Y0tHQUJsSUdTYmdhelJmSjNxNlprNVk2WjN1NGoxNjdVM1Jtd2sxVlZWQ2pmdU9udzRjWm80T3pVeXZjYTJ2S3FCdFpZSTVBR01TbjVaSHdmQUdFQjJCNmdkTXhCNndEdXZ2L2JBQUNDdHFiV0ZWaGV4c2JFcDNiRXIra0ZlWHA2Vm40OFB5Y3pJVkxqUkRoMDZFTDlGM3hTZVZ1c2l1RmxZWWNqNXVSd29BRU1xcjJMdEJNREJLSFFNVS9RclVOL1gzYmRCWU5DMHRFUHpOU0F3TU5WMXhIREwwR1hMMVdKMjcxYmN4Qk1JeVBnSkV5VDJ3eWRuYkV1cHRLbHFhQU5qRkhNS01DWHpWWDRrZ0lOS2Z5aFROQTM2c09sMUI4WU5UV0U5UFQyU21IeXQyR3VhcDk2SjJGaUZHeEtKeFdSdXdEZDUrMHJOREhLZVBOWG0vUHlJV25qUndKQWFva3h5QVlONkJxMGhCemQzOTV5aExpNmRScnE2a3BvYStmalhxbFVyNGpsOStsT3QvcVB6RHFTVld2STg5aDJRTndEeVVNbHVCWlUvYnJpRExCbVVmcXZ6Q2ZFWm16WkVXTXM3bGExY3Zhcm1pRWFmcXZzbHo5UTRQMkhvZlNvQThyT1N6YzMwL0xQdTV1SlM3UXFVRXZjSkU5dlA4L1dwYXR1MnJWd05iSTJLVW5HeDBzcmlGQ2RSbjBFSnlnc0l5U3hGUnk4MUpVWHJsNStQWndZc1hpUlhBN2R2M1NaRjV3NVlkOUJWSzJlS2NTWFRYTW5lRitkZ09tTzRDWGV6Z0NHUTd6bDFtb2s4b1JjTWFtNC9lQ3hyNFExVmRsRUx2VzZIbDZYc3Jjdzc0Y2p4SW5WYmE5SDBIWkdabTNPR1U4ZUYxRzNvMEtmZmluMlpBZlYyYytyWlFuWUN5SUFXZVVHZEdDakhWVkZjZE9NYU00VkE5MGpkY2tRVTFMM0gwei84Zm93emF0QWlESmQwZzdvRm5IcG9GTTBDMG1PS2crc0ZNV0ZLUTNNMnByS3lra3ozOGxKZEVoSk1ORFEwWkRLcHZMeWNSSWFHV0g1aXJadkxGSDhJNVA0U0IxVTJrQkZsT3ZwaS9YanFvSmZmaVRKY24rYURlZXBOcHZXd0RvYUxmcUxsR0pJeXBlVXNXV09VQ1NnUUp3MWdiaGNPczhXUWZVQWRXK2t6N2FVaExxWWV2bXMyQlo5dHZ5TmZkQmtSL1BOczNCbWpnZ2NQN25qUG1pa1hsODdFeFpGT2VRbHRkRnNKV0FrSkJSL0N1Qm5TSUFLS0Fzb0dlZ1pVQ1pRT3RBYklrSkZJTnZYa3RQRU9TaXhQOHowNDlWRGl4ck5xRTBiMVl5alhwTklvVFJzcHNDSnFhVXFURGdXV1RRTTVEclUwdmN1cGg1dExwTnV0MkkzMCtnMkFBYWxCVWZPcDljSW1UN0daNk81ZWJDc1N5Y1hRWlVGQjJyTzZhS1N3b1RLZ1ZRcUNnbEoyRThNMWRCUUxLWU53bE9JbzJZdjFnSGtacEc2SmdKZmgySDNtK2dSekxZWjM2REwzbjFISms0WnNwQnNHRFRqdFBZWjNQZ0ZLcGZFOU5tazBBY3paSm9DWlJIT01FNTVrMjJ0c1BRYlhYaTRXRlJXcHJnd05lN1IwK2JMYTVWOVpxYUNnZ0p5S1hpL3UxazZ6aUNrZUMxTGpMQ2NvZzJtOERzRkFTODhScUEwMVRLVEprYVBIcE1rVW5tOUgyOUhoU0VFbzFTOVNnNGVkVWp5WTZ4K0I4ZG1OQWNOYzkyYXVKV3pJQjk0dFlQcUlEUCtGRHhpb2h3SGRUK2d0VHAyVnJOcm1CUWFrQmo4Q283TFB0bTNaWW1GaTBqNXo5Smd4Y28zNDNkRzdpSXRHcmtRb3FBZmtKZ0JIUXdZb21uUkFTUHMwR3BoMERnaWpCbjh3VmU4MUFnejc0VitSdWdVeVRLajM0amh0OUtMdnRJS01IVFRoekRVWG1KRlFmdzlRRXAzV0NHM3pDK3ducHc5dDZEVktQaHQrc29mbjFaZytTamZPNytFWUdIcU5ybUFDT0JoREMwWGZ4bTNDaEhiei9Yemw4bTJ3L3ZMRmdVYnU3K2l4MjJSd0dsb280OUhSekh5Ymcwb1lQc0lOQ0RkWGZNc1ovWTBCSTZiNVZLWXNHaGhYUTVuRTFVZHVqR1VhRC9WK2JRS1lYclNQVW1uRC9RZzdnTTQzTVkwbEFHVXc5MEk2bGFvd2t2cUlNVFprVG1WL20yM1lNUGcyMnJISGY4bFF4TGNwUExmZnlsU25ubS9qQTFKajM4Umo3QzVMMUMzeFZJSkdVU25DSXhxamdIbVJURDFjTW1BWHZtemhvOUU2azFwSkNNZ1dlbjJOTTNMUklwcllpTFR3QVJOS2xUeWU3Y21qMXBNLzBPL1FsblVqd0Z3QVNxV21NanQ0K2xKVEdsTU1mRk1sQlZxYXRKb0VCcVNtUWpyNkZnVUVpSnljblBMN09UaklCYzdhTld1RTB5d3FXT1dNSXJ3UndHbE1XWWs0OHpsdTR2c1JLSWlhcGlMNGdBUHNBM0NQeXZvU1U0UW02UVRtL2lqVXlhSFhpU3lBbElHbTlCNUJQOHpwVDJ2T1Blb2Y5RmtXVWxkQW10RHE5S05UbzVDeEJIRlF4TkUrM21BSEJmcGN6SDBVVTEvMlZNYnhiZlpRMzBZUUJMNE5PcUR5K0RhYncwSXNQN2JXWlk5Uk9IQkdLWnVlTWRjcDhFRjlnTkJwREFRNkQ5VFkrZ2s3bmFIeWQyWHUxelBYaVJ3cmlsM1pYTVBUUGxkaS9tU3VjWk1JdTNKb3cweVJVdDJXUlBXalZMTFp1aVBwOVJXb0l3V05WZjdxOHU0clE5L21NZmcyeG1CNTNaNHgwMXR1MzhZeUw4RlFwNzV2RTBiUHR6U1lBWm5yUGpENkZnQ3BNOFpCTzZCeFFKMmJBS1lQTTlMUmJEL0ZTRmNtaDdrdXpCeS9nNmMvdk1CUWl5K0VVZHlZcENldG5Sc3gwWk01VTdZWlIxcTQvbzYyWE1DQTFEeUF6SmY2TnJidWt5WVYyOWpZeU8zYnpLenYyeGp5ek9lRUtuaFdhdkRqaTRFUkdVRDNxYzhTVFEwSk5sMm0vb2QwdXBTbURWVHBrMGFrUnVvOGJvSjZwWElBa3dqOXlLVkFzdnNHMHVoMHl6WGxUelVDak5TQ0t1VTRxbXpTVldRbkpxS2I4TGR2czJLNVhBK2hieE1IdnMyN1JocVBtT0p4SURWT0hIMlJTTzM2VEE3enJLanV3RlRFc1hJSVplcGx6bXZ4WFR0NXVoUFA0NXVzYTZUclhHRE1LS2t4RW9rT2IzZm93eDgwZ3ZBaE0vb1RtR2R2VUgrSFRmdmd1YitZZTFiNUN4VGF1MnhwWm81aERseTNFVjY4bEpDeGJ1MWE2Ky8yN0pVZEtRWG5kTWUrL1FYTDdob2JNOHZOT05MZTVlNk9vYVprVjZva05hbFNmRXo5a1p2d01VOTVmQ0Jrb2dXckE3akJRa1k1MnpPK1VoN1VlOWlJWDlXUkdkM2NsQS9QNWZNODA1WEcya3JoOXpSdW1JbjhmM2RvN1ppQ09zWE03MjJZS2U2WndwdktBUnowd3YxdFJhTFNmZDhmVUhkMkhDQUVLWkw1bkoyOUhabXdhazlhMUkwbjdCd1lCTUFFS29QOERWTnp6c2ZnZkpxSnZzM0oyTmlNZ0VYeSt6YVB6dTIzQk4rR2xSQmZtTkxzbEREd3pETE5lUWlrQm1OYXNiZ2tjRFg1V3Y3VVNaTk5MbDY0SVBNNVhMZlo5dU94cklDYjlkWnQwSE4yVkc3U2VINkpRU3NOVGNHOUZSVVZaT2IwR1lMZ3BTR0srVFpXdXZmazlHMlVFdE1NcVVGbkRuYzVHbngvOE9EdHk1Y1M3TUJhayt2WjFldldsZTZVdktkVjhsU2l3bGhSNHVmWlNRTlRZbjhhTm1uSEhRK29FNkh0UXkwQ0dBb09obXMydG0zYnR2ckNwWVN5WVI4UDFVMUxrM20raUJnYkc1TVZlNCtsaENTVnNXR1lYY0M4OGMwQVJKK0pZM0hUV1ZLM1dUM3RUWk9ZNXowY2kyc25sd29MQzFWWGg0Y1hCaTliS3JkdmszeHNyNmlyRE45R0RsQStvMTQzRnhUMENYQVJhdUNiQ01wekF3TzZSa0pqVGxWUmtac3R6Y3pNTWtkOThYblRMeFFJeUVRM04rSXh5YU9pL2QxTGVaeWZJNERaNm5JQVlnTDBBNms3ZFdiS0RUYlNhWEhMbTJ4UXZLaHovaGdHOEJXSnhTVjc5Ky9UY0I0d1VQaUl4N2ZCSmVvVllhR2tkZXZXNlYrTkc5OHhKenRibzZQbnVsc2FsbDNaNVFBOGtyRzRFVUN3djI0MHBLUFArUm5ETm5nMDhHQ0x0Y3A0RXA2cHowcTVjMGZuMU1tVDZRc0RBdXI5aU50b1o4K2RTdzRmTy9yWDBjTkhjZ1k0OU8rTW9HQlk0ODh6TWY1VStVdVRQd0FnNGdGRmV1UndDdzhvT0tYYXZ5Mmd2RENKb1ZMekVXVEhwYjdOWkhjUGs0VDQrTnIvaGxrV3VvS1VsWmFtZUV4MHMzNzQ4Q0dHUlRCa2psSVdnbXMrd1BUYWplMGNwWTM2b1FaK3EzZmtrUE5hWElUQ1krYm5sZVp5MCtCZ3RQUnpKMmZuZ29CRmdjWUo4UW5FZGNUd1FwKzU4NTRlUFhKRXFndHdBY3dEQUxuQm1hS1F1ZXdDRlBvMjE2bUVjUDhrRG9GRjIzekp5emlKOWpZQ1kwSjlHMzNRTmFubFplWFYzdE9uMjVXVTFQNmxDMGFCOGY5bTFnTW8xVHhURmVvWkRJOUxvN2U0SEl1R0FQZThKdjZwZ2pzQThydlN3V3lHYjhNcHhnTTNVd0NRSEJuV1ZqQUZqeThoVUtpOHZuMWIvc1h2VlFPREJnV3VSZUJxSXBwbXN3R1FYWEw2SldnUTRHNFc3bUlZYm9iRGsyaFp5cERNODRHRGU2dHcvZGtmUUZFb3pFSTNCNTVrUWpWekFKQ2R5bGpaYTVBQW5CaXFXL0FrV2dGcGdlbC9BZ3dBbmJZcVE4cmd0TThBQUFBQVNVVk9SSzVDWUlJPSJ9LCJzdGF0dXNSZXBvcnRzIjpbeyJzdGF0dXMiOiJOT1RfRklET19DRVJUSUZJRUQiLCJlZmZlY3RpdmVEYXRlIjoiMjAyMC0wOC0xMCJ9LHsic3RhdHVzIjoiRklET19DRVJUSUZJRURfTDEiLCJlZmZlY3RpdmVEYXRlIjoiMjAyMC0xMi0yMSIsImNlcnRpZmljYXRpb25EZXNjcmlwdG9yIjoiVHJ1c3RLZXkgU29sdXRpb25zIFQxMTAgVTJGIEF1dGhlbnRpY2F0b3IiLCJjZXJ0aWZpY2F0ZU51bWJlciI6IlUyRjExMDAyMDIwMDgxNDAwMSIsImNlcnRpZmljYXRpb25Qb2xpY3lWZXJzaW9uIjoiMS4zLjciLCJjZXJ0aWZpY2F0aW9uUmVxdWlyZW1lbnRzVmVyc2lvbiI6IjEuMC4wIn1dLCJ0aW1lT2ZMYXN0U3RhdHVzQ2hhbmdlIjoiMjAyMC0xMi0yMSJ9LHsiYWFndWlkIjoiZWU4ODI4NzktNzIxYy00OTEzLTk3NzUtM2RmY2NlOTcwNzJhIiwibWV0YWRhdGFTdGF0ZW1lbnQiOnsibGVnYWxIZWFkZXIiOiJodHRwczovL2ZpZG9hbGxpYW5jZS5vcmcvbWV0YWRhdGEvbWV0YWRhdGEtc3RhdGVtZW50LWxlZ2FsLWhlYWRlci8iLCJhYWd1aWQiOiJlZTg4Mjg3OS03MjFjLTQ5MTMtOTc3NS0zZGZjY2U5NzA3MmEiLCJkZXNjcmlwdGlvbiI6Ill1YmlLZXkgNSBTZXJpZXMiLCJhdXRoZW50aWNhdG9yVmVyc2lvbiI6NTAyMDAsInByb3RvY29sRmFtaWx5IjoiZmlkbzIiLCJzY2hlbWEiOjMsInVwdiI6W3sibWFqb3IiOjEsIm1pbm9yIjowfV0sImF1dGhlbnRpY2F0aW9uQWxnb3JpdGhtcyI6WyJzZWNwMjU2cjFfZWNkc2Ffc2hhMjU2X3JhdyIsImVkMjU1MTlfZWRkc2Ffc2hhNTEyX3JhdyJdLCJwdWJsaWNLZXlBbGdBbmRFbmNvZGluZ3MiOlsiY29zZSJdLCJhdHRlc3RhdGlvblR5cGVzIjpbImJhc2ljX2Z1bGwiXSwidXNlclZlcmlmaWNhdGlvbkRldGFpbHMiOltbeyJ1c2VyVmVyaWZpY2F0aW9uTWV0aG9kIjoicHJlc2VuY2VfaW50ZXJuYWwifSx7InVzZXJWZXJpZmljYXRpb25NZXRob2QiOiJwYXNzY29kZV9pbnRlcm5hbCIsImNhRGVzYyI6eyJiYXNlIjo2NCwibWluTGVuZ3RoIjo0LCJtYXhSZXRyaWVzIjo4LCJibG9ja1Nsb3dkb3duIjowfX0seyJ1c2VyVmVyaWZpY2F0aW9uTWV0aG9kIjoibm9uZSJ9XV0sImtleVByb3RlY3Rpb24iOlsiaGFyZHdhcmUiLCJzZWN1cmVfZWxlbWVudCJdLCJtYXRjaGVyUHJvdGVjdGlvbiI6WyJvbl9jaGlwIl0sImNyeXB0b1N0cmVuZ3RoIjoxMjgsImF0dGFjaG1lbnRIaW50IjpbImV4dGVybmFsIiwid2lyZWQiXSwidGNEaXNwbGF5IjpbXSwiYXR0ZXN0YXRpb25Sb290Q2VydGlmaWNhdGVzIjpbIk1JSURIakNDQWdhZ0F3SUJBZ0lFRzBCVDl6QU5CZ2txaGtpRzl3MEJBUXNGQURBdU1Td3dLZ1lEVlFRREV5TlpkV0pwWTI4Z1ZUSkdJRkp2YjNRZ1EwRWdVMlZ5YVdGc0lEUTFOekl3TURZek1UQWdGdzB4TkRBNE1ERXdNREF3TURCYUdBOHlNRFV3TURrd05EQXdNREF3TUZvd0xqRXNNQ29HQTFVRUF4TWpXWFZpYVdOdklGVXlSaUJTYjI5MElFTkJJRk5sY21saGJDQTBOVGN5TURBMk16RXdnZ0VpTUEwR0NTcUdTSWIzRFFFQkFRVUFBNElCRHdBd2dnRUtBb0lCQVFDL2p3WXVoQlZscWFpWVdFTXNyV0Zpc2dKK1B0TTkxZVNycEk0VEs3VTUzbXdDSWF3U0RIeTh2VW1rNU4yS0FqOWFidlQ5TlA1U01TMWhRaTN1c3hvWUdvblhRZ2ZPNlpYeVVBOWErS0FrcWRGbkJubHl1Z1NlQ09lcDhFZFpGZnNhUkZ0TWprd3o1R2N6MlB5NHZJWXZDZE1IUHR3YXowYlZ1em5ldWVJRXo2VG5RakU2M1JkdDJ6YnduZWJ3VEc1WnliZVdTd2J6eStCSjM0WkhjVWhQQVk4OXlKUVh1RTBJek1aRmNFQmJQTlJiV0VDUktnanEvL3FUOW5tRE9GVmxTUkN0MndpcVBTemx1d24rditzdVFFQnNValRHTUVkMjV0S1hYVGtOVzIxd0lXYnhlU3lVb1RYd0x2R1M2eGx3UVNnTnBrMnFYWXdmOGlYZzdWV1pBZ01CQUFHalFqQkFNQjBHQTFVZERnUVdCQlFnSXZ6MGJOR0poamdwVG9rc3lLcFA5eHY5b0RBUEJnTlZIUk1FQ0RBR0FRSC9BZ0VBTUE0R0ExVWREd0VCL3dRRUF3SUJCakFOQmdrcWhraUc5dzBCQVFzRkFBT0NBUUVBanZqdU9NRFNhK0pYRkNMeUJLc3ljWHRCVlpzSjRVZTNMYmFFc1BZNE1ZTi9oSVE1Wk01cDdFamZjbk1HNEN0WWtOc2ZOSGMwQWhCTGRxNDVyblQ4N3EvNk8zdlVFdE5NYWZiaFU2a3RoWDdZKzlYRk45TnBtWXhyK2VrVlk1eE94aThoOUpESWdvTVA0VkIxdVMwYXVuTDFJR3FyTm9vTDltbUZuTDJrTFZWZWU2L1ZSNkM1K0tTVENNQ1dwcE11SklaSUkydjlvNGRrb1o4WTdRUmpRbExmWXpkM3FHdEtidzd4YUYxVXNHLzV4VWIvQnR3YjJYMmc0SW5waUIveXQvM0NwUVhwaVdYL0s0bUJ2VUtpR24wNVpzcWVZMWd4NGcweExCcWNVOXBzbXlQeksrVnNndzJqZVJRNUpsS0R5cUUwaGViZkMxdHZGdTBDQ3JKRmN3PT0iXSwiaWNvbiI6ImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0FBQUFBZkNBWUFBQUNHVnMrTUFBQUFBWE5TUjBJQXJzNGM2UUFBQUFSblFVMUJBQUN4and2OFlRVUFBQUFKY0VoWmN3QUFIWVlBQUIyR0FWMmlFNEVBQUFiTlNVUkJWRmhIcFZkN1ROVjFGRC8zZDU5d2VRU0lnUzlBUUFYY0ZMQVFaaTlmcGVWejF0WS9XVFpyNVd4cGM3VzVrbkxhNWpJM1o4NXNyUzJuTTJzanRXd1pTN0lVSDRINHhDbkVReDREQVpGNzRWN3VzODg1djkvbEluQnZWSi9CNFB2OW51LzVudS81bnZNNTU2ZnpBL1F2MEhiL0lyWDNWRktQbzQ1Y25tNGluVUlXWXdMRlJtWlFVdXdqRkcvTjFpUkhoMUVaME5SVlJ1ZHF0MUJkKzJuU0t5Uy9PaHlzMCtsazNlLzNrUTlxdkQ0WlV0YTRWVlNVdVkwZWlweWlUaEFmb2NvT1JWZ0R1dXczcUtSaUFkM3JiY0V0alRqWUlvZjZXYUhzQ216VlBXQ014K2NnaDh0THFXTUthTVdzVWpMcW8yUnRKSVEwb096bWVycFF1NGVzWmdzT05rR3hIN2Qwa2R2VFQxN3M0T01VN1ZJOFpoamdHYU0rQXE5aUVOdThQaWYxdWR6MDdNd3ZLV2Y4R2xWb0NFWTA0UEM1V2RUYVhZRmJSOHZOdkw1KzNLZ2ZiNXhOTXlhOVJhbUppeW5hTWxHVFZ0RmxyNmJhOXUrcHFuRVg0dU11UlJnalNZRWhyTjd1dEZGZTZscWFsN05ma3c1aW1BR0h5blBwYms4Vm1ZMHhzdG5wdGxGQ1ZDWXR6VHVCTjgzUXBNTGpUdGV2ZFB6U1VuSjdlOG1ranhaMzlmWGJLRGZsZFpxYnZVK1RVZ0duQlZGNmZRMmlQSGc0VzE2VVdVd3Z6YmsxNnNNWkUrUG4wcHZ6N0pTZXVBeWVzOGxjcENtYUt1by9wK3FXcjJVY3dJQUhXcnZQMFlFemhYQXRMQWJzc0hocDdpR2FtdnlpalA4cnlxclhVV1g5WG9vd3h5QXVmTkJycDQzUE9CRlhabGtmOE1EUmlxY3B5b3dBd3B1ejJ4K2ZXdnovRHRkZTlzbXN6eWd0Y1I2QzF3YmR6Qmw2T2xxNVdOWVk0b0dhdGhKTXJrVEV4MGpBUlNIQVZzKzVyWWtRTlhiK1FnZlBMc1E2Z1h5SW5zcmVRZm1wbTdSVkZZZkw4Nm4xZmlVT2tZdlNoa1VQeHZidWt6b3k2SzFpaE0xaG8zWHpXNkV2U2ZYQStkcGlXR2FXZCtkb1h6THptR3dLWUZMQ0FzUkFsUEJBaE1sQ0ZYVTd0QlVWUHI4SGdWY0pIV3ErRjAwcGxyK0RNVGRyUDR6dnhZMTFrTk1oeFQrU2VUR2crZDRWNUxRSml0eVVHSk5COFZGWnNqZ1lCWk0vSUkvWENUa2owcXlET3BGMkFWUTE3Q0lqVXAvRG5UMVVrTDVGNWdkaitzUzF3ZzFnRTNnaWdtNjBmQ1h6U25QWGJ5QVBiSVh2K0lEcEUxNlRoYUhJUzlza3lobG1NRTVGM2NmcUFLaHEyQzBFNVBIMWdZYVhhTFBEa1pHMEhESk9uS1dIcDUxSTB6NVNPdXg4ZTFXQXVaemRIUXJUa3A4VG1qWG9JK2xhMHdHWnN6dWJxYk8zaWZRNkEvVzd2VlNZc1YzbVIwSkt3a0tjNFdIaUJrbVI4STNDQ2dJODdvT0w0cXpUNVArUlVKQmVqRU9nQVBLOGhZUHphdE0rZUlUcDJJTzl5VFFtZXJvbVBSeHgxcXhBY3NpbGUvdWJTZUViY1dRR1lFQ2doY0xZMkh5S2pvZ2pIMjVoTXBqcFV2MU91Z2xpNGVoMmVSdzBPMzJiSmpreXVDZ056ZzB2emxZTVNpU3MwdW9vNE1HN2hNT2pDRWFYMXlGRTBuU3ZqQnp1VG5FcEs4Nlo4SW9xRkFJdWJ3OGtnOUFyRWFSRVdTWkkrakg0WGJwNmc5RTlFbkpUM29hUnpETitNVUpCUURIbjU2YThvVW1FQnVzT3hCcy9ONSt0SkViUGtBRkRqOFVHdk9zL0lXdmNTZ2xHQmh2UzcvRlRZZnBXR1lkRFk4ZlBBeFdTQTM1c1RDNHA0K0xtNEFhcUlvUGVRdGZ1Zks2SmgwWmh4bGJzVVhPU21YTmlmRDVaVEFreURvZmJiY2NseG5BOFdOQXF4Q2JSTnlraFh4UXBhRHc2N2ZYVVlic2lHMEtodHYyb2VJdmg4cmhRTVlPY0VBcVhHL2VJK3puZ09jNXl4cjhxODJJQU0xYy9GTEZPcGxxdTVlRlFYck1aekdjVkNqWWJMV0c1STRCVDFldVJybGJ4dE5PdE1pdERERWhMWElJeW5BQXZ1T0VXRTNYM05kQWZ0OTRWZ2FHNDJYSVF0MFpYNlBlQ0UvcVFGZTlySzZIeDdZVTUwS3ZIN2ZXNGZTK3E3S0tCSnhzZ2dCWDVwU0FHaDFqSXJWaDV6UTZ3M1JmYWFoQlhtL2FDYkNaVGpDVUZVVHlXWnFXOXA2Mk1qSlBYVnFPclBnTU80TnY3NEdrZitvd2Z0TlZCRFFuakZKcUhTdzE3cFh2aFdXNUtacWUvUTQ5Ti9VU1RDQVZXb1FYRklIQkhYWGUzRlByVURzdUdEbXRGL2hIS1RIcGVreGhpQU9QSStTSnE2UzZIRjRJOVlXemtCSlRvNDZpVU16V3A4UGlyL1JpZHVMeEtZc1Nrc1Y4dkxsT1F2aEdYMllsUjBPQmhCakMrdS9nRWN2WTBBcEs3WWs0MU54alBTUW5XRkhURjY2VXJqZ2V2QjhDdTVhK2wydllTUlB0dVZEbzczaGhkTVNIblVYN3RUanNWWkd4QWwvV3B0aU9JRVExZ25MMjltWDYvdFIxdG1sa1lqOFc0WCtDU2pXY1VER1kxTnBTL0M3aFNLcWlNTE0vbDJRbVNXWjczRGR6K2dpbzhCQ0VOWVBRNDZxbmt6d1hVYnF2Qmt4alVRc1dmWkZnYnVvM3JBZit3TjdqT085MCt5bng0UGkzTCswbllMMVNjaERVZ0FQNGdQVi83SWQxcSsxSFNobXVHa0lxV1JQZ3l4TUZxUDhIZmpUbmpYd1k1YlFmYkpjdDZPSXpLZ01Ib3RGL0hlMWVnc2F4SFNxRzZ3ZmRtUTV4OE55VEZGcUJjcDJpU293SFIzeWs1KzM2aEY3dlhBQUFBQUVsRlRrU3VRbUNDIiwiYXV0aGVudGljYXRvckdldEluZm8iOnsidmVyc2lvbnMiOlsiVTJGX1YyIiwiRklET18yXzAiLCJGSURPXzJfMV9QUkUiXSwiZXh0ZW5zaW9ucyI6WyJjcmVkUHJvdGVjdCIsImhtYWMtc2VjcmV0Il0sImFhZ3VpZCI6ImVlODgyODc5NzIxYzQ5MTM5Nzc1M2RmY2NlOTcwNzJhIiwib3B0aW9ucyI6eyJwbGF0IjpmYWxzZSwicmsiOnRydWUsImNsaWVudFBpbiI6ZmFsc2UsInVwIjp0cnVlLCJjcmVkZW50aWFsTWdtdFByZXZpZXciOnRydWV9LCJtYXhNc2dTaXplIjoxMjAwLCJwaW5VdkF1dGhQcm90b2NvbHMiOlsyLDFdLCJtYXhDcmVkZW50aWFsQ291bnRJbkxpc3QiOjgsIm1heENyZWRlbnRpYWxJZExlbmd0aCI6MTI4LCJ0cmFuc3BvcnRzIjpbInVzYiJdLCJhbGdvcml0aG1zIjpbeyJ0eXBlIjoicHVibGljLWtleSIsImFsZyI6LTd9LHsidHlwZSI6InB1YmxpYy1rZXkiLCJhbGciOi04fV0sIm1pblBJTkxlbmd0aCI6NCwiZmlybXdhcmVWZXJzaW9uIjozMjg3MDZ9fSwic3RhdHVzUmVwb3J0cyI6W3sic3RhdHVzIjoiRklET19DRVJUSUZJRURfTDEiLCJlZmZlY3RpdmVEYXRlIjoiMjAyMC0wNS0xMiIsImNlcnRpZmljYXRpb25EZXNjcmlwdG9yIjoiWXViaUtleSA1IFNlcmllcyAoVVNCKSIsImNlcnRpZmljYXRlTnVtYmVyIjoiRklETzIwMDIwMTkxMDE3MDAyIiwiY2VydGlmaWNhdGlvblBvbGljeVZlcnNpb24iOiIxLjEuMSIsImNlcnRpZmljYXRpb25SZXF1aXJlbWVudHNWZXJzaW9uIjoiMS4zIn1dLCJ0aW1lT2ZMYXN0U3RhdHVzQ2hhbmdlIjoiMjAyMC0wNS0xMiJ9LHsiYWFndWlkIjoiOGM5N2E3MzAtM2Y3Yi00MWE2LTg3ZDYtMWU5YjYyYmRhNmYwIiwibWV0YWRhdGFTdGF0ZW1lbnQiOnsibGVnYWxIZWFkZXIiOiJodHRwczovL2ZpZG9hbGxpYW5jZS5vcmcvbWV0YWRhdGEvbWV0YWRhdGEtc3RhdGVtZW50LWxlZ2FsLWhlYWRlci8iLCJhYWd1aWQiOiI4Yzk3YTczMC0zZjdiLTQxYTYtODdkNi0xZTliNjJiZGE2ZjAiLCJkZXNjcmlwdGlvbiI6IkZULUpDT1MgRklETyBGaW5nZXJwcmludCBDYXJkIiwiYXV0aGVudGljYXRvclZlcnNpb24iOjEsInByb3RvY29sRmFtaWx5IjoiZmlkbzIiLCJzY2hlbWEiOjMsInVwdiI6W3sibWFqb3IiOjEsIm1pbm9yIjowfV0sImF1dGhlbnRpY2F0aW9uQWxnb3JpdGhtcyI6WyJzZWNwMjU2cjFfZWNkc2Ffc2hhMjU2X3JhdyJdLCJwdWJsaWNLZXlBbGdBbmRFbmNvZGluZ3MiOlsiY29zZSJdLCJhdHRlc3RhdGlvblR5cGVzIjpbImJhc2ljX2Z1bGwiXSwidXNlclZlcmlmaWNhdGlvbkRldGFpbHMiOltbeyJ1c2VyVmVyaWZpY2F0aW9uTWV0aG9kIjoicHJlc2VuY2VfaW50ZXJuYWwifV0sW3sidXNlclZlcmlmaWNhdGlvbk1ldGhvZCI6ImZpbmdlcnByaW50X2ludGVybmFsIn1dXSwia2V5UHJvdGVjdGlvbiI6WyJoYXJkd2FyZSIsInNlY3VyZV9lbGVtZW50Il0sIm1hdGNoZXJQcm90ZWN0aW9uIjpbIm9uX2NoaXAiXSwiY3J5cHRvU3RyZW5ndGgiOjEyOCwiYXR0YWNobWVudEhpbnQiOlsiZXh0ZXJuYWwiLCJ3aXJlbGVzcyIsIm5mYyJdLCJ0Y0Rpc3BsYXkiOltdLCJhdHRlc3RhdGlvblJvb3RDZXJ0aWZpY2F0ZXMiOlsiTUlJQjJEQ0NBWDZnQXdJQkFnSVFHQlVyUWJkRHJtMjBGWm5Ec1gyQ0JUQUtCZ2dxaGtqT1BRUURBakJMTVFzd0NRWURWUVFHRXdKVlV6RWRNQnNHQTFVRUNnd1VSbVZwZEdsaGJpQlVaV05vYm05c2IyZHBaWE14SFRBYkJnTlZCQU1NRkVabGFYUnBZVzRnUmtsRVR5QlNiMjkwSUVOQk1DQVhEVEU0TURRd01UQXdNREF3TUZvWUR6SXdORGd3TXpNeE1qTTFPVFU1V2pCTE1Rc3dDUVlEVlFRR0V3SlZVekVkTUJzR0ExVUVDZ3dVUm1WcGRHbGhiaUJVWldOb2JtOXNiMmRwWlhNeEhUQWJCZ05WQkFNTUZFWmxhWFJwWVc0Z1JrbEVUeUJTYjI5MElFTkJNRmt3RXdZSEtvWkl6ajBDQVFZSUtvWkl6ajBEQVFjRFFnQUVzRllFRWhpSnVxcW5NZ1FqU2lpdkJqVjdER0NUZjRYQkJIL0I3dXZac0t4WFNoRjBMOHVESVNXVXZjRXhpeFJzNmdCM29sZFNyam94Nkw4VDk0Tk96cU5DTUVBd0hRWURWUjBPQkJZRUZFdTloeVlSclJ5Snp3Ull2bkRTQ0l4ckZpTzNNQThHQTFVZEV3RUIvd1FGTUFNQkFmOHdEZ1lEVlIwUEFRSC9CQVFEQWdFR01Bb0dDQ3FHU000OUJBTUNBMGdBTUVVQ0lESFNiMm1iTkRBVU5YdnBQVTBvV0tlTnllMGZRMmw5RDAxQVIyK3NMWmRoQWlFQW8zd3o2ODRJRk1Wc0NDUm11SnF4SDZGUVJFU05xZXp1bzFFK0trR3hXdU09IiwiTUlJQmZqQ0NBU1dnQXdJQkFnSUJBVEFLQmdncWhrak9QUVFEQWpBWE1SVXdFd1lEVlFRRERBeEdWQ0JHU1VSUElEQXlNREF3SUJjTk1UWXdOVEF4TURBd01EQXdXaGdQTWpBMU1EQTFNREV3TURBd01EQmFNQmN4RlRBVEJnTlZCQU1NREVaVUlFWkpSRThnTURJd01EQlpNQk1HQnlxR1NNNDlBZ0VHQ0NxR1NNNDlBd0VIQTBJQUJOQm1yUnFWT3h6dFRKVk4xOXZ0ZHFjTDd0S1Flb2wybm5NMi95WWd2a3NabnI1MFNLYlZnSUVrekhRVk91ODBMVkVFM2xWaGVPMUhqZ2d4QWxUNm80V2pZREJlTUIwR0ExVWREZ1FXQkJSSkZXUXQxYnZHM2pNNlhnbVYvSWNqTnRPL0N6QWZCZ05WSFNNRUdEQVdnQlJKRldRdDFidkczak02WGdtVi9JY2pOdE8vQ3pBTUJnTlZIUk1FQlRBREFRSC9NQTRHQTFVZER3RUIvd1FFQXdJQkJqQUtCZ2dxaGtqT1BRUURBZ05IQURCRUFpQXdmUHFnSVdJVUIrUUJCYVZHc2RIeTBzNVJNeGxrenBTWC96U3lUWm1VcFFJZ0Iyd0o2blpSTThvWC9uQTQzUmg2U0pvdk0yWHdDQ0gvLytMaXJCQWJCME09IiwiTUlJQjJEQ0NBWDZnQXdJQkFnSVFGWjk3d3MySkdQRW9hNU5JK3A4ejFqQUtCZ2dxaGtqT1BRUURBakJMTVFzd0NRWURWUVFHRXdKRFRqRWRNQnNHQTFVRUNnd1VSbVZwZEdsaGJpQlVaV05vYm05c2IyZHBaWE14SFRBYkJnTlZCQU1NRkVabGFYUnBZVzRnUmtsRVR5QlNiMjkwSUVOQk1DQVhEVEU0TURRd01UQXdNREF3TUZvWUR6SXdORGd3TXpNeE1qTTFPVFU1V2pCTE1Rc3dDUVlEVlFRR0V3SkRUakVkTUJzR0ExVUVDZ3dVUm1WcGRHbGhiaUJVWldOb2JtOXNiMmRwWlhNeEhUQWJCZ05WQkFNTUZFWmxhWFJwWVc0Z1JrbEVUeUJTYjI5MElFTkJNRmt3RXdZSEtvWkl6ajBDQVFZSUtvWkl6ajBEQVFjRFFnQUVuZkFLYmp2TVgxRXkxYjZrK1dRUWROVk10OUpnR1d5SjNQdk00QlNLNVhxVGZvKyswb0FqLzR0bnd5SUwwSEZCUjlTdCtrdGpxU1hEZmppWEF1cnM4Nk5DTUVBd0hRWURWUjBPQkJZRUZOR2htRTJCZjhPNWEvWUhaNzFRRXY2UVJmRlVNQThHQTFVZEV3RUIvd1FGTUFNQkFmOHdEZ1lEVlIwUEFRSC9CQVFEQWdFR01Bb0dDQ3FHU000OUJBTUNBMGdBTUVVQ0lRQzNzVDFsQmpHZUYreEtUcHpWMUtZVTJja2FoVGQ0bUxKeXpZT2hhSHY0aWdJZ0QySllrZnlINVE0QnBvOHJyb08wSXQ3b1lqRjJrZ3kvZVNaM1U5R2xhcXc9Il0sImljb24iOiJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUZBQUFBQVVDQU1BQUFBdEJrcmxBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQkhacFZGaDBXRTFNT21OdmJTNWhaRzlpWlM1NGJYQUFBQUFBQUR3L2VIQmhZMnRsZENCaVpXZHBiajBpNzd1L0lpQnBaRDBpVnpWTk1FMXdRMlZvYVVoNmNtVlRlazVVWTNwcll6bGtJajgrSUR4NE9uaHRjRzFsZEdFZ2VHMXNibk02ZUQwaVlXUnZZbVU2Ym5NNmJXVjBZUzhpSUhnNmVHMXdkR3M5SWtGa2IySmxJRmhOVUNCRGIzSmxJRFV1Tmkxak1ERTBJRGM1TGpFMU5qYzVOeXdnTWpBeE5DOHdPQzh5TUMwd09UbzFNem93TWlBZ0lDQWdJQ0FnSWo0Z1BISmtaanBTUkVZZ2VHMXNibk02Y21SbVBTSm9kSFJ3T2k4dmQzZDNMbmN6TG05eVp5OHhPVGs1THpBeUx6SXlMWEprWmkxemVXNTBZWGd0Ym5NaklqNGdQSEprWmpwRVpYTmpjbWx3ZEdsdmJpQnlaR1k2WVdKdmRYUTlJaUlnZUcxc2JuTTZlRzF3UFNKb2RIUndPaTh2Ym5NdVlXUnZZbVV1WTI5dEwzaGhjQzh4TGpBdklpQjRiV3h1Y3pwa1l6MGlhSFIwY0RvdkwzQjFjbXd1YjNKbkwyUmpMMlZzWlcxbGJuUnpMekV1TVM4aUlIaHRiRzV6T25Cb2IzUnZjMmh2Y0QwaWFIUjBjRG92TDI1ekxtRmtiMkpsTG1OdmJTOXdhRzkwYjNOb2IzQXZNUzR3THlJZ2VHMXNibk02ZUcxd1RVMDlJbWgwZEhBNkx5OXVjeTVoWkc5aVpTNWpiMjB2ZUdGd0x6RXVNQzl0YlM4aUlIaHRiRzV6T25OMFVtVm1QU0pvZEhSd09pOHZibk11WVdSdlltVXVZMjl0TDNoaGNDOHhMakF2YzFSNWNHVXZVbVZ6YjNWeVkyVlNaV1lqSWlCNGJYQTZRM0psWVhSdmNsUnZiMnc5SWtGa2IySmxJRkJvYjNSdmMyaHZjQ0JEUXlBeU1ERTBJQ2hOWVdOcGJuUnZjMmdwSWlCNGJYQTZRM0psWVhSbFJHRjBaVDBpTWpBeE5pMHhNaTB6TUZReE5Eb3pNem93T0Nzd09Eb3dNQ0lnZUcxd09rMXZaR2xtZVVSaGRHVTlJakl3TVRZdE1USXRNekJVTURjNk16RTZOVGtyTURnNk1EQWlJSGh0Y0RwTlpYUmhaR0YwWVVSaGRHVTlJakl3TVRZdE1USXRNekJVTURjNk16RTZOVGtyTURnNk1EQWlJR1JqT21admNtMWhkRDBpYVcxaFoyVXZjRzVuSWlCd2FHOTBiM05vYjNBNlNHbHpkRzl5ZVQwaU1qQXhOaTB4TWkwek1GUXhOVG96TURveU55c3dPRG93TUNZamVEazc1cGFINUx1MklPYWNxdWFnaCttaW1DMHhJT1czc3VhSmsrVzhnQ1lqZUVFN0lpQjRiWEJOVFRwSmJuTjBZVzVqWlVsRVBTSjRiWEF1YVdsa09qSkZOekZDUmtaRFF6WTNSakV4UlRZNU56aEVRVGxEUWtJMk5EWXpSamt3SWlCNGJYQk5UVHBFYjJOMWJXVnVkRWxFUFNKNGJYQXVaR2xrT2pKRk56RkNSa1pFUXpZM1JqRXhSVFk1TnpoRVFUbERRa0kyTkRZelJqa3dJajRnUEhodGNFMU5Pa1JsY21sMlpXUkdjbTl0SUhOMFVtVm1PbWx1YzNSaGJtTmxTVVE5SW5odGNDNXBhV1E2TWtVM01VSkdSa0ZETmpkR01URkZOamszT0VSQk9VTkNRalkwTmpOR09UQWlJSE4wVW1WbU9tUnZZM1Z0Wlc1MFNVUTlJbmh0Y0M1a2FXUTZNa1UzTVVKR1JrSkROamRHTVRGRk5qazNPRVJCT1VOQ1FqWTBOak5HT1RBaUx6NGdQQzl5WkdZNlJHVnpZM0pwY0hScGIyNCtJRHd2Y21SbU9sSkVSajRnUEM5NE9uaHRjRzFsZEdFK0lEdy9lSEJoWTJ0bGRDQmxibVE5SW5JaVB6NDc3SlhGQUFBQVlGQk1WRVgvLy84RVZxSVhaYXZHMk9vcWNMRzJ6T09rd3QwQlNKdHFsY1hWNHUrYXV0bFdoYnprN1BVQU1ZOUhjcktqdE5icThmZUFsOGFCb3N6ejl2cGRqc0dHcXRGM244dVRzTlNacGM2SnNOVDUrdjB4WUtudThQZmY1L0w0OGZnL2ZyaWN6SmdZQUFBREFFbEVRVlI0MmtSVUNaYkRJQWpGWFpPWTFUYXROYzM5Ynprc1NZYzNyNE1FNGZNQkFhRDZ6bDh5LzlUT2dldDhkNWpmTjc4YndNL2REQ1JwUjUyMXpYZm9qSEowNUlJeWhCQVVTVkFPTmRHekJZdDJmN0tGcmZrSmFBa0hoOUZaaGNEWEhSa1RLbzlNTGloR2FhdkltblYzcXlFWDBFcHJnei80RHdVRDdrQ0hSbmQ4UUZONDNHbzRVVm1ERGd6YTR3MjdvaXpkQTIrY0srdXVVcGpqbzIreHdjLzQyVzUweDVMR1llREJzUjBIVkl4NXg4aUY2MENibGJURUVrRnIyN2JOREJVVlNxMU9LVlBiRTYyYjNFSDhGcUJnNU9PT0V1YzJ0OFpKaXFNT3VHcCtjS2pnN3dWR2Nlb3pxTjRweGdWUFFrakZZZ2JWSktEVWhEQ2pZcmF3UDVxNEVUZ0M5ZklNUkh0aXRwUWNDdkpPRUxjYk1zUWduY2lSa2xqcHlRanZHNDRqcUJVRVRGaUJpMVBFSXlla096c1crVHk1Y0xIb3M1UitkTVMxTHRTU3hmM2dRSGN6UjJDSTRnTU5wVzRJUkExUU1hNnRKNCtDNnVIdUdFOG1OREl5RnFnL09QL01NVXVlUzZJcThTOTBkQWVCSlNFeS9xS2tLK0JOd3o4Y1lZNGpiNUo2dTRpV0NJMkIxWjU2TFc1a0VjNGhrZE1wc3ZVQzU1ODVTWDBRdWJjZ05xeWZnREZFY1R0KzQwLzBTNU54MHdhQ3czT0trY09iQTVJbjBBWXAwMXBqancybjYyNlVEanRId2EyOGlIdVRLcXRydityZVc0MU5aNmlHbHI3dXVMSkNma0Z0Y3RjRzA0c2dtMWVOUytaYURucGFURXJHb3lYNUpLMmlNejh4czBuT3dXR2NQRE40OXFhQ2Q0YnpKb3pEWm0vYUJLK0Vvekx3K1hoTkJpWXdIZjBzaU91MVhQa0cvekt3dnFZS2NmU3dERWNIL29VZTA3ZXMvV1E4ckl5ZzJET1hqOHRqa1pkdURCL2I4aHpEbGxNTU9DUzVCRW5kNTM0Zjh0aTNVWmM0a01zM3hMeWFmTVNzSmhkRzhYUHFqTms1dEFnTzI1ZmVLQ2huVmREai9KMEZNa09zVS94TUJ2MHdGaFllRUdmVkgxM2Z1RFUweURGTGE0ZmM3Um5XSEJmdVRGVjJ0RW1Od2FkYzdhYzNVWTJqZkJsN0hUMzZmZTM0aVFPNW1OQ0ZGQlcwN0tqUGdxaE9MVTAxdlo4UHVlWjJKQ2xGWk44amtVczY5dWthOWVQcDYrRWZMNEFGNStOeXdTYmlySHRjQjhNbC9na3dBRWprSzY0S2pIUGVBQUFBQUVsRlRrU3VRbUNDIiwiYXV0aGVudGljYXRvckdldEluZm8iOnsidmVyc2lvbnMiOlsiVTJGX1YyIiwiRklET18yXzAiLCJGSURPXzJfMV9QUkUiXSwiZXh0ZW5zaW9ucyI6WyJjcmVkUHJvdGVjdCIsImhtYWMtc2VjcmV0Il0sImFhZ3VpZCI6IjhjOTdhNzMwM2Y3YjQxYTY4N2Q2MWU5YjYyYmRhNmYwIiwib3B0aW9ucyI6eyJwbGF0IjpmYWxzZSwicmsiOnRydWUsImNsaWVudFBpbiI6ZmFsc2UsInVwIjp0cnVlLCJ1diI6ZmFsc2UsInVzZXJWZXJpZmljYXRpb25NZ210UHJldmlldyI6ZmFsc2UsImNyZWRlbnRpYWxNZ210UHJldmlldyI6dHJ1ZX0sIm1heE1zZ1NpemUiOjEwMjQsInBpblV2QXV0aFByb3RvY29scyI6WzFdLCJtYXhDcmVkZW50aWFsQ291bnRJbkxpc3QiOjYsIm1heENyZWRlbnRpYWxJZExlbmd0aCI6OTZ9fSwic3RhdHVzUmVwb3J0cyI6W3sic3RhdHVzIjoiRklET19DRVJUSUZJRURfTDEiLCJlZmZlY3RpdmVEYXRlIjoiMjAyMC0wNC0yNCIsImNlcnRpZmljYXRpb25EZXNjcmlwdG9yIjoiRlQtSkNPUyBGSURPwq4gRmluZ2VycHJpbnQgQ2FyZCIsImNlcnRpZmljYXRlTnVtYmVyIjoiRklETzIwMDIwMjAwNDE3MDAxIiwiY2VydGlmaWNhdGlvblBvbGljeVZlcnNpb24iOiIxLjIiLCJjZXJ0aWZpY2F0aW9uUmVxdWlyZW1lbnRzVmVyc2lvbiI6IjEuMyJ9XSwidGltZU9mTGFzdFN0YXR1c0NoYW5nZSI6IjIwMjAtMDQtMjQifSx7ImFhZ3VpZCI6ImExZjUyYmU1LWRmYWItNDM2NC1iNTFjLTJiZDQ5NmIxNGE1NiIsIm1ldGFkYXRhU3RhdGVtZW50Ijp7ImxlZ2FsSGVhZGVyIjoiaHR0cHM6Ly9maWRvYWxsaWFuY2Uub3JnL21ldGFkYXRhL21ldGFkYXRhLXN0YXRlbWVudC1sZWdhbC1oZWFkZXIvIiwiYWFndWlkIjoiYTFmNTJiZTUtZGZhYi00MzY0LWI1MWMtMmJkNDk2YjE0YTU2IiwiZGVzY3JpcHRpb24iOiJPQ1RBVENPIEV6RmluZ2VyMiBGSURPMiBBVVRIRU5USUNBVE9SIiwiYWx0ZXJuYXRpdmVEZXNjcmlwdGlvbnMiOnsia28tS1IiOiLsmKXtg4DsvZQg7J207KeA7ZWR6rGwMiBGSURPMiDsnbjspp3quLAgViAxLjAiLCJlbi1VUyI6Ik9DVEFUQ08gRXpGaW5nZXIyIEZJRE8yIEFVVEhFTlRJQ0FUT1IgViAxLjAifSwiYXV0aGVudGljYXRvclZlcnNpb24iOjUsInByb3RvY29sRmFtaWx5IjoiZmlkbzIiLCJzY2hlbWEiOjMsInVwdiI6W3sibWFqb3IiOjEsIm1pbm9yIjowfV0sImF1dGhlbnRpY2F0aW9uQWxnb3JpdGhtcyI6WyJzZWNwMjU2cjFfZWNkc2Ffc2hhMjU2X2RlciJdLCJwdWJsaWNLZXlBbGdBbmRFbmNvZGluZ3MiOlsiY29zZSJdLCJhdHRlc3RhdGlvblR5cGVzIjpbImJhc2ljX2Z1bGwiLCJiYXNpY19zdXJyb2dhdGUiXSwidXNlclZlcmlmaWNhdGlvbkRldGFpbHMiOltbeyJ1c2VyVmVyaWZpY2F0aW9uTWV0aG9kIjoicGFzc2NvZGVfZXh0ZXJuYWwifV0sW3sidXNlclZlcmlmaWNhdGlvbk1ldGhvZCI6InByZXNlbmNlX2ludGVybmFsIn1dLFt7InVzZXJWZXJpZmljYXRpb25NZXRob2QiOiJmaW5nZXJwcmludF9pbnRlcm5hbCJ9XV0sImtleVByb3RlY3Rpb24iOlsiaGFyZHdhcmUiLCJzZWN1cmVfZWxlbWVudCJdLCJtYXRjaGVyUHJvdGVjdGlvbiI6WyJvbl9jaGlwIl0sImNyeXB0b1N0cmVuZ3RoIjoxMjgsImF0dGFjaG1lbnRIaW50IjpbImV4dGVybmFsIl0sInRjRGlzcGxheSI6WyJhbnkiXSwiYXR0ZXN0YXRpb25Sb290Q2VydGlmaWNhdGVzIjpbIk1JSUR0RENDQXB5Z0F3SUJBZ0lCQVRBTkJna3Foa2lHOXcwQkFRc0ZBREJ5TVFzd0NRWURWUVFHRXdKTFVqRVpNQmNHQTFVRUNnd1FUME5VUVZSRFR5QkRUeTRzSUV4VVJERWlNQ0FHQTFVRUN3d1pRWFYwYUdWdWRHbGpZWFJ2Y2lCQmRIUmxjM1JoZEdsdmJqRWtNQ0lHQTFVRUF3d2JUME5VUVZSRFR5QlNiMjkwSUVOQklFTmxjblJwWm1sallYUmxNQjRYRFRJd01ESXhNVEEwTWpZd00xb1hEVEkyTURJd09UQTBNall3TTFvd2NqRUxNQWtHQTFVRUJoTUNTMUl4R1RBWEJnTlZCQW9NRUU5RFZFRlVRMDhnUTA4dUxDQk1WRVF4SWpBZ0JnTlZCQXNNR1VGMWRHaGxiblJwWTJGMGIzSWdRWFIwWlhOMFlYUnBiMjR4SkRBaUJnTlZCQU1NRzA5RFZFRlVRMDhnVW05dmRDQkRRU0JEWlhKMGFXWnBZMkYwWlRDQ0FTSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnRVBBRENDQVFvQ2dnRUJBTFpZYSs5WVpMSm40Rldja0RuWS9FUm9DdU8zVEJ0YTBXM2Y4UjlTWTVkNXNCazJRaXVwY2lJL2w3ZndQckgzRkRrZVZQWGVqTWUra1QwVm9KSmUrTjlFTVdlcjAvNVBYSVA5N25ydVljcjBEeGJoWnBlc1FFZVU4QmVJVXVucE5ObkVKcG94b0pUd29EbXU4M1pLazRtOGcwL1BmcEp3RGhtUENBcW03OXNGdFA4ZzdsQzlxbXM1VEQvNlBOeisyYWV3S1hUUUFSMW9wZmhuV0RVc0ladHVVZkVSaGxHd3hVN1graDNvUTJrU0d3NWhvbGZLU2IwZzNwd0dUY1RWTnZmVU1YSDdDYWlUcS9LN1QvamRBQ0QrOWFOanRjZDNQeVFlckE4U2EyTjI4cnZrTjhZZktvRFBnNWdBMzc4T05EVjNCaHJodFk4VWlEa0JjVHNYQVFFQ0F3RUFBYU5WTUZNd0VnWURWUjBUQVFIL0JBZ3dCZ0VCL3dJQkFEQWRCZ05WSFE0RUZnUVVPQ21LMzEwR3UzcTlEZlgvYnZkcHNmNEdJOFV3Q3dZRFZSMFBCQVFEQWdIMk1CRUdDV0NHU0FHRytFSUJBUVFFQXdJQUJ6QU5CZ2txaGtpRzl3MEJBUXNGQUFPQ0FRRUFuRFRjWm5lSy9oMFFiOHNGeGdGUzhGYTVkalFuU0pRVU1GWi9rek9zUGgxRFZGREY0bkRHL0hsVStkN0thTmhhUTdYTHQ3eEFqaHpFeVR5SGFNSDc2Z0gwOHIzM05kVlovNHNNaDlHSUxVNmJTbUpZT3RkVmkzekIzcDY5Ym5ZWkhKVnF2SktYNWxFc1Nwbi9vcEtZbHZ0bzJuMC80czRhd0poK3ErQmt5VlNQVFJNWDZMZmJuNklSdTRjYmVTMFcxM3RzUTVTYnBBbzlOSDJGQVR6Vk1NS1NHRWRpUW5mWXlnZFd2dURDTFV0UUYxd0dtR1NZc0VQRlRWNlBHMVZQNUhTNGZockJOYnVyaTM4TklVb2Nma3BmbU9JeStoSFpnZnZwWnpvcmsxR3ZGM1BaUkl0Sm5UVHY1VWpxMHFEOHJucjgxcXd2R2xUQ0pJQnRFVW1Od1E9PSJdLCJpY29uIjoiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFFZ0FBQUJJQ0FZQUFBQlY3Yk5IQUFBU1ZVbEVRVlI0MnUyYkIxaFU1OUxITVdvU3I3bCtWdmFjczQxbVRkU3JSb05ZQUNrTGlvb0ZTeFE3Z1lpaWlLSkdEZGdWTEhSRWxsMmFxSUJpamVLTlhmRmFZbUtOSFNtN0N4cGo5UHRpaklXNTg1NXpGcFpsRjFkRlkveDRuMmVlcFN5NzUveDIvalB6enJ5WW1kV3UybFc3YWxmdHFsMjFxM2E5dzJ1RFdscGZmdDI3VWV5RitLYXJUaDV1dHZUSTFjYWhCd3IvWjE3dXpVWnpjMDgyV3JCL1k4T2xlYlBNMXQrd00xUG1mL3ovQXdwQUhUTmxVZnNHeVRmVFdzU2YrMVcwNmhoWUxOb0gxbk8zZzhXTUxCQk9UZ2RxUWhJd28rSkJQRFFTeElQV0F1MFY4NlNKWCthbEJrdFB6RFpMdldIKy9zTEpoTHIxMDFSVG1xWGRmQ0JLT2crUzZKTWdEVHNNbG90eWpRS1M5ZzhIaWV0U0VOdUhnTkIrSVRRWm0xcFFOK3Jua1dhaDhNRjc1em4xMG92bkNyS0xub3N6cm9INEZRQ0piZWVDcU5OTWFPRzQ3TmxIb2NjanpUSXZmZmorQUZJV2RtMjJyZVNoWkhzUnZDNGdwdDAwTVAvaTIrY2Zyamk3OEwzeHBJODJhbUlrdVhkQkg1QjQ5VEhvRkhVYytzWWZod0d4aDZGUFdDNjBEc29DeGp1aFdrQ00xV1JvMGkvNkR6UDVyVzd2QmFCL1pHbU9Xdjc3bDNKQXJkS3ZRUERCMjNEc3Vob0tWQ1ZRckM0QmxacDd2RjJzZ1VPWENtRGVoanpvNHFzRWlXeVpRVUMwWkRMVVgzSmE4VjRBYXBoVjhyMFdVUHV0QmZEdmF4clFhRXBlYUQvZEtJYUpzZnRCN0xTb0NpQ0c5b0VHMDNhZlp6UGozMzI1NTJwMml2ZmVoUlpiVktBOFp4b2NyUkhQR2hWN0NFUTk1bGNCOVBHMDd5Nzg3UUdWbEpTTVBIV3I1SG1yblJyNFpMTUt6aGVVdkJRZ1lvZXZxY0Z5UkZ4bGlWbE9nZm9yenliK3JlRVVGUlUxd0JzOFNXNHk3a2NOL0hOak1XeTZXTzVCWldpUDBYNUgreiswUDlDZUd3SjBFYUcybkphbEE4Z2ZHZzlPK04wc3NhREx1M08zWFJMcU02NEtNZVdtN05wQ3BuUVR5SlJmbXJzb2ZBV3lwT25tc3FRZ2dhc2lrSEpKOHNldnh3aGNrZ2FZdXlUM21CcDJ3UDdtYlJXNWVWQ2pSZitnQm9kZGhYRHlsbWFIV2wwNlJLVlN0UzR1TG02R0lKdVdscFphcTlWMzNEU2EwakI4L25WZFFLbm4xVUNQU0toSTgyNnJvYVh5eW9LL1RGNEMxOVNHbEN6NVU4cFZNVmJnSW8rbW5OWWRwUnhqTkZTdk5RK3A3aXYrcExzdUxxTTdod0RkNlZzMDhoajZqT3F5K0NIVmRmbGR5alpjUTltdFZWTzlvbFZNbi9qU3RvTlN5bnBOeklMeElYdGhoU0x2VCtmVng2TUUwVC9sbXErL1lHZVdtVm5YMFB2ZnZYdjNuMnAxU2FCS1UvcnI3aXNhc0Y1eWtJMUJqTzA4YU9XL0NXSk8zSVlpaldiVzJ5eDE2ekQ5RS83QmVvWnpVZ0xsbkhDSnRsLzdtTEZiQ3NLdTgwSFlLUmlFSFdhQXNQME1ZRHA5ODVUdXRsZ3Q2QjYybGU0Wk1aOTJqQjVDdXlSOTN0d3BwUlh4c0JaOWxaUzVVNktnV1o4VW9mT1ViZTF6ajEyK2tibm5IQ3lYSC85ZDZwYVVZZTZVY0lYcXEzekErTzk0SkY2NGY0ZGt5WDd2Sml1T1NTeENEMzdNVnNmRWxQbU56WklMWFR0dHZINUNPSHNYTUlNaW9lWDBiQWpJdVFpbmIzRVN4ZGkyNU0xekNRMzlnSkVwT3B2TGxER1U4em8xNDdBYVA2bUZJUDVpTG9pN3pnWnhsMkFRZFprRndtNGhaWFNQc0l1VVUvd2lBc1BNSWJTZXFXK0JrZ25oYitpWTlzTm9JWlBiQ0J3VEFzeGQ1VWZvb2VsUFJONGJnZmJiZXJuSi9IMHhEY0pQcDlaZGQyMWYzWFZYOXpSY2ZDVFpLL055N3BaTEdzaFhWWXBMWlNqUjBXK015NmRlbVIrYXV5UzVDbHpsdWJSejdDT2h3M0lROS9vV3hPakdZcnQ1Yk0xQklBbDdMSDZDSG5LSWNsM3ZUbVQzS3U5MTU4NmRUeERPajNoVGx3R2d2djUxTk1jUFNOQm5mWWJBUHU2QmVSLzBMamZsWktaL1JuTnRmRUVRZy9TRE5yNWVNWWxiYndRTzdacmNCUVBxYnNZMTlxbklhUVdJSFJkeWxXcHZCTlJyQVF0SjFETVU2RDR4K1pTTDNJdmNCTjVZSGJRUDBPcml4VFhFd0NwU3E5VnRNTEIyUkFDZDhHZnRpNHJ1Mk9EM2d1dlhyMzlFbmdjNkFSU2ZZNE9lOUFQZTdDaGpFaGM0SjlvS2VrUWNvejVmV1ViMVNiaUtYdTFOUEJWajBYdzlRSS94L1ViVU9CaVJUTjRVd2F5aFpRbFB4REp1anlOeFhnd1NVcVgyUVVnT29Td2tvV1BZODlhRFVuSjNIYmdvMDJnMDQ5Rlc0MFh0UnJ1RTlodWZucXVyVzU2aGxhQ2RSdHVFZngrS1lEd1JuaDErbllvMlZ0K1RkRE1sWlIrM2tHNjM0REhWZVRsWWVpU2YzSjkzOVJlZDE3NzNSdUFJbkpXMktLY2ZoZTdSSU9tN0VxVHV5OWs5RGd2SlpRbENXb3lRRm9IUWVRMEVodTh2eXk5UTNjT0wrZE1JZ0lmNHFWN0RDODFCcjFpSk56d0Z6WXRMMFJwSC9Ma1RtZ2YrYmd4K1B4dS9Yb2VQUjhuZjhPbjdJZHArSWgzaWNmcXdjblBQTmZRSXlGa2s3WWhlYkRrVGJOd1NJRHJqMVBPQ1F0Vm00clUxbnAwb0Y2VVhKWlAvSnZiZ2RzZFNqekNRc3BCV2dOU3RBcExJWlRWNHovOE9Db3ZVQnFFUWJ5Q0JFZVhTOHN3Wkl4NVF6Y3JQdjk4WWdYUkhVUFB3dFU3eG5uZ0hMUTkvRm9GQVkvQnhHNGxYK0hoblh0U2gyM1RMMmM4WmdSOVF0cXVmNFgzRVd6Z29QNjVST0tTSW85emtUOFNla1NEeFhBUFNnYXRBT29DSDFFOExDUU8wYkNWMEhwVUJsNjhWVnNvVVhIRFZUTDUzNzE2am11MmZRUjBTdC9DMTR4SE1yL2hlQmZqOTNLS2lYNFQ0dTNyazl3NmhCK3NKSE9KM01vdy9NTTBuQWZXdnBZQWhZbWRUOS9SR05RSUhLMW8veWwzK1dEUWttdTJ0U0FhdkJja2doT1M1bW9OVTdrMHJnSkhGd3VxVS8rakNLY1FMbmtBS3RqZmJhSVE2cElMbVloTzcxVkFSV1dvemxNQmRhVXQxV3ZZbjAzUkNPU1J6VjBWV0M0ZllUMTR2NXNnVXpnSzNwRWRDTDl6Z0RVZEFYcEZjRTN4SVJBVWs0azJrSWRVdkhLd0hwc0FQRi9KNU9LVlp4Y1gzUkcrM0l3c2Y0QWZTbndQRWZrQS9rKys3ZTJVMndPeDJoc0JoSVRWRFNGM0R5OUNUSWwvNXpSam5WQWtDeXFlOUVvRDVNZzZFSTJJUlVneUloMFZWUUVKdjBrSVNlMFFBMlFyY0xsQTlSZTB2SlM3K0YrNzhMUkhPT1cwMnhPdVJkeGlSc1oyV1RPY0FFVFAzQmR6R1BFVkl3MTh0N3Jnb0ZKU25IR2p2QktCSHhYT1FSbktRUk1ONGIrSWhFVzhTZVVTQjg5ZGJ5d3FMUzliOGxYQjBheVkrNDdFZUhianF3QlBhSnJnQ0VCcHRNUU53UTN3TGk5ZVhHd09SYllQQVhmR1k4a1pBWXhNNVNLUFhzVTF3WmlUeEppMGszcHNHUjRCb1FEUllEVXd0OEYvMmZiTjNwWEdBY2NnZTRUd2hnQ2FHNWdKdGpidjRaaFdBbUdZVFVXcGhRTGttaGI3VXZnb0RXREkxVk1GT0JxanhQS1F4NnlzZ2xVdE9GMUlVeVE2L00yNUpyZCtkS1JGOFFBTDNyZHNxc0J1ZkNZd0lNNWs1eHFIbUU4dEJFZGtKbk9XRmpFTkNjOU84cDM5Q2M3elJPL1M0WktBbktjc2hVVnBJQmlVWHhVcU9kay9FN0tBTWVjYzZrVTViOWwxNHd2U09Bb2I1Q2hqS2g0UFVnb2VFWGlUb0dWVkc2anlUWHBDMEtpZ1BKVEJmcFFMOUZROXBvb0tETkE0aGpWMWZTWElFRWlzNTlDYWhaeHp4b2p2bTdzblc3d3FnMk14VGxOMjR6ZmZwZG5PQUVYN0ZRYUlSa29DSDFId0NVTzBYa3V0T011a0ZjWGUrZ0I2U0RNS3YwNEh4UzBWUUtVRDdKQ01rM3B2RzZYZ1RRcUwxSkVkN3JNZkFwemhZUTRYWTZ5MnZ6THBrMzBqWmhwVXhGbDhESS9GRG1mbnFRWm9FdE0wc0JKUjB6cVRYcEpBa016SVZSUDRaN0lTUzhVc0R4cGVEeEVsT1VUa3U2VWxPT0N3R3FMNkpHUGlVMlkwZGxJMy95dFl1K2JDcFhwSFBtRllCM0FSREMwbnN5M2tUZ1lTU282VUJ4SU1lbU5RYzcrMlRmVTQ0T2czRVV6ZUNhQXFCdEFHOWlVQXlJcmt4T3BMVFFob2VDMVMvUkh4VDVVbktYZEh1YmJNaEFSZmZPNTNxdGZZNTB4WnJuMVpUZ0xIeDV5QlpJaVFwRDBuclRkS3B4SVBLVEFsb2ZjYUg3SDBxSEowTzBtbWJRUnl3aVlQa3Y4R0E1QlFHSmFlYjVlaUJDWUQ3dUh1VWl5S1l0RW5lTkJpeUNhVmtTY013SzEyamJaZUM4TE5BWU5wT0E2Yk5WSVNFWm9PZ3JCR1VwWTQzRVVpVzA0Z0gvV0ZLM1JBK0ovSXczbHdhV0FSbWdYVDZacEFRU01TYkNDU0RrcXNteXlFazRkQTRvUHNsa3JMK0dscUEwQ21sR1NsRWE3UkgxVDJ6QWU0WmgyRFJkNXkyajNnbTdES1A2MzBqSU9HbjAzbElBUnlrbGp3a3JlVFFtK2cyd1FUUVRSTUFsZVFwYzg0QzQ1a0Nsa0haWURtRFFNb0VDZXRORlpKamVNa3hQaStRbkRiTFlTa2dISW9lNVpFQWxGdlNBM1RuamFURXA5eVVGcThLQzZYYnd0eFpJY09FRUMxd1hsOU1PNndGMFJjTDJONDNHZXVJL2hYRUR3ZzRTRUl5QjJ1TGtGcnprRmpKK2JPUTZFNXNGdHRxQ3FDN1ozR3pLZTJmQWxhQlc4QnE1aGFFbEkzZXBJWEVTVTZrTHprdEpGWnlpVVlreDVVQ29xR2tIRUJZL1JMS0tEZjVid2pyUENhR0ZMekF1UVJhY3hlRlBYcERSekxkSUNad2xYK0doYXNkMWxlZWJOdkZSUmxQdWNyektPZDF2OUI5SXA4SmV5OERVZmNGM0lDZzIyd1FmODROQ0VTZGVVZ2RnemhJbnhGSTB6bEk1Wkx6WjcySjZoa0JaQlpuQ3FCblJjVWFHQmk0QTZRVE40Rk5jQTRIQ2IzSllvWXh5YVZXU0c2aW9xcmtkQ0dONUt2djhnMHZtbWNrYmxPaVFPaUJYdFkzRmhoM2ZLNGJsZyt5ZFdXMExMNk1kbzBEeGpVR0dKY290bE1wY2xvSklzY2xJTzRkVW5sQTBQMGJIdEtjaWtsS1o5NmJPZ1labGh6eHByWkJXRWtuM2ljVEVsTUFQU1g3bGcyN3p1R25uQXJXczNKWVNOYXp0b0tWdnVTcXkzSVRYcERsUmxSVTMxVjdURno3Uk5wUDI3RTAzTlpsZTkvMlBLU2UzSkNBaGNST1VuaElXbStxUm5LVTdYSm82N1ZocDRtYk82NlBRcnpJMVQ4SEpKTXl3V2JPOWdwSXJPU3lXTWxKZGVPU1ZuSysyaXhYV1hKVk43d1YxYmQyTHljeDBHUFNiZXRLZE5xNlpFakFRakl3U2VIR1RkOFlsWnlvNDR4eXlURWRnc0VTZHcwYmQ1K0xOQlhRZm0xN1lNL2huOEZ5Y0JwWXp0d0cxZ1RTN0cxZ280VVVsRjBPeVdDVzA1WUNrNVF2TEFYWXVHU2t4MVMxcll1UVpCV1EyRW1LWThVa3BSS2tLcEtiVlM0NU5pNTFDQUs2ZHdUTWp6a0N4Y1ZxUDFPbmw5L3FOdGxYS1BLQUdab09Wbk4yZ1BYY0hSd2tRNUpEU0JXU1N5L1BjdnJWTjRGRXZXRERxOXRqcXRUVzdjZTFkUTFMYnFFUnlmSER5MjQ2a3VNaDBYWXJvRy9BTmlnb1ZEL0QrdTh6VS9zblhmbWVMZ3VJVENaOEZ1MEQwYWlOWURWM0oxaC9zNk95NUlJNHlVa0Q5VW9CZno0dStaRzRWRFhMR1pXY1RvOUpNcmc2eVMydklqa0pLN25RQ3NuMTFKZmNuSExKQ2UwV2crM1lUWERtL0MyOFQ4MVpzb013dFg5U0Q4RWMwdlVpMGt2eG5yOEhoS015d0dvZWdiU1RnNFRlVkJHWHNuWGlFcEZjUnFVc1IrdFgzNmIybU5pNHRMWXFKR09TMDhZbEIyMWNxcHJsaEQyWFFxZVJHK0Q0RHpmNDJYeko5SmNxd05UcVVwazJtMmt0djBBRkFTdjNZOEczQVN4bm85d0lLQU9Tc3lqUGNyemtqRzU0azZwbU9kME5yNjdraHVwSVRodVhXTW10MUpIY1VoM0pMVUpRaGlYSDJJZURnMDhXblB6cHB2YmU4bDk2RkVVbWxCaUxNdldIZnNXWTJWWXFUb0ROaUF5RWtNTjUwMXdqa3F1dStqYllZMG8wMm1QU2JldFdLUVU4akpRQ2VwSVQ5VjZJTlZRMHE0U0xWd3EwOS9RVW5jSDdsZlkyNUZBQm1Xa1pHaG5uSHIwQ2puNWJRRFJ1TXdadm5iaWtLN2tnSTVMN1dqZkxLU3YxbUdwQ2NoSURXVTdvRkE1dEJpWEQyclNUb0ZKcGRFOTJwQnVkN1pzWXNCMzVhV1VWU0VSeXkrUjUwTjU3RTBoOHM2dG11WmxiZGFwdkExbk96M0NXbzAxbzY1YVhBcFVrRjFZaE9UZk9tOFN1NFdEUkx3RW1oTzdsZzNHbGV6aFZVRkRRNUxXbmxlUXdBYjdZSTJNbk1INjhtQS9CRVllZ0RXWTVpVThtV0FVVFQ2cEdjbFAxc3B5dlhwWjdZZlVkclZOOVY1V2NCRXNCc1R2K0RNRU1tNzBMdmp0OEdWVHFLc2VGTDVXV2xsclZXQ3VCbko1QWQ3eGYzVkVWb3V1VldEUDE4TWtHTVdZN0MvOXNMQ3B6akdjNVF4dGV2UjVUbFZKQVo4T3JMem54Z0FqY3g4VkFPNjhVbUxMaWV6aHc0aHA3Mk5QQXRaNGlROFVhYjBTUjB4UmtqUHVpYzhpM1VYcmZZUVVldU9vQWRFZFlWdDRiUWVxekdTeW5ab0ZsWUhVYlhzTlpqamJTK3haNm9RMUNHN0FPT294TWcxSHpka1BTMXJOdzlVWVJZTm8yY3RaSXMrVzFaZldDU1NYRlo3ZW5waHphSnZYVHdmOWNneldwSjJGc3lGN29OakVUTEVha2cyVDBCZ3p3YUpQUWkzd1JrSjkySDVmR1RWSW1rYTRBUWhxUDN1U05rdnNTYlpnY21DRnl6R1JKMEhaNEduZ0diWWVRdUtPdzdmdUwraWRKRE5rRGN0STFQLzh0L0xjaFA0Z2JpcUN1dk93cGQyTGtaa2dXVk9TY3hTQi9IR2FzUG9oQk5CZUd6OWtOZzJidWhJRkJPL0RtZDRCWDhDNFlzMkFQSzVlUStLTVF0K2swNUNBTWNqQ2lXR1h5dnlDUUUycTczc0JoS2RNT01aSGpKWGdCdDE4RmxDRWpNWVBJdzRoRVhzYUloK2ZoOWZWOXJUUmVRN1B2RmhqMEF2ajQ5THltWUwwR21OM2syQjQ1QVBvdVRYZUo5T3FTZ3dMa21BbnZWV1Z2Q2NvVGxQc1p0QVhrU0ovWnU3NUk3WFQvL3YzR3FQdmU1QVE3WHZnUi9xVHFreG9DUXY1ZjR6WjM4Sk05OU5udXJRVGZOeTFEdEc1azMwTU9WcUZsY09BMFYvbkRsNDkwNUVsazhyOThaL004UG5jZjhVb0VNb2NjQVNaQXlQbHFzOXBWdTJwWDdhcGR0YXQyMWE3YTlVYlhmd0Z2VUVFSDRZYXFsQUFBQUFCSlJVNUVya0pnZ2c9PSIsImF1dGhlbnRpY2F0b3JHZXRJbmZvIjp7InZlcnNpb25zIjpbIkZJRE9fMl8wIl0sImFhZ3VpZCI6ImExZjUyYmU1ZGZhYjQzNjRiNTFjMmJkNDk2YjE0YTU2Iiwib3B0aW9ucyI6eyJ1diI6dHJ1ZX0sImZpcm13YXJlVmVyc2lvbiI6NX19LCJzdGF0dXNSZXBvcnRzIjpbeyJzdGF0dXMiOiJGSURPX0NFUlRJRklFRF9MMSIsImVmZmVjdGl2ZURhdGUiOiIyMDIwLTAzLTIwIiwiY2VydGlmaWNhdGlvbkRlc2NyaXB0b3IiOiJPQ1RBVENPIEV6RmluZ2VyMiBGSURPMiBBVVRIRU5USUNBVE9SIiwiY2VydGlmaWNhdGVOdW1iZXIiOiJGSURPMjAwMjAyMDAzMjAwMDEiLCJjZXJ0aWZpY2F0aW9uUG9saWN5VmVyc2lvbiI6IjEuMyIsImNlcnRpZmljYXRpb25SZXF1aXJlbWVudHNWZXJzaW9uIjoiMS4zIn0seyJzdGF0dXMiOiJGSURPX0NFUlRJRklFRCIsImVmZmVjdGl2ZURhdGUiOiIyMDIwLTAzLTIwIn1dLCJ0aW1lT2ZMYXN0U3RhdHVzQ2hhbmdlIjoiMjAyMS0wNy0yNyJ9LHsiYXR0ZXN0YXRpb25DZXJ0aWZpY2F0ZUtleUlkZW50aWZpZXJzIjpbImM1N2QwNjQxNjUzMjI1YjE3M2JjNmI0ZDk1ODc5Zjg3OTE1MjIyZjkiLCI5MjM4ODFmZTJmMjE0ZWU0NjU0ODQzNzFhZWI3MmU5N2Y1YTU4ZTBhIiwiNGI1NDYxNDIzNmM0YzRlOTNiZWIyZDNkYzFiNzViNjI5NzhlZTQ4OCIsImNlNjhkMWI3NWZiNGNkM2RhMDc3ZmQzZjgzM2M0ZDZlMjBiZjI4N2MiXSwibWV0YWRhdGFTdGF0ZW1lbnQiOnsibGVnYWxIZWFkZXIiOiJodHRwczovL2ZpZG9hbGxpYW5jZS5vcmcvbWV0YWRhdGEvbWV0YWRhdGEtc3RhdGVtZW50LWxlZ2FsLWhlYWRlci8iLCJhdHRlc3RhdGlvbkNlcnRpZmljYXRlS2V5SWRlbnRpZmllcnMiOlsiYzU3ZDA2NDE2NTMyMjViMTczYmM2YjRkOTU4NzlmODc5MTUyMjJmOSIsIjkyMzg4MWZlMmYyMTRlZTQ2NTQ4NDM3MWFlYjcyZTk3ZjVhNThlMGEiLCI0YjU0NjE0MjM2YzRjNGU5M2JlYjJkM2RjMWI3NWI2Mjk3OGVlNDg4IiwiY2U2OGQxYjc1ZmI0Y2QzZGEwNzdmZDNmODMzYzRkNmUyMGJmMjg3YyJdLCJkZXNjcmlwdGlvbiI6IkZlaXRpYW4gQmlvUGFzcyBGSURPIFNlY3VyaXR5IEtleSIsImF1dGhlbnRpY2F0b3JWZXJzaW9uIjoxLCJwcm90b2NvbEZhbWlseSI6InUyZiIsInNjaGVtYSI6MywidXB2IjpbeyJtYWpvciI6MSwibWlub3IiOjB9XSwiYXV0aGVudGljYXRpb25BbGdvcml0aG1zIjpbInNlY3AyNTZyMV9lY2RzYV9zaGEyNTZfcmF3Il0sInB1YmxpY0tleUFsZ0FuZEVuY29kaW5ncyI6WyJlY2NfeDk2Ml9yYXciXSwiYXR0ZXN0YXRpb25UeXBlcyI6WyJiYXNpY19mdWxsIl0sInVzZXJWZXJpZmljYXRpb25EZXRhaWxzIjpbW3sidXNlclZlcmlmaWNhdGlvbk1ldGhvZCI6ImZpbmdlcnByaW50X2ludGVybmFsIn1dXSwia2V5UHJvdGVjdGlvbiI6WyJoYXJkd2FyZSIsInNlY3VyZV9lbGVtZW50IiwicmVtb3RlX2hhbmRsZSJdLCJpc0tleVJlc3RyaWN0ZWQiOnRydWUsImlzRnJlc2hVc2VyVmVyaWZpY2F0aW9uUmVxdWlyZWQiOnRydWUsIm1hdGNoZXJQcm90ZWN0aW9uIjpbIm9uX2NoaXAiXSwiYXR0YWNobWVudEhpbnQiOlsiZXh0ZXJuYWwiXSwidGNEaXNwbGF5IjpbXSwiYXR0ZXN0YXRpb25Sb290Q2VydGlmaWNhdGVzIjpbIk1JSUJmakNDQVNXZ0F3SUJBZ0lCQVRBS0JnZ3Foa2pPUFFRREFqQVhNUlV3RXdZRFZRUUREQXhHVkNCR1NVUlBJREF5TURBd0lCY05NVFl3TlRBeE1EQXdNREF3V2hnUE1qQTFNREExTURFd01EQXdNREJhTUJjeEZUQVRCZ05WQkFNTURFWlVJRVpKUkU4Z01ESXdNREJaTUJNR0J5cUdTTTQ5QWdFR0NDcUdTTTQ5QXdFSEEwSUFCTkJtclJxVk94enRUSlZOMTl2dGRxY0w3dEtRZW9sMm5uTTIveVlndmtzWm5yNTBTS2JWZ0lFa3pIUVZPdTgwTFZFRTNsVmhlTzFIamdneEFsVDZvNFdqWURCZU1CMEdBMVVkRGdRV0JCUkpGV1F0MWJ2RzNqTTZYZ21WL0ljak50Ty9DekFmQmdOVkhTTUVHREFXZ0JSSkZXUXQxYnZHM2pNNlhnbVYvSWNqTnRPL0N6QU1CZ05WSFJNRUJUQURBUUgvTUE0R0ExVWREd0VCL3dRRUF3SUJCakFLQmdncWhrak9QUVFEQWdOSEFEQkVBaUF3ZlBxZ0lXSVVCK1FCQmFWR3NkSHkwczVSTXhsa3pwU1gvelN5VFptVXBRSWdCMndKNm5aUk04b1gvbkE0M1JoNlNKb3ZNMlh3Q0NILy8rTGlyQkFiQjBNPSJdLCJpY29uIjoiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFGQUFBQUFVQ0FNQUFBQXRCa3JsQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUJIWnBWRmgwV0UxTU9tTnZiUzVoWkc5aVpTNTRiWEFBQUFBQUFEdy9lSEJoWTJ0bGRDQmlaV2RwYmowaTc3dS9JaUJwWkQwaVZ6Vk5NRTF3UTJWb2FVaDZjbVZUZWs1VVkzcHJZemxrSWo4K0lEeDRPbmh0Y0cxbGRHRWdlRzFzYm5NNmVEMGlZV1J2WW1VNmJuTTZiV1YwWVM4aUlIZzZlRzF3ZEdzOUlrRmtiMkpsSUZoTlVDQkRiM0psSURVdU5pMWpNREUwSURjNUxqRTFOamM1Tnl3Z01qQXhOQzh3T0M4eU1DMHdPVG8xTXpvd01pQWdJQ0FnSUNBZ0lqNGdQSEprWmpwU1JFWWdlRzFzYm5NNmNtUm1QU0pvZEhSd09pOHZkM2QzTG5jekxtOXlaeTh4T1RrNUx6QXlMekl5TFhKa1ppMXplVzUwWVhndGJuTWpJajRnUEhKa1pqcEVaWE5qY21sd2RHbHZiaUJ5WkdZNllXSnZkWFE5SWlJZ2VHMXNibk02ZUcxd1BTSm9kSFJ3T2k4dmJuTXVZV1J2WW1VdVkyOXRMM2hoY0M4eExqQXZJaUI0Yld4dWN6cGtZejBpYUhSMGNEb3ZMM0IxY213dWIzSm5MMlJqTDJWc1pXMWxiblJ6THpFdU1TOGlJSGh0Ykc1ek9uQm9iM1J2YzJodmNEMGlhSFIwY0RvdkwyNXpMbUZrYjJKbExtTnZiUzl3YUc5MGIzTm9iM0F2TVM0d0x5SWdlRzFzYm5NNmVHMXdUVTA5SW1oMGRIQTZMeTl1Y3k1aFpHOWlaUzVqYjIwdmVHRndMekV1TUM5dGJTOGlJSGh0Ykc1ek9uTjBVbVZtUFNKb2RIUndPaTh2Ym5NdVlXUnZZbVV1WTI5dEwzaGhjQzh4TGpBdmMxUjVjR1V2VW1WemIzVnlZMlZTWldZaklpQjRiWEE2UTNKbFlYUnZjbFJ2YjJ3OUlrRmtiMkpsSUZCb2IzUnZjMmh2Y0NCRFF5QXlNREUwSUNoTllXTnBiblJ2YzJncElpQjRiWEE2UTNKbFlYUmxSR0YwWlQwaU1qQXhOaTB4TWkwek1GUXhORG96TXpvd09Dc3dPRG93TUNJZ2VHMXdPazF2WkdsbWVVUmhkR1U5SWpJd01UWXRNVEl0TXpCVU1EYzZNekU2TlRrck1EZzZNREFpSUhodGNEcE5aWFJoWkdGMFlVUmhkR1U5SWpJd01UWXRNVEl0TXpCVU1EYzZNekU2TlRrck1EZzZNREFpSUdSak9tWnZjbTFoZEQwaWFXMWhaMlV2Y0c1bklpQndhRzkwYjNOb2IzQTZTR2x6ZEc5eWVUMGlNakF4TmkweE1pMHpNRlF4TlRvek1Eb3lOeXN3T0Rvd01DWWplRGs3NXBhSDVMdTJJT2FjcXVhZ2grbWltQzB4SU9XM3N1YUprK1c4Z0NZamVFRTdJaUI0YlhCTlRUcEpibk4wWVc1alpVbEVQU0o0YlhBdWFXbGtPakpGTnpGQ1JrWkRRelkzUmpFeFJUWTVOemhFUVRsRFFrSTJORFl6Umprd0lpQjRiWEJOVFRwRWIyTjFiV1Z1ZEVsRVBTSjRiWEF1Wkdsa09qSkZOekZDUmtaRVF6WTNSakV4UlRZNU56aEVRVGxEUWtJMk5EWXpSamt3SWo0Z1BIaHRjRTFOT2tSbGNtbDJaV1JHY205dElITjBVbVZtT21sdWMzUmhibU5sU1VROUluaHRjQzVwYVdRNk1rVTNNVUpHUmtGRE5qZEdNVEZGTmprM09FUkJPVU5DUWpZME5qTkdPVEFpSUhOMFVtVm1PbVJ2WTNWdFpXNTBTVVE5SW5odGNDNWthV1E2TWtVM01VSkdSa0pETmpkR01URkZOamszT0VSQk9VTkNRalkwTmpOR09UQWlMejRnUEM5eVpHWTZSR1Z6WTNKcGNIUnBiMjQrSUR3dmNtUm1PbEpFUmo0Z1BDOTRPbmh0Y0cxbGRHRStJRHcvZUhCaFkydGxkQ0JsYm1ROUluSWlQejQ3N0pYRkFBQUFZRkJNVkVYLy8vOEVWcUlYWmF2RzJPb3FjTEcyek9Pa3d0MEJTSnRxbGNYVjR1K2F1dGxXaGJ6azdQVUFNWTlIY3JLanROYnE4ZmVBbDhhQm9zeno5dnBkanNHR3F0RjNuOHVUc05TWnBjNkpzTlQ1K3YweFlLbnU4UGZmNS9MNDhmZy9mcmljekpnWUFBQURBRWxFUVZSNDJrUlVDWmJESUFqRlhaT1kxVGF0TmMzOWJ6a3NTWWMzcjRNRTRmTUJBYUQ2emw4eS85VE9nZXQ4ZDVqZk43OGJ3TS9kRENScFI1MjF6WGZvakhKMDVJSXloQkFVU1ZBT05kR3pCWXQyZjdLRnJma0phQWtIaDlGWmhjRFhIUmtUS285TUxpaEdhYXZJbW5WM3F5RVgwRXByZ3ovNER3VUQ3a0NIUm5kOFFGTjQzR280VVZtRERnemE0dzI3b2l6ZEEyK2NLK3V1VXBqam8yK3h3Yy80Mlc1MHg1TEdZZURCc1IwSFZJeDV4OGlGNjBDYmxiVEVFa0ZyMjdiTkRCVVZTcTFPS1ZQYkU2MmIzRUg4RnFCZzVPT09FdWMydDhaSmlxTU91R3ArY0tqZzd3VkdjZW96cU40cHhnVlBRa2pGWWdiVkpLRFVoRENqWXJhd1A1cTRFVGdDOWZJTVJIdGl0cFFjQ3ZKT0VMY2JNc1FnbmNpUmtsanB5UWp2RzQ0anFCVUVURmlCaTFQRUl5ZWtPenNXK1R5NWNMSG9zNVIrZE1TMUx0U1N4ZjNnUUhjelIyQ0k0Z01OcFc0SVJBMVFNYTZ0SjQrQzZ1SHVHRThtTkRJeUZxZy9PUC9NTVV1ZVM2SXE4UzkwZEFlQkpTRXkvcUtrSytCTnd6OGNZWTRqYjVKNnU0aVdDSTJCMVo1NkxXNWtFYzRoa2RNcHN2VUM1NTg1U1gwUXViY2dOcXlmZ0RGRWNUdCs0MC8wUzVOeDB3YUN3M09La2NPYkE1SW4wQVlwMDFwamp3Mm42MjZVRGp0SHdhMjhpSHVUS3F0cnYrcmVXNDFOWjZpR2xyN3V1TEpDZmtGdGN0Y0cwNHNnbTFlTlMrWmFEbnBhVEVyR295WDVKSzJpTXo4eHMwbk93V0djUERONDlxYUNkNGJ6Sm96RFptL2FCSytFb3pMdytYaE5CaVl3SGYwc2lPdTFYUGtHL3pLd3ZxWUtjZlN3REVjSC9vVWUwN2VzL1dROHJJeWcyRE9Yajh0amtaZHVEQi9iOGh6RGxsTU1PQ1M1QkVuZDUzNGY4dGkzVVpjNGtNczN4THlhZk1Tc0poZEc4WFBxak5rNXRBZ08yNWZlS0NoblZkRGovSjBGTWtPc1UveE1CdjB3RmhZZUVHZlZIMTNmdURVMHlERkxhNGZjN1JuV0hCZnVURlYydEVtTndhZGM3YWMzVVkyamZCbDdIVDM2ZmUzNGlRTzVtTkNGRkJXMDdLalBncWhPTFUwMXZaOFB1ZVoySkNsRlpOOGprVXM2OXVrYTllUHA2K0VmTDRBRjUrTnl3U2Jpckh0Y0I4TWwvZ2t3QUVqa0s2NEtqSFBlQUFBQUFFbEZUa1N1UW1DQyJ9LCJzdGF0dXNSZXBvcnRzIjpbeyJzdGF0dXMiOiJGSURPX0NFUlRJRklFRF9MMiIsImVmZmVjdGl2ZURhdGUiOiIyMDE4LTExLTAxIiwiY2VydGlmaWNhdGlvbkRlc2NyaXB0b3IiOiJGZWl0aWFuIEJpb1Bhc3MgRklETyBVMkYgU2VjdXJpdHkgS2V5IiwiY2VydGlmaWNhdGVOdW1iZXIiOiJVMkYxMDAwMjAxODAyMjgwMDUiLCJjZXJ0aWZpY2F0aW9uUG9saWN5VmVyc2lvbiI6IjEuMC4xIiwiY2VydGlmaWNhdGlvblJlcXVpcmVtZW50c1ZlcnNpb24iOiIxLjAuMSJ9XSwidGltZU9mTGFzdFN0YXR1c0NoYW5nZSI6IjIwMTgtMTEtMDEifSx7ImFhZ3VpZCI6ImQ0MWY1YTY5LWI4MTctNDE0NC1hMTNjLTllYmQ2ZDkyNTRkNiIsIm1ldGFkYXRhU3RhdGVtZW50Ijp7ImxlZ2FsSGVhZGVyIjoiaHR0cHM6Ly9maWRvYWxsaWFuY2Uub3JnL21ldGFkYXRhL21ldGFkYXRhLXN0YXRlbWVudC1sZWdhbC1oZWFkZXIvIiwiYWFndWlkIjoiZDQxZjVhNjktYjgxNy00MTQ0LWExM2MtOWViZDZkOTI1NGQ2IiwiZGVzY3JpcHRpb24iOiJBVEtleS5DYXJkIENUQVAyLjAiLCJhdXRoZW50aWNhdG9yVmVyc2lvbiI6MiwicHJvdG9jb2xGYW1pbHkiOiJmaWRvMiIsInNjaGVtYSI6MywidXB2IjpbeyJtYWpvciI6MSwibWlub3IiOjB9XSwiYXV0aGVudGljYXRpb25BbGdvcml0aG1zIjpbInNlY3AyNTZyMV9lY2RzYV9zaGEyNTZfcmF3Il0sInB1YmxpY0tleUFsZ0FuZEVuY29kaW5ncyI6WyJjb3NlIl0sImF0dGVzdGF0aW9uVHlwZXMiOlsiYmFzaWNfZnVsbCJdLCJ1c2VyVmVyaWZpY2F0aW9uRGV0YWlscyI6W1t7InVzZXJWZXJpZmljYXRpb25NZXRob2QiOiJmaW5nZXJwcmludF9pbnRlcm5hbCIsImJhRGVzYyI6eyJzZWxmQXR0ZXN0ZWRGUlIiOjAuMCwic2VsZkF0dGVzdGVkRkFSIjowLjAsIm1heFRlbXBsYXRlcyI6MCwibWF4UmV0cmllcyI6MCwiYmxvY2tTbG93ZG93biI6MH19LHsidXNlclZlcmlmaWNhdGlvbk1ldGhvZCI6InByZXNlbmNlX2ludGVybmFsIn1dXSwia2V5UHJvdGVjdGlvbiI6WyJoYXJkd2FyZSIsInNlY3VyZV9lbGVtZW50Il0sImlzRnJlc2hVc2VyVmVyaWZpY2F0aW9uUmVxdWlyZWQiOnRydWUsIm1hdGNoZXJQcm90ZWN0aW9uIjpbIm9uX2NoaXAiXSwiYXR0YWNobWVudEhpbnQiOlsiZXh0ZXJuYWwiXSwidGNEaXNwbGF5IjpbXSwiYXR0ZXN0YXRpb25Sb290Q2VydGlmaWNhdGVzIjpbIk1JSUJ6RENDQVhHZ0F3SUJBZ0lCQVRBS0JnZ3Foa2pPUFFRREFqQmlNUXN3Q1FZRFZRUUdFd0pUUlRFU01CQUdBMVVFQ2d3SlFWUkxaWGxEUVRBd01TSXdJQVlEVlFRTERCbEJkWFJvWlc1MGFXTmhkRzl5SUVGMGRHVnpkR0YwYVc5dU1Sc3dHUVlEVlFRREV4SkJkWFJvWlc1MGNtVnVaQ0JEUVNBd01EQXdJQmNOTVRZd01qSTJNRGd4TVRBMldoZ1BNakExTURBeU1qVXdPREV4TURaYU1HSXhDekFKQmdOVkJBWVRBbE5GTVJJd0VBWURWUVFLREFsQlZFdGxlVU5CTURBeElqQWdCZ05WQkFzTUdVRjFkR2hsYm5ScFkyRjBiM0lnUVhSMFpYTjBZWFJwYjI0eEd6QVpCZ05WQkFNVEVrRjFkR2hsYm5SeVpXNWtJRU5CSURBd01EQlpNQk1HQnlxR1NNNDlBZ0VHQ0NxR1NNNDlBd0VIQTBJQUJBSmNXcWVDeGdhOUtKYkZPMlRaZGpjZ3J0WkFnZmk4VFhLdSt2NWxjUjVjZWI1R0pZeHlvQ2podWVFU0wzZGRtTUlrcEd5aHNFRXRmRlV5QndzeUZWQ2pGakFVTUJJR0ExVWRFd0VCL3dRSU1BWUJBZjhDQVFBd0NnWUlLb1pJemowRUF3SURTUUF3UmdJaEFQdVZTNFBtMktGWGRVTWk1UGIvWHkrZ0NST091UlBaNkk1N3ZXYzBFdmtCQWlFQThhUkNuWHBwQWZmQ0VPUUJKN3ZsZ3dpaUhNWEEydHBXWCtPYnZWS3hYYk09IiwiTUlJQnpEQ0NBWEdnQXdJQkFnSUJBVEFLQmdncWhrak9QUVFEQWpCaU1Rc3dDUVlEVlFRR0V3SlRSVEVTTUJBR0ExVUVDZ3dKUVZSTFpYbERRVEF3TVNJd0lBWURWUVFMREJsQmRYUm9aVzUwYVdOaGRHOXlJRUYwZEdWemRHRjBhVzl1TVJzd0dRWURWUVFERXhKQmRYUm9aVzUwY21WdVpDQkRRU0F3TURBd0lCY05NVFl3TWpJMk1EZ3hNVEEyV2hnUE1qQTFNREF5TWpVd09ERXhNRFphTUdJeEN6QUpCZ05WQkFZVEFsTkZNUkl3RUFZRFZRUUtEQWxCVkV0bGVVTkJNREF4SWpBZ0JnTlZCQXNNR1VGMWRHaGxiblJwWTJGMGIzSWdRWFIwWlhOMFlYUnBiMjR4R3pBWkJnTlZCQU1URWtGMWRHaGxiblJ5Wlc1a0lFTkJJREF3TURCWk1CTUdCeXFHU000OUFnRUdDQ3FHU000OUF3RUhBMElBQkFKY1dxZUN4Z2E5S0piRk8yVFpkamNncnRaQWdmaThUWEt1K3Y1bGNSNWNlYjVHSll4eW9Damh1ZUVTTDNkZG1NSWtwR3loc0VFdGZGVXlCd3N5RlZDakZqQVVNQklHQTFVZEV3RUIvd1FJTUFZQkFRRUNBUUF3Q2dZSUtvWkl6ajBFQXdJRFNRQXdSZ0loQU1xSWMvUXRyK2paYm5ySkI3ZzdXOHIvREhtRGUrSXlGdnp3cHpkU3J4RVhBaUVBdFhjaXhaem5oY0R6bG5JcUZxa0lKUkdtdkw5WXI2bFZvUDFaa0RlcW1qaz0iXSwiaWNvbiI6ImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBRHdBQUFBOENBWUFBQUE2L05seUFBQUFBWE5TUjBJQXJzNGM2UUFBQUFSblFVMUJBQUN4and2OFlRVUFBQUFKY0VoWmN3QUFDeEVBQUFzUkFYOWtYNUVBQUFVMFNVUkJWR2hEN1ZwYmM5TkdGRDYyYk1XT0x6aTJrd0oyTHBBV1NndDBJRUJ2VDMzdGRLWXo3VnQvWUI4NncyL2dwWjAyaFlkT0FrK0ZhU0JwSURlSDJDVyt5ejNmYXJlUjA5aXlva3M4anIrWk05YXV0T3Y5OU8zWmM3UlM2S2VWdFE2ZEk0VGw3N25CbVBDb1kweDQxREVtUE9vWUtBN1htbTB5YUxqRGRaaENGSXRxc3RRYnRvUkI5dnViYzZSSHd0UVpVczZoRUZHalpkRERwNjlzU2R0T2FTaXJheHBGd21HS2FzTnBHSnZPdjRQTXdvRjh1RE9zMGxvdzZCaHRwL1JoczBVLzNMNUNVWjdTd1BQZENtMi9xNUtHZVhTR2FEUEJtVVNjM3MrblJMblphdE9QSzJzMEdZMkljaTg0SnZ6cnl4MzZjNi9DMCtoc0NiZU1EbjJRUzlIbjg5T2lQQ2hoeDJFcHpNcUM3RW0rRktSaERCaUxVemdtN0JZR1Q4VTJxd1BEY2RBSWxEQkl4aUlhcFNlaXduQ011aUFSR0dHc29tM0RvRzgvbXFXdlB5d0l3ekhxZ293Q2dSRnVzcEszTGs3SjBoRlFoM05CSVJEQ1VMREZTdDYrOUgvQ3FNTzVvRlFPaERBVS9IZ21JMHRFN3hvdHFuSzRVOEE1aEprZzREdGhLR2V3Z3ZlS09WbER0UEo2bi83WTNKY2xvcVZDTmpDVmZTY001YTdsMDdKa2hxWG5wYkl3UlRERThmVDZkRG9RbFgwbHJIeDN5YUx1S3FzYkRvV0ZyYnc1VXZudTVWd2dLdnRLR0RGMmtkTS9QTTBvckc2OXBTZ3lOYmJWTjI5bExZbnNDZGY2SFpkOUl3eWw2dTAyUFNqbVpRM1JzNjE5Zmt3M3A3QXdXYWR3djVBVGJmeFUyVGZDZUpwWnlDU0ZjZ3BQL2k2Unhtb2JyQ0lNeDA4MlN2SXNrYzZaRjlxZ3JWL3doVEFVYXJRTittek9mSklCWHV5VkthVkhLTW1Xa0liajFFU0V6MVhrVlVRUFpuT2lyVjhxKzBJWUNzMm1KN3UyV3haemFmcnU1ang5YzZQWVphaUQ3eXBNNmxFcWNsdS9WUGFjTUpScHNrTFdsZGtwbHRpWDBZY2ZLbnRPR0l0c2dSVzZFTk5salhOazRycm93NDhGMi9HT3gvS3JYWHBScW5RdFJsWWdyT0M1M0JTbjB4V1M2cXphVjFmZW84c1hKa1Y1OCtDUUh2MjFSUk9XdmhDTGVWai85YUgxMkZuQkRGak1wdWpUT1RNSytMYmowUS9Jb3VMc3QxZW5rclF3bFJBWkZrakNINFVKeWF6M1YyNEd5UE80Rm0zUUZuMmdMNjgzQ1R3akRIK3I4VjMrY242YTdzL214UW85bDBtSWVtekZtSVlycllxWmRlbzhya1VidEVVZlgvQXYrdlRTbHowakRQR3k3SHY1UkV6V0VQMjh0dDF6NnArRUtFLy9YMTd1eUJMUmRESW0rdlRTbHowaGpQRTBPRU5DUHF5dy9VK1Z5dlZXbDU1MmdOOGUxQnJjdGlacmlPNWN5cksvc3NxeTdCYmVFT1lwbCtMNFdaQ0xFYkM4dmlmZUJpQ0ZIQlM0Rm04NUhtL3N5aHFpSWsveEpQZnQxYlQyaEREZTY5emxaMXFGMG1HZFN0VzY5RmxuUUp0ZHRHZFR1TU45SS92eUFxNEpZeFhWdFJETjg2cXE4TnY2RG9jYXpaRzZDbWlEdHN2clJ5b3ZjTi9pM1pFSEtyc21qRHVQRlZXaExIeXczak4rRGdLMDNXSS9SbDhLOXp4UzJSVmgzSEdvY1pVVEFBVW9FNU5KaWh0TWNCKy9iK3pKa3BtTEkwRnhxN0tya1NIYitjU3lFNG5OdWRlVnFvaXBib0dYZFp2bFE5R253cTJMR2ZHZmJuQnF3bGcxeFM1Rk5rbDFUZzd3Zkx2TXZvdTZmcjVyamN2OVlqVDZ3UG5IRmwrK01aTVJieXZjcU93cWx3YnBHcS9RWmlRMkNWaHo1K1BBUU9NODRJZ2sybUsxcW55emVzMEk5STgyYVg0UXdUR3V3eGNKVGM2M3NlRVhlQzRORlpEdnh2bFBZUDNJQWhnd0NKWnJUV0g5eUFMb0grZHhiWVdUbUFQK0JkbCtNOGdPcmdpZkJpQ0FWUmpXajZ3Q3lLbnJZVzdJQW80Slk0cGhPbUh4T0V2REdFN2p5K05QSG83ak9PRmhoYWVMbGx1L0NRS0RqdEdXTUw1d3c2TWZ0bDVPOHFWaE1Jd05hU2ZHYWdmYktRMmNxMDhQUnczRHZSTDVnREhoVWNlWThLaGpUSGkwUWZRdjNXeHdxWndHMDJ3QUFBQUFTVVZPUks1Q1lJST0iLCJhdXRoZW50aWNhdG9yR2V0SW5mbyI6eyJ2ZXJzaW9ucyI6WyJVMkZfVjIiLCJGSURPXzJfMCIsIkZJRE9fMl8xX1BSRSJdLCJleHRlbnNpb25zIjpbImNyZWRQcm90ZWN0IiwiaG1hYy1zZWNyZXQiXSwiYWFndWlkIjoiZDQxZjVhNjliODE3NDE0NGExM2M5ZWJkNmQ5MjU0ZDYiLCJvcHRpb25zIjp7InBsYXQiOmZhbHNlLCJyayI6dHJ1ZSwiY2xpZW50UGluIjpmYWxzZSwidXAiOnRydWUsInV2Ijp0cnVlLCJiaW9FbnJvbGwiOnRydWUsInVzZXJWZXJpZmljYXRpb25NZ210UHJldmlldyI6dHJ1ZSwidXZCaW9FbnJvbGwiOnRydWUsImNyZWRNZ210Ijp0cnVlLCJjcmVkZW50aWFsTWdtdFByZXZpZXciOnRydWV9LCJtYXhNc2dTaXplIjoyMDQ4LCJwaW5VdkF1dGhQcm90b2NvbHMiOlsxXSwibWF4Q3JlZGVudGlhbENvdW50SW5MaXN0IjoyMCwibWF4Q3JlZGVudGlhbElkTGVuZ3RoIjoxMjgsInRyYW5zcG9ydHMiOlsiYmxlIiwidXNiIl0sImFsZ29yaXRobXMiOlt7InR5cGUiOiJwdWJsaWMta2V5IiwiYWxnIjotN31dLCJmaXJtd2FyZVZlcnNpb24iOjMwMDAwMzl9fSwic3RhdHVzUmVwb3J0cyI6W3sic3RhdHVzIjoiRklET19DRVJUSUZJRURfTDEiLCJlZmZlY3RpdmVEYXRlIjoiMjAxOS0wMi0yNiIsImNlcnRpZmljYXRpb25EZXNjcmlwdG9yIjoiQXV0aGVuVHJlbmQgVGVjaG5vbG9neSBJbmMuIEFUS2V5LmNhcmQiLCJjZXJ0aWZpY2F0ZU51bWJlciI6IkZJRE8yMDAyMDE4MDkyNjAxOSIsImNlcnRpZmljYXRpb25Qb2xpY3lWZXJzaW9uIjoiMS4zLjQiLCJjZXJ0aWZpY2F0aW9uUmVxdWlyZW1lbnRzVmVyc2lvbiI6IjEuMC4wIn1dLCJ0aW1lT2ZMYXN0U3RhdHVzQ2hhbmdlIjoiMjAxOS0wMi0yNiJ9LHsiYXR0ZXN0YXRpb25DZXJ0aWZpY2F0ZUtleUlkZW50aWZpZXJzIjpbImU1NTg3OGFiMGIwYTU4NGU0YzFhZGQ1NjMzZTE5YzI1ZjA4OTlhMmQiLCI0M2MwZjgwOWIxZDc1NjE2YWExNTJjM2NiYTU3ZDczNDY1MDU3ZjIxIiwiMTFjMDkxMGE5NzgyYmEzZDBiZDhmODZiYmE0OWUyODIzNjVjYzA1YyIsImM5MzZiNjhlZWM4NTgyMzBmZTA3NDY0MzU5YzFiNWMwZDdlZmU0N2QiLCJkMGQ4NDRlZGZmMTE3Yzk3OWEwNWZhNjY4YTMyOTZiY2U2OTY1NTk4IiwiZWQ1YmRiOTYwMTFlM2Q0NTdkODU4YWYzOWUzMGFjNTdjNWFjOTVlNiJdLCJtZXRhZGF0YVN0YXRlbWVudCI6eyJsZWdhbEhlYWRlciI6Imh0dHBzOi8vZmlkb2FsbGlhbmNlLm9yZy9tZXRhZGF0YS9tZXRhZGF0YS1zdGF0ZW1lbnQtbGVnYWwtaGVhZGVyLyIsImF0dGVzdGF0aW9uQ2VydGlmaWNhdGVLZXlJZGVudGlmaWVycyI6WyJlNTU4NzhhYjBiMGE1ODRlNGMxYWRkNTYzM2UxOWMyNWYwODk5YTJkIiwiNDNjMGY4MDliMWQ3NTYxNmFhMTUyYzNjYmE1N2Q3MzQ2NTA1N2YyMSIsIjExYzA5MTBhOTc4MmJhM2QwYmQ4Zjg2YmJhNDllMjgyMzY1Y2MwNWMiLCJjOTM2YjY4ZWVjODU4MjMwZmUwNzQ2NDM1OWMxYjVjMGQ3ZWZlNDdkIiwiZDBkODQ0ZWRmZjExN2M5NzlhMDVmYTY2OGEzMjk2YmNlNjk2NTU5OCIsImVkNWJkYjk2MDExZTNkNDU3ZDg1OGFmMzllMzBhYzU3YzVhYzk1ZTYiXSwiZGVzY3JpcHRpb24iOiJTZWN1cml0eSBLZXkgYnkgWXViaWNvIHdpdGggTkZDIiwiYXV0aGVudGljYXRvclZlcnNpb24iOjIsInByb3RvY29sRmFtaWx5IjoidTJmIiwic2NoZW1hIjozLCJ1cHYiOlt7Im1ham9yIjoxLCJtaW5vciI6MX1dLCJhdXRoZW50aWNhdGlvbkFsZ29yaXRobXMiOlsic2VjcDI1NnIxX2VjZHNhX3NoYTI1Nl9yYXciXSwicHVibGljS2V5QWxnQW5kRW5jb2RpbmdzIjpbImVjY194OTYyX3JhdyJdLCJhdHRlc3RhdGlvblR5cGVzIjpbImJhc2ljX2Z1bGwiXSwidXNlclZlcmlmaWNhdGlvbkRldGFpbHMiOltbeyJ1c2VyVmVyaWZpY2F0aW9uTWV0aG9kIjoicHJlc2VuY2VfaW50ZXJuYWwifV1dLCJrZXlQcm90ZWN0aW9uIjpbImhhcmR3YXJlIiwic2VjdXJlX2VsZW1lbnQiLCJyZW1vdGVfaGFuZGxlIl0sIm1hdGNoZXJQcm90ZWN0aW9uIjpbIm9uX2NoaXAiXSwiY3J5cHRvU3RyZW5ndGgiOjEyOCwiYXR0YWNobWVudEhpbnQiOlsiZXh0ZXJuYWwiLCJ3aXJlZCIsIndpcmVsZXNzIiwibmZjIl0sInRjRGlzcGxheSI6W10sImF0dGVzdGF0aW9uUm9vdENlcnRpZmljYXRlcyI6WyJNSUlESGpDQ0FnYWdBd0lCQWdJRUcwQlQ5ekFOQmdrcWhraUc5dzBCQVFzRkFEQXVNU3d3S2dZRFZRUURFeU5aZFdKcFkyOGdWVEpHSUZKdmIzUWdRMEVnVTJWeWFXRnNJRFExTnpJd01EWXpNVEFnRncweE5EQTRNREV3TURBd01EQmFHQTh5TURVd01Ea3dOREF3TURBd01Gb3dMakVzTUNvR0ExVUVBeE1qV1hWaWFXTnZJRlV5UmlCU2IyOTBJRU5CSUZObGNtbGhiQ0EwTlRjeU1EQTJNekV3Z2dFaU1BMEdDU3FHU0liM0RRRUJBUVVBQTRJQkR3QXdnZ0VLQW9JQkFRQy9qd1l1aEJWbHFhaVlXRU1zcldGaXNnSitQdE05MWVTcnBJNFRLN1U1M213Q0lhd1NESHk4dlVtazVOMktBajlhYnZUOU5QNVNNUzFoUWkzdXN4b1lHb25YUWdmTzZaWHlVQTlhK0tBa3FkRm5Cbmx5dWdTZUNPZXA4RWRaRmZzYVJGdE1qa3d6NUdjejJQeTR2SVl2Q2RNSFB0d2F6MGJWdXpuZXVlSUV6NlRuUWpFNjNSZHQyemJ3bmVid1RHNVp5YmVXU3dienkrQkozNFpIY1VoUEFZODl5SlFYdUUwSXpNWkZjRUJiUE5SYldFQ1JLZ2pxLy9xVDlubURPRlZsU1JDdDJ3aXFQU3psdXduK3Yrc3VRRUJzVWpUR01FZDI1dEtYWFRrTlcyMXdJV2J4ZVN5VW9UWHdMdkdTNnhsd1FTZ05wazJxWFl3ZjhpWGc3VldaQWdNQkFBR2pRakJBTUIwR0ExVWREZ1FXQkJRZ0l2ejBiTkdKaGpncFRva3N5S3BQOXh2OW9EQVBCZ05WSFJNRUNEQUdBUUgvQWdFQU1BNEdBMVVkRHdFQi93UUVBd0lCQmpBTkJna3Foa2lHOXcwQkFRc0ZBQU9DQVFFQWp2anVPTURTYStKWEZDTHlCS3N5Y1h0QlZac0o0VWUzTGJhRXNQWTRNWU4vaElRNVpNNXA3RWpmY25NRzRDdFlrTnNmTkhjMEFoQkxkcTQ1cm5UODdxLzZPM3ZVRXROTWFmYmhVNmt0aFg3WSs5WEZOOU5wbVl4citla1ZZNXhPeGk4aDlKRElnb01QNFZCMXVTMGF1bkwxSUdxck5vb0w5bW1Gbkwya0xWVmVlNi9WUjZDNStLU1RDTUNXcHBNdUpJWklJMnY5bzRka29aOFk3UVJqUWxMZll6ZDNxR3RLYnc3eGFGMVVzRy81eFViL0J0d2IyWDJnNElucGlCL3l0LzNDcFFYcGlXWC9LNG1CdlVLaUduMDVac3FlWTFneDRnMHhMQnFjVTlwc215UHpLK1ZzZ3cyamVSUTVKbEtEeXFFMGhlYmZDMXR2RnUwQ0NySkZjdz09Il0sImljb24iOiJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNBQUFBQWZDQVlBQUFDR1ZzK01BQUFBQVhOU1IwSUFyczRjNlFBQUFBUm5RVTFCQUFDeGp3djhZUVVBQUFBSmNFaFpjd0FBSFlZQUFCMkdBVjJpRTRFQUFBYk5TVVJCVkZoSHBWZDdUTlYxRkQvM2Q1OXdlUVNJZ1M5QVFBWGNGTEFRWmk5ZnBlVnoxdFkvV1RacjVXeHBjN1c1a25MYTVqSTNaODVzclMybk0yc2p0V3daUzdJVUg0SDR4Q25FUXg0REFaRjc0Vjd1czg4NXY5L2xJbkJ2VkovQjRQdjludS81bnUvNW52TTU1NmZ6QS9RdjBIYi9JclgzVkZLUG80NWNubTRpblVJV1l3TEZSbVpRVXV3akZHL04xaVJIaDFFWjBOUlZSdWRxdDFCZCsyblNLeVMvT2h5czArbGszZS8za1E5cXZENFpVdGE0VlZTVXVZMGVpcHlpVGhBZm9jb09SVmdEdXV3M3FLUmlBZDNyYmNFdGpUallJb2Y2V2FIc0NtelZQV0NNeCtjZ2g4dExxV01LYU1Xc1VqTHFvMlJ0SklRMG9Pem1lcnBRdTRlc1pnc09Oa0d4SDdkMGtkdlRUMTdzNE9NVTdWSThaaGpnR2FNK0FxOWlFTnU4UGlmMXVkejA3TXd2S1dmOEdsVm9DRVkwNFBDNVdkVGFYWUZiUjh2TnZMNSszS2dmYjV4Tk15YTlSYW1KaXluYU1sR1RWdEZscjZiYTl1K3BxbkVYNHVNdVJSZ2pTWUVock43dXRGRmU2bHFhbDdOZmt3NWltQUdIeW5QcGJrOFZtWTB4c3RucHRsRkNWQ1l0elR1Qk44M1FwTUxqVHRldmRQelNVbko3ZThta2p4WjM5ZlhiS0RmbGRacWJ2VStUVWdHbkJWRjZmUTJpUEhnNFcxNlVXVXd2emJrMTZzTVpFK1BuMHB2ejdKU2V1QXllczhsY3BDbWFLdW8vcCtxV3IyVWN3SUFIV3J2UDBZRXpoWEF0TEFic3NIaHA3aUdhbXZ5aWpQOHJ5cXJYVVdYOVhvb3d4eUF1Zk5CcnA0M1BPQkZYWmxrZjhNRFJpcWNweW93QXdwdXoyeCtmV3Z6L0R0ZGU5c21zenlndGNSNkMxd2JkekJsNk9scTVXTllZNG9HYXRoSk1ya1RFeDBqQVJTSEFWcys1cllrUU5YYitRZ2ZQTHNRNmdYeUluc3JlUWZtcG03UlZGWWZMODZuMWZpVU9rWXZTaGtVUHh2YnVrem95NksxaWhNMWhvM1h6VzZFdlNmWEErZHBpV0dhV2QrZG9Yekx6bUd3S1lGTENBc1JBbFBCQWhNbENGWFU3dEJVVlByOEhnVmNKSFdxK0YwMHBscitETVRkclA0enZ4WTExa05NaHhUK1NlVEdnK2Q0VjVMUUppdHlVR0pOQjhWRlpzamdZQlpNL0lJL1hDVGtqMHF5RE9wRjJBVlExN0NJalVwL0RuVDFVa0w1RjVnZGorc1Mxd2cxZ0UzZ2lnbTYwZkNYelNuUFhieUFQYklYditJRHBFMTZUaGFISVM5c2t5aGxtTUU1RjNjZnFBS2hxMkMwRTVQSDFnWWFYYUxQRGtaRzBIREpPbktXSHA1MUkwejVTT3V4OGUxV0F1WnpkSFFyVGtwOFRtalhvSStsYTB3R1pzenVicWJPM2lmUTZBL1c3dlZTWXNWM21SMEpLd2tLYzRXSGlCa21SOEkzQ0NnSTg3b09MNHF6VDVQK1JVSkJlakVPZ0FQSzhoWVB6YXRNK2VJVHAySU85eVRRbWVyb21QUnh4MXF4QWNzaWxlL3ViU2VFYmNXUUdZRUNnaGNMWTJIeUtqb2dqSDI1aE1wanBVdjFPdWdsaTRlaDJlUncwTzMyYkpqa3l1Q2dOemcwdnpsWU1TaVNzMHVvbzRNRzdoTU9qQ0VhWDF5RkUwblN2akJ6dVRuRXBLODZaOElvcUZBSXVidzhrZzlBckVhUkVXU1pJK2pINFhicDZnOUU5RW5KVDNvYVJ6RE4rTVVKQlFESG41NmE4b1VtRUJ1c094QnMvTjUrdEpFYlBrQUZEajhVR3ZPcy9JV3ZjU2dsR0JodlM3L0ZUWWZwV0dZZERZOGZQQXhXU0EzNXNUQzRwNCtMbTRBYXFJb1BlUXRmdWZLNkpoMFpoeGxic1VYT1NtWE5pZkQ1WlRBa3lEb2ZiYmNjbHhuQThXTkFxeENiUk55a2hYeFFwYUR3NjdmWFVZYnNpRzBLaHR2Mm9lSXZoOHJoUU1ZT2NFQXFYRy9lSSt6bmdPYzV5eHI4cTgySUFNMWMvRkxGT3BscXU1ZUZRWHJNWnpHY1ZDalliTFdHNUk0QlQxZXVScmxieHROT3RNaXREREVoTFhJSXluQUF2dU9FV0UzWDNOZEFmdDk0VmdhRzQyWElRdDBaWDZQZUNFL3FRRmU5cks2SHg3WVU1MEt2SDdmVzRmUytxN0tLQkp4c2dnQlg1cFNBR2gxaklyVmg1elE2dzNSZmFhaEJYbS9hQ2JDWlRqQ1VGVVR5V1pxVzlwNjJNakpQWFZxT3JQZ01PNE52NzRHa2Yrb3dmdE5WQkRRbmpGSnFIU3cxN3BYdmhXVzVLWnFlL1E0OU4vVVNUQ0FWV29RWEZJSEJIWFhlM0ZQclVEc3VHRG10Ri9oSEtUSHBla3hoaUFPUEkrU0pxNlM2SEY0STlZV3prQkpUbzQ2aVVNeldwOFBpci9SaWR1THhLWXNTa3NWOHZMbE9RdmhHWDJZbFIwT0JoQmpDK3UvZ0VjdlkwQXBLN1lrNDFOeGpQU1FuV0ZIVEY2NlVyamdldkI4Q3U1YStsMnZZU1JQdHVWRG83M2hoZE1TSG5VWDd0VGpzVlpHeEFsL1dwdGlPSUVRMWduTDI5bVg2L3RSMXRtbGtZajhXNFgrQ1NqV2NVREdZMU5wUy9DN2hTS3FpTUxNL2wyUW1TV1o3M0RkeitnaW84QkNFTllQUTQ2cW5rendYVWJxdkJreGpVUXNXZlpGZ2J1bzNyQWYrd043ak9POTAreW54NFBpM0wrMG5ZTDFTY2hEVWdBUDRnUFYvN0lkMXErMUhTaG11R2tJcVdSUGd5eE1GcVA4SGZqVG5qWHdZNWJRZmJKY3Q2T0l6S2dNSG90Ri9IZTFlZ3NheEhTcUc2d2ZkbVE1eDhOeVRGRnFCY3AyaVNvd0hSM3lrNSszNmhGN3ZYQUFBQUFFbEZUa1N1UW1DQyJ9LCJzdGF0dXNSZXBvcnRzIjpbeyJzdGF0dXMiOiJGSURPX0NFUlRJRklFRF9MMSIsImVmZmVjdGl2ZURhdGUiOiIyMDIwLTA1LTEyIiwiY2VydGlmaWNhdGlvbkRlc2NyaXB0b3IiOiJTZWN1cml0eSBLZXkgYnkgWXViaWNvIiwiY2VydGlmaWNhdGVOdW1iZXIiOiJVMkYxMTAwMjAxOTEwMTcwMTAiLCJjZXJ0aWZpY2F0aW9uUG9saWN5VmVyc2lvbiI6IjEuMS4xIiwiY2VydGlmaWNhdGlvblJlcXVpcmVtZW50c1ZlcnNpb24iOiIxLjMifV0sInRpbWVPZkxhc3RTdGF0dXNDaGFuZ2UiOiIyMDIwLTA1LTEyIn0seyJhYWlkIjoiMDA2RiMwMDAxIiwibWV0YWRhdGFTdGF0ZW1lbnQiOnsibGVnYWxIZWFkZXIiOiJodHRwczovL2ZpZG9hbGxpYW5jZS5vcmcvbWV0YWRhdGEvbWV0YWRhdGEtc3RhdGVtZW50LWxlZ2FsLWhlYWRlci8iLCJhYWlkIjoiMDA2RiMwMDAxIiwiZGVzY3JpcHRpb24iOiJIYW5rbyBVQUYgQ2xpZW50L0F1dGhlbnRpY2F0b3IgQ29tYm8gZm9yIEFuZHJvaWQiLCJhdXRoZW50aWNhdG9yVmVyc2lvbiI6MSwicHJvdG9jb2xGYW1pbHkiOiJ1YWYiLCJzY2hlbWEiOjMsInVwdiI6W3sibWFqb3IiOjEsIm1pbm9yIjoxfV0sImF1dGhlbnRpY2F0aW9uQWxnb3JpdGhtcyI6WyJzZWNwMjU2cjFfZWNkc2Ffc2hhMjU2X2RlciJdLCJwdWJsaWNLZXlBbGdBbmRFbmNvZGluZ3MiOlsiZWNjX3g5NjJfZGVyIl0sImF0dGVzdGF0aW9uVHlwZXMiOlsiYmFzaWNfc3Vycm9nYXRlIl0sInVzZXJWZXJpZmljYXRpb25EZXRhaWxzIjpbW3sidXNlclZlcmlmaWNhdGlvbk1ldGhvZCI6ImhhbmRwcmludF9pbnRlcm5hbCJ9XSxbeyJ1c2VyVmVyaWZpY2F0aW9uTWV0aG9kIjoidm9pY2VwcmludF9pbnRlcm5hbCJ9XSxbeyJ1c2VyVmVyaWZpY2F0aW9uTWV0aG9kIjoiZXllcHJpbnRfaW50ZXJuYWwifV0sW3sidXNlclZlcmlmaWNhdGlvbk1ldGhvZCI6InBhdHRlcm5faW50ZXJuYWwifV0sW3sidXNlclZlcmlmaWNhdGlvbk1ldGhvZCI6ImZhY2VwcmludF9pbnRlcm5hbCJ9XSxbeyJ1c2VyVmVyaWZpY2F0aW9uTWV0aG9kIjoicGFzc2NvZGVfaW50ZXJuYWwifV0sW3sidXNlclZlcmlmaWNhdGlvbk1ldGhvZCI6ImZpbmdlcnByaW50X2ludGVybmFsIn1dXSwia2V5UHJvdGVjdGlvbiI6WyJzb2Z0d2FyZSJdLCJtYXRjaGVyUHJvdGVjdGlvbiI6WyJzb2Z0d2FyZSJdLCJhdHRhY2htZW50SGludCI6WyJpbnRlcm5hbCJdLCJ0Y0Rpc3BsYXkiOlsiYW55Il0sInRjRGlzcGxheUNvbnRlbnRUeXBlIjoidGV4dC9wbGFpbiIsImF0dGVzdGF0aW9uUm9vdENlcnRpZmljYXRlcyI6W10sImljb24iOiJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQXd3QUFBRXNDQVlBQUFCdVREUmtBQUFBQm1KTFIwUUFBQUFBQUFENVE3dC9BQUFBQ1hCSVdYTUFBQTdEQUFBT3d3SEhiNmhrQUFBQUIzUkpUVVVINEFVVUVCZ1VTZXdSemdBQUlBQkpSRUZVZU5ydDNYK01IR2VkNS9IUFU5VmQvU05HakFOUkRBdlpOcHZ4eERnM04vSEdTOUE0Q29vMm1Gc2hPWm9qV2kyQ0xBaUQ3eUNjUU1UNWcrVDI3aUNKZEFtcklCR1F3Zy90RVNJamxNTnlwSWdqNUdRUkpSYmNCaG1mTjg3RW5wQVp3QXRHUUdiUUpUUDlzNTc3d3oxSkhIczhNMTFQVlQvVi9YNUpWclNMdTZyNysxUzM2MVBQTDJPdEZRQUFBQUNjVDBBSkFBQUFBQkFZQUFBQUFCQVlBQUFBQUJBWUFBQUFBQkFZQUFBQUFCQVlBQUFBQUJBWUFBQUFBQkFZQUFBQUFCQVlBQUFBQUJBWUFBQUFBQkFZQUFBQUFJREFBQUFBQUlEQUFBQUFBSURBQUFBQUFJREFBQUFBQUlEQUFBQUFBSURBQUFBQUFJREFBQUFBQUlEQUFBQUFBSURBQUFBQUFJREFBQUFBQUFETENwUUFjOGFVRzJXOUpXanI4c0NvWm96ZUVvWWEvL05GK3dIZjMvc3ZJdlB4SU5TN09sYkhiVWZQdEkzK0dMZjBtMjNXbnFabEFRQUFDQXpvd1hGak5oVXJ1anhzYTJzUWFDeW9xRmFXcE9LNWY4LzNHMjhiYUVOZ05CSVlUU3JRWk5TOXFuOVpOV3JGT213N2VrYUJUaFdibXExWlc2ZjFBUUFBQ0F5NFVFQUk5YTRORlkyc3BmVUxaVlh5L0xtTHdaa1FJVW1xU0MrVXpMRzJkTXhJSjBZYmRwb3JBd0FBZ01Bd2xPYU1LYmNpYlpaMFZjRm8rNGFLYXJTMkZJWWFENlZ4NlV3UFJMdXR4em9GVFMrVzlNekV2RjNneWdFQUFDQXdESFJJV0NycW5aSDBsNFdLZGtXVVpQV0x2NkJkQldsWHFYR205NkVUNnlmTnR2NkYrUThBQUFBRWhvRU1DVlZLMHJNdzFIZ1lhandxU3JObE05Y0tkSkNlQndBQUFBSkRMcDJvbU0xQnJIY1h5cnErYXJyekVlQk1FS2hXa2o2ejNQUFFzSHEwMHRLelRKb0dBQUFFQm5ocnpwaHlzNktyaTdGdUxBZXFLYVFtV1FoRGpWZWw4VGpVd2t6SkhHbzJkWWdoU3dBQWdNQUFieXozSmtRVlRaVWt0dHJyazhCb0pBbzFGVlUwdGR6cnNMVnBqMUFaQUFCQVlFQmZURWRtZXpIUWRlVkFrL1FtK0dXNTEyRzJZaGJhYlgydjJOYVRERmNDQUFBRUJtUVdGTXFCUGxndGRKZENoYmNDbzVHb3FMMHFhdTlNeVJ4NHVhb2ZNRWthQUFBUUdPRGNuREhsVmtIWEZrTHRJaWprVXhScUttcG9pdUFBQUFBSURIRHFaTlhzTEpiMWtZalZqZ2dPQUFBQUJBWXNXeDU2VkFwVWs2RWVneHdjaWswZFlJNERBQUFnTUdCTlRsVE01c2pxVXd3OUdwN2dFSmQxL1V6Uk1Ea2FBQUFRR0xDeW94dk55SVlsZmJRY2FKSWVoZUd5UERrNkRyVnJPakw3V1k0VkFBQVFHUENLNVFuTkc0dmF5eDRLUXg0Y0F0V3FnVDcvZk5rY2JqVDBYVGFBQXdBQUJJWWhOMU15V3dzbGZTd0tHSDZFVnhVRFRSWXJtanhaTWc5RlRmMlFZVW9BQU1CblBQTk93ZEdOWnVRWGtmbDRGT3FMQVdFQkt5aUYrcEF0Ni82Wmt0bEtOUUFBZ0svb1lYRHNaTlhzZktQVlI0SUN5NlJpRFluZGFDUUs5Y1ZmUk9heHNLWHYwTnNBQUFBSURBTnFlVkp6aVVuTjZPV0xXTkN1T05TN1prcm1IMGNiZHBxS0FBQUFYekFreVlIcHlHeC9ZMTFmS2dhYXBCcm8rY3Y0YW0vRHgrZU1LVk1SQUFEZ0Ezb1lFcGd6cHR3cDZzUFZnblpSRFRqN1VoYTBLdzQwZHFKaXZqcTJaR2VwQ0FBQTZDZDZHSHAwM0poTnRxUTdDNFFGcFBIRkRGUXJHOTA3VXpRM1VBMEFBRUJneUptVFZiTnpRMFgzc3dJUzBoWVZ0ZmY1c3Zrc1E1UUFBQUNCSVFmbWpDbi9JaklmTDBtZm9ScklTakhRcEMzci91UEdiS0lhQUFDQXdPQ3A0OFpzaWlQZHhoQWs5T1dMYWpTeW9hTDdUMWJOVHFvQkFBQUlESjZaS1ptdDFiTHVERU9OVXczMFUwbjZ6RXpKZkpCS0FBQUFBb01uVGxiTnppalVGd1BEUm16d1F4UnE2b1dTK1FmbU5RQUFBQUtEQjVpdk1IeWFMVDB3WDlLZWh2VGxPTmFjais4eEREVnVTN3FUZVEwQUFJREFBUFRCeEx4ZDJMSm9uOXBjdDdmV3JmYTFZaDMyN3NzYnFGWXRFeG9BQUFDQkFlaXJzU1U3ZTNuZDNqZGYwcDVtUndlOCtnSjNKME5QUjJZN0xRVUFBTkxBVHM5OTBHenBBZGZIaklyYVMyWFROVEZ2RnlUdFAyN01vVkpKZjFjTU5PbkxlNnNXOVBucHlOeTl0V21QMEZJQUFJREFrSE9qTGZ1NDYyUCtzbW9JREJuWlp1MXBTZmVkcUppRGtkV25mTm5BajlBQUFBRFN3SkFrb0VkalMzWjJjOTNlMnBDK0hGc3QrQklhV0hZVkFBQVFHQUNQYkZtMFQvMnByRnZiYlQzbXcvdUpRazBSR2dBQUFJRUI4TWpFdkYzNGk2YjlSck9qLyt4RGJ3T2hBUUFBRUJnQUQ0MDI3TFNwNnhZZmVoc0lEUUFBZ01BQWVLaG1iZjB2bXZZYmkyM2QzZS9laGlqVTFFelIzRUNyQUFBQUFnUGdtYTFOZStSUFpkM2E2ZWhZWDBORFVYdlpwd0VBQUJBWUFBOU56TnVGZHpUc0Z4b2RQZFRQOTlGZGNwWFFBQUFBQ0F5QWo3WTA3TUYrRDFHcUZ2VDVFeFd6bWRZQUFBQUVCc0JEVzV2MnlHSmRkL1J6aUZJazNYN2NtRTIwQmdBQUlEQUFIdHBtN2VtZ3FYdGFzUTczNVF0dk5GSXQ2ODQ1WThxMEJnQUFJREFBSHFwWlc3KzhidTlyZG5TZ1g2RWhqblFib1FFQUFCQVlBSStOTnV6K3hiYnU3c2U1dzFEam5hSStUQ3NBQUFBQ0ErQ3hyVTE3cEYrN1F4Y0syc1VlRFFBQWdNQUFlRzYwWWFjWDY3cWpINkVoS21ydlRNbHNwUlVBQUFDQkFmRFlObXRQOXlzMEZBSjlqcFdUQUFBQWdRSElRV2pveDg3UWdkRklKZElubUFRTkFBQUlESURuSnVidFF0RFVQVm1IaGpEVWVDdlNGQzBBQUFBR05qRE1HVk0rdXRHTTBLVEl1NXExOVg2RWhpalVGUE1aQUFEQXdBYUdUbEVmcnRTMWtTWUZvYUYzaFVDZkkzZ0RBSUNCQ3d6VGtkbGVLR2dYelFsQ1E4SWZCS09SRFV2NktOVUhBQUFERXhpT2JqUWo1VkNmcENreHFLRmhxYW12WjdsNlVqSFFKUHN6QUFDQWdRa01HNWIwMGNDSUlSUVlXUDFZY2pVcWFpOUxyUUlBZ053SGhwTlZzN01ZYUpKbUJLSEJ2VXFrVDFCNUFBQ1EyOEJ3ZEtNWktWcDloQ2JFTUlXR2VrZGZ5K3A4WWFoeGhpWUJBSURjQm9ZM3ZLeWJHSXFFWWJPMWFZODBwQzluZGI1Q1FYL0xxa2tBQUJBWWNtZW1aTGF5S2hLRzFaWkYrMVN6b3dPWi9FQ3dhaElBQUFTR3ZMM2hPV1BLQmFPUDBYUVlacU1OdXorcjVWYUxnU2JaMEEwQUFBSkRiclFLdWpZSVZLUHBNUFJmM3FidXlXb1NkQ0hRNSthTUtWTjFBQUFJREY0N3V0R01SRVh0cGRtQU0zczBMTloxUnlZL0ZFWWpyWUt1cGVvQUFCQVl2TVpZYXVCczI2dzluZFVrNktpb3ZVeUFCZ0NBd09DdEV4V3ptVDBYZ0hOdFdiUlB0ZHQ2TEl0enZlRmwzVVRGQVFBZ01IZ3Bzdm9VelFXY1g5alNkN0tZejFBb2FOZUppdGxNeFFFQUlEQjRaVG95MjVub0RLeXNabTI5S2QyVlNUaXh1cEdLQXdCQVlQQktPZEFIYVNyZ3dzYVc3R3lqbzRmU1BnL0xyQUlBUUdEd3lzbXEyVW52QXZJdXF4dnNxS2tmeHJIbTBqNFBlNkVBQUVCZzhNS2NNZVdpMVVkb0p1U2RNWHJmVE1sOE1PMjlER3JXMXB0R1gwMzloeU5RYlRveTIybFpBQUFJREgzVkt1amF3SWhsSERFUW9sQlRjYVRiMGc0TldRMU5ZcWdnQUFBRWhyNHJoTnBGRTJHUWhLSEdzd2dOV1F4Tm9wY0JBQUFDUTEreE1oSUlEYjJyV1Z0dlczMHI3YzlTTW5vL0xRb0FHRWJHbUl1Tk1aUEdtSnVOTWZjWVl3NGFZK3dxZjc3Ui9idFR4cGdKWTB5RndKQUF3eDB3NktHaFhkSi9UUE1jb3cwNzNZcDFPTzNQd2I0TXp2OEJ1bWNOLytDczltZExYcy92NlEyQlRlblBMVnkveGhwakRxYjBYcllNNG5Yc3czZlVRVzJYLzl5YzA5K0VxZTUxKzBkSlQwbjZ0cVI5a25hdjRSQjd1bi8zKzVKK0xtblJHUFA1YnZEd05qeDRHUmpvWGNBdzZDNVBtbW93YmpUMDNkVEREL3N5WUxDOU9jVmpYMFo1SlVtN2pURnZvd3k1Y28yajR4ektXVkM0cFJzU3ZyL0djTEJXZDNXRHh4UGRNT0pkY0NoNGVpTjFIZDlGclBXR3VGT1cwNmRUU3hzMG45WDdqMEpOelJUTjcwZGI5dkUwanIvTjJ0TXpKWE1nQ2pXVlp2QTVic3gzdDFsN21pc1NBNmlXNHJIZlEzbGZjYU9rK3lsRGJyajROK1VSYSsycG5JU0ZxVzVJU051Tzdua2VNY2JjWnEwOVNXQll3WW1LMlZ3T05NbDNFV3U5SWM3N1o0aUsyanRUTXFkR0czWTZsUnY2cGc3RVpWMmY1b3BqVWFUckplM25pc1FBMnBEeXpRSE91Sm5Ba0EvZDNpQVhUOWNQNU9DelhpenB2K3ZNTUtJczdkYVpucmQvYjYzMW9rN2VEVWtLWXIyYnJ5T0dUU0hRNTQ0YnN5bU5ZOWVzcmJmYitsNnFvU2ZVVk5vclB3RjljazJhQngraytSNUp3NU14Wm9JeTVNTDFqbzdqOVhDa2JqRDZZUi9Dd210OTM1ZTVUbDRGaGpsanlta09uUUI4RlJpTlZDSjlJcTJiN21KYlQ4WldDMmwraG1aRlY5T1NHRUFiVXo3K0paVDRGVHNwUVM0TS9IQ2tibGc0SUQ5NkFiL2l3K1J3cndJRE54d1labUdvOFdhazk2Vng3Q3g2R1lveGs1OHhrTkordW5ncEpYN0Z6WlRBYjhNd0hLazc0ZGlYc0xEczIvM3VnZk1xTUhERGdXRlhDdldodEpZcFRidVhJUWhVWTRsVkROak4wY1Vabk9ZS0t2MktIY1lZNWpENmJSaUdJLzAzK1RtLzZPc1ovU2I1SFJoT1ZNeG1sbElGcE1qcVUya01UYXBaVzIvRmVqVFZIeFRtSUdHd3ZEbURjeEN5ejhZcWlYNGI2T0ZJeHBqMzZzd2VDVjRHYWtuL1llZ0RBemNhUVBlN0VLaldLdWphTkk2OVdOV1BVdzA3VEg3R1lLbGxjSTQ5bFBrc2QrVmw1OXRoTStqRGticlgzWjA1K0g3MFphRUVMd0xEbkRIbFF1Q3Ntd3ZJdmFpb3ZVYzNHdWZMb0U3TTI0Vm1KOTBmNjZXaTNra0xZa0JzeU9Jay9SeG00S250bE1CTGd6NGM2V1BLeDFMSGZYbkk0RVZnV0NycW5XbXVFUS9rMFJ0ZTFrMXBIRGNPOUpNMDN6Y2JMMktBWEpQUmVkNU1xYy9DYjRpZlhQUjhlemtjcWR1NzhKV2N0TU8rZmp4azhDSXdSTkpmOGowRXpsWW9hRmNhazRqSGx1eHNwNk5qS1FhR3lUUjZSNEErMkpqUmVXcVUraXgzMGV2aTNRMzF4WEx6Wk52WDFaSCtYYzZhNVAxREZ4am1qQ2tYQ3RyRjF4RTRWMmpUV1Rtc1lkT2QvRnh0NkVwYUR3TWdxNjcvVFpUNkhDeXpQcGp0NGV0d0pKZEwrajRpYVpla3NkZjh1VXJTcHgyZUkvTTl5L29lR0JqdkRLeXNHR2d5alY2R1NrdlBwdm0rQ3gzbUpDSGZNbjdDVGNBKzEwMlVZT0RhdzlmaFNLNG1jMHZTMzF0cmI3VFcvc2hhZS9JMWY0NWFhKy92aG9lbkhaeG5kL2Q5RDA5Z1lEZ1NzT3JOOTErN1BtYk4ybnFhazUvRFVPTU1TMExPWlRtdllBdmxQc2NlaGlWNUZaNEhlVGpTWHprNnpxZXR0UTllNkM5WWEwOUsrb1JuNzl2L3dNQndKR0FOZ2FHZ1hTbmRmUDg4emZkZGVsbnZvUFdRWTdVTXo3V2JjcDhYdzVJR3F4MThIWTdrWXY3Q0k1Syt0WmEvYUswOUt1bGVCK2U4SnNzaTlUVXd0Q0kyckFIV29ycW85N2crNW1qRFRxZTU4ek85aDhpNURWbWVyRjlycTN2dWs1VEFDd003SEtuTFJlL0pnOWJhcFhVR2pLUXkzV0N1MzBPU3J1SjdDS3l1R0tTeklrSTdUdStKRDcySHlMbHJNajVmbFpLZkkvTngyamdueUE3MGNDU0hRZjNINi96N1J4eTkvOHkrSDMwTkRBWEQ1aXpBbXI2b1JpTXpKYk0xaFVPbk9pd3BwZmNNWkdGanh1ZGpDTi81c1lCQ2Z3MzZjS1NhZzJNOFlxMTljVDB2NlBaR2ZOUEJ1VE9iYTlXM3dIRGNtRTFCd05yVHdEbzQ3NUVyTmpXYjVodTJaMWFFQVBJbzY5MVUzMHJKejJ1S0V2VFZvQTlIY3JHazhULzMrRG9YLy81bTlxQ2hiNEdoV05IbGZBK0J0WXRDOS85dzFxeXR0MklkVHUxN2JyU1Rsa1BlOUdsMW5zdW8vSGt4TEtsLzM0T0tCbnQxSk1uTmtzYlBaZnk2MThyc1FVUGZBa1BZRmtNVmdIVktZNGlQN2VpWjFINWdBdFZZWGhVNWxLU2J2OWZKalBzbys0b1lsdFFmcm9hTkgvTDRNN29ZZXZpN0hsLzNrb056Wi9hZ29kQ3ZGZ3BDdll2dm90L0tSdmYrc21xRzduTTNXM3BndEdVZjkvVHRYU1ZwMnVVQjQ0S2VUL01OZDVkWFBjSTNDamxTUy9EYUI5WGpNcW5HbU1vNlYxb1pGcmQwNjRwc1hlZmdHRDRQUjVMYzlLRDh2c2ZYemVYcFl1aExEOE54WXpZRlJqeDFCTmFiOEZOWUtHQnN5YzZtL0o2dm9PV1FNMG1XVlAxZGd0ZStuZEtmMXc1anpBUmx5RTUzT05KZERnNTFnR3FtS3JPZXliNEVCdVl2QUQxK1lWTWE0cFBtUElaUWZOK1JPejB2cVdxdFRmSmRxbEg2RlRFZktsdkRNQnpKbFQ4TXhmMUhQMDdLL0FXZ2QybnNvSnptUElZdzFQaWNNV1ZhRGpuUzY3am1wN3YvN1hVZXd3Wkt2NktiS1VHbUJuNDRrcXM5R05hN3BDcUJZVDBuRFZocUVlaFZLa044QXFYNm85NG82eTIwSEhLazEzSE5QKzcrOTJTUHI3K0cwcStJWVVuWjNVZ3pIQW45RHd4enhwVFpmd0hvWFJwRGZGNnU2cmVwL3RDMEdaYUUzTndzSlZsU2RhSDczMS8xK1BxTnRNQUYvUTBseUFURGtkRC93TUNUUmlCaFlBZzE3dnFZRS9OMklkVWZHc05EQXVSR2tpVlZsOWRWLzAyUHI5OUQrUy9vcnU3VGI2UnJHRlpIZ3UrQmdTZU5RSExIamRuaytwaHBUbnhtR0NKeUpFbTRYVjVYL1lWZUQ4QW1aYXZhVGduU3czQWsrQk1ZZU5JSUpCWkY3b2N1bU5qSkpqSXJCWVlhRTUrUkUwa21IczkxLzd1WTRCaFZtdUNDcnFNRXVRaGtERWNpTUNTK2NlQkpJNUJVTE9kUElXT2I3aVl5REVkRVRyaVllUHpyQksrOWtpYTRJSVlscGVzcUI4ZGdPQktCd1VsZ3FGRjJJUEUzOXhMWGg3UkZwYnJEckRINk14b09PZEJ6NzUyMTltVDN2MG0rUzIrbENWWjFMU1ZJall2bGF4bU9SR0JJSm8xeDE4QXdNa2FYT2c4TVZ2K2E2cHZ1SkpwTUNtVEYxY1RqZTN0ODNXVTB3YXB1b2dScC9MdGlKaVR0Y0hDb24xSk5Ba01pYVl5N0JwQ1RIeHVqelZRQm50OHdKVmxTOWZVQm9kZVZ4OTVEUzZ3ZTZoSzJGYzdQeFc3YVR5LzN0SUhBMExzVXhsMER3NmdZYU5MMU1VdjFkUGRpQ01XUUpIalBaUy9ZY3oyK2JnZk5zQ1pYVXdMblhBeEhlcEF5RWhoY25PMFNTZzc0cVdadFBkV3ZQL09Ya0lPdlFZTFh2bjRZUnMrcmpobGp0dEFVcTJKWWtrTU9oeU05UlRVSkRBNHVTUGZqcmdIa3g5R05ab1Fxd0dNYkhCNXJMc0ZyZWJpMnVqM3NXZUdVcStGSVJ5a2xnU0V4aGlRQTd1UnhFWUZLblhsTThGcVNKVldmZWQzLy9ZY0V4K0xoMnRwY1R3bWNZVGdTL0FrTURFa0EzQ21VbGJ1MXlPTU9nUUZlYzNaOVdtdGZUUER5SzJpS05abGE1WDlmcEVTcll6Z1N2QXNNQUlZODVGaTlpU3JBWXowdnFickN5akNQOUhnNFZoUmJtOTBYR3BiRTVtRnJ4bkFrK0JNWVRsUU1QNEFBQUMrbHRFeG5yOHRMN3FGRjFveGhTY2t4SEFuK0JBWUFNS0d1cEFyd1ZKSWxWVmZhcE8wWnp3TE1JTHFGRWlRS3ltOFR3NUd3Qm9YTWtrbXNza0lLbnBZL1g3UWZvQW9BMExOYUNzZDhLY0ZyM3l6cHhTRnJnOXNsM2JYTzErd3d4a3d3SEtabkxucG9HSTVFWUhBbzF0c0lEQUNRaVJQR0dLcXdQa21XVlAzcEN2Ly9GeElHbUdIYk1iZlhPUWM3SlhIRDJwc3BCOGRnT05JUVlFZ1NnTXlFUnR1b0FqeDFUUXJIVExKS3o2WWhiSU5qa3A3dTRYVTNjL211WDNjNDBtNEhoMkk0RW9FQkFCeis0Qml4Y1J0OGxXUkoxZlBPVlZoaDVhUzFHc2I1UG92cTdXbjFqdTdTb09melRTN3RGVEVjQ1FRR0FBRFd3YmVWaWJZTWFUdjArclI2cGFWQjU3bTBWOFJ3SlBnWEdGZ2RCUURnSXdjckV2MzZBdi9idlQwZWMvY3d0a1gzYVhVdnc1SytZb3lwY0RXdldVME1SNEtQZ1FFQUFFOGxXVkpWMXRxbEMvelBDd21DekxEMk10emY0K3UyY3ltdjJVME9qc0Z3SkFJREFBQkRvNWJndGF1TmtYOHV3YkdyUTlvZWgzcDgzWFZjeW12bVlnZ2V3NUVJREFDUWpqbGp5bFFCbmtteXBPcHFZK1IvbCtEWTd4aXlkcWhLa3JYMmxLUkhlbmo5WFF4THloVERrUWdNQUpDT1JsbHZvUXJ3ekJVSlhydmFiczYvVDNEc3R3NVpPN3cySUIzbzhSaXZINWEwd09XZENvWWpFUmdBQUJncVNaYjdYVzAzNXo4a09QWmxROXdtai9iNHVvKzg3djkranNzN0ZReEhJakFBQURCVTlpVjQ3UVYzYzdiV3Z0aW45NVZyM2JyMXNvZkNIZ2VyWG1GMVA2Y0VCQVlBU0UyN3JpV3FBRjg0R1BPK2x0MmN2OW5IOTVkbkQvZjR1cXU1c2xOM0ZTVWdNQUJBYXJaWmU1b3F3Q052VC9qNlg2L2g3OHozOGYzbDJjOTZmTjFOWE5hcFk5OExBZ01BQUVQamtpUXZYbVVQaG1YUEpEaEZiVmdicGpzczZmWWVYc3F3cEd5dzd3V0JBUUNRWTJQV1d0UExIL1crTTNGZVhacmd0V3NkYXZSU2duTnNHUEpyK1lrZVgvZCtmZ1pTeDc0WEJBYjNUSnpvQnhNQWdEUWtXVkoxclVPTmt2UXdYRFBrYlhHa3gyTk5PYWc5THV3dWVuSUlETTdGVm5PVUd3RGdtU1JMcW1aeE03cHhtTnVpTytTcmwyRkp1NDB4YitQeVh0RTNIUjJIQ2VZRUJnQUFCbDZTcFV2WDFITnVyVDJaNEJ4N2FDTDlvTWZYWFUvcFZ2Uy8xTnR1MnEvSEJITUNBd0M0MWVub0dGV0FMeHlzOHZLN2RmemRweE84ejZGK1V0N2RVYmlYK2sxeGxWL1FBUWZIWUlJNWdRRUEzSXFOL2g5VmdFZVNMbG42KzNYODNSOG5PRStWcHVwcForSGRHcTQ1SU90MXlORnhtR0ErQkFxWjNTZ1U5RHpsVHM5TTBkeEFGZHhkcTJOTGRwWktBQVB2a29Tdi84TTYvdTZ2RXB6blNra25oN3l0ZnRUajYraGxXSUcxOXBReDVwRnVzRXBpcXNkQUJ3TERBTjA4eHBvTEF2L1h3WTZLMmt0cnVkRnM2UUZKQklaVS9vRmExeEFPSUcyWEpydWU3WXZyK091L1NYQ3F0L0xiWVUvMmVITzdtOHY4Z2c0NHFORnVZOHpickxXbktPZmd5bXhJVXJ1dXBUd1dxQ1A5SzVjSjRDcUJyMnNJQjVDMkpFdXFybmZDYUpLd2ZObVF0TWRxSzBJZDRKSjF6dFd3cEJzcEpZSEJpVzNXbnFiY0FBQ1BKRmxTZGIxRGhKS0U1ZmNNU1h1c3RpTFVJUzVadDdxOUFpNldXTDJaYWhJWUFNQUo1akxCTTBtV1ZGM3ZuSVJmSnpqWERwcnFsWnZiUjZpRWN3ODdPTVlPWTh3RXBTUXdPTkdLZFppU0F3RDZ6Y0dTcXV1YWs5RGRnQ3pKKzkxQ3EwbVN2a1lKblB1Wm8rUHNwSlFFaGx5SU8wTzFJeWFRTzZXNmZrc1Y0SW1rUzZyMk1pY2h5ZENQUzJneXB6ZTNlRFhNdmlnM3c1Sys0aUNJZzhBZ3hUYmRsV2NLVm05eS9rWHE2Qmt1RThDTm1yVjFxZ0JQSkwwQjcyVk93bnlDODExS2t6bTl1Y1haSG5aMG5PMlVrc0NRWExpdU5hc0JEQkNHSk1JelNXL0FlL24zN0tjSnpuY0ZUZWI4NWhhdmV0TFJjYTZqbEFRR0IwOEcwbDJpMUFhNnlQa3hpL2xjRGhid2pZbjFFbFdBUnhMZGdLOXpEd1lYTnROa3ptOXU4ZXIxdkNUcGRnZUh1c3NZY3pFVkpUQWtzbFJPMUIyNytvY3g3bjlRMHc0NXdMQ0lyZWFvQWp5U1pFblZYbGZxU1RMRWRROU41dnptRm1kN3d0RnhycWFVQklaRUp1YnRBaVVIaHZiWGhsMUE0Wk1rUzZxZTdQRjFpMG5lTUU5dVU3bTV4YXVPT0RyT1RaU1N3SkJZbXVPWWk0RW1YUjl6Yk1uT2Nwa0F5VFdiNmZZd0F1dTQ4VTY2a3NzK1k0eGQ3eDhsMjR0Qmt0NU02NTExYy9zMFpYREhZYy9OSHNJdGdjSEJCZG5UVW5Sck5tZE0yZlV4NDVpaEZFQlM3UFlPajd3OXArKzdSdE9kZFhQN0lKVnd6bFhQemZzcEpZRWgyWmM4WFBmdW1PdlNLT3N0cm8vWkVmTVlnRVRmb1k2T1VRVjRKSzk3R215aTZjN3lGQ1Z3SHNRT3kwM1B6UlRWSkRBa3ZCalR2ZmsyUm4vbS9EMnpGd09RTkhRL1R4WGdrYnp1YVhBbFRYZld6ZTFSTVN3cERTNTZiblliWTk1R0tRa01QVXQ5VGtBbmhUR2VUTllFRW1sYlBVY1Y0Skc4N21td2hhWkw1ZVlXWjNQVmMzTWpwU1F3Skx1blQzRjRRaHBMcTc1YzFXKzVWSURleFMzOWhpckFJeU01ZmQrN2FicHpIS1FFYmpuc3VibVphaElZRW1rcnZjQ1F4a3BKRS9OMmdZblBRTytZOEF6UDdNdnJHMmVZeHprM3Q2ZlUrNzRZV0ptTG5wc2R4cGdKanovakgyaG16d05EeDZZNzhmbEV4VGp2WldoYlorc1RBME1semFXVWdSNXV1Q3M1L3dnc3JYcXVBNVRBdVI4NU9zNU9qOE9tazkzYWpURkRNVlN3TDRHaGNaRmVTUGNmQlBjVG54bUREZlQ0bzh5aUFmREwyM1ArL3Q5QkU1N2pVVXJnL0diNnBOejAzSHhsQUVLNnp6THJYU3YwNDlOTnpOdUYyYktaQzRKMDFwUU8yOW9xeDh1dE5TN1NDOVdHdjFmTXNEN0ZUV01JR3R5S0M2eVFCSzlja3ZQMy8xYWE4SnliMnhlTk1kK1V0SWRxT0hWQWJ1Yk5iSmZvYVU3SnlheE9WT2pYSjJ4YkhZbFMyb1FtQ1BVdVNkOXdIWEplS0psallhaHhINitZeSt2MnZtSDhwdnl5YWdnTW5tTzNkSGptMHB5Ly84dG93dk42bU1EZzNDRkh4N25PNDhCd3IvbzNweWxYeXlRSC9UcHhta044QXFPUlZPWXhoTTYrUE1CUVlQNENQSFJGenQvL1Bwcnd2SDVHQ2R4eU9LSDhMbVBNeFFOY3FuN2UrR2MyNUxkdmdhSFMwck5wSHQvRStyZXVqN2xZWWl3MnNCNXh3S1pLOE01STNqOEFZOExQZTNQN29zNDhMWVpicmlhVVgrM3A1K3ZuZloyTDRZVXZEWHhncUZsYlQzTS9ocUp4UHpOL1l0NHVwUG1lZ1VIVFdtTCtBcnd6Q0UvbzMwNHpuaGZMcTdybmFrTDVUWjUrUGhjMzNMMzJXcm9ZWHZoQ1ZvVUsrdGxLblZnL1NlMkRCYW9kM1dpY1AwbHFXRlpqQU5ZaWpqWEgvZ3Z3aVlzbjg5WmFrL1NQcExHRWIrTVNXdk84V1A3Y3NXN1B6VGNkSEdxUHAzdUl1T2hoK0tzZVgvY2VCK2ZPYkMrSnZnYUdabHYva3VieHF3MzM0OG9xTFQwYld5M3dNd0pjR0h1WHdFTkpuOHk3ZW9LZDlCLzVTMm5LODk3Y0xrbTZuVW80OTdDajQxenY0V2Y3dFlOajdGN3Z3NGh1ZU5yaDRKby9OUlNCWVp1MXA5UGNRYmtZNjBiWHg2eFpXMi9IVEg0RzF1RG5sQUNlU2ZwazNza1NoZzQyakxxR3BselJEeWlCYzY0bWxFOTVHakpkUEFqWXZzNi8vMDRINTh4MHprN1E3OFpLOHlsa0VLaDIzSmhOcm8vN2NwVWZKT0JDWXF1RjBZYWRwaEx3VE5Jbjh5NTdsNVBjcEd5a0tWZThBVHdxc2RpQzQ1cTZHcGEwMjlOZGtmKzNpOCsyenIvL1NRZm4vT2xRQlFhbC9CU3lHTGwvRWpNeGJ4ZWFIYmFpQjFaOEVFQXZIUHlVZEVsVmw4dUJKK210WUwrQkMzdVFFampuYWxqU2V6MzhiQzd1US9jWll5Ylc4aGVOTWUrVm13M3hNbDNocWUrQlliUmhwOU9jRTFBTTlQNDBqa3N2QTlDL0J3RkFqNUl1aE9GeUNjTkUvOWg3T29IVUYwOVJBdWVlZEhTY216MzhiSzVHdW54OXRkQmdqSm1VOUppRGN6MXRyVDJaWlpGODZHRkk5V2xrWURReUhabnRybzlMTHdOd2ZneEhnc2VTTHFrNjUvQzlKQTBmVlpyei9MckRrbGhpMVcxTlhVMG8zN0hXSi9GNS9HeVNmbTZNdWNjWU0ybU0yZkthUDVQR21Ic2NodG5NZTlHOENBek5acnJERjRxQnJrdmp1UFF5QU5rK0FBQjY1V2l6czBXSGJ5bnArdWxYMHFvWHhBTTk5NTV3ZEp5LzhmQ3p1YnlmMjljTkJpZGU4K2NwdWQwREp2TmVOQzhDUStxckpRV2FUR1B5ODhTOFhXaTI5QUMvSWNDcjRpQzkvVldBQkJKdmR1WjRDY09rNFdNRFRYcEJQTGh3ejlYUW5idDgyNjA4WjcxU2ozVGY3L0FGQmtscWQ1eU02VnBSRktXei9tK3hyU2ZURER0QXJzSkNyTG14SlR0TEplQWhyelk3Y3pEK21CNkcxY01kdzVMYzF0VGxQaGZiUGZ5SVg4dEpVOXpiajVONkV4aGUzcER1TW1oUnFLazBkbjZ1V1Z0dkduMlZueElnL2VBUEpKQjBTZFY3UGZzODc2RkpCK1lHTUU5Y0RVdmE3ZUZuZXpJSElmTVJhKzNob1E0TUUvTjJvUlVyMVNKY3RKak91TG14SlR2YjZPZ2hma2N3N05JTy9rQUNWM2o0bnBLRWtCMDA2YXArUmduYzZ0NnN1dmlkMzJlTXVkaXp6N1lrNmI5NjNnUjllM0FSK0ZTRlZ1d3N1WjVYV3IxcmNITzFBQUFMcFVsRVFWUU1raFExOVVPR0ptR1l0ZHQ2YkdMZUxsQUplQ3JwYi85UGZmdEFubTZDNWRNTm9Lc054M0EyVnl2MFhPM2hOWE5VN29aZE9ROEwvZXBkOEM0d2JHM2FJMm5mZEtmVnkxQ3p0cjdZMEpmNEhjR3dpZzFybjhOcit6eDhUMGxEeUNVMDY2b2VwZ1RPdWZxdHY4blR6M2VmL0J1YTlMU2svOUxQTnhENDFrcXBUMzVPc1pkaG03V25HOUtYK1MzQjBJV0ZXSFBzdlFCZk9WcVJKWTFkVlpQdXhYQXByYnVxSnltQlc5Mm44QzZHSmUzeGNRUEM3dENrV3h4OVJsZGhZYXI3dmdnTXk0cnQ5TC9jYWZVeVNOS1dSZnNVRzdwaDJMUUNIYVFLOE5qYlBYMWZjd2xmZndWTnU2YWJ2OXVwaEhPdWhpVmQ3K2wxYzByU2xBZWhZVGtzbk9wM1RRcStOVkxOMnZwTXlSeUlRazJsZFk0bzFOU0ppdmxKV3NzL2pqYnMvaGRLNXZJdzFIaFdkWnNwbWh0Y0gvUGxEWHFhTWVsWVRXeTFFTldaWEFpdnVSaTY4K3NVM2xmU3ZSaEdhTm8xZVlJU09QY2pSOGVaVWg5MkxWNXJhRERHVE9uTVVLQTl3eHdXdkF3TTBwa2RsS05HZW9GQmtrS3JHM1ZtbkZvcWdxYnU2VVM2TGF2UUVCVzExL21OWUYzUFN5SXc0SUphc1I3ZFltMmRTc0JqaVlmdXBERWNvSHREa3VRUSt5VGRSdk91NmdnbGNIN3RualRHUEtMa3k2UHVOc1pzY2JBdlNacWg0VC9wek5DMmIyZDQ2dHNsM2RmdllVaG4zZGY2MkVCWkxMRmFERFE1SFpuVU5nNnBXVnNQbXJvbnR0eHdZN0F0VnZWanFnRFBKUjI2aytaS080a21WL3EyTktXbk4zMUxrajVOSlp4ek5mejZ2YjVmUDliYUIzVm1hR1BheTVyZUsybk1XbnUzVDJIQjI4QWdTUjJUL3Bqb2NxaFB6aGxUVGpNMExOWjFCNkVCZzZyWjBRR0dyU0VIa2c3ZG1VL3h2U1Y5c3ZwbW1uZE5XTVhOdlVPT2puTnpUb0xuS1d2dGJaTGVKT252NVc0bHBhZTdnWGJNV251YnI3MHR4bHJyYmVNOFh6YWZMUWFhVFBNY2pZNGUydEt3cVlhVDQ4WnNxcFoxWjJETy9LUDE1NHYyQTY3UDhjdXErWit1ajFtMzJwZldQQStmUDNlenBRZEdXL1p4MzYvbE5OcG52ZldjTDJrUGdRRUFNSXk2cXp5OVU5SVdTWmZwekE3c3EyMnFlSy9PRFBkK1R0SS8rekpIWVRVRm45OWN4K2hnVWVrR2hsS29ENTJvbVArYjVvM3hObXRQSHpmbWptcEp0d2FCYW56Rk1Bam9YUUFBRExQdXpmNHB1WnNFN3EzQTV6YzN0bVJuMDU3TElFbkZXQjlPK3h6YnJEMXRHcnFqMDlFeHZtSVlCQzlYOVFPcUFBREE0QXQ4ZjROWnpHVUlRNDJuc1N6cDY5V3NyYitqWWIvQVpZZThvM2NCQUFBQ2d6ZXk2bVdJaXRwN29tSTJjMGtBcTZOM0FRQUFBb05Yc3VobGtLVEk2bE5wcnBvRURJSkdSdy9SdXdBQUFJSEJLMk5MZHJiWmNiYmU3OHJGQ0ZSclJlbHVHQWZrV1d5MUVEWDFReW9CQUFDQndUdFpEWUdJUWsybHVhRWJrR2Z0dHI1WFkxZG5BQUFJREQ2YW1MY0x6WllleU9KYzVWQ2ZQRzdNSmk0UDRGVnhyRG5YKzFNQUFBQUNnMVBGdHA2TVk4MmxYaFNqa1Vxa1R6Q2ZBWGhWMCtpclZBRUFBQUtEMTJyVzF0dFczOHJpWEdHbzhVNHgvZjBaZ0R4b3hUcnMrNjdmQUFDQXdDQkpHbTNZNlN5V1daV2tRa0c3c3RpZkFmQlpiTFh3VWtYL1JDVUFBQ0F3NUVhV055OVJVWHVaQkkxaDFtN3JleXlqQ2dBQWdTRlhzcHdBTFRFSkdzT3IwOUV4SmpvREFFQmd5S1hSbG4yODA5R3hUSXBrTkZJdDYwNUNBNGJOVWxOZnB3b0FBQkFZdUpsWlkyaGc1U1FNazJaTEQyeXo5alNWQUFDQXdKQmIyNnc5bmVYUXBERFVlQnpwTmtJREJoMURrUUFBd0VBRUJpbmJvVW1FQmd3TGhpSUJBSUNCQ1F6TE56ZXhWV2FydUxCSEF3WVpRNUVBQU1EQUJZWnQxcDV1R2YyUExNOVpLR2pYVE1sOGtFc0lnNlFWNnpCRGtRQUF3TUFGQmtuYXNtaWZhcmYxV0pibmpFSk5FUm93U0M2djIvdW9BZ0FBR01qQUlFbGhTOStKWTgwUkdnQUFBQUFDd3pscTF0WVhHL3BTMXVlTlFrMjlVREwvd0VSb0FBQUFFQmc4dDgzYTA0dHQzWjMxZVZrOUNRQUFBQVNHbk5qYXRFZWFIUjBnTkFBQUFBQUVodk1hYmRqOVdlN1A4TnJRWU11Ni83Z3htN2k4QUFBQVFHRHcrY00xZFUrVyt6TzhjbDZqa1dwWmQ4NlV6Rll1TVFBQUFCQVlQRld6dHI1WTF4MzlDZzFScUM5T1IyWTdseGtBQUFBSURKN2FadTNwZHF4LzdOZjVxd1Y5bm1WWEFRQUFRR0R3MkdqRFR2ZGo1YVJsTExzS0FBQUFBb1BudGpidGtVWkhEL1hyL011VG9VOVV6R1l1T3dBQUFCQVlQTFNsWVEvMlk3blZWNHB0TkZJMnVuZW1hRzdnMGdNQUFBQ0J3VU9qRGJ1L242RkJrcUtpOWo1Zk5wODl1dEdNY0FrQ0FBQ0F3T0JoYUdpMzlWZy8zME14ME9RYjYvb1NTNjhDQUFDQXdPQ2hzS1h2OUdOanQ3T0szMTE2OVJlUitUZ1RvZ0VBQUVCZzhFak4ybnJRMUQzOURnMlNWQ2hvbHkzcmZub2JBQUFBUUdBZ05KeS9JVjdUMjhEY0JnQUFBQkFZUEFzTi9aNEl2YXhRMEs0MzF2VWxWbElDQUFBQWdjR2owT0RENmttdk5JclJTRlRVM3RteVlWSTBBQUFBK3FwQUNWNDEyckQ3WjBwR1VhZ3BMNEpEb0Zva2ZmSDVzam5jTVRvNHRtUm5hYVVNdmhTaGRqMWZObGU2UEdab3RJM0tBZ0FBQXNPZ2hJYWkrWDFVMUY1ZjNsTXgwR1JSbWlRNFpCZlVBcWxHSlFBQUFBZ001dzhOTGZ2NGRHVCtXQzNvOHo2OXIrWGc4RUxKSEd0WVBWcHA2ZG1hdFhWYURBQUFBQVNHakcxdDJpTW5LbVpmSk4wZUdIbTFhbEVZYXJ3cWpjZWhGbVpLNWxEYjZya3FMVGwwMm5VdFVRVUFBSkEySmoxZndOaVNuVjJzNnc0ZmxsMDliK09kV1lwMXlyZWVFS1J2c2EyN3QxbDdta29BQUFBQ1E1OXRzL1owME5ROXJWaUhxUWI2TGJaYWVHbEp0Mnh0MmlOVUF3QUFFQmc4VWJPMmZubmQzdGZvNkNHcWdYN3BkSFRzVDJYZFNzOENBQURJRWlQZjEyRkx3eDZjS1prVGhVQ2Y4MjFlQXdaYnM2TURvdzI3bjBvQUFJQ3MwY093VHFNTk8vMm5zbTcxZFY0REJrdHN0YkRZMXQyRUJRQUFRR0RJa1lsNXUvQ09odjBDUTVTUXBrNUh4eGJydW9QNUNnQUFvSjhZa3BRQVE1U1Fsa1pIRDIxcDJJTlVBZ0FBOUJzOURBbU5OdXkwcWV1V2RsdVBVUTBrRmNlYXExdnRJeXdBQUFCZjBNUGdRSGUzNVcvTWxNeFQ5RGFnVjQyT0hvcWErdUVZdTNjREFBQ1AwTVBnRUwwTjZNVnJleFZxaEFVQUFPQVplaGdjbzdjQjYwR3ZBZ0FBSURBTXFkR0duWjR6NXBaR3BQZVZRbjJJaXVDMU9oMGRXMnJxNjJ6Q0JnQUFDQXhEck52YmNQQzRNVDh0bGZSM3hVQ1RWR1c0eFZZTDlZNit4bEtwQUFDQXdJQlhkSjhpM3pjZG1TZktnVDRZQktwUmxlR3pQUHhvSzhPUEFBQUFnUUhuMDMycWZHU21hRzRvRlBTM3pHOFlEczJPRHJ4YzFROG01dTBDMVFBQUFBUUdyR3EwWlIrZk0rYkpaa0hYRWh3R1Z5dlc0WTdSd2JHR25hVWFBQUNBd0lCMTZjNXZPQk1jSWsxRm9hYW95dnJGVmd1K0JhNVhna0tkb0FBQUFBZ01jQk1jOWgvZGFINXcwVXZhUVkvRCtuU3NqZ2ZHajhua0JBVUFBRUJnUUdxNjQ5c1pxcFJEelk0T3hJRitRbEFBQUFBRUJxUnVlYWlTcE1lbkk3T2RWWlg4RkZzdHRHSTl1bGpWajVuTURBQUFDQXpvaStWVmxVNVV6T1pDUjM5ZEtHZ1hWZWx6VUlnMVY0KzF2OUxTczF0WUhoVUFBQkFZNElPeEpUc3I2UnRITjVxSEwzcEpPd3FoZHRIcmtHRklzRnBveHpyRXNDTUFBRUJnZ05lVzV6bElldnhFeFd3T1lyMjdFT2g2NWpxa294WHJjQ3ZXRTVXV25oMmxOd0VBQUJBWWtDZmRYb2RaU2Z0blNtYXJwS3NJRDhsMU9qcldEblZvc2FSbm1Kc0FBQUJBWUJnSW93MDdMV21hOE5DYlZxekRjYUNuQ1FrQUFBQUVocUVLRDhlTjJSUVY5Ry9DUU84T1E0MVRuVFBpV0hOdHF5T1NmbDVzYXZaeWhoc0JBQUFRR0liUk5tdFBTenF0TS9zN2xGdVJObHRwckNDTkQxT0FpSzBXNG83K1Q2ZWc2ZGFTbnUvV0JRQUFBQVFHTE92dTc3RGMrM0J3enBoeW82eTNCRzFkYmtKZEdScHRlLzBRcGxKZHY4M2paMjNGT2h4YnpYYXNmdFc0U0M4d3pBZ0FBS0IzeGxwTEZTQkplbTJJVUtCTFJodDJ2Ky92K1dUVjdEUXRWUlRvVkxPcGVYb1BBQUFBQ0F3QUFBQUFNaEpRQWdBQUFBQUVCZ0FBQUFBRUJnQUFBQUFFQmdBQUFBQUVCZ0FBQUFBRUJnQUFBQUFFQmdBQUFBQUVCZ0FBQUFBRUJnQUFBQUFFQmdBQUFBQUVCZ0FBQUFBZ01BQUFBQUFnTUFBQUFBQWdNQUFBQUFBZ01BQUFBQUFnTUFBQUFBQWdNQUFBQUFBZ01BQUFBQUFnTUFBQUFBQWdNQUFBQUFBZ01BQUFBQURBc3Y4UGxkcjZOSFIzKzdZQUFBQUFTVVZPUks1Q1lJST0ifSwic3RhdHVzUmVwb3J0cyI6W3sic3RhdHVzIjoiTk9UX0ZJRE9fQ0VSVElGSUVEIiwiZWZmZWN0aXZlRGF0ZSI6IjIwMjAtMTAtMTQifV0sInRpbWVPZkxhc3RTdGF0dXNDaGFuZ2UiOiIyMDIwLTEwLTE0In0seyJhYWd1aWQiOiJiYzJmZTQ5OS0wZDhlLTRmZmUtOTZmMy05NGE4Mjg0MGNmOGMiLCJtZXRhZGF0YVN0YXRlbWVudCI6eyJsZWdhbEhlYWRlciI6Imh0dHBzOi8vZmlkb2FsbGlhbmNlLm9yZy9tZXRhZGF0YS9tZXRhZGF0YS1zdGF0ZW1lbnQtbGVnYWwtaGVhZGVyLyIsImFhZ3VpZCI6ImJjMmZlNDk5LTBkOGUtNGZmZS05NmYzLTk0YTgyODQwY2Y4YyIsImRlc2NyaXB0aW9uIjoiT0NUQVRDTyBFelF1YW50IEZJRE8yIEFVVEhFTlRJQ0FUT1IiLCJhbHRlcm5hdGl2ZURlc2NyaXB0aW9ucyI6eyJlbi1VUyI6Ik9DVEFUQ08gRXpRdWFudCBGSURPMiBBVVRIRU5USUNBVE9SIFYgMS4wIiwia28tS1IiOiLsmKXtg4DsvZQg7J207KeA7YCA7Yq4IEZJRE8yIOyduOymneq4sCBWIDEuMCJ9LCJhdXRoZW50aWNhdG9yVmVyc2lvbiI6NSwicHJvdG9jb2xGYW1pbHkiOiJmaWRvMiIsInNjaGVtYSI6MywidXB2IjpbeyJtYWpvciI6MSwibWlub3IiOjB9XSwiYXV0aGVudGljYXRpb25BbGdvcml0aG1zIjpbInNlY3AyNTZyMV9lY2RzYV9zaGEyNTZfZGVyIl0sInB1YmxpY0tleUFsZ0FuZEVuY29kaW5ncyI6WyJjb3NlIl0sImF0dGVzdGF0aW9uVHlwZXMiOlsiYmFzaWNfZnVsbCIsImJhc2ljX3N1cnJvZ2F0ZSJdLCJ1c2VyVmVyaWZpY2F0aW9uRGV0YWlscyI6W1t7InVzZXJWZXJpZmljYXRpb25NZXRob2QiOiJmaW5nZXJwcmludF9pbnRlcm5hbCJ9XSxbeyJ1c2VyVmVyaWZpY2F0aW9uTWV0aG9kIjoicGFzc2NvZGVfZXh0ZXJuYWwifV0sW3sidXNlclZlcmlmaWNhdGlvbk1ldGhvZCI6InByZXNlbmNlX2ludGVybmFsIn1dXSwia2V5UHJvdGVjdGlvbiI6WyJoYXJkd2FyZSIsInNlY3VyZV9lbGVtZW50Il0sIm1hdGNoZXJQcm90ZWN0aW9uIjpbIm9uX2NoaXAiXSwiY3J5cHRvU3RyZW5ndGgiOjEyOCwiYXR0YWNobWVudEhpbnQiOlsiZXh0ZXJuYWwiLCJ3aXJlZCJdLCJ0Y0Rpc3BsYXkiOltdLCJhdHRlc3RhdGlvblJvb3RDZXJ0aWZpY2F0ZXMiOlsiTUlJRHREQ0NBcHlnQXdJQkFnSUJBVEFOQmdrcWhraUc5dzBCQVFzRkFEQnlNUXN3Q1FZRFZRUUdFd0pMVWpFWk1CY0dBMVVFQ2d3UVQwTlVRVlJEVHlCRFR5NHNJRXhVUkRFaU1DQUdBMVVFQ3d3WlFYVjBhR1Z1ZEdsallYUnZjaUJCZEhSbGMzUmhkR2x2YmpFa01DSUdBMVVFQXd3YlQwTlVRVlJEVHlCU2IyOTBJRU5CSUVObGNuUnBabWxqWVhSbE1CNFhEVEl3TURJeE1UQTBNall3TTFvWERUSTJNREl3T1RBME1qWXdNMW93Y2pFTE1Ba0dBMVVFQmhNQ1MxSXhHVEFYQmdOVkJBb01FRTlEVkVGVVEwOGdRMDh1TENCTVZFUXhJakFnQmdOVkJBc01HVUYxZEdobGJuUnBZMkYwYjNJZ1FYUjBaWE4wWVhScGIyNHhKREFpQmdOVkJBTU1HMDlEVkVGVVEwOGdVbTl2ZENCRFFTQkRaWEowYVdacFkyRjBaVENDQVNJd0RRWUpLb1pJaHZjTkFRRUJCUUFEZ2dFUEFEQ0NBUW9DZ2dFQkFMWllhKzlZWkxKbjRGV2NrRG5ZL0VSb0N1TzNUQnRhMFczZjhSOVNZNWQ1c0JrMlFpdXBjaUkvbDdmd1BySDNGRGtlVlBYZWpNZStrVDBWb0pKZStOOUVNV2VyMC81UFhJUDk3bnJ1WWNyMER4YmhacGVzUUVlVThCZUlVdW5wTk5uRUpwb3hvSlR3b0RtdTgzWktrNG04ZzAvUGZwSndEaG1QQ0FxbTc5c0Z0UDhnN2xDOXFtczVURC82UE56KzJhZXdLWFRRQVIxb3BmaG5XRFVzSVp0dVVmRVJobEd3eFU3WCtoM29RMmtTR3c1aG9sZktTYjBnM3B3R1RjVFZOdmZVTVhIN0NhaVRxL0s3VC9qZEFDRCs5YU5qdGNkM1B5UWVyQThTYTJOMjhydmtOOFlmS29EUGc1Z0EzNzhPTkRWM0Jocmh0WThVaURrQmNUc1hBUUVDQXdFQUFhTlZNRk13RWdZRFZSMFRBUUgvQkFnd0JnRUIvd0lCQURBZEJnTlZIUTRFRmdRVU9DbUszMTBHdTNxOURmWC9idmRwc2Y0R0k4VXdDd1lEVlIwUEJBUURBZ0gyTUJFR0NXQ0dTQUdHK0VJQkFRUUVBd0lBQnpBTkJna3Foa2lHOXcwQkFRc0ZBQU9DQVFFQW5EVGNabmVLL2gwUWI4c0Z4Z0ZTOEZhNWRqUW5TSlFVTUZaL2t6T3NQaDFEVkZERjRuREcvSGxVK2Q3S2FOaGFRN1hMdDd4QWpoekV5VHlIYU1INzZnSDA4cjMzTmRWWi80c01oOUdJTFU2YlNtSllPdGRWaTN6QjNwNjlibllaSEpWcXZKS1g1bEVzU3BuL29wS1lsdnRvMm4wLzRzNGF3SmgrcStCa3lWU1BUUk1YNkxmYm42SVJ1NGNiZVMwVzEzdHNRNVNicEFvOU5IMkZBVHpWTU1LU0dFZGlRbmZZeWdkV3Z1RENMVXRRRjF3R21HU1lzRVBGVFY2UEcxVlA1SFM0ZmhyQk5idXJpMzhOSVVvY2ZrcGZtT0l5K2hIWmdmdnBaem9yazFHdkYzUFpSSXRKblRUdjVVanEwcUQ4cm5yODFxd3ZHbFRDSklCdEVVbU53UT09Il0sImljb24iOiJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUVnQUFBQklDQVlBQUFCVjdiTkhBQUFTVlVsRVFWUjQydTJiQjFoVTU5TEhNV29TcjdsK1Z2YWNzNDFtVGRTclJvTllBQ2tMaW9vRlN4UTdnWWlpaUtKR0RkZ1ZMSFJFbGwyYXFJQmlqZUtOWGZGYVltS05IU203Q3hwajlQdGlqSVc1ODU1ekZwWmxGMWRGWS94NG4yZWVwU3k3NS94Mi9qUHp6cnlZbWRXdTJsVzdhbGZ0cWwyMXEzYTl3MnVEV2xwZmZ0MjdVZXlGK0thclRoNXV0dlRJMWNhaEJ3ci9aMTd1elVaemMwODJXckIvWThPbGViUE0xdCt3TTFQbWYvei9Bd3BBSFRObFVmc0d5VGZUV3NTZisxVzA2aGhZTE5vSDFuTzNnOFdNTEJCT1RnZHFRaEl3bytKQlBEUVN4SVBXQXUwVjg2U0pYK2FsQmt0UHpEWkx2V0grL3NMSmhMcjEwMVJUbXFYZGZDQktPZytTNkpNZ0RUc01sb3R5alFLUzlnOEhpZXRTRU51SGdOQitJVFFabTFwUU4rcm5rV2FoOE1GNzV6bjEwb3ZuQ3JLTG5vc3pyb0g0RlFDSmJlZUNxTk5NYU9HNDdObEhvY2NqelRJdmZmaitBRklXZG0yMnJlU2haSHNSdkM0Z3B0MDBNUC9pMitjZnJqaTc4TDN4cEk4MmFtSWt1WGRCSDVCNDlUSG9GSFVjK3NZZmh3R3hoNkZQV0M2MERzb0N4anVoV2tDTTFXUm8waS82RHpQNXJXN3ZCYUIvWkdtT1d2NzdsM0pBcmRLdlFQREIyM0RzdWhvS1ZDVlFyQzRCbFpwN3ZGMnNnVU9YQ21EZWhqem80cXNFaVd5WlFVQzBaRExVWDNKYThWNEFhcGhWOHIwV1VQdXRCZkR2YXhyUWFFcGVhRC9kS0lhSnNmdEI3TFNvQ2lDRzlvRUcwM2FmWnpQajMzMjU1MnAyaXZmZWhSWmJWS0E4WnhvY3JSSFBHaFY3Q0VROTVsY0I5UEcwN3k3ODdRR1ZsSlNNUEhXcjVIbXJuUnI0WkxNS3poZVV2QlFnWW9ldnFjRnlSRnhsaVZsT2dmb3J6eWIrcmVFVUZSVTF3QnM4U1c0eTdrY04vSE5qTVd5NldPNUJaV2lQMFg1SCt6KzBQOUNlR3dKMEVhRzJuSmFsQThnZkdnOU8rTjBzc2FETHUzTzNYUkxxTTY0S01lV203TnBDcG5RVHlKUmZtcnNvZkFXeXBPbm1zcVFnZ2FzaWtISko4c2V2eHdoY2tnYVl1eVQzbUJwMndQN21iUlc1ZVZDalJmK2dCb2RkaFhEeWxtYUhXbDA2UktWU3RTNHVMbTZHSUp1V2xwWmFxOVYzM0RTYTBqQjgvblZkUUtubjFVQ1BTS2hJODI2cm9hWHl5b0svVEY0QzE5U0dsQ3o1VThwVk1WYmdJbyttbk5ZZHBSeGpORlN2TlErcDdpditwTHN1THFNN2h3RGQ2VnMwOGhqNmpPcXkrQ0hWZGZsZHlqWmNROW10VlZPOW9sVk1uL2pTdG9OU3lucE56SUx4SVh0aGhTTHZUK2ZWeDZNRTBUL2xtcSsvWUdlV21WblgwUHZmdlh2M24ycDFTYUJLVS9ycjdpc2FzRjV5a0kxQmpPMDhhT1cvQ1dKTzNJWWlqV2JXMnl4MTZ6RDlFLzdCZW9aelVnTGxuSENKdGwvN21MRmJDc0t1ODBIWUtSaUVIV2FBc1AwTVlEcDk4NVR1dGxndDZCNjJsZTRaTVo5MmpCNUN1eVI5M3R3cHBSWHhzQlo5bFpTNVU2S2dXWjhVb2ZPVWJlMXpqMTIra2JubkhDeVhILzlkNnBhVVllNlVjSVhxcTN6QStPOTRKRjY0ZjRka3lYN3ZKaXVPU1N4Q0QzN01Wc2ZFbFBtTnpaSUxYVHR0dkg1Q09Ic1hNSU1pb2VYMGJBakl1UWluYjNFU3hkaTI1TTF6Q1EzOWdKRXBPcHZMbERHVTh6bzE0N0FhUDZtRklQNWlMb2k3emdaeGwyQVFkWmtGd200aFpYU1BzSXVVVS93aUFzUE1JYlNlcVcrQmtnbmhiK2lZOXNOb0laUGJDQndUQXN4ZDVVZm9vZWxQUk40YmdmYmJlcm5KL0gweERjSlBwOVpkZDIxZjNYVlg5elJjZkNUWksvTnk3cFpMR3NoWFZZcExaU2pSMFcrTXk2ZGVtUithdXlTNUNsemx1YlJ6N0NPaHczSVE5L29XeE9qR1lydDViTTFCSUFsN0xINkNIbktJY2wzdlRtVDNLdTkxNTg2ZFR4RE9qM2hUbHdHZ3Z2NTFOTWNQU05CbmZZYkFQdTZCZVIvMExqZmxaS1ovUm5OdGZFRVFnL1NETnI1ZU1ZbGJid1FPN1pyY0JRUHFic1kxOXFuSWFRV0lIUmR5bFdwdkJOUnJBUXRKMURNVTZENHgrWlNMM0l2Y0JONVlIYlFQME9yaXhUWEV3Q3BTcTlWdE1MQjJSQUNkOEdmdGk0cnUyT0QzZ3V2WHIzOUVuZ2M2QVJTZlk0T2U5QVBlN0NoakVoYzRKOW9LZWtRY296NWZXVWIxU2JpS1h1MU5QQlZqMFh3OVFJL3gvVWJVT0JpUlRONFV3YXloWlFsUHhESnVqeU54WGd3U1VxWDJRVWdPb1N3a29XUFk4OWFEVW5KM0hiZ28wMmcwNDlGVzQwWHRScnVFOWh1Zm5xdXJXNTZobGFDZFJ0dUVmeCtLWUR3Um5oMStuWW8yVnQrVGRETWxaUisza0c2MzRESFZlVGxZZWlTZjNKOTM5UmVkMTc3M1J1QUluSlcyS0tjZmhlN1JJT203RXFUdXk5azlEZ3ZKWlFsQ1dveVFGb0hRZVEwRWh1OHZ5eTlRM2NPTCtkTUlnSWY0cVY3REM4MUJyMWlKTnp3RnpZdEwwUnBIL0xrVG1nZitiZ3grUHh1L1hvZVBSOG5mOE9uN0lkcCtJaDNpY2Zxd2NuUFBOZlFJeUZrazdZaGViRGtUYk53U0lEcmoxUE9DUXRWbTRyVTFucDBvRjZVWEpaUC9KdmJnZHNkU2p6Q1FzcEJXZ05TdEFwTElaVFY0ei84T0NvdlVCcUVRYnlDQkVlWFM4c3daSXg1UXpjclB2OThZZ1hSSFVQUHd0VTd4bm5nSExROS9Gb0ZBWS9CeEc0bFgrSGhuWHRTaDIzVEwyYzhaZ1I5UXRxdWY0WDNFV3pnb1A2NVJPS1NJbzl6a1Q4U2VrU0R4WEFQU2dhdEFPb0NIMUU4TENRTzBiQ1YwSHBVQmw2OFZWc29VWEhEVlRMNTM3MTZqbXUyZlFSMFN0L0MxNHhITXIvaGVCZmo5M0tLaVg0VDR1M3JrOXc2aEIrc0pIT0ozTW93L01NMG5BZld2cFlBaFltZFQ5L1JHTlFJSEsxby95bDMrV0RRa211MnRTQWF2QmNrZ2hPUzVtb05VN2swcmdKSEZ3dXFVLytqQ0tjUUxua0FLdGpmYmFJUTZwSUxtWWhPNzFWQVJXV296bE1CZGFVdDFXdlluMDNSQ09TUnpWMFZXQzRmWVQxNHY1c2dVemdLM3BFZENMOXpnRFVkQVhwRmNFM3hJUkFVazRrMmtJZFV2SEt3SHBzQVBGL0o1T0tWWnhjWDNSRyszSXdzZjRBZlNud1BFZmtBL2srKzdlMlUyd094MmhzQmhJVFZEU0YzRHk5Q1RJbC81elJqblZBa0N5cWU5RW9ENU1nNkVJMklSVWd5SWgwVlZRRUp2MGtJU2UwUUEyUXJjTGxBOVJlMHZKUzcrRis3OExSSE9PVzAyeE91UmR4aVJzWjJXVE9jQUVUUDNCZHpHUEVWSXcxOHQ3cmdvRkpTbkhHanZCS0JIeFhPUVJuS1FSTU40YitJaEVXOFNlVVNCODlkYnl3cUxTOWI4bFhCMGF5WSs0N0VlSGJqcXdCUGFKcmdDRUJwdE1RTndRM3dMaTllWEd3T1JiWVBBWGZHWThrWkFZeE01U0tQWHNVMXdaaVR4SmkwazNwc0dSNEJvUURSWURVd3Q4Ri8yZmJOM3BYR0FjY2dlNFR3aGdDYUc1Z0p0amJ2NFpoV0FtR1lUVVdwaFFMa21oYjdVdmdvRFdESTFWTUZPQnFqeFBLUXg2eXNnbFV0T0YxSVV5UTYvTTI1SnJkK2RLUkY4UUFMM3Jkc3FzQnVmQ1l3SU01azV4cUhtRTh0QkVka0puT1dGakVOQ2M5TzhwMzlDYzd6Uk8vUzRaS0FuS2NzaFVWcElCaVVYeFVxT2RrL0U3S0FNZWNjNmtVNWI5bDE0d3ZTT0FvYjVDaGpLaDRQVWdvZUVYaVRvR1ZWRzZqeVRYcEMwS2lnUEpUQmZwUUw5RlE5cG9vS0ROQTRoalYxZlNYSUVFaXM1OUNhaFp4enhvanZtN3NuVzd3cWcyTXhUbE4yNHpmZnBkbk9BRVg3RlFhSVJrb0NIMUh3Q1VPMFhrdXRPTXVrRmNYZStnQjZTRE1LdjA0SHhTMFZRS1VEN0pDTWszcHZHNlhnVFFxTDFKRWQ3ck1mQXB6aFlRNFhZNnkydnpMcGszMGpaaHBVeEZsOERJL0ZEbWZucVFab0V0TTBzQkpSMHpxVFhwSkFrTXpJVlJQNFo3SVNTOFVzRHhwZUR4RWxPVVRrdTZVbE9PQ3dHcUw2SkdQaVUyWTBkbEkzL3l0WXUrYkNwWHBIUG1GWUIzQVJEQzBuc3kza1RnWVNTbzZVQnhJTWVtTlFjNysyVGZVNDRPZzNFVXplQ2FBcUJ0QUc5aVVBeUlya3hPcExUUWhvZUMxUy9SSHhUNVVuS1hkSHViYk1oQVJmZk81M3F0Zlk1MHhacm4xWlRnTEh4NXlCWklpUXBEMG5yVGRLcHhJUEtUQWxvZmNhSDdIMHFISjBPMG1tYlFSeXdpWVBrdjhHQTVCUUdKYWViNWVpQkNZRDd1SHVVaXlLWXRFbmVOQml5Q2FWa1NjTXdLMTJqYlplQzhMTkFZTnBPQTZiTlZJU0Vab09nckJHVXBZNDNFVWlXMDRnSC9XRkszUkErSi9JdzNsd2FXQVJtZ1hUNlpwQVFTTVNiQ0NTRGtxc215eUVrNGRBNG9Qc2xrckwrR2xxQTBDbWxHU2xFYTdSSDFUMnpBZTRaaDJEUmQ1eTJqM2dtN0RLUDYzMGpJT0duMDNsSUFSeWtsandrcmVUUW0rZzJ3UVRRVFJNQWxlUXBjODRDNDVrQ2xrSFpZRG1EUU1vRUNldE5GWkpqZU1reFBpK1FuRGJMWVNrZ0hJb2U1WkVBbEZ2U0EzVG5qYVRFcDl5VUZxOEtDNlhid3R4WkljT0VFQzF3WGw5TU82d0YwUmNMMk40M0dldUkvaFhFRHdnNFNFSXlCMnVMa0ZyemtGakorYk9RNkU1c0Z0dHFDcUM3WjNHektlMmZBbGFCVzhCcTVoYUVsSTNlcElYRVNVNmtMemt0SkZaeWlVWWt4NVVDb3FHa0hFQlkvUkxLS0RmNWJ3anJQQ2FHRkx6QXVRUmFjeGVGUFhwRFJ6TGRJQ1p3bFgrR2hhc2QxbGVlYk52RlJSbFB1Y3J6S09kMXY5QjlJcDhKZXk4RFVmY0YzSUNnMjJ3UWY4NE5DRVNkZVVnZGd6aElueEZJMHpsSTVaTHpaNzJKNmhrQlpCWm5DcUJuUmNVYUdCaTRBNlFUTjRGTmNBNEhDYjNKWW9ZeHlhVldTRzZpb3Fya2RDR041S3Z2OGcwdm1tY2tibE9pUU9pQlh0WTNGaGgzZks0YmxnK3lkV1cwTEw2TWRvMER4alVHR0pjb3RsTXBjbG9KSXNjbElPNGRVbmxBMFAwYkh0S2Npa2xLWjk2Yk9nWVpsaHp4cHJaQldFa24zaWNURWxNQVBTWDdsZzI3enVHbm5BcldzM0pZU05henRvS1Z2dVNxeTNJVFhwRGxSbFJVMzFWN1RGejdSTnBQMjdFMDNOWmxlOS8yUEtTZTNKQ0FoY1JPVW5oSVdtK3FSbktVN1hKbzY3VmhwNG1iTzY2UFFyekkxVDhISkpNeXdXYk85Z3BJck9TeVdNbEpkZU9TVm5LKzJpeFhXWEpWTjd3VjFiZDJMeWN4MEdQU2JldEtkTnE2WkVqQVFqSXdTZUhHVGQ4WWxaeW80NHh5eVRFZGdzRVNkdzBiZDUrTE5CWFFmbTE3WU0vaG44RnljQnBZenR3RzFnVFM3RzFnbzRVVWxGME95V0NXMDVZQ2s1UXZMQVhZdUdTa3gxUzFyWXVRWkJXUTJFbUtZOFVrcFJLa0twS2JWUzQ1Tmk1MUNBSzZkd1RNanprQ3hjVnFQMU9ubDkvcU50bFhLUEtBR1pvT1ZuTjJnUFhjSFJ3a1E1SkRTQldTU3kvUGN2clZONEZFdldERHE5dGpxdFRXN2NlMWRRMUxicUVSeWZIRHkyNDZrdU1oMFhZcm9HL0FOaWdvVkQvRCt1OHpVL3NuWGZtZUxndUlUQ1o4RnUwRDBhaU5ZRFYzSjFoL3M2T3k1SUk0eVVrRDlVb0JmejR1K1pHNFZEWExHWldjVG85Sk1yZzZ5UzJ2SWprSks3blFDc24xMUpmY25ITEpDZTBXZyszWVRYRG0vQzI4VDgxWnNvTXd0WDlTRDhFYzB2VWkwa3Z4bnI4SGhLTXl3R29lZ2JTVGc0VGVWQkdYc25YaUVwRmNScVVzUit0WDM2YjJtTmk0dExZcUpHT1MwOFlsQjIxY3FwcmxoRDJYUXFlUkcrRDREemY0Mlh6SjlKY3F3TlRxVXBrMm0ya3R2MEFGQVN2M1k4RzNBU3hubzl3SUtBT1NzeWpQY3J6a2pHNTRrNnBtT2QwTnI2N2todXBJVGh1WFdNbXQxSkhjVWgzSkxVSlFoaVhIMkllRGcwOFduUHpwcHZiZThsOTZGRVVtbEJpTE12V0hmc1dZMlZZcVRvRE5pQXlFa01ONTAxd2prcXV1K2piWVkwbzAybVBTYmV0V0tRVThqSlFDZXBJVDlWNklOVlEwcTRTTFZ3cTA5L1FVbmNIN2xmWTI1RkFCbVdrWkdobm5IcjBDam41YlFEUnVNd1p2bmJpa0s3a2dJNUw3V2pmTEtTdjFtR3BDY2hJRFdVN29GQTV0QmlYRDJyU1RvRkpwZEU5MnBCdWQ3WnNZc0IzNWFXVVZTRVJ5eStSNTBONTdFMGg4czZ0bXVabGJkYXB2QTFuT3ozQ1dvMDFvNjVhWEFwVWtGMVloT1RmT204U3U0V0RSTHdFbWhPN2xnM0dsZXpoVlVGRFE1TFdubGVRd0FiN1lJMk1uTUg2OG1BL0JFWWVnRFdZNWlVOG1XQVVUVDZwR2NsUDFzcHl2WHBaN1lmVWRyVk45VjVXY0JFc0JzVHYrRE1FTW03MEx2anQ4R1ZUcUtzZUZMNVdXbGxyVldDdUJuSjVBZDd4ZjNWRVZvdXVWV0RQMThNa0dNV1k3Qy85c0xDcHpqR2M1UXh0ZXZSNVRsVkpBWjhPckx6bnhnQWpjeDhWQU82OFVtTExpZXpodzRocDcyTlBBdFo0aVE4VWFiMFNSMHhSa2pQdWljOGkzVVhyZllRVWV1T29BZEVkWVZ0NGJRZXF6R1N5blpvRmxZSFViWHNOWmpqYlMreFo2b1ExQ0c3QU9Pb3hNZzFIemRrUFMxck53OVVZUllObzJjdFpJcytXMVpmV0NTU1hGWjdlbnBoemFKdlhUd2Y5Y2d6V3BKMkZzeUY3b05qRVRMRWFrZzJUMEJnendhSlBRaTN3UmtKOTJINWZHVFZJbWthNEFRaHFQM3VTTmt2c1NiWmdjbUNGeXpHUkowSFo0R25nR2JZZVF1S093N2Z1TCtpZEpETmtEY3RJMVAvOHQvTGNoUDRnYmlxQ3V2T3dwZDJMa1prZ1dWT1NjeFNCL0hHYXNQb2hCTkJlR3o5a05nMmJ1aElGQk8vRG1kNEJYOEM0WXMyQVBLNWVRK0tNUXQrazA1Q0FNY2pDaVdHWHl2eUNRRTJxNzNzQmhLZE1PTVpIakpYZ0J0MThGbENFak1ZUEl3NGhFWHNhSWgrZmg5ZlY5clRSZVE3UHZGaGowQXZqNDlMeW1ZTDBHbU4zazJCNDVBUG91VFhlSjlPcVNnd0xrbUFudlZXVnZDY29UbFBzWnRBWGtTSi9adTc1STdYVC8vdjNHcVB2ZTVBUTdYdmdSL3FUcWt4b0NRdjVmNHpaMzhKTTk5Tm51clFUZk55MUR0RzVrMzBNT1ZxRmxjT0EwVi9uRGw0OTA1RWxrOHI5OFovTThQbmNmOFVvRU1vY2NBU1pBeVBscXM5cFZ1MnBYN2FwZHRhdDIxYTdhOVViWGZ3RnZVRUVINFlhcWxBQUFBQUJKUlU1RXJrSmdnZz09IiwiYXV0aGVudGljYXRvckdldEluZm8iOnsidmVyc2lvbnMiOlsiRklET18yXzAiXSwiYWFndWlkIjoiYmMyZmU0OTkwZDhlNGZmZTk2ZjM5NGE4Mjg0MGNmOGMiLCJvcHRpb25zIjp7InV2Ijp0cnVlfSwiZmlybXdhcmVWZXJzaW9uIjo1fX0sInN0YXR1c1JlcG9ydHMiOlt7InN0YXR1cyI6IkZJRE9fQ0VSVElGSUVEIiwiZWZmZWN0aXZlRGF0ZSI6IjIwMjEtMDYtMDgifSx7InN0YXR1cyI6IkZJRE9fQ0VSVElGSUVEX0wxIiwiZWZmZWN0aXZlRGF0ZSI6IjIwMjEtMDYtMDgiLCJ1cmwiOiJ3d3cub2N0YXRjby5jb20iLCJjZXJ0aWZpY2F0aW9uRGVzY3JpcHRvciI6IkV6UXVhbnQgRklETzIgRmluZ2VycHJpbnQiLCJjZXJ0aWZpY2F0ZU51bWJlciI6IkZJRE8yMDAyMDIxMDYwODAwMSIsImNlcnRpZmljYXRpb25Qb2xpY3lWZXJzaW9uIjoiMS4zIiwiY2VydGlmaWNhdGlvblJlcXVpcmVtZW50c1ZlcnNpb24iOiIxLjMifV0sInRpbWVPZkxhc3RTdGF0dXNDaGFuZ2UiOiIyMDIxLTA4LTEwIn0seyJhdHRlc3RhdGlvbkNlcnRpZmljYXRlS2V5SWRlbnRpZmllcnMiOlsiYmQ3OWU4ZGVhZmNhMTdhNDcyZTRjMzdmMmM3Yzg2MTI2OGU0OWZkNSIsImE3MjA5Njc3MjMyNmIxYjI4MmIyODZjM2U3ZDY0MDg5YmQ3YWFhZDkiLCIwMDI4MTI1MGJhM2ZjZjM1ZDk1MTJlMDY3NzEzNWVlYzc3YThmYjdhIiwiODhjN2MzNGIwYzljYmJiZGJiZDdkNGMwZGU0MDRlMTRhNzRiNmM4YSIsImFhOGNlNmZkY2Q3MjJmNzAxZWUwNjU3ZTE4ZmE5ZjJhNjg1ZTgxY2QiXSwibWV0YWRhdGFTdGF0ZW1lbnQiOnsibGVnYWxIZWFkZXIiOiJodHRwczovL2ZpZG9hbGxpYW5jZS5vcmcvbWV0YWRhdGEvbWV0YWRhdGEtc3RhdGVtZW50LWxlZ2FsLWhlYWRlci8iLCJhdHRlc3RhdGlvbkNlcnRpZmljYXRlS2V5SWRlbnRpZmllcnMiOlsiYmQ3OWU4ZGVhZmNhMTdhNDcyZTRjMzdmMmM3Yzg2MTI2OGU0OWZkNSIsImE3MjA5Njc3MjMyNmIxYjI4MmIyODZjM2U3ZDY0MDg5YmQ3YWFhZDkiLCIwMDI4MTI1MGJhM2ZjZjM1ZDk1MTJlMDY3NzEzNWVlYzc3YThmYjdhIiwiODhjN2MzNGIwYzljYmJiZGJiZDdkNGMwZGU0MDRlMTRhNzRiNmM4YSIsImFhOGNlNmZkY2Q3MjJmNzAxZWUwNjU3ZTE4ZmE5ZjJhNjg1ZTgxY2QiXSwiZGVzY3JpcHRpb24iOiJZSzQgU2VyaWVzIEtleSBieSBZdWJpY28iLCJhdXRoZW50aWNhdG9yVmVyc2lvbiI6MSwicHJvdG9jb2xGYW1pbHkiOiJ1MmYiLCJzY2hlbWEiOjMsInVwdiI6W3sibWFqb3IiOjEsIm1pbm9yIjoxfV0sImF1dGhlbnRpY2F0aW9uQWxnb3JpdGhtcyI6WyJzZWNwMjU2cjFfZWNkc2Ffc2hhMjU2X3JhdyJdLCJwdWJsaWNLZXlBbGdBbmRFbmNvZGluZ3MiOlsiZWNjX3g5NjJfcmF3Il0sImF0dGVzdGF0aW9uVHlwZXMiOlsiYmFzaWNfZnVsbCJdLCJ1c2VyVmVyaWZpY2F0aW9uRGV0YWlscyI6W1t7InVzZXJWZXJpZmljYXRpb25NZXRob2QiOiJwcmVzZW5jZV9pbnRlcm5hbCJ9XV0sImtleVByb3RlY3Rpb24iOlsiaGFyZHdhcmUiLCJzZWN1cmVfZWxlbWVudCIsInJlbW90ZV9oYW5kbGUiXSwibWF0Y2hlclByb3RlY3Rpb24iOlsib25fY2hpcCJdLCJjcnlwdG9TdHJlbmd0aCI6MTI4LCJhdHRhY2htZW50SGludCI6WyJleHRlcm5hbCIsIndpcmVkIl0sInRjRGlzcGxheSI6W10sImF0dGVzdGF0aW9uUm9vdENlcnRpZmljYXRlcyI6WyJNSUlESGpDQ0FnYWdBd0lCQWdJRUcwQlQ5ekFOQmdrcWhraUc5dzBCQVFzRkFEQXVNU3d3S2dZRFZRUURFeU5aZFdKcFkyOGdWVEpHSUZKdmIzUWdRMEVnVTJWeWFXRnNJRFExTnpJd01EWXpNVEFnRncweE5EQTRNREV3TURBd01EQmFHQTh5TURVd01Ea3dOREF3TURBd01Gb3dMakVzTUNvR0ExVUVBeE1qV1hWaWFXTnZJRlV5UmlCU2IyOTBJRU5CSUZObGNtbGhiQ0EwTlRjeU1EQTJNekV3Z2dFaU1BMEdDU3FHU0liM0RRRUJBUVVBQTRJQkR3QXdnZ0VLQW9JQkFRQy9qd1l1aEJWbHFhaVlXRU1zcldGaXNnSitQdE05MWVTcnBJNFRLN1U1M213Q0lhd1NESHk4dlVtazVOMktBajlhYnZUOU5QNVNNUzFoUWkzdXN4b1lHb25YUWdmTzZaWHlVQTlhK0tBa3FkRm5Cbmx5dWdTZUNPZXA4RWRaRmZzYVJGdE1qa3d6NUdjejJQeTR2SVl2Q2RNSFB0d2F6MGJWdXpuZXVlSUV6NlRuUWpFNjNSZHQyemJ3bmVid1RHNVp5YmVXU3dienkrQkozNFpIY1VoUEFZODl5SlFYdUUwSXpNWkZjRUJiUE5SYldFQ1JLZ2pxLy9xVDlubURPRlZsU1JDdDJ3aXFQU3psdXduK3Yrc3VRRUJzVWpUR01FZDI1dEtYWFRrTlcyMXdJV2J4ZVN5VW9UWHdMdkdTNnhsd1FTZ05wazJxWFl3ZjhpWGc3VldaQWdNQkFBR2pRakJBTUIwR0ExVWREZ1FXQkJRZ0l2ejBiTkdKaGpncFRva3N5S3BQOXh2OW9EQVBCZ05WSFJNRUNEQUdBUUgvQWdFQU1BNEdBMVVkRHdFQi93UUVBd0lCQmpBTkJna3Foa2lHOXcwQkFRc0ZBQU9DQVFFQWp2anVPTURTYStKWEZDTHlCS3N5Y1h0QlZac0o0VWUzTGJhRXNQWTRNWU4vaElRNVpNNXA3RWpmY25NRzRDdFlrTnNmTkhjMEFoQkxkcTQ1cm5UODdxLzZPM3ZVRXROTWFmYmhVNmt0aFg3WSs5WEZOOU5wbVl4citla1ZZNXhPeGk4aDlKRElnb01QNFZCMXVTMGF1bkwxSUdxck5vb0w5bW1Gbkwya0xWVmVlNi9WUjZDNStLU1RDTUNXcHBNdUpJWklJMnY5bzRka29aOFk3UVJqUWxMZll6ZDNxR3RLYnc3eGFGMVVzRy81eFViL0J0d2IyWDJnNElucGlCL3l0LzNDcFFYcGlXWC9LNG1CdlVLaUduMDVac3FlWTFneDRnMHhMQnFjVTlwc215UHpLK1ZzZ3cyamVSUTVKbEtEeXFFMGhlYmZDMXR2RnUwQ0NySkZjdz09Il0sImljb24iOiJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNBQUFBQWZDQVlBQUFDR1ZzK01BQUFBQVhOU1IwSUFyczRjNlFBQUFBUm5RVTFCQUFDeGp3djhZUVVBQUFBSmNFaFpjd0FBSFlZQUFCMkdBVjJpRTRFQUFBYk5TVVJCVkZoSHBWZDdUTlYxRkQvM2Q1OXdlUVNJZ1M5QVFBWGNGTEFRWmk5ZnBlVnoxdFkvV1RacjVXeHBjN1c1a25MYTVqSTNaODVzclMybk0yc2p0V3daUzdJVUg0SDR4Q25FUXg0REFaRjc0Vjd1czg4NXY5L2xJbkJ2VkovQjRQdjludS81bnUvNW52TTU1NmZ6QS9RdjBIYi9JclgzVkZLUG80NWNubTRpblVJV1l3TEZSbVpRVXV3akZHL04xaVJIaDFFWjBOUlZSdWRxdDFCZCsyblNLeVMvT2h5czArbGszZS8za1E5cXZENFpVdGE0VlZTVXVZMGVpcHlpVGhBZm9jb09SVmdEdXV3M3FLUmlBZDNyYmNFdGpUallJb2Y2V2FIc0NtelZQV0NNeCtjZ2g4dExxV01LYU1Xc1VqTHFvMlJ0SklRMG9Pem1lcnBRdTRlc1pnc09Oa0d4SDdkMGtkdlRUMTdzNE9NVTdWSThaaGpnR2FNK0FxOWlFTnU4UGlmMXVkejA3TXd2S1dmOEdsVm9DRVkwNFBDNVdkVGFYWUZiUjh2TnZMNSszS2dmYjV4Tk15YTlSYW1KaXluYU1sR1RWdEZscjZiYTl1K3BxbkVYNHVNdVJSZ2pTWUVock43dXRGRmU2bHFhbDdOZmt3NWltQUdIeW5QcGJrOFZtWTB4c3RucHRsRkNWQ1l0elR1Qk44M1FwTUxqVHRldmRQelNVbko3ZThta2p4WjM5ZlhiS0RmbGRacWJ2VStUVWdHbkJWRjZmUTJpUEhnNFcxNlVXVXd2emJrMTZzTVpFK1BuMHB2ejdKU2V1QXllczhsY3BDbWFLdW8vcCtxV3IyVWN3SUFIV3J2UDBZRXpoWEF0TEFic3NIaHA3aUdhbXZ5aWpQOHJ5cXJYVVdYOVhvb3d4eUF1Zk5CcnA0M1BPQkZYWmxrZjhNRFJpcWNweW93QXdwdXoyeCtmV3Z6L0R0ZGU5c21zenlndGNSNkMxd2JkekJsNk9scTVXTllZNG9HYXRoSk1ya1RFeDBqQVJTSEFWcys1cllrUU5YYitRZ2ZQTHNRNmdYeUluc3JlUWZtcG03UlZGWWZMODZuMWZpVU9rWXZTaGtVUHh2YnVrem95NksxaWhNMWhvM1h6VzZFdlNmWEErZHBpV0dhV2QrZG9Yekx6bUd3S1lGTENBc1JBbFBCQWhNbENGWFU3dEJVVlByOEhnVmNKSFdxK0YwMHBscitETVRkclA0enZ4WTExa05NaHhUK1NlVEdnK2Q0VjVMUUppdHlVR0pOQjhWRlpzamdZQlpNL0lJL1hDVGtqMHF5RE9wRjJBVlExN0NJalVwL0RuVDFVa0w1RjVnZGorc1Mxd2cxZ0UzZ2lnbTYwZkNYelNuUFhieUFQYklYditJRHBFMTZUaGFISVM5c2t5aGxtTUU1RjNjZnFBS2hxMkMwRTVQSDFnWWFYYUxQRGtaRzBIREpPbktXSHA1MUkwejVTT3V4OGUxV0F1WnpkSFFyVGtwOFRtalhvSStsYTB3R1pzenVicWJPM2lmUTZBL1c3dlZTWXNWM21SMEpLd2tLYzRXSGlCa21SOEkzQ0NnSTg3b09MNHF6VDVQK1JVSkJlakVPZ0FQSzhoWVB6YXRNK2VJVHAySU85eVRRbWVyb21QUnh4MXF4QWNzaWxlL3ViU2VFYmNXUUdZRUNnaGNMWTJIeUtqb2dqSDI1aE1wanBVdjFPdWdsaTRlaDJlUncwTzMyYkpqa3l1Q2dOemcwdnpsWU1TaVNzMHVvbzRNRzdoTU9qQ0VhWDF5RkUwblN2akJ6dVRuRXBLODZaOElvcUZBSXVidzhrZzlBckVhUkVXU1pJK2pINFhicDZnOUU5RW5KVDNvYVJ6RE4rTVVKQlFESG41NmE4b1VtRUJ1c094QnMvTjUrdEpFYlBrQUZEajhVR3ZPcy9JV3ZjU2dsR0JodlM3L0ZUWWZwV0dZZERZOGZQQXhXU0EzNXNUQzRwNCtMbTRBYXFJb1BlUXRmdWZLNkpoMFpoeGxic1VYT1NtWE5pZkQ1WlRBa3lEb2ZiYmNjbHhuQThXTkFxeENiUk55a2hYeFFwYUR3NjdmWFVZYnNpRzBLaHR2Mm9lSXZoOHJoUU1ZT2NFQXFYRy9lSSt6bmdPYzV5eHI4cTgySUFNMWMvRkxGT3BscXU1ZUZRWHJNWnpHY1ZDalliTFdHNUk0QlQxZXVScmxieHROT3RNaXREREVoTFhJSXluQUF2dU9FV0UzWDNOZEFmdDk0VmdhRzQyWElRdDBaWDZQZUNFL3FRRmU5cks2SHg3WVU1MEt2SDdmVzRmUytxN0tLQkp4c2dnQlg1cFNBR2gxaklyVmg1elE2dzNSZmFhaEJYbS9hQ2JDWlRqQ1VGVVR5V1pxVzlwNjJNakpQWFZxT3JQZ01PNE52NzRHa2Yrb3dmdE5WQkRRbmpGSnFIU3cxN3BYdmhXVzVLWnFlL1E0OU4vVVNUQ0FWV29RWEZJSEJIWFhlM0ZQclVEc3VHRG10Ri9oSEtUSHBla3hoaUFPUEkrU0pxNlM2SEY0STlZV3prQkpUbzQ2aVVNeldwOFBpci9SaWR1THhLWXNTa3NWOHZMbE9RdmhHWDJZbFIwT0JoQmpDK3UvZ0VjdlkwQXBLN1lrNDFOeGpQU1FuV0ZIVEY2NlVyamdldkI4Q3U1YStsMnZZU1JQdHVWRG83M2hoZE1TSG5VWDd0VGpzVlpHeEFsL1dwdGlPSUVRMWduTDI5bVg2L3RSMXRtbGtZajhXNFgrQ1NqV2NVREdZMU5wUy9DN2hTS3FpTUxNL2wyUW1TV1o3M0RkeitnaW84QkNFTllQUTQ2cW5rendYVWJxdkJreGpVUXNXZlpGZ2J1bzNyQWYrd043ak9POTAreW54NFBpM0wrMG5ZTDFTY2hEVWdBUDRnUFYvN0lkMXErMUhTaG11R2tJcVdSUGd5eE1GcVA4SGZqVG5qWHdZNWJRZmJKY3Q2T0l6S2dNSG90Ri9IZTFlZ3NheEhTcUc2d2ZkbVE1eDhOeVRGRnFCY3AyaVNvd0hSM3lrNSszNmhGN3ZYQUFBQUFFbEZUa1N1UW1DQyJ9LCJzdGF0dXNSZXBvcnRzIjpbeyJzdGF0dXMiOiJGSURPX0NFUlRJRklFRCIsImVmZmVjdGl2ZURhdGUiOiIyMDIwLTA5LTE2IiwiY2VydGlmaWNhdGlvbkRlc2NyaXB0b3IiOiJZdWJpa2V5IDQiLCJjZXJ0aWZpY2F0ZU51bWJlciI6IlUyRjExMDAyMDE3MDMyNDAwMSIsImNlcnRpZmljYXRpb25Qb2xpY3lWZXJzaW9uIjoiMS4yLjUifV0sInRpbWVPZkxhc3RTdGF0dXNDaGFuZ2UiOiIyMDIwLTA5LTE2In0seyJhYWd1aWQiOiIxYzA4NjUyOC01OGQ1LWYyMTEtODIzYy0zNTY3ODZlMzYxNDAiLCJtZXRhZGF0YVN0YXRlbWVudCI6eyJsZWdhbEhlYWRlciI6Imh0dHBzOi8vZmlkb2FsbGlhbmNlLm9yZy9tZXRhZGF0YS9tZXRhZGF0YS1zdGF0ZW1lbnQtbGVnYWwtaGVhZGVyLyIsImFhZ3VpZCI6IjFjMDg2NTI4LTU4ZDUtZjIxMS04MjNjLTM1Njc4NmUzNjE0MCIsImRlc2NyaXB0aW9uIjoiQXRvcyBDYXJkT1MgRklETzIiLCJhbHRlcm5hdGl2ZURlc2NyaXB0aW9ucyI6eyJkZS1ERSI6IkF0b3MgQ2FyZE9TIEZJRE8yIn0sImF1dGhlbnRpY2F0b3JWZXJzaW9uIjoxLCJwcm90b2NvbEZhbWlseSI6ImZpZG8yIiwic2NoZW1hIjozLCJ1cHYiOlt7Im1ham9yIjoxLCJtaW5vciI6MH1dLCJhdXRoZW50aWNhdGlvbkFsZ29yaXRobXMiOlsic2VjcDI1NnIxX2VjZHNhX3NoYTI1Nl9yYXciXSwicHVibGljS2V5QWxnQW5kRW5jb2RpbmdzIjpbImNvc2UiXSwiYXR0ZXN0YXRpb25UeXBlcyI6WyJiYXNpY19mdWxsIl0sInVzZXJWZXJpZmljYXRpb25EZXRhaWxzIjpbW3sidXNlclZlcmlmaWNhdGlvbk1ldGhvZCI6InByZXNlbmNlX2ludGVybmFsIn1dLFt7InVzZXJWZXJpZmljYXRpb25NZXRob2QiOiJwcmVzZW5jZV9pbnRlcm5hbCJ9LHsidXNlclZlcmlmaWNhdGlvbk1ldGhvZCI6InBhc3Njb2RlX2V4dGVybmFsIn1dXSwia2V5UHJvdGVjdGlvbiI6WyJoYXJkd2FyZSIsInNlY3VyZV9lbGVtZW50Il0sIm1hdGNoZXJQcm90ZWN0aW9uIjpbIm9uX2NoaXAiXSwiY3J5cHRvU3RyZW5ndGgiOjEyOCwiYXR0YWNobWVudEhpbnQiOlsiZXh0ZXJuYWwiLCJ3aXJlZCIsIndpcmVsZXNzIiwibmZjIl0sInRjRGlzcGxheSI6W10sImF0dGVzdGF0aW9uUm9vdENlcnRpZmljYXRlcyI6WyJNSUlCc2pDQ0FWaWdBd0lCQWdJSkFLSUZudEVPUTF0WE1Bb0dDQ3FHU000OUJBTUNNRlF4Q3pBSkJnTlZCQVlUXG5Ba2RGTVEwd0N3WURWUVFLREFSQmRHOXpNU0l3SUFZRFZRUUxEQmxCZFhSb1pXNTBhV05oZEc5eUlFRjBkR1Z6XG5kR0YwYVc5dU1SSXdFQVlEVlFRRERBbEJkRzl6SUhKdmIzUXdIaGNOTWpBd09UQTVNRFl4TkRVNFdoY05NekF3XG5PVEEzTURZeE5EVTRXakJVTVFzd0NRWURWUVFHRXdKSFJURU5NQXNHQTFVRUNnd0VRWFJ2Y3pFaU1DQUdBMVVFXG5Dd3daUVhWMGFHVnVkR2xqWVhSdmNpQkJkSFJsYzNSaGRHbHZiakVTTUJBR0ExVUVBd3dKUVhSdmN5QnliMjkwXG5NRmt3RXdZSEtvWkl6ajBDQVFZSUtvWkl6ajBEQVFjRFFnQUVwS1IwZjZWZHEwUFlYeEg3SlZNa0d4Tm9NNFhvXG5IRnVRK2U3cWYrMDRQNEoyR0dTOXZYRkxWUVo1Y29GblJQZkNmbERDTGt6YWZNM1FFZGNZQ1ZveVBLTVRNQkV3XG5Ed1lEVlIwVEFRSC9CQVV3QXdFQi96QUtCZ2dxaGtqT1BRUURBZ05JQURCRkFpRUF6WHBvdzMvNHlPWE5iQUxvXG5kTXY1S0lvcm5uNXdSUkkzNllRcHYzV2JoMDBDSUV5MTRTeTdMcmxnSlNaVEcwTWQ1d2pRYnlvVlRmVS8yb1p5XG5wOUVucGxETCJdLCJpY29uIjoiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUJLY0FBQU5LQ0FZQUFBQmYvUzJ2QUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQVRFbEpSRUZVZU5yczNkMTVFOG0yTU9EYTU5bjN4enVDcllsZ1RBU0lDSUFMWHlNU01CQUJKZ0tERTdDNDlnV2VDQkFSWUNJWVRRVGpFOEgzcVZ5dDhRK1MwViszcXF2ZTkza0V6UDRack9ycTdxclZhNjBPQVFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQURZazM4WkFnQUFBTGpqK0dJdyszVnc1ejk1K005ei96djdISzc0YjUzT1BuOHQrZThtRC83NUtwd2RYVHNRMUVKd0NnQUFnRHJjQnAzbW43dkJwZmwvbHBzWXBMcTY4K2NmelorbnpTZUVzNk9KZzB1ZkNVNVJ3ZzNtcTBGZ2dUOW1OK21QaHFINjY4Tm85dXVyeWtmaDNleGN1RElaQUtqby9qOElLY2dVZzA3L2JYNmYvMmVsbTk3NXhDeXRlV0RyMm5xQW5QM2JFRkNBb1NGZ2diajRFSnhpNEJvUkRrd0RBSXAxZkJIdjgzZURVTFhmOXdkaFdSRHUrQ0wrT2c5V1RVTUtYazJianpKQzlrcHdDaWozeG54OGNlZ0pFUUJBSWVMYUxnV2dmZzhwQ0hWb1VOWjJFSllGOEk0dkhnYXUwcCt0cCttQTRCUlFzbGZodGo0ZkFJQStTY0dvNGV6enRQbGRObkM3RmdldVVzYlZQR2oxSXdoYTBRTEJLYUJrb3hENzdRQUFrTC9VSzJvNCt6d1BnbEc1bVdldHZiaHp2T0t2ZDROV2s1Q0NWbFBEeGJvRXA0Q1NIY3h1bWk5bU44aExRd0VBa0tIVU0yb2VqRkttMXo5M2cxYnZtMk02THcvOEZtNzdXY215NGxHQ1UwRHA0bUpIY0FvQUlCZng0V0ZhbzhYZlpVZVZaMTRlT0x4enpPT3ZrNUNDVnFrMFVNQ0tPd1NuZ05MRlJjOXJ3d0FBc0VjQ1Vpd1BXTVVNcTZ1UUFsWlR3MVFud1NtZ2RMRzBielM3MFkwTkJRQkFoMUlQcVRjaEJhUUdCb1FGaHVGK3dDcVdCRTdDdklmVjJkSEVFTlZCY0Fxb1FYeEtOellNQUFBdE83NklXVkV4R0JXRFVucElzYTc1L0VrOXJHNmJyay9DUE1OS2RsV1JCS2VBR3J5NFdTaWRIVjBiQ2dDQUZxUXNxZmRCMlI2N04yKzYvcmFaYTlPUWdsV2ZaVmFWUTNBS3FFVmNLSTBOQXdEQURxVzM3Y1dnMU5CZzBKSEI3RE9hZmY0S0tVaEZBUVNuZ0ZyRTFQS3hZUUFBMklIWTB6TUZwUVlHQTlqVy94Z0NvQktIVGJvNUFBQ2Jpa0dwNDRzL1ozODZEd0pUN05lVklTaUh6Q21nSnJHMDc2TmhBQUJZazB3cDhxT2ZiRUVFcDRDYXZBcUNVd0FBcXhPVUFqcWdyQStvU1N6dDgwcGpBSUJmaVkzT2p5KytCdVY3UUFka1RnRzFpZGxUNnRNQkFCWkpQVHBQUTJxSEFOQUptVk5BYlN5MEFBQVdPYjQ0bWYzNjNYb0o2SnJnRkZDYndVMmFPZ0FBU1NyaGkyL2dpNzJsRGd3SVBURTFCT1ZRMWdmVUtKYjJUUXdEQUZDMTQ0c1lpSW9CcWJjR2c5NDVPNW9haEhMSW5BSnFKRlVkQUtoYnlpU1BKWHdDVThEZUNVNEJOVHFZTGNnRXFBQ0FPaDFmeElibjhVMThBNE1CNUVCWkgxQ3I1N1BQcFdFQUFLcVIzc1QzWmZZNU5CaEFUbVJPQWJVYU5YMFdBQURLbDdMR1l4bWZ3QlNRSGNFcG9HWksrd0NBOHFVeXZwZ3g1Y0VjcGJnMkJHVlIxZ2ZVTEpiMmpRMERBRkNrbENVZWcxSkRnMEZocmd4QldXUk9BVFY3MGZSZUFBQW95L0ZGTE4rTFpYeERnd0hrVG5BS3FKM1NQZ0NnTE1jWHcrQnRmRUNQQ0U0QnRYdGxDQUNBWWh4ZmpFSUtUT2t2QmZTRzRCUlF1ME9sZlFCQUVWSmc2dHhBQUgwak9BVVF3c2dRQUFDOUpqQUY5SmpnRklEU1BnQ2d6d1NtcU04M1ExQVd3U21BMkN3MHZkRUdBS0JmQkthQUFnaE9BU1N5cHdDQWZoR1lBZ29oT0FXUWpBd0JBTkFiQWxOQVFRU25BSktEMlNMdmhXRUFBTEtYMWl3Q1UwQXhCS2NBYmowM0JBQkExbEtmVElFcG9DaUNVd0MzWkU0QkFQazZ2amlZL2ZvMXhJeHZxTnZFRUpSRmNBcmcxa0hUdndFQUlFY0NVMENSL20wSTZMMnpvMy90L1djNHZ2Z1NaTjJVSXBiMmpRMERBSkNWNDR2VDJhK0hCZ0lva2N3cDJINmhFSjllQ1V5VjQwVnpUQUVBY2xsdmptYS92alVRUUtrRXAyQjdBbE9PS1FCQU80NHZCck5mVHcwRVVESmxmYkE5YjNncno1dWd0QStncHMzL2NLdi8vOW5SeENEU290ZytRbFkzVURUQktkaHVNVHNJc214S2RIaHpiTStPcG9ZQ29JajdkZHpZeDh5VHdUL1grVjF1OW84djd2N1Q5ZXh6MWZ3NTNrZit1dk9mWGMvdUxWY09DR3ZNclpPZ3p4UXM0bHBhR01FcDJJN0FWTm5IOXFOaEFDakMrOWxuMU5IZkZZTmV3NlgvYlFwa1RadlB0My8rTFB1S24rZktZVE4zZ1lmT2pxNE5RbGtFcDJBN3J3eEIwY2RXY0FxZy94djgrTEFodDBiU2crWXp2UE56eGwrbklXVURmTHY1WGNDcWR1ZUdBS2lGNEJSc3Z0aU5pMHBwMXVVNnZIbGlxZndDb00vMzZvT2ViZkFIemVkRjgvUEhYK045YUJKU3dHb2lXNkNhdWZ2V09oT29pZUFVYk82TklTamVxNkNlSGFEUFltQ3E3NDJrRDV0UHl2NDZ2cGdIcS82UVdWV29GRlJWemdkVVJYQUtOcWZmVkIzSCtKMWhBT2psQnY5Rm9mZnEyMkJWeXF5NkRERlFsYktxcGc1OEVXTHpmbS9uQTZvaU9BV2JMWGpqb25CZ0lJbzN1SG05dUNmVEFMdThoNmFHNFdkSGx5My9IYlgwNjdrTndxV3NxczhoQnF3RXF2cDZmZ3hEZDgzNzJaMUZhOFZZZ3Z2amtmL1AvNGJscFpzRGU0MUh1YjRWU0hBS05xTVJlbDNIZW1JWUFMYmFjTWRnVVF5Z1BHOSsveEJTeGs5YlNpam4yOFE4cStyMFRxQnFyRTlWcnlqbnk4dDhEZmp0d1Q5UE93MEFwd2ZqQjNmTzgvam4vNzN6NTlyNmswMU56ZklJVHNGbVJvYWdHbkVUOWRvd0FHeTBvWXJYMEZmaGZubGRmQXZkU1l0LzV6QW92Wjl2WU9lQnFoZ0kvTnhxdGhxN21ydERBN0VYazVBQ0hqOUM2amQ2bFZWUTkvNExlaVpMNXMvQm5mTSsvdm5wblQ5RDl2NWxDR0NqaGZZWEExR1ZsMVV2Nkk4dlJxRy9xZVZQTGZURGVQYjV5Mm04ZE1GL1loQjJmczJJMTR2NDBwRFJrazNSczliS3BkUG03SHRRRHJQTWRYTk4rS1RzTDh0ejU2dDdWaWZpM0kvQm52a2JNSzhLbjFmeGVuallYSmRMbVYveHVEMHpsY3NpY3dyVzk5d1FWSG5NYTM3YS9NcGl1ZGRHaHVCUko0WmdaeHVnRnl0c2ZpNWI3dU1YMzJnM2NEQ1dPbWpHS0RaVGo4ZmhnNzZLMlp3L1EvZmFWc1YxM0xkUVl6KzI5SDJuVFdtZ09VYTJCS2RnZlVvRmF0emNIMSs4MDdNRDRLY045VUZJQWRBWWxCcXM4UDk0MStMUEV2OSsvWHBXTjd6NUhGL0VqV3NNVW8wTnlWNlp1N3NWMTJ6cFRaYktXYUVYQktkZ3ZZVnZYSUNyMjY1VERFcGF1QU9rKytFZ1BGNjZ0OGk0NVl5RmN3ZG1JNE9ic1R1K09BMngzQytFang3R2RINCtEWU9NbGwyWkI2U3MyY3JtR2xVZ3dTbFlqNUsrdW8rOWhRNVEreVo2RUZLR3gyaUQvL2NIbS91c0hUVEg5czFzUEFXcHV1VXQwTnVKOC9SVGFEOEFUajUrR0lMeUNFN0I2Z3ZmK1d1d3FkT0xtMDJaUlE5UTV6MXdFRFlQU29VZ2E2cFBCS202WDErT0RNUkc0alZGU1NvVVFuQUtWaWN3eFl1YlJUcEFQUnZuUWRndUtEWFhadFpVL05rR0R0Yk9DVkoxNDYwaFdOczBDRXBCY2Y3SEVNREszaGlDNmttN0Irb1Fzem1PTDA1bWYvb3piQitZbXJTV05aV3lUazRkc0ZiTmcxUi9Obk1DYTR0OWljSFJHSlQ2VFdBS3lpTTRCYXN0Zmdlelh3OE5SUFVPbTdrQVVQSTlMMlp5eEtEVXJ0NGU5cW5GbnpiK3JGNVUwbzBVcERxKytMUEpWbVA3YzIwWVpQMnRLalk2ajBHcEUwTUJaVkxXQjZ1cHJhUnZIUFEvV0NhT2k0VVJVT3BHK1h6SG0rVnBhNjl4VDFsVHNwcTdOd2pwN1g0eDR5ZG1zVXdNeWNaa1RmMWF6Slo2M2RwMUJNaUd6Q213ZVBoNUk5Rm1ieEJ6QVNBdk1TUDArT0xMN0U5ZncrNnpPR1JObFd0NE0yZU9MODZiUUNIcjA4LzBjWk9Rc3FVRXBsZzBOeWlNNEJUOGV0RWV5L2xxS3VtN2JIcUR1T2d2Tm1qbUJFQUo5N2lUMmEvZlc5d2tqMXY2dVdWTjVXTVVVajhxamIzWG04UHhuQlBVV3k0MjRIK21DVC9VUTFrZi9GcHRtVEx6cDl5ZlEzb3F5dUk1Y1dVWWdCNXZqT1AxUFRZU2J6UFlmdG5peGxMV1ZGNVNZL3JqaStjaGxXQk5EY2t2UFRjRVM3M1c4QnpxSTNNS2ZxMm1sT3VyT3d0S0tkVExqUXdCMEV2cExYd3hLQlZMK05yT0F2M2MybmVRTlpXcllmQld2M1hHaXA4SlRFR2xCS2ZnOFFWd1hMZ1BLdnJHdHh1SjlMUmJnR3F4Z3lZZEg2QlA5N1M0R1k0bGZGMlVYMTIzMkNkRzFsVCs0bHY5dml1RHQ3NWNrOEFVVkV4d0NoNVgyNVBaaHh1Sno2YkFVdEx4Z1Q1dGhrOUNPdzNQbDJsemd5bHJxaDlpQU9hN1hsUUxEUTNCVDk0SlRFSGRCS2ZnY1RWbHgxeisxQ01pUGZYV2lOTGNBUG9xWm1qRURKYVl5ZEt0dGtyNlJrSFdWTi9FWGxSZmI5NEt5ZHhUUTNEUGVMYm0vR2dZV0lQZXJ3VVNuSUxsQytEYTNxTHl4NUwvWEduZllnZk5KZ2tnMS90WXZFWjEwVnZxb2Vsc285bld4dUc5QTl0THc1Q3lxRHpZdVIwUGtuaXRlR2NZV0l1M09CWkpjQXFXcTYxc2Exa1E2ZzlUd1J3QmVpUTFQVCtmL1NsKzl2R1E1YktsN3hVMzlBTUh1TGZpWFB6U05PU3YrZnc4RExMLzdub3QwQUJFZ2xPd2JHRmYxeHZabHIvdU81WDJUVTJLaFY0MGN3VWdwNDN2MXozZnc5cnFWNmpYVkJuZU5zM1NCNVYrZjAzaWIzMXNNY3NTNkJuQktWaXN0clR6WDIwa2xQYVpLMER1OWxmR2QxYzdKWDBwa09GNlc0NTVzL1JoaGQvOWQ0Zi9SbndvK3NFd0FIT0NVN0JZVGVWYXE3enUyMXY3bHZNa0g5aS9WQ3ExcnpLK3V5YXV0YXdvenRXdkZiN05UK1pVOGtrNUgzQ1g0QlQ4dk1DUGk2VzYzdEwzSytrcCtOVGtXTExJOUFZaVlKLzNyT09MTHlHV1N1V2hyVDZGSXdlN1dLYzNQZExxS1pNZk91UTN2SjJQVGRtVEZFcHdDaXlBVjkxSWZESTFsbEpxQW5RdkJjYS9ablVOK25VbTdpYmZzN2EzNTlhNjl2cGFmSURLdzZ5NXNhd3B0akExQkdVU25JS2Z2YXJxNHI3NlJrTGZLWE1HeUdlVG0zcjI1RlVpMU5aOXdqVzJEdk0rVkNXWHZRMGM1aHZlQkEzOFJIQUs3aS8yQjZHdVhnQ3JieVRPanFhelg3MVJaZG1DdXV6Rk5KRFh2V29VVXNaVWJsa20zMXI0cnJXVjJ0ZHVFRklHVmFuMzFLRkRITnJKc0FSNlQzQUs3dk9XdnQzKzcydml5VDdRdmhTWXlxSHgrU0p0YkRoSERucDE0dHorM3N4MXlqTXhCTUFpZ2xOd1gwMXZBOXJrZGQ5alUyUXBUL2FCZHFXM21wMW5mRStadHZEdkZmaXYxM21CQWFxbkRtc0xHWlpBRVFTbjRIYlJIMVBJQnhWOTQvVWJuS2ZtbFZLeEZ4dk01dERRTUFBdDNhTmlVT28wNDU5dzBzSjNqdmRrSmROMWl3R3FFOE5RbEtraFlFdWE2UmRLY0FwdTFmWjBkdE1na3lhVzVoRFFwUlNZR21YK1U3WnhiNUNSU3ZTK09RZEtNSEE0QmFmWTJnOURVQ2JCS2FoekVYeTFSZmxGREdwNVltRU9BVjNvUjJBcW1yVHc3eFR3WjI1VVNJQnE0RkFDTENZNEJXbnhQNnhzd2JCNVkzT2xmWTg1bU0wbEFTcGdWL2VtdmdTbXJwcDd3eTYvZTd3bksrbmpybEZCR1ZUMU9qdWFHQVJnRWNFcFNHcDdPanZlOHYrdnRHKzU1NFlBMkZwL0FsTlJHNXROZ1g0V0VhQUNLSlRnRk5TM0NMN2MrZ24zMlpIU3ZzY1h6Z2VHQWRoWXZ3SlRVUnY5UHdUNmVldytlOTdEODNybzBJWDVDNGdBZmlJNEJha01xNlpnd3E2eW5wVDJMZWVKUDdEcFBhbHZnYWxvc3VNeGlQZGtHM2tlTS9JV3Y5N3lBSTl0ZVVCZUtNRXA4SmErVFgweWRaYnl4QjlZMy9IRjI5Qy93TlIwaXhkc0xETTBHVmhCZkl2ZnlERDBqdURVL2p3dDVIdGNPWlJsRXB5aTlvMUF2RUhXbE9VeTNsblQyck9qcStCMXdNdThhSnI1QXF4NlA0cWI3Tk1lL3VTVEZ2NmRBdnlzNmx5QXFuZVU5UUVMQ1U1UnU5cktyM2JkeUZ4cG43a0ZiQ3VWbC9lMXlYTWIvYWFHSmdWck9OZlBxVmVlR2dKZ0VjRXBhbGZUMDlucnBwSDVMaW50Vys2VklRQitLVFVIN3ZQYng2NTJQQjZEMmE4REU0TTFmZEZvdXplR2hnQllSSENLbWpjRWNmRmIxMXY2ZGkzMUdWSDN2ZGloMGo1Z2hmdlExOURuSGl4blJ4TWJWekp3Y0hNdWVWdHVYNjU5STRNQVBDUTRSYzFxSzd2NjNMTi9id2tzdm9CbG03TzRpZjRTK3QwY2VOTEN2MVBKRDVzU29Pb1BmZVdBbndoT1ViT2F5cTZtTFR6ZG50TjN5aHdEMWhkTCtmcGVodFJHNXV6UTFHQUw4Wnc2TlF6WjgrSVlOdGZlbm9ZOUU1eWlUdW1HV0ZOdmd2WUNTS20wejAxaXNZRWVHTUNDZTlCSktDTjc5OGVPeDJVUTlKdGllNlBtSENOdjd3MEJjSmZnRlBVdVhPcnl1ZWYvL2o2VFBRWGNTbS9tSzJWVHR1dk1LY0Y4ZHVWOWM2N2xaT3F3UEZpTGU0QzNqMnYyWkkzUHRTR2pTLzgyQkFnWVZIQWpPanRxdTJsNXpNdzZONjBXaW92amQ0WUJLT0ROZlBmdC90NmkzeFM3ZEQ0NzU2NmFETzhjenBmcDdPZHhWTzZMSlpqUERFTm5jN0NiOWVqeHhYQ0QvMWZzRlNkWVdUbkJLV3JkSEF3cStzYnRaeldkSFYzUHhqVUdxRjZZWUQ4WjNEeTlQVHZTbXd2cXZ2Y2NoQlNZS3FWWmN4c1BQV3hNMktYMDBvSGppMmMzNnhSeU5Kd2RuN2V6NC9QUlVCUms4NTVRMXNxVlU5WkhqV29ycytycVF2K0hxYldVdDlJQU1VT2dwT0NMWnVqMGdRYnBmYmcyS3U4RGd1QVVkUnBWOUYyN1MyYy9PeG9IdGVuTHlDaURtaDFmakFxODkveTE0ekdxY1hONjViN1owYm92bllNNW1Eb2NDMzFwc2t1QmlnbE9VZHNHSVFZSmFycjVmZXI0NzVPT3U5aEJSZ3Rqb052N3ppQ1VtYmt4MmZHL3I4YmcxT3R3ZHZTZjJlOHZaNTl4RUtocTAybHpMdTdiMUtGWUtCNmJyd0pVVURmQktXcFRXM2xWMThFaXBYM21IbkRmbDFEbVE1RmRiN0lIbGMyTDZUOE41V05Qd3JPajE3TS8vUlppd0dyM2dUL20vYWZJMmFGakJIWDdseUdnS3NjWGY0ZDZNcWZpWXZmbEhzYjR6d28zR2F2Nmo2YXNuYy9Ia3hCZktWNjNaMXMwSjhYOFcrenM2Rjg3SHF1dm9hNmVVK01tSUxWc1BPSjk5RTFJNWFDeVNYYm53MnpjVDF3VE1qODM0bHVPclplZ09qS25xR21UVU5zQ2IxOVpURXI3bHRON0N1cTU1eHdXdkFtZHRQRHZIRlEyUTc0OSt0L0dmcEhwdGUrLzNXelVsWVB0eW52TnQ3TVgxK3RLL0tCQ2dsUFVwS2F5cXZpMGFWOUJvcyttMmxLdkRBRlVJRzJxU2k1UG1iYnc3eHhVTmtzbUsvMnZZdmJJMmRISDJXZGU4amQxZ20zdGZJOS85NVhoWDBrTUlBcFFRV1VFcDZocG8xQlQxc3JsM3RLaFV3OE5pK2ZGaHBrMFpBWGFGVE9tU2o3WHZhbHZPOU9OM3FRYjM0cDdHNlJTOHJTNXc2YThiaDhjdDNXT1V3aC95blNEZWdoT1VZdmF5cW4yM1poYzlwUzVDSFZLRzZtM2hYL0xYV2QvMUpZZHNkMzR4U0JWS3ZmN0VBUTdOcldmOGo3OS96YTVObnozeG1Pb2crQVV0YWlwbk9yNjVzMC8relUyNWN4RnFOUjVCZDl4MXdHUllXVno1TnZXLzRaVTduY3krOU9Ub05kajM4N1ZxYUhmNEZnZFgzeFI1Z2RsRTV5aWZLbU1xcWFGNy80WHFhbGNRVitGeFE2bHFFT3g5NXVUa0VwUnlpYjdZMXRYT3p3VzArYk52TStDb01jbTkrT1RQZnk5anRObVl1WjV6S0lhR2dvb2srQVV0ZHpNYXZJcGs1OURhZDl5c3FlZ05PbEJ5QnNEc1pHbmxYM2YzVCs4U1FIRG1FWDEwWFJheTVzOTlJTDhadGczRm85VmJKUitLb3NLeWlNNGhVQkFXYVpOUS9JY2pFMjlwZlNkZ3ZLY2hqcDZKMDBjNnEzdjArMzBpVXFsZnU5Q3lxTFNpMm8xQjgyNTJ5V1o1ZHVMZmYxa1VVRmhCS2NvVzNvYVZsTUpWVDU5SjlMaVd4K014UVpLKzZDb2UwM2NJQWs2YjY2bTYrRzBnL3Z2SktTRzZlN0JxM25SY1pCRGNHcFhhNm1VUmZYRm01Q2hESUpUbEs2MkVvdFBtZjA4ZjVpQzVpWlU0THlpNzlwR1NkS0I4ZHV4bEVVVmUxRzljM3BtZGc2bnZweFRRNzR6ODE1VUo0WUMrazF3aWhwdVdMVzRhaFk4T2ZIVTF0eUVzaDFmeFBLU2dZRmdSZDJXMjUwZHhSNVVUNEl5djE4Wk5PZHlWeWFHZktkaWdQdjk3QmorT2Z1TURBZjBrK0FVSlc4WURpdmJNT1RYZ0R5VjlvMU54aVVMcWVNTEFTcm85MzBtYllqcU10M3hHQTRyRzcvdVM3cFNMOHJmZ25LeVgzbmZZWk50VGRIYkVkZjk1N1BqK0ZVL0t1Z2Z3U2xLVmx2WlZLNVpTa3I3bG50dUNLRFhZcVpGYlcrTW1qcnNQWlFlRnNWRzZXT0RzZFJCYzA1M1lXSzRXelVNcVIrVklCWDBpT0FVSmFzcEsyV1NZVW5mZkVFY2cyYktDUlliZVJVeTlGUnF3UHZlUUxEbVBYR3l4Nzg3OXFGNkhRU29Idk8raytiYStrNTFaUmdFcWFBM0JLY29kZE1RQTFNMWJmby9aLzd6NlQyMW5OSSs2T3NtdGthN0Q2NE1US1hPajJFTVVHbVV2djl6Mjlxb084TWdTQVhaRTV5aVZMV1ZTK1crd1Bsa1NwcXJVSXlVV1RFeUVEc3hxT2k3VHJQNVNWS2o5TmVtMzBLalRyS250RDNZaDJGSVFTcU4weUZEZ2xPVXVHbUlHVk0xWmFOY05yMGs4cFdhc1U1TnpvVmVLTzJEM2xIT3h5Ynl1ZytlSFkyREFOWCt6dkdVaGFqdHdYNE1RbXFjSG9OVUo5WmhrQWZCS2NyYzdOZFYwdGVYSjIvUzE1Y2JHUUxvaWJxenBpWW1RR0VFcUpiZmw3dkpuckkyMnE5NGpHTWdNZ2FwempzNjVzQVNnbE9VcUtZeXFldG1ZZGtIbjAzTnBWNFpBdWdOV1ZPVVJZQnFuK2U2dGdkNWlBKzFSeUVGcWI0cStZUDlFSnlpTERXVzlQVm44UnRMKzY1TTBvVU9QYTJEWHR4akJrR21JeVZLQWFvUEJ1S2U5ck9udEQzSTBURGNML216UG9PT0NFNVJtdHJlZk5hM1pwcXlweDViQkFPNWt6WEZOdkorUUhOMmRETDdkZXd3M2ZPbWc3OUQ5bFNlQnVHMjVPK0xiQ3BvbitBVUZoSDlGVXY2K3RhclFHK0Y1WlQyUWM3cXk4eGRmTjloRy8rWC9VOTRkaFRMK3lZTzFUOUdIVFRMSGh2bTdNVnJmOHltK252Mk9aMTlEZzBKN0o3Z0ZDVnRIQVlobGtmVm8zK0xtYk9qcVVYdlVnT0xIY2phMjFEWHl6WVcrV0VhVk9GbFVJWS9kOUNjKzIydWphNkRBRlhmNXNQMzJab3RmdDU2MHgvc2p1QVVKYW50aWZablAzZHhaRTlCdnQ0WUFxcVFnaVV4ZzBxbVhIZjNacVY5L1JNZktKN09QbjhyKzRQZEVKekN4cUdmcGswVHpUNVMycmZjQzBNQUdVcWJEay9IcVVkYVkzaURYekpvUGZDUXhudGlxSHU5ZnB1WC9jWGZyZWRnQTRKVGxMSnhPQXlwY1dFdCtwdDlsSjdJQ2xBdFh3QmIwRUIrWkUwbFUwT3dsYWM5dTEvSGU3VTMrQ1ZkWkU4WjYvNkxEekZHczg4WGdTcFluK0FVRmczOU5PNzV6LytIS2J2VWMwTUFHVWtQUC9TRGl3OFZ6bzdHaHFFeTZRMStFd01SaGsxdjB6YkhlbUtzaS9Jd1VIVXFVQVdQRTV5aUZEVmQ3SytheHVKOVh1ekdEWTVlRnVZeTlJR3NxWFM5VnVKVkwvMm5rdmNkL0IyeXA4bzBiNlF1b3dvZUlUaEYveDFmRElPU3ZqNVMycmRzQWFPcEp1UnlmNGtiQ2h1SStQYTJWSkpOamRJRE1jSEpMcTRGS1h2SytxajBkWjdTUDFoSWNJb1MxRmJTVjhxaVJXbmZja3I3SUovTmFPMk4wRDgyRzJaMnN5bnRwOVIvNnJMNjQ5Zk53Nk4zVHBXcXJnbHhUZ2xVUVJDY29wek5ReTB1ZTEvU2QzK2hPelY5bDh6cGxMRUI3TmVyeXI5L3ZFYTNYV1pVVTBaVzMzdVhLZS9yNHVGUld1Y3A3NnVQUUJYVkU1eWkzOUpGdTZaTmZHblpSbExYbDdNZ2dmM2VYd1loTmtHdTI3c095dm11VExhZVNIT2g5cXllRjYwM1JrOCtCZy93YWlaUVJaVUVwK2k3MnNxZlNndm1mRGFGbDNwbENHQ3ZScFYvLzhzbXc1VmQ2aWF3MFo3MFFwTko1VWV4aTk1VFhrTEFuRUFWMVJDY29zOEx2SVBLTmcrWHhUV2tQVHVLVDh5bkp2TkN3OTV2WXFEZmFnNFF5NUJwVHduWDlkcURKdDFjRzFLdnQ0OU9HZTY0RzZqNmMvWTVuWDBPRFF1bEVKeWl6MnA3YXZEWjl6TEhnUTZreGY2ZzRoSDQxR0YvdzJsbFk5di9lWlhtUnMxQms4TU9IeDU5Q0I3aXNmeGE4bmIyK2Q0RXFrNDgxS1R2Qktmb3M1cEsrcTRMTHE4WW04cExLZTBENTE3WDRrYTR1OEJES1MvNVdHOURXWUlQb2U3bTZDODZPai9pR0w5MFNXYUY2OHI3MlNjR3FiN2V2RlhTaTNYb0ljRXAraWxkY090NlMxK3Awc1pFUTl6RkRxVnJROEVienp4OUtLNkVQQysvRjNMdmpuUGtVOFhIOFZXSFl4M1hTTXBzV2RWdzlqbWZmZlNub25jRXAraXJVV1hmOTdQdlp3RU1kS0R1a3I1cDAvQzZhelU5b0Nnbm0rSHM2Q1RVVzNKMjJHa0oxZGxSekdiMGdnSTIyUzk5VWZaSFh3aE9ZY1BlajgzQ3BQRHZPRGFsbC9MRUM3bzFyUGk3ZjlqVDMzdHRmcGt6N3MrL0ZCdlJ5elJuRTROd1cvYjM1YWJzRHpJa09FWC9wS2gvVGFWTzVUOHBTK1VCbmdndVcxQW83WU11MVpxdHVLK3NxZlIzMTdXT0tlZWFudWJNdE5KejV1a2Uxa294UUtYc2xtM0VvT3E1YkNweUpEaEZINDBxKzc2MWxMejlZV292OWNZUVFDZEJnMWh5Vldzd2VKOFpNSDlWTnRhSDVrNGhtL3l1bTA2bi9sUFBYS3paZ1VHNG4wMDFOQ1RzbStBVWZWUmJTVjh0S2R3eXB4NWJBQVBPdFhidk5lTzkvdjExK2Iyb2I1UG1UcTNaUE1NOWpIZGNGNzUydVdiSDk3NnZUVGJWVzIvNlkxOEVwK2lYK2hyVjF2TW1uSlN1UGpiSkZ6cnd0aFhveE5OS3YvZStNMSttbFkxM2lkbDV0YjY1YnovWGpCUVFGS0JpMStJZTZ6U2tiS3BUSlg5MFRYQ0t2cW10RjBodDJVUksrNVo3YmdpZ2RjTUt2M01PUGYrdXpMUGUrMWpwTldOL0Q0NEVxR2hQekp4NkcxS1E2bHpKSDEwUm5NSWlJRjlYczRYSHRLcWplM1owR1RUNlhHWWt6UnBhVkY5bTd0eTR5VnpkNTdYL3VycHJmMm1idlhxem53ZDd6UzRSb0tLTDlXY3ErZnNxU0VYYkJLZm8wMEx1UldVYmg4K1ZIbW05cDVaVDJnZnRxWFhSblVzNWx1d3BjOG14M0lRQUZkM044M2xmcXBIaG9BMkNVL1JKYldWTll4c2xLajhIb0VzMTlwdWFaSlNoVzF0d3FyenJlV3JVZlZYaGVmUTBnN0dQYTBZQktyb3dtSDNPQmFsb2crQVVmVkpUMXNqbDNzc3M5cnU0blpydVM4NEJwWDNRbHNNS3YzTk9HYnAvVlRmZnlyeWUxNWoxbmNlMVE0Q0tiZzJDSUJVN0pqaEZQNlNTdnBvMjViVTNCbGZhdDV3RkFPeitIak1JOWZXYnlxRVIrbDAxWnR5VStOQnRYT0Z4ekNmUW1BSlVUNEwrblhRbjNqdm5RU3J0SjlpSzRCUjk0UzE5ZGZsc3lqc1hvTlBOWlgzeXl0QTlPNXBVZUF6S0t5Vk5jNnJHTmN4aFJzY2dCbnFmaFRvRHZ1elBZUGI1b25FNjJ4Q2NJbi9wYVZSTmtmaHh0U1Y5OXhkV0ZsWExGc0Q3ZkRNUUNCS1VJc2NNM2RxdSt5L01yV0xrdFJtL0RWREpSR2NmNTBJTVVIMnhYbVZkZ2xOWXZGblU1VXIyMUhJalF3QTdWVnZtMVBWczg1cmpwclcyNE5SQm9XVXdOUVpFZnMvdUo0b1BPcytPWHM3KzlNRWxuajN0MzJLcDM0bCtxYXhLY0lvK3FLbU1LZGNOZzhXdGN3SktOcXpzKzA0eS9ibCtWRGozU254cjMzWEdjNnd0aHhrZmo1UFpyeStEUGxUc3gvdVFnbFFqUThHdkNFNlJ0NVFPV3RPbVFVRG1kakUxRFVyN2xobk16bzFEd3dBN3VjL1VlQzdsbXFFN3FmQllsUG9XMXRxeXdBZFpIOGYwNFBOSnBlY1kreGZQamZPbUg1WDFLMHNKVHBIL29xMHVueHh5NDdFaTJWT3dxMDFsZmZKOEVKTDY1TlM0YVZQYVY0YThOOTN4b2QvWlVleERwY3lQZlJuT1B0OXZTdjFnQWNFcGJNRHpNYTEwWVc1eHV4bXY2NFVhTnBTN2Q1WDVTemNtMWpvRlNOblBVOWVTTEk5TkRBdzhDYkxUMlovMzRmaml1eXdxSGhLY0lsK3BwSyttaTVaQXpNOExxR3Zqc3RTZzBFYTYwTFhmSy91K2s4eC92bThWenNGaG9XKzFtbFIySFAvYm8vVlZERkxIQUpVc0t2WWw3dkZrVVhHUDRCUTVlMVBaOS9WMnVzVzh2WEM1NTRZQXRqYW83UHZtZmsyZFdQTVVvN1pBWS84ZXFNcWlZdjlrVWZFUHdTbHlWbE5XeUpXU3ZxVUxwM0h3aGhubkNOaFE3dTUray9jMWYxTHBQQndWMkJpOXRtUFp6MnZKL1N3cTZ5MzJkZTU4OVVZL0JLZklVNHFlRHlyNnhyS21IcWUwYjdFRE4zTFk2bDR6cU93YjU5NXZxdVpyZm5tTjBldnJPM1hROCtOMUVsSVdsVFVYK3pwLzRodjl6Z3Q5Z3lrckVKd2lWN1c5aWN4QzRIRksrNVpUMmdlYkcxVDJmU2M5K1RtL1ZUb2YzeGY0bmVyS0NqKytHUGI2NTA5djlIczUrMU44cTkvVUxZSTlHSVdVUmFYTXIwS0NVK1I4WWFyRlZmTjBrZVdMcFJpOGsycSsyQXRQbUdCanRTMStmL1RrNTZ6MWdjMmd3R3pZSDRFK3Jyc21zODl2c3orOXR2NWlUL2ZtcjcwUDlySTJ3U255azk1QVZ0Tm0rNU9EdnBLeElWaEs3eW5ZVEcyQjNXbFBOc2JUVUcvV1JtblpVNVBLamw5Wm0rblU5ek1HcWZTalloLzNaMzJvS2lNNFJZNXFLMU5TMHJjYWZibVdlMlVJWUNPL1YvVnQrOVZzWFBaVUdhWXVNNzIvYmx3My9haGlrR3BzUU9oWTZrTkZGUVNueUZGTldTQ1hQV2xPbThQaTZNb2lkNmxoaFkyZFlSZHF5cHpxVysrZm1uc05scE05VlYvYmduSUQzaWxJRmN2OEJLbm8ya2lBcWc2Q1UrUWxQUzJzYWJPZzBmZDZaRTh0cDdRUDFsZlQvYVpmRDBKU2xsZXREMjlLeTU2YXVLWVVKRFZORjZTaWF6RkE5VVdmMWJJSlRwR2Jta3I2NHFKYlNkOTZMSUtXVTlvSDY2dXBJWG9mMzRCWDh6M3l0S0JOMkxTaTQxYlB4bG1RaXU3RkI3RmZCYWpLSlRoRlB0S0ZSa2tmankrRWFuc3Q5VHFiYksvZEJaYnI0LzJtNXV6aXVDWjZXOGgzK2F1cWUzR05hN1BiSU5YSG9IRTY3WjlqQWxTRkVwd2lKN1dWSlNucDI0elN2dVZrVDhHcTZ1dlQxci9BL3RuUlplVWIzZmVGek5PcEMwNEZVcERxWGJoOXU1L2pUbHRpZ0VvUHFnSUpUcEdUTnhWOTErdG0wYzM2ak50eStrN0I2Z2FHb0JmR2xYLy9FalpnVTlPNEl2TzMrNTBkeFNCVnpLaVM4VTQ3YTE1TjBvc2pPRVVlMHBQQm1sS2h4dzc2eG91ZXVNZ1ZvRnEyMlZiYUJ5eStkazU2K3BQWG5pMGIzOGJxd1VPLzFyUkRnL0RQZFdjOCt6eVovZW1adFM4dGlFM1NUdzFET1FTbnlFVnRDeStsYWR0UkVybmNHME1BRkxTNWpWa1gwOHBINGJ6WC9WWDZHeGhsbDNQZ3RpOVZMUG5UbDRwZGVWdlkyMDJySmpoRkxtcnFsVE50RnR0c1R1YlVjcDZ3dzJvMFUrMlBUK2FxL2lvVUlQV2xpaVYvL3dtcDVHOWlVTmlCYzVVRFpSQ2NZdi9TeGFTbUM0ckF5dmFMbS9qRWJXd2dsbXhpbElEQUttcTY3L1I5QStpK21mcXJ1TFpUMGxvdWx2ekZjajl2K1dNWHZNR3ZBSUpUNUtDMk40eDljc2gzUW1uZmNzOE5BVkRRSm5ZYUJLaWk4eDYvdlcvcThMSDAvSTV2K2J2TnBuS3VzNGtZbVBwaUdQcE5jSW9jMVBRazhLcFpaTFA5WXFiMlY0dy9adVRwRVZBWXZScjdYZDVuN2NNcWE3dVlUZlV5cEd5cWQrWU5hNG92a0RneERQMGxPTVYrcFpLK2djVTFHL0owYlRubEgwQkptOVpMRzlWL05sL2VUcFg3TVdMYjh6MW1VMzJjZldLUUtyN3RieHc4a0dRMTcvV2Y2aS9CS2ZhdHRqZUxDYWJzbG1EZmNrcjdnTklvaTAvZTZqOUZOZUpMaE9LYi9sTFozMHRyYVZiZ0JSSTlKVGpGdnRXMHVKb282ZHY1Z21VU1BFbGZmbTRwN1FQS01nNnlKMjQzWDdJRHFHL2RkOW1VL1huYkg0ODVWTjdYVDRKVDdFOTY2bGZUNWxtV1R6czhRVnR1WkFpQWdqYW0xNjc1LzBqOXB6eUVvTlpyd2YyMy9jWCtWRmNHaGp2ZTkvZ0ZFdFVTbkdLZmFpczdzcUJ1aDZEZmNxOE1BVkNZRDRiZ0h6Rno2cXRob0dxMy9hbGlieXFCS3U1UzN0Y3ovellFN0VWNjBqZXE3RnYvUGZ2ZWpqM2RibHppVXlQbHBFQkpHOUhqaTNHUUdYcjNPbjkrMDVNSFhCL2lldWZqelNkbHpjUXFqVmNoQlhLcFQzeUJ4TEJwQTBJUHlKeGlYelR5aEc3WXdBR2wwUmo5NFhVK0JxakloYXlkSE1pb0l2RjIweDRSbkdKZnZFa011cUcwRHlodDB4azNtQk1EY2M4bzh3YkFOZlhHMHJRL3Yydkdva0NWYTBnZFluYnB5REQwZytBVTNVc2xmVEtub0JzRGIzUUNDcVQzMU0vZVo3d0pjeDhpRDdlQnF0aE1mZjdXUDMxaFM3ODIwZ3VDVSt6RHlCQkFwMlJQd2MrbUZYM1g4Z0lEcVlmSXhEVCt5YmtzQVZqNU9qSi82OS9Ma0FKVjhmZHhrUDFXbWtIemxuZ3lKemlGalRLVXp3MFpmamF0Nkx1V1dsSWxlMnF4ODh4TC9DQS9LVkIxZWZOeWdiT2p1NEdxcWNFcHdodERrRC9CS2JxVjNwd2h0UnU2NVlrUlVPSm1jaEtVNHl6elBwc202VXJMNmVmMVpSNm9pajJxWXErcStCYkFxWUhwcmFGclVmNEVwK2lhRFRMc2g1Y1FRTTNLWFpTL2MzQ1h5dVV0ZmdkVmpiclgxcGQ0VEs5bW4zY0NWYjBuZXlwemdsTzRLRUFkQkliaHZ0cDZpcFFaSUlqTmpWUHBEWXZGQU5YMzVtVTA1aDVzZjgyNUc2alNvNnB2YStIOVhndjVCY0VwdXBPZTJnNE1CT3hwYzZCSkx0emZZTlNsNVB2dkI1dkRSOFgxMTljOVpzOHBwYUhVKzhqREhsWEtqSE5mQzN0WW16WEJLYnFrRVRyc2w5SStxTmVnNEEzaWRQYnJKNGY0VWZNQTFUNDJadit0YUp5bnBscWxVcUJxL3RhL1dHNThaVkNzaFZtUDRCUmRFcW1HZlorRDBwbWgxbzNrNzRWL1B6MWdmaTFlLzcvTTdnT25IZis5QTljVXFwSGUrdmR4OW9tOXFlYjlxV1IyNXJVV0hoaUdQQWxPMFkzMHBNNkZBSEs0S1FNMWJpVExEa3pIRGFIbTZLdDYyL1NoNm1wZHBxeVBPdDMycDRyWlZLOW5uNGxCeWNMUUVPUkpjSXF1U0tHRVBDaXZCWXZ4VWplQ2x6Wi9LNHNCb3hpZ2V0dnEzNUt5ZFd2SzJQMW1hckhrK2pTZWZaNkZsRTAxRHJLcDdFdjVpZUFVWFpHdEFibHNVS1V6UTUwYnlmMDF4TzdTYTlONlpURm9kRHFiRjE5YnZDL0ltb0s3VWpaVnZFN0Z0LzNGYk0rcFFiRXZKUkdjb292RjhJdmdOY0xncGd6czI2Q0NqVi9jNkgxd3FOY3lETzFsVVEwckcwdE5zRm4xV2pYdlRSV0RWSy9ObmIzc1Q4bU00QlJkVUVZRXprbkkwYVN5NzF0SEZzdlowVW1RamJDdWVSWlZERklOZC9qdi9iMnljVlNxeFNiWHJISFRRUDFaVUpyY2xhZUdJRCtDVTdRcjlSb1FtWWJjTnFoMWxQY0E5UzdHbGZkdGVuOElJWmI1bmUrbzFLKzJlNDNzRnpaM2RqUnArbElKVW5WenJTTXpnbE8wVFdBSzhpUjdDdUpHb0M3RHlvN3RSNU44WTZQWjU4OXdmSEhhUEdoY1gvci9EU3E3cHNpY1lqZlhyOXNnbFlDbisyRTFCS2RvbTdjaFFKNEVqaUdwYXpOWlY5Wms3RDAxTmNXM0V2dFF4U0RWeVFhWlZMVnQvaWFtQ3p1VmdsU3gzTysxYTFrcjk4T2hRY2lMNEJSdG52QURHMkRJMWtCcEg5eW83YWwwUFl2eGxNV2l2Rzk3TVFQcWZVaEJxblhLL1dycjZUSTFWV2pwV2phZS9ScURWREhnTGp0dmQ2eURNeU00UlpzRXBpQnZid3dCVkJlY3FpdGdvTHh2MTBZaEJhbStydkMycTlyV2dYK1pIclI0TGJ0dVh2WVFnMVFUQTdJVHZ4dUN2QWhPMFNZOWJTQnZBc2hRMzRheXZ2UCs3T2hkMExkbDE0YXp6NWR3ZkRIdlMzVS9BeUZsVncwcUd4TUJBN3E0bmsyYmZsUXZneXlxYlEwTVFWNEVwMmhIV3BSSWxZUzhIYXp3NUJ0S1YxL1Fvczd6L3JXTlhHdWJ1OWlYNnZ0c1hzWFAyeVpRVmVNY201b09kT2JzNkRMSW90clcwQkRrUlhDS3Rvd01BZlNDbHhaUSt3Sy94b1g5MHdxUGN3eEN2alBoV3hXRFVxY2hCcXJTN3pXNXZzbG9nVzZ2YS9Nc3FnOEdZMFByditpQkZnbE8wUllsZmRBUG80MWZFdzdscUMxN3FzNk15ZFJVZUd5NjR4cENZZGUyazltdk1VZ2xPM1I5QTBPUUQ4RXBkaStsY3p2UndVWVZiQ3h6WFl6WCs3Wk8vYWRvd3pkRHdGNmxMT0FZb0pvYWpEWHZoMlJEY0lvMnlKcUNmbEhhUisxK3VGZFhzNEdMbVFYNlQ3RnJBcDdrY0gyTDgvQ0orYmlXZ1NISWgrQVViUmdaQXVpVkYwcjdxTnlreXZPKzdnM2NhOU1lMXhBS3ZMN0Z3SHZNb0JLZ1dzMy9Hb0o4Q0U2eFcra05RRGE1MEQ4alEwREZpL2thRi9HRHF0L1dtZDUwcFlrd3V6QnRBZ0tReS9WdEhxQ2FHb3hmOG5iNWpBaE9zV3ZLZzZDZmxPTlN1NGw3ZG5VYnVKUFpyNWVtUHE0ZEZIaDlpd0dxbDBFSk16MGlPTVd1YWF3TS9YVG9kYnBVcnNhR3h0N1dtY3I3bEwvZzJrRjVsREN2UXNWUFJnU24ySjNqaTVFVEhIcStVWVY2VFp6M1ZXN2U1dVV2c2d0dzdhREVhMXpNRHYxb0lKWlMxcGNSd1NsMlNVa2Y5SnZTUG1wZXdOZTZ3WHpqMkF0UXNiSFliMnBxR01qY0I5YzMra0J3aXQxSVpRRksrcURmWW9Oa1Q1Q28yYVRTODk3OU81Vy92SFFLNEpwQmdkZTNHSmg2WnlESW5lQVV1MkpoQzJXUVBVWE4vcWowZTh1ZVNodTRTZENmQmRjTXlyeStqWU8zOTVFNXdTbHNhSUc3QkpxcDJhVFM3ejBNeHhkRGgvK2ZEWndBRmE0WmxPaURJU0JuZ2xOc0w3M2h5NklXeXFERWgzcWwwcTVwcGQ5ZTl0VHRQQmpieExHQ1NWTXVCWDBSbTZPYnMyUkxjSXBkc0pHRnNuaTVBYlV2M3V1OGw2ZUhUVVJuUnllelg4Y0dna2NvNmFOdjE3WHJpdTl4eThrY3pvYmdGTHVncEE5SzI2UkN2YjVWL04zUEhmNTdHN2xZM2pjMkVDeGhrNDk3SE95UTRCVGJTVy8yOG5ZdktNdkI3TndlR1FhcWRIWlVjOW1EM2xNL3p3Y0JLaGE1bXMyTnFXR2doeWFHZ0Z3SlRyRXRXVk5RSnFWOTFLem1qSWozRHY4REFsVFk0RlBPOVd3YXZMWHY0Wmc0bnpNaE9NVzJsUDlBcWVmMjhjV0JZYUJTTmZlU0dYb3B3c0xOaXdBVmQzMDJCUFRZMUJDUUk4RXBOcGRLK2dZR0FvcGxnMHFkNmk3dGkwNEZweGZPaXhpZ2VtMGdxbmZWdk5rVCtrcmZLYklrT01VMnZIWWF5cVpzbDVyVlhObzNtSDNlbWdJTG5CMk5nd0JWN1dSTkFiUkFjSXB0eUtxQXNnMjlXcjZRNDhnbWFuOU4vSHZuL3hLM0FhcHJnMUVsYittajc2YUdnQndKVHJHWjFJOUN5aitVVHhDYU9xWFN2dG9YOE9jbXd0TDVNWjc5K2l3SVVOVm00aTE5Rk1BY0prdUNVMnpLbTd5Z0RrcjdxRm50R1JJeGUxSjUzektwNzFBTVVPay9WQThsZlZDV2lTSEloK0FVNjB0TlVtVlRRQjBPbTVjZjBGKy9HNEtOZlRJRXl2c2VKVUJWazVnbHA2UVBvQ1gvTmdSc29MYVN2dGROK2o0bFM5a0Jwd1ppb1ZjMlhyMm1CSHRUc1h6bitHSVM2dTdiRmVkUExPOTdaa0lzblNjeGFQRmtObGZpT0kwTVNMRXVtMk1OUUF0a1RyR0pta3I2cmdXbXF1RTRMeWRUc3Q5a3ZtMUhHVThxN3pzeERMOXdkaFNicEh1VFg3bGtVa0o1dmhtQ2ZBaE9zWjc2U3Zxa2I5ZXpxWkN1djl4QWFWK3Z5WnphN3Rvd0RwcGVSN0c4YjJnWVZwb3ZUOHlaNGx3MUpaeFFBbXM2c2lRNHhicHF5NkQ0d3lGM3ZMbnhwcmNiQ29LZ3d0WmtUQ1JmbW9kVVBDWUZNWDRMR3UyNkJrQ2UvbXNJckJOekpEaEZMUnZVVFZ3M3J4S25IbzczY2k5NmV4NFRlVXE2bmJFaHVCRURVMThOd3dwaU51N1pVZXpUOWNGZ0ZMRWVkQTJnSkVORFlKMllJOEVwVnBmZTFsUFRCc2RDcE1iTmhPTytmRk42ZktIM1ZIOTVZOTkyMTRhcGE4TS9EcHZHMzZ3MmQwNUNhaVp2QTlSZnNxWW9hVDkzRUR5d3VudU5uaGlFZkFoT3NZN2FOcWFhNE5aSmFkOXl6dzFCYncwTmdYdkNEbzFtRzV5UllWaHI4eFBML0dUbjlrOE1LbjQwRE5qUEZYdCtreEhCS2RaUlUwbmZWT1BMYWpjUmwyNVdqMjVJOVp2cHAwR1QvY3JtMTRaSjBFUG9yblBabEd2Tm4xZ2E5bkwycDNmdU1iMXkyV1JWUXlsZUdZSi8yT3RsUm5DSzFhUTNkZFcwc2ZHRXZQYkZLTXYwYlRNNmRjaitNVFFFVzlNLzZMNXpiL0pjMDlsUnpNS0piL09iR0F6blBIUzhueHRhQzl3ak9KVVp3U2xXVlZ1VWZleVFWMDEvaWVYNlZkcVhlZ1hSeDJPWDUzeWFCQUhQdTFLRGRBR3E5YTlMcVZtNkxLcmMxNEx1SVpUbHZTRzQ1NGNoeUl2Z0ZLdXFLWFgveW1LaytvM0RsUTNvSTljQ3BYMk9YZDFrVXR3blFMWDV2V2FlUlNWYjE3a083WkkxdFhqUFIxWUVwMWoxWWphbzZCc3I2U1BZTER4cTFMT2ZkK3FRL1VPUG9HMmxWOHFiVS9jSlVHMCtuNlpOTDZxWDVsVlc5cHMxRmRmZXh4ZC8zcng0d0VNRnRwOVBjUTU1eStyUDExL0JxY3dJVHJHSzJrcjZCQ1dJQkNuTHVTYlk4TlY3UFcrTGpJcWZDVkJ0dDBtS2E0OG41cFp6L002MWVoQlNRQ0VHcWZSM1l4dW5vYTVFZzFWTURFRitCS2RZUlUxUDJpK1Y5TkZzRk9MVEZFOVVGanYwNXJmZUdqcDJPN2sraklPZzV5SUNWTnZOcS9oR3Y1UFpuMzZ6Y2RxcmZXZE54V3YwNk1GNUZmLzUrK3kvaTUrM3NxbFlZejZOUXY4eTNydnd6UkRrUjNDS1gxM1FYalEzeFZyODRhQnpoK3lwNWZxMDBMRUF1ZStOSWRpSjE0WmdJUUdxYmQwMlRJK2ZxUUhwM0w2enBoNXJXaDNQcTVnRjgzZVRUYVZVbTEvdDQ1VHpMVFl4QlBrUm5PSlhhbnU3azVJK3pJZlZLQS9yTHoxTWRoTkFtRmpjTGpVUFVJME14Wlp6N093b1psSEZRT2pVZ0hUaVEyWlpVNDlmeTBQNE12di94RURWcVlBd0QrWlNuQThDVTQvZnc4bU00QlNQWGRRT1FsMXBvSmMzS2ZWd2UrT2Eybnd1TmVqUlF0Z3gvRGx3OE5ZdzdPUWVLY2ozK0R3N3Z5bEJZdHQ3MGJnSlVzV01IdXVVOXNTeC9iam5uK0g5RnRmMDcwMFQ5YmZLdDZ1L1B3MURmRURnSHJWOHowZVdCS2Q0VEcycHdrcTRNQy9XMDVmc0tadTVuNzJSUGJYVnd2K2dXZmpMVlBpMTA2Yjh5SHpiMW0wL0trR3FkbnpZNjBQSzlNQm50T1cvWlJCUzJkK2ZkL3BURFJ6YXF1NVBveUF3OVN2YVBXUktjSXJIMUZUU2Q5MjhLUWNlTWkrVzYwY0EyNnVDRjVFOXRmbkNYMkJxZldtelpKTzhpK3ZaOVlNZzFkU2c3RVRzODdYdnJLblRIZi83NXYycEJLcnF1VC9GNDYyVXo5cSt0LzVsQ0ZoeWNSdmMzTXpxRVZQbU5iZGwyZm53SmRTWFNiaXFsNzBJN01hRnVXRENJcjk1UStuYTk4WXY1dExHWWxiS2F3K0RkajR2UnlHVmd3ME14c2FlN2JVSHpXMFpWaGZpQTV2UHdSdXEzWnZxZERXYjkwOE1RNTVrVHJGTWJSdHhiK25EL05oTVh6SXNMY0FYODRSMTljVi9YUFFMY203bklLUUd6c3I4ZHVtMkoxVjh1OS9FZ0t6dE1vUG15Tzg3L0xzZVpsUnBwdDd2ZTlOYjk2YTFhTmVSTWNFcGxxbnBUVnhUVDNINTVjSmZmNDlsK2hMSS91RlFMVFRVc0hxbHhYK2M1M3A0N000b3BPYk5RME94MDN2VkpLU0hLZTVYcTR0ajlXN1AxNWZoemJWNFAySkFZOTVNL2U4bWNQeEM4TGdYOTZYNFlwcDRYenAxYjFxTFBWL0dCS2RZZkxHcksvcnVJb1Y1c3JtRG5yd3VYdCtwNWQ1N2F2N29QVEZ1M0w1WS9POWNYR3Q4YmJJMmpLMk42cjU4eXFDMExaY00xdmxidXVQMTd1K2IrWlQ2VkxrLzVIV3VIelM5cFdMN2xhRUJXWE10cUpRMWEvODJCQ3d3cXV6N1N1OWtGWDlVZUc2c0twYjJqYk5ma1BEWWhpUStMWCsyMXpkVjViZ0JTSnRHL2ViYTlmWm1qSTh2M3NsaTNuaXVub1Q0Qms1QnFVMDJxaWQ3UG5aeFhUSElkSHlHWVI3OE9MNklHL3BKU0c4NW05amc3KzJlOU5hNXZwVlBoaUJ2R3FLejZPTDNaNmlucWVhMDZkTUF6bzN0L0NmN3dJYmo5eXV4NzhwTHd4RG0vYVZpWUVyR1FMZmk1dmUxamUvSzgzVFl6RlBYdGMwODJldmJYRk93NFh0UGo5OVZ1QitzOG1DajNYa2lLTFc5T0VkL00xZnpKbk9LUlF2eW1oWTVzcVpZYi9PZUZnajhMR2FYakh1d21MYUplK3dZeG40anRiKzVOSlh4blpvT2V6RU1xVWx6dkpaOEVLUjZkSzEyR3BUMGJPUERYZ05UeWRzZTM1TU93MjIvcWpnbjU4R3FIMEZtMWE3TzgzaCt4eDdBSTRPeG96Vzh3RlQyQktkNDZGVmwzM2Zza0xPR3owRnc2ckZyUis3blUzekNxMFRyY2FQWmd2akhiQUgzc2NLTlFOd2tudHZ3WnpJUFU3QTBsbUI4dEtHNE4wZmYyNnh1TFlkeXZwZ0I4NmFnTVowSHErYmZieHJTQTZGdnpYaFBUTHVWei9FWHpkd1lHSkNkVXRMWEE4cjZlSGhScktuc0pkNHNuempvT0VkMjVyZXNuNWFtYklQdkR0TkszbFVWb05LekoyY3hNRFVPZVRTdTN0ZjhIQVlaRkx2MFpPOVpVekZMdGI3ak9Ra3BZUFdqV1lQckJabm1RbHhUdm1qT2NhWGtiYzI5czZObmhpRi9nbFBjdlRqR0MrTVhteS80NVNiMnZZSG82VGtWWDVVdEFMR3FjZkVsZm1uVGYycEQwS001R1ROWWE4bkNTT3V5R0RRZE92UTc4eUdEcktsQlNHOWFJd1dzcG1FZXNFcEJxK3RLenUybnpibnQvdE8rMk10d2JCanlKempGM1F0bGJVOXgvcU5VQUl2S25jby9HL0g0SWdiZ2xmYXQ3ckpaMUYwWGVCNmZtZ3M5dnRha0VvM0xRdWRtWEl2RkxJcUJRMTNnUGVyNDRtc1FjSHpNZFpnSHFrTDRxL2w5MnR2TXlYUk94d0RVMCtaM3g3NWJYbjdWSTRKVDNMMTQxcFJSNEsxVWJIT3VmQStlZEMzekpPdFUvZlRhN25PSGFlMUF3T3NpU2pEMDdDblJlUGI1WXpZL0wzczhMK1BhS3daS253Y0IwN1pjTi9lbjZaNlA5WEQyNjFlSFk2djdVVHlXM3g3ODgvNHpydEo1UE8rOTlkODdmNWF0dlYreXBucEVRM1RtRjlRWGxWMDgvM0RRMmNMbklEaTF6S3Rtc1ppcmlVTzB0dFNyNi9oaS8rVXdtOS9qQmtGUXFsU2prQnI1eDQzcFpiTnB6VCtqS3MzSllSQ1E2c3E3VERKdlBCelovbjRVd3FMc28rT0wrT3YxblRWSS9QT1BPLytMYWZONTZIcmh3NWNVU0h4b0VHNHpHdi9iL1BuQW1qQmJVNEdwZnBFNXhmd0NYRnVwaTVJK3RqbGY0a0xrYndPeGRDSHdXK2JIVCtiYjVxNmFUZDZrSitkcTNGeG9KRjN2WEkwUG9pWWhuNnlLT0IvMW1lbGVIdjN6amkvaTIzNVBIUTdvakt5cG5oR2Nvc2FOZHZsTmZ1bml2Tkc3YUxuY1MvdHNFSFp4SFUyTmhhZVozdE5Hd2F1NHVXL2V3MmJlZUxtOUhqWXBLeXAraHJQUDd5RUZvc3pGL1IzM1o1a0VKMk8vU2lWZTBOVzU3NjNzdmFPc2oxRGhCbHRKSDd1YVI0SlRpOFdnUU00QjRGajZJemkxblZGSXBWVGprTVBiMC9UczRkZm0vVi91enB2NDYrU2ZqVXdJLzNmbno3OEtaZ3lDOHA3Y3hXUDRNcE5NK2RNZ01BVmRlbWNJK2tmbUZMVzlOU1RXbGYvSFFXZEhtMkdsZlgwOXo1VDI3ZG8wM0w0OWJkclJNWnkvOVNpV1NRbElBUSs5ektKUmZycFdmWGM0b0RPVDJibi96REQwajh3cEcreEJxT3VWcHBjT09qc1JuOFNtckpHUndmakp3YzFMRnZKK2U1YW05cnNWN3lXbk41L2ppNnVRc2xGaWR1RnVldjNjdmdVcDNxOStiMzZYaFFBczh5R2plNUJNWGVpVzlpMDlKVGhGYlUrYlB6dms3RkRjZkk4TXcwS3h2Q3JuNE5UWWhxRTE4L0twdHpmL2RId3hEU216NnVHcnZ4ZTVXeGIxKzUxL0ZvZ0NWcisrNS9KbTBlT0x1RVlZT2lUUW1UejdZYklTWlgyMXE2dTBKZiszaU5ISGMraHZHK2VsOG40cjV2RkZmS1gzeUdFQ0tFWWVEZERUUFVZVGRMRFhZdzMvWXdpcTNsUVBRbDFsTFVyNk1LKzZsWHRtcGt4S2dITEVnTlN6akI2S3ZBOENVOUFsNVh3OUp6aFZ0emVWZlY4YlVkcnd5UkFzOVR6cm55NjlZVzdxTUFIMFhsNkJxZFFFL2EzREFwMzV1UGMzQjdNMXdhbTYxZFJ2S3FaNVhqbms3RnlhVjFNRHNlUWFrOG9hY3ZiQllRTG92WmVacmZQME5JVHVYRm5QbFVGd3FsYnBpYzZnb204c3U0VTJLZTFiYnRTRFkzZnRNQUgwMXV1c01pWTBRWWQ5WEFPczVRcWdJWHBPamkvaWpleXJnZWkxeWV6aStNd3daSGR1L1QrRDRMeDdaSDZjaE5RYkJJRCtiVXJIR2EwM05FR0hicjJiWFFNK0dvWXl5SndDb0haeFVlT0pHMEMvZk1ncU1KVm9nZzdkdVJTWUtvdmdGQUIxUzZuZ1NuOEIrbU04dTNhZlpQVVRwUW9JVGRDaEc3SFBsTGZ6RlVad0NnQmtUd0gwUlF4TTViZ3AxUVFkdWhIWGEvcE1GVWh3Q2dEU0FzZWJYZ0R5bG1kZ0t2VXVQSFI0b0JNdnZZVzlUSUpUQUJDbHZnVlRBd0dRcFZ3RFU0UFpyMjhjSHVoRVhtL25aS2NFcHdEZzdxSUhnTnprV3NvWG5RZE4wS0VMSHpOOENRSTdKRGdGQUhQcGFkeWxnU0Fqc1hUaHQrWjNxTkdIYkFOVHh4Y3ZacjhPSFNKb1hReFF2ek1NWlJPY0FvRDc0dUpIazAxeU1HLzZPcDM5L3V4bWNRNTFlWjNkVy9ubWppOWl0dFM1UXdTdHl6bHpraDBTbkFLQXUxSWdRSE4wOWkwR3BwNzkwL1ExTnUxUGkvT3hvYUVTcnpNdjRWSE9CKzBUbUtxSTRCUUFQSlNhbzA4TUJIdTArRzFFYVpIKzBmQlFzSGxnZHB6dFQzaDhNWno5K3NLaGdsWUpURlZHY0FvQUZuc2RsUGV4cjduMzJOdUlVdDhOQzNaS05BOU1UYkw5Q1pYelFSY0VwaW9rT0FVQWl3TUFVd0VBOW1DMVVxYjB2M2tXQkZBcFIycit2eWhqTUMvdlo1K0J3d1d0RVppcWxPQVVBQ3dQQU1RMzl5bWhvaXZyOWRoSjJTWFBnamY1VWNKbU5HVk01UjFzVGVWOGJ4MHVhTTFIZ2FsNkNVNEJ3T01CZ0hjMi8zUmdzK2JQS2Nza0JxZ21ocENlK25DekdjMC9NS1djRDlxL0Q3NHpEUFVTbkFLQVgxTStSVnV1dzdadkpVdHY4b3R6VkpZZmZadjdzZkgvU1U5K1h1VjgwTjYxNEZubWIrZWtBNEpUQUxESzVsK0FpdHdYNU9tSjgwdnpsQjZJR1g5UG10THAvQjFmRElKeVBtanJXcEQzU3hEb2pPQVVBS3kyOFk4TEtIMFEySlZwc3lDLzJ2RTh2UXo2VUpHM2NUUDNwejI2L3NlZjliZm1ad2QyNDdLVit5QzlKVGdGQU90dC9BV28yTlk4YStTcXBYazY3ME9sekkrY3pNdjQ4dTh2dGZpOG1qYU5tbU9RYXVKd3dsWmlyN21YdmJ3VzBCckJLUUJZYjRNeURnSlViQzdPbi9iZlNwYjZVQ256SXhmOUt1TjcvTnlhTmozZXZJZ0ExamR0N29FbmhvS0hCS2NBWVAzTnlUZ0lVTEcrN3Q5S2xvSUJNajNZOTd4LzBxc3l2dFhPcllrZ0Zhd2wzbytlNkMvRk1vSlRBTERaeG1RY0JLaFl6Ynp4K2NtZTV1cjhiWDd2Z2l3cXVqUFBsam9wK2xzS1VzRXE5OENYeXZqNEZjRXBBTmg4VXpJT0FsU3N0a0dmWkRCZlA5NzhMRGJRdEcrZUxWVlBvK1A3UWFxeEtRQTNKcUdVa2w1YUp6Z0ZBTnR0U09JbUpBYW9QQTFrMlFaOW10RjhuY3Fpb2tWMVpFczlmbzVON2pST0g1c1NWR3FlTGZXc3VKSmVXaU00QlFEYmIwYmlCdVNaelQ2TmFjaTk0ZXR0RnBXbjJleHFJMXBmdHRUajU5amR0L3Q5Y0grZ0loOXY1cjFzS2RZa09BVUF1OW1JWERXYmZSdXp1bzFEWHhxK3BzMXpmSnRmREt4T0hUbzJORzl5ZkdJb2xwNW5KeUVGcVY0NzF5allKS1FITSsvMGxtSVQvellFQUxERFRjanhSZHpvbjg0K0l3TlNsYmpoZk5mTEo4VXBrUGJiYk83R0RmU2IyZWZBNFdURk9mL2FtN2RXUHMvaVpuMTg4em0rR0RibjJnc0RReUhYZ2c5TkZqbHNUT1lVQU94NkE1SktPZlNocWtjcWtldDdDVVBLN25nUzlNbmhjZkc2RmdPeHZ3bE1iWHl1VFpxc3hYbkozOVNnME5OcndZZm0vdWUrd2Raa1RnRkFPNXVQK0hROGx2aWR6ejZIQnFSSVY4MG1mVkxRdkkyYjVOZXp1ZnQ1OXZ2NzJXZm9NSE5IM0loK1ZMS3owL1B0NU9aemZCR3pxRjRGMlZUa0w1Ny9uMXdMMkRYQktRQm9iK09SK2xDbGNxbjNCcVNvaGZtSHBxbDRxWE4zRW1ML2tGUitGTXRVQlZqck5tN20vTlJRdEhiT3hjekx5OWs1TndncFFCWEwvZ1lHaHN6dWZZSlN0RVp3Q2dEYTMzVEVwK0p4NHlHTHF2OCtOcHYwNjBybTdpU2tBT3NvcEFDcnpYSmR4a0ZRcXV0emJ0cGNaejdPenJ0NHY1ajNwdElMam4wUmxLSVRnbE1BME0yR1k1NUY5YmJaNU50bzJLVDNhZjZPUTJya1BBcUNWT1k3WGQ0M1VnL0RWUGIzUEFoVTBaMTQvbis2dVI0SVN0R0JmeG1DaktUVSthOEdvdGRpZzh0bmhpRzdjK3YvR1FUblhXWnpNbTRzdk5HdkwvTXJ2WkhNSnYzbk5ZdWVWT1VaQjBHcFBweC9BbFcwZmQvN3JNazVYWk01QlFCZFMwOGc0NVB3K0VUeTFBWS8yMDM2WjI4ald6cUhKK0cySjFWczRqd3lLTDJsWktkLzUxL3FUeVdqaXQxZUJ5NXZyZ1VwWXc4NkozTXFKektuU2lCektzOXpTK2FVODY0UDEzOVpLSGtZQjVram04emhRVWk5Y1VZMnlMMXgxV3hFeDRhaXFMM0VQRkExTUNDc3RJYUtEMkppWUVwd21qMFRuTXJ2aGlJNFpaUE03czh0d1NublhaL3VBNEpVM1p0bmpvd0ZwWFl5ajBjaFpWT1p4M2thQjFtQk5aeUhnNUNDVk0rZGl6d3dEU2tnNVo1SFZwVDFBVUF1Ymt1bDRxWWlCcWxHQnFWVk1rZmFtY2Zqa0pxbngza3NteXFudVM0N29xYnpjQnJtYi8yTFV2bmYwNUFDVmQ0YVc1OXBTR1Y3bjVYdGtTdVpVem1ST1ZVQ21WTjVubHN5cDV4M2ZaMjdCODNHUG03d0J3NzFUc1NOK2RnQ3ZmTzVyQy9PL2pham4yUkhzT0RlY2pkWTVmNVNwcXR3Mjl6Yy9ZN3NDVTdsZGFPSU53ZkJLWnRrZG45dUNVNDU3MHE1Ujd5eXVkL1llUGI1bzJra3pIN244aWpjbGhxWnk3czFEYklqV1ArY1BHak9SNWxWL1hZZFVqRHFXMGhaa2xORFFwOElUdVYxWTRnM2dsTUQwV3RYc3h2Qk84T1EzYmtsNk91OEsyMU95MEpaZlpIK1IxREsxSWU1SERmRUF3T3k0VFh3ZHA0TFNMR3JjM1BZbkplL2h4U3NjbjdtS2Q3bnZvWDBvRzVpT09nendTa0FzTGt2eFRTa3JKRnZNcVI2T1pmakJ2aHVxUkdMM1EyOFRtUkgwTkg1R1IrRUhBWUJxMzJiQk1Fb0NpVTRCUUJsYmU2SGR6YjNwV2RWS1dFb2V6NFBIOHpuV2wwLzJKREtqaUszOHpUZWUvN2IvSDRZWlBUdVNqenZwODI1ZitYY3AzU0NVd0JRN3FaaHZsRjRlbWZUMEdkWHpjZEN2ZTVOOEh3K0R3cjlwdVk1cFp5dmcrWVRNNjNtZmEzNDJUVGNCcUdtem50cUpUZ0ZBUFZ1R0o3ZStYT09DL1c0T1A5eDgyZmxDL3c4bCtkbFJuM04ybmk0SVRYUHFlaytGTTEvbndldmNyd2Y3ZnA4ajUrL212dmJ0WE1lYmdsT0FRRHpMS3VETzV2Ny93MjNtVllIWVhkWlY5Zk5vbnorNXgvTm55Zk5RdDNUWXJhZHkzZm44ZUdEdVR6czhDZTVPOWUvM1pubndZWVVmbmtlRDVmY2Y1N2UrZk11NzAyYnVuc3V4L1A5L3g3ODUxZGV5QUdyRVp3Q0FEYlpPS3lhb1RMVkM0b001Ky9EVGUwMm05ekp2WDhTZUlLY3p1M0hETUw5VEsxZm5ic2VvQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBOFAvWmcwTUNBQUFBQUVIL1g3dkNCZ0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQURBS0FFR0FDdFl1SHc3ZldsSkFBQUFBRWxGVGtTdVFtQ0MiLCJhdXRoZW50aWNhdG9yR2V0SW5mbyI6eyJ2ZXJzaW9ucyI6WyJGSURPXzJfMCJdLCJleHRlbnNpb25zIjpbImhtYWMtc2VjcmV0Il0sImFhZ3VpZCI6IjFjMDg2NTI4NThkNWYyMTE4MjNjMzU2Nzg2ZTM2MTQwIiwib3B0aW9ucyI6eyJwbGF0IjpmYWxzZSwicmsiOnRydWUsImNsaWVudFBpbiI6dHJ1ZSwidXAiOmZhbHNlfSwibWF4TXNnU2l6ZSI6MTI4MCwicGluVXZBdXRoUHJvdG9jb2xzIjpbMV0sImZpcm13YXJlVmVyc2lvbiI6MX19LCJzdGF0dXNSZXBvcnRzIjpbeyJzdGF0dXMiOiJGSURPX0NFUlRJRklFRF9MMSIsImVmZmVjdGl2ZURhdGUiOiIyMDIxLTA2LTIyIiwiY2VydGlmaWNhdGlvbkRlc2NyaXB0b3IiOiJDYXJkT1MgRklETzIiLCJjZXJ0aWZpY2F0ZU51bWJlciI6IkZJRE8yMDAyMDIxMDYyMjAwMSIsImNlcnRpZmljYXRpb25Qb2xpY3lWZXJzaW9uIjoiMS4zIiwiY2VydGlmaWNhdGlvblJlcXVpcmVtZW50c1ZlcnNpb24iOiIxLjMifSx7InN0YXR1cyI6IkZJRE9fQ0VSVElGSUVEIiwiZWZmZWN0aXZlRGF0ZSI6IjIwMjEtMDYtMjIifV0sInRpbWVPZkxhc3RTdGF0dXNDaGFuZ2UiOiIyMDIxLTExLTI0In0seyJhYWd1aWQiOiI3NzAxMGJkNy0yMTJhLTRmYzktYjIzNi1kMmNhNWU5ZDQwODQiLCJtZXRhZGF0YVN0YXRlbWVudCI6eyJsZWdhbEhlYWRlciI6Imh0dHBzOi8vZmlkb2FsbGlhbmNlLm9yZy9tZXRhZGF0YS9tZXRhZGF0YS1zdGF0ZW1lbnQtbGVnYWwtaGVhZGVyLyIsImFhZ3VpZCI6Ijc3MDEwYmQ3LTIxMmEtNGZjOS1iMjM2LWQyY2E1ZTlkNDA4NCIsImRlc2NyaXB0aW9uIjoiRmVpdGlhbiBCaW9QYXNzIEZJRE8yIEF1dGhlbnRpY2F0b3IiLCJhdXRoZW50aWNhdG9yVmVyc2lvbiI6MSwicHJvdG9jb2xGYW1pbHkiOiJmaWRvMiIsInNjaGVtYSI6MywidXB2IjpbeyJtYWpvciI6MSwibWlub3IiOjB9XSwiYXV0aGVudGljYXRpb25BbGdvcml0aG1zIjpbInNlY3AyNTZyMV9lY2RzYV9zaGEyNTZfcmF3Il0sInB1YmxpY0tleUFsZ0FuZEVuY29kaW5ncyI6WyJjb3NlIl0sImF0dGVzdGF0aW9uVHlwZXMiOlsiYmFzaWNfZnVsbCJdLCJ1c2VyVmVyaWZpY2F0aW9uRGV0YWlscyI6W1t7InVzZXJWZXJpZmljYXRpb25NZXRob2QiOiJwcmVzZW5jZV9pbnRlcm5hbCJ9XSxbeyJ1c2VyVmVyaWZpY2F0aW9uTWV0aG9kIjoiZmluZ2VycHJpbnRfaW50ZXJuYWwifV1dLCJrZXlQcm90ZWN0aW9uIjpbImhhcmR3YXJlIiwic2VjdXJlX2VsZW1lbnQiXSwibWF0Y2hlclByb3RlY3Rpb24iOlsib25fY2hpcCJdLCJjcnlwdG9TdHJlbmd0aCI6MTI4LCJhdHRhY2htZW50SGludCI6WyJleHRlcm5hbCJdLCJ0Y0Rpc3BsYXkiOltdLCJhdHRlc3RhdGlvblJvb3RDZXJ0aWZpY2F0ZXMiOlsiTUlJQjJEQ0NBWDZnQXdJQkFnSVFHQlVyUWJkRHJtMjBGWm5Ec1gyQ0JUQUtCZ2dxaGtqT1BRUURBakJMTVFzd0NRWURWUVFHRXdKVlV6RWRNQnNHQTFVRUNnd1VSbVZwZEdsaGJpQlVaV05vYm05c2IyZHBaWE14SFRBYkJnTlZCQU1NRkVabGFYUnBZVzRnUmtsRVR5QlNiMjkwSUVOQk1DQVhEVEU0TURRd01UQXdNREF3TUZvWUR6SXdORGd3TXpNeE1qTTFPVFU1V2pCTE1Rc3dDUVlEVlFRR0V3SlZVekVkTUJzR0ExVUVDZ3dVUm1WcGRHbGhiaUJVWldOb2JtOXNiMmRwWlhNeEhUQWJCZ05WQkFNTUZFWmxhWFJwWVc0Z1JrbEVUeUJTYjI5MElFTkJNRmt3RXdZSEtvWkl6ajBDQVFZSUtvWkl6ajBEQVFjRFFnQUVzRllFRWhpSnVxcW5NZ1FqU2lpdkJqVjdER0NUZjRYQkJIL0I3dXZac0t4WFNoRjBMOHVESVNXVXZjRXhpeFJzNmdCM29sZFNyam94Nkw4VDk0Tk96cU5DTUVBd0hRWURWUjBPQkJZRUZFdTloeVlSclJ5Snp3Ull2bkRTQ0l4ckZpTzNNQThHQTFVZEV3RUIvd1FGTUFNQkFmOHdEZ1lEVlIwUEFRSC9CQVFEQWdFR01Bb0dDQ3FHU000OUJBTUNBMGdBTUVVQ0lESFNiMm1iTkRBVU5YdnBQVTBvV0tlTnllMGZRMmw5RDAxQVIyK3NMWmRoQWlFQW8zd3o2ODRJRk1Wc0NDUm11SnF4SDZGUVJFU05xZXp1bzFFK0trR3hXdU09IiwiTUlJQjJEQ0NBWDZnQXdJQkFnSVFGWjk3d3MySkdQRW9hNU5JK3A4ejFqQUtCZ2dxaGtqT1BRUURBakJMTVFzd0NRWURWUVFHRXdKRFRqRWRNQnNHQTFVRUNnd1VSbVZwZEdsaGJpQlVaV05vYm05c2IyZHBaWE14SFRBYkJnTlZCQU1NRkVabGFYUnBZVzRnUmtsRVR5QlNiMjkwSUVOQk1DQVhEVEU0TURRd01UQXdNREF3TUZvWUR6SXdORGd3TXpNeE1qTTFPVFU1V2pCTE1Rc3dDUVlEVlFRR0V3SkRUakVkTUJzR0ExVUVDZ3dVUm1WcGRHbGhiaUJVWldOb2JtOXNiMmRwWlhNeEhUQWJCZ05WQkFNTUZFWmxhWFJwWVc0Z1JrbEVUeUJTYjI5MElFTkJNRmt3RXdZSEtvWkl6ajBDQVFZSUtvWkl6ajBEQVFjRFFnQUVuZkFLYmp2TVgxRXkxYjZrK1dRUWROVk10OUpnR1d5SjNQdk00QlNLNVhxVGZvKyswb0FqLzR0bnd5SUwwSEZCUjlTdCtrdGpxU1hEZmppWEF1cnM4Nk5DTUVBd0hRWURWUjBPQkJZRUZOR2htRTJCZjhPNWEvWUhaNzFRRXY2UVJmRlVNQThHQTFVZEV3RUIvd1FGTUFNQkFmOHdEZ1lEVlIwUEFRSC9CQVFEQWdFR01Bb0dDQ3FHU000OUJBTUNBMGdBTUVVQ0lRQzNzVDFsQmpHZUYreEtUcHpWMUtZVTJja2FoVGQ0bUxKeXpZT2hhSHY0aWdJZ0QySllrZnlINVE0QnBvOHJyb08wSXQ3b1lqRjJrZ3kvZVNaM1U5R2xhcXc9IiwiTUlJQmZqQ0NBU1dnQXdJQkFnSUJBVEFLQmdncWhrak9QUVFEQWpBWE1SVXdFd1lEVlFRRERBeEdWQ0JHU1VSUElEQXlNREF3SUJjTk1UWXdOVEF4TURBd01EQXdXaGdQTWpBMU1EQTFNREV3TURBd01EQmFNQmN4RlRBVEJnTlZCQU1NREVaVUlFWkpSRThnTURJd01EQlpNQk1HQnlxR1NNNDlBZ0VHQ0NxR1NNNDlBd0VIQTBJQUJOQm1yUnFWT3h6dFRKVk4xOXZ0ZHFjTDd0S1Flb2wybm5NMi95WWd2a3NabnI1MFNLYlZnSUVrekhRVk91ODBMVkVFM2xWaGVPMUhqZ2d4QWxUNm80V2pZREJlTUIwR0ExVWREZ1FXQkJSSkZXUXQxYnZHM2pNNlhnbVYvSWNqTnRPL0N6QWZCZ05WSFNNRUdEQVdnQlJKRldRdDFidkczak02WGdtVi9JY2pOdE8vQ3pBTUJnTlZIUk1FQlRBREFRSC9NQTRHQTFVZER3RUIvd1FFQXdJQkJqQUtCZ2dxaGtqT1BRUURBZ05IQURCRUFpQXdmUHFnSVdJVUIrUUJCYVZHc2RIeTBzNVJNeGxrenBTWC96U3lUWm1VcFFJZ0Iyd0o2blpSTThvWC9uQTQzUmg2U0pvdk0yWHdDQ0gvLytMaXJCQWJCME09Il0sImljb24iOiJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUZBQUFBQVVDQU1BQUFBdEJrcmxBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQkhacFZGaDBXRTFNT21OdmJTNWhaRzlpWlM1NGJYQUFBQUFBQUR3L2VIQmhZMnRsZENCaVpXZHBiajBpNzd1L0lpQnBaRDBpVnpWTk1FMXdRMlZvYVVoNmNtVlRlazVVWTNwcll6bGtJajgrSUR4NE9uaHRjRzFsZEdFZ2VHMXNibk02ZUQwaVlXUnZZbVU2Ym5NNmJXVjBZUzhpSUhnNmVHMXdkR3M5SWtGa2IySmxJRmhOVUNCRGIzSmxJRFV1Tmkxak1ERTBJRGM1TGpFMU5qYzVOeXdnTWpBeE5DOHdPQzh5TUMwd09UbzFNem93TWlBZ0lDQWdJQ0FnSWo0Z1BISmtaanBTUkVZZ2VHMXNibk02Y21SbVBTSm9kSFJ3T2k4dmQzZDNMbmN6TG05eVp5OHhPVGs1THpBeUx6SXlMWEprWmkxemVXNTBZWGd0Ym5NaklqNGdQSEprWmpwRVpYTmpjbWx3ZEdsdmJpQnlaR1k2WVdKdmRYUTlJaUlnZUcxc2JuTTZlRzF3UFNKb2RIUndPaTh2Ym5NdVlXUnZZbVV1WTI5dEwzaGhjQzh4TGpBdklpQjRiV3h1Y3pwa1l6MGlhSFIwY0RvdkwzQjFjbXd1YjNKbkwyUmpMMlZzWlcxbGJuUnpMekV1TVM4aUlIaHRiRzV6T25Cb2IzUnZjMmh2Y0QwaWFIUjBjRG92TDI1ekxtRmtiMkpsTG1OdmJTOXdhRzkwYjNOb2IzQXZNUzR3THlJZ2VHMXNibk02ZUcxd1RVMDlJbWgwZEhBNkx5OXVjeTVoWkc5aVpTNWpiMjB2ZUdGd0x6RXVNQzl0YlM4aUlIaHRiRzV6T25OMFVtVm1QU0pvZEhSd09pOHZibk11WVdSdlltVXVZMjl0TDNoaGNDOHhMakF2YzFSNWNHVXZVbVZ6YjNWeVkyVlNaV1lqSWlCNGJYQTZRM0psWVhSdmNsUnZiMnc5SWtGa2IySmxJRkJvYjNSdmMyaHZjQ0JEUXlBeU1ERTBJQ2hOWVdOcGJuUnZjMmdwSWlCNGJYQTZRM0psWVhSbFJHRjBaVDBpTWpBeE5pMHhNaTB6TUZReE5Eb3pNem93T0Nzd09Eb3dNQ0lnZUcxd09rMXZaR2xtZVVSaGRHVTlJakl3TVRZdE1USXRNekJVTURjNk16RTZOVGtyTURnNk1EQWlJSGh0Y0RwTlpYUmhaR0YwWVVSaGRHVTlJakl3TVRZdE1USXRNekJVTURjNk16RTZOVGtyTURnNk1EQWlJR1JqT21admNtMWhkRDBpYVcxaFoyVXZjRzVuSWlCd2FHOTBiM05vYjNBNlNHbHpkRzl5ZVQwaU1qQXhOaTB4TWkwek1GUXhOVG96TURveU55c3dPRG93TUNZamVEazc1cGFINUx1MklPYWNxdWFnaCttaW1DMHhJT1czc3VhSmsrVzhnQ1lqZUVFN0lpQjRiWEJOVFRwSmJuTjBZVzVqWlVsRVBTSjRiWEF1YVdsa09qSkZOekZDUmtaRFF6WTNSakV4UlRZNU56aEVRVGxEUWtJMk5EWXpSamt3SWlCNGJYQk5UVHBFYjJOMWJXVnVkRWxFUFNKNGJYQXVaR2xrT2pKRk56RkNSa1pFUXpZM1JqRXhSVFk1TnpoRVFUbERRa0kyTkRZelJqa3dJajRnUEhodGNFMU5Pa1JsY21sMlpXUkdjbTl0SUhOMFVtVm1PbWx1YzNSaGJtTmxTVVE5SW5odGNDNXBhV1E2TWtVM01VSkdSa0ZETmpkR01URkZOamszT0VSQk9VTkNRalkwTmpOR09UQWlJSE4wVW1WbU9tUnZZM1Z0Wlc1MFNVUTlJbmh0Y0M1a2FXUTZNa1UzTVVKR1JrSkROamRHTVRGRk5qazNPRVJCT1VOQ1FqWTBOak5HT1RBaUx6NGdQQzl5WkdZNlJHVnpZM0pwY0hScGIyNCtJRHd2Y21SbU9sSkVSajRnUEM5NE9uaHRjRzFsZEdFK0lEdy9lSEJoWTJ0bGRDQmxibVE5SW5JaVB6NDc3SlhGQUFBQVlGQk1WRVgvLy84RVZxSVhaYXZHMk9vcWNMRzJ6T09rd3QwQlNKdHFsY1hWNHUrYXV0bFdoYnprN1BVQU1ZOUhjcktqdE5icThmZUFsOGFCb3N6ejl2cGRqc0dHcXRGM244dVRzTlNacGM2SnNOVDUrdjB4WUtudThQZmY1L0w0OGZnL2ZyaWN6SmdZQUFBREFFbEVRVlI0MmtSVUNaYkRJQWpGWFpPWTFUYXROYzM5Ynprc1NZYzNyNE1FNGZNQkFhRDZ6bDh5LzlUT2dldDhkNWpmTjc4YndNL2REQ1JwUjUyMXpYZm9qSEowNUlJeWhCQVVTVkFPTmRHekJZdDJmN0tGcmZrSmFBa0hoOUZaaGNEWEhSa1RLbzlNTGloR2FhdkltblYzcXlFWDBFcHJnei80RHdVRDdrQ0hSbmQ4UUZONDNHbzRVVm1ERGd6YTR3MjdvaXpkQTIrY0srdXVVcGpqbzIreHdjLzQyVzUweDVMR1llREJzUjBIVkl4NXg4aUY2MENibGJURUVrRnIyN2JOREJVVlNxMU9LVlBiRTYyYjNFSDhGcUJnNU9PT0V1YzJ0OFpKaXFNT3VHcCtjS2pnN3dWR2Nlb3pxTjRweGdWUFFrakZZZ2JWSktEVWhEQ2pZcmF3UDVxNEVUZ0M5ZklNUkh0aXRwUWNDdkpPRUxjYk1zUWduY2lSa2xqcHlRanZHNDRqcUJVRVRGaUJpMVBFSXlla096c1crVHk1Y0xIb3M1UitkTVMxTHRTU3hmM2dRSGN6UjJDSTRnTU5wVzRJUkExUU1hNnRKNCtDNnVIdUdFOG1OREl5RnFnL09QL01NVXVlUzZJcThTOTBkQWVCSlNFeS9xS2tLK0JOd3o4Y1lZNGpiNUo2dTRpV0NJMkIxWjU2TFc1a0VjNGhrZE1wc3ZVQzU1ODVTWDBRdWJjZ05xeWZnREZFY1R0KzQwLzBTNU54MHdhQ3czT0trY09iQTVJbjBBWXAwMXBqancybjYyNlVEanRId2EyOGlIdVRLcXRydityZVc0MU5aNmlHbHI3dXVMSkNma0Z0Y3RjRzA0c2dtMWVOUytaYURucGFURXJHb3lYNUpLMmlNejh4czBuT3dXR2NQRE40OXFhQ2Q0YnpKb3pEWm0vYUJLK0Vvekx3K1hoTkJpWXdIZjBzaU91MVhQa0cvekt3dnFZS2NmU3dERWNIL29VZTA3ZXMvV1E4ckl5ZzJET1hqOHRqa1pkdURCL2I4aHpEbGxNTU9DUzVCRW5kNTM0Zjh0aTNVWmM0a01zM3hMeWFmTVNzSmhkRzhYUHFqTms1dEFnTzI1ZmVLQ2huVmREai9KMEZNa09zVS94TUJ2MHdGaFllRUdmVkgxM2Z1RFUweURGTGE0ZmM3Um5XSEJmdVRGVjJ0RW1Od2FkYzdhYzNVWTJqZkJsN0hUMzZmZTM0aVFPNW1OQ0ZGQlcwN0tqUGdxaE9MVTAxdlo4UHVlWjJKQ2xGWk44amtVczY5dWthOWVQcDYrRWZMNEFGNStOeXdTYmlySHRjQjhNbC9na3dBRWprSzY0S2pIUGVBQUFBQUVsRlRrU3VRbUNDIiwiYXV0aGVudGljYXRvckdldEluZm8iOnsidmVyc2lvbnMiOlsiVTJGX1YyIiwiRklET18yXzAiLCJGSURPXzJfMV9QUkUiXSwiZXh0ZW5zaW9ucyI6WyJjcmVkUHJvdGVjdCIsImhtYWMtc2VjcmV0Il0sImFhZ3VpZCI6Ijc3MDEwYmQ3MjEyYTRmYzliMjM2ZDJjYTVlOWQ0MDg0Iiwib3B0aW9ucyI6eyJwbGF0IjpmYWxzZSwicmsiOnRydWUsImNsaWVudFBpbiI6ZmFsc2UsInVwIjp0cnVlLCJ1diI6ZmFsc2UsInVzZXJWZXJpZmljYXRpb25NZ210UHJldmlldyI6ZmFsc2UsImNyZWRlbnRpYWxNZ210UHJldmlldyI6dHJ1ZX0sIm1heE1zZ1NpemUiOjIwNDgsInBpblV2QXV0aFByb3RvY29scyI6WzFdLCJtYXhDcmVkZW50aWFsQ291bnRJbkxpc3QiOjEwLCJtYXhDcmVkZW50aWFsSWRMZW5ndGgiOjk2LCJ0cmFuc3BvcnRzIjpbInVzYiJdLCJhbGdvcml0aG1zIjpbeyJ0eXBlIjoicHVibGljLWtleSIsImFsZyI6LTd9XX19LCJzdGF0dXNSZXBvcnRzIjpbeyJzdGF0dXMiOiJGSURPX0NFUlRJRklFRF9MMSIsImVmZmVjdGl2ZURhdGUiOiIyMDE4LTEwLTI2IiwiY2VydGlmaWNhdGlvbkRlc2NyaXB0b3IiOiJGZWl0aWFuIEJpb1Bhc3MgRklETzIgYXV0aGVudGljYXRvciIsImNlcnRpZmljYXRlTnVtYmVyIjoiRklETzIwMDIwMTgwOTI5MDAxIiwiY2VydGlmaWNhdGlvblBvbGljeVZlcnNpb24iOiIxLjMuNCIsImNlcnRpZmljYXRpb25SZXF1aXJlbWVudHNWZXJzaW9uIjoiMS4xLjAifV0sInRpbWVPZkxhc3RTdGF0dXNDaGFuZ2UiOiIyMDE4LTEwLTI2In0seyJhYWd1aWQiOiI4MzNiNzIxYS1mZjVmLTRkMDAtYmIyZS1iZGRhM2VjMDFlMjkiLCJtZXRhZGF0YVN0YXRlbWVudCI6eyJsZWdhbEhlYWRlciI6Imh0dHBzOi8vZmlkb2FsbGlhbmNlLm9yZy9tZXRhZGF0YS9tZXRhZGF0YS1zdGF0ZW1lbnQtbGVnYWwtaGVhZGVyLyIsImFhZ3VpZCI6IjgzM2I3MjFhLWZmNWYtNGQwMC1iYjJlLWJkZGEzZWMwMWUyOSIsImRlc2NyaXB0aW9uIjoiRmVpdGlhbiBlUGFzcyBGSURPMiBBdXRoZW50aWNhdG9yIiwiYXV0aGVudGljYXRvclZlcnNpb24iOjEsInByb3RvY29sRmFtaWx5IjoiZmlkbzIiLCJzY2hlbWEiOjMsInVwdiI6W3sibWFqb3IiOjEsIm1pbm9yIjowfV0sImF1dGhlbnRpY2F0aW9uQWxnb3JpdGhtcyI6WyJzZWNwMjU2cjFfZWNkc2Ffc2hhMjU2X3JhdyJdLCJwdWJsaWNLZXlBbGdBbmRFbmNvZGluZ3MiOlsiY29zZSJdLCJhdHRlc3RhdGlvblR5cGVzIjpbImJhc2ljX2Z1bGwiXSwidXNlclZlcmlmaWNhdGlvbkRldGFpbHMiOltbeyJ1c2VyVmVyaWZpY2F0aW9uTWV0aG9kIjoicHJlc2VuY2VfaW50ZXJuYWwifV1dLCJrZXlQcm90ZWN0aW9uIjpbImhhcmR3YXJlIiwic2VjdXJlX2VsZW1lbnQiXSwibWF0Y2hlclByb3RlY3Rpb24iOlsib25fY2hpcCJdLCJjcnlwdG9TdHJlbmd0aCI6MTI4LCJhdHRhY2htZW50SGludCI6WyJleHRlcm5hbCJdLCJ0Y0Rpc3BsYXkiOltdLCJhdHRlc3RhdGlvblJvb3RDZXJ0aWZpY2F0ZXMiOlsiTUlJQmZqQ0NBU1dnQXdJQkFnSUJBVEFLQmdncWhrak9QUVFEQWpBWE1SVXdFd1lEVlFRRERBeEdWQ0JHU1VSUElEQXlNREF3SUJjTk1UWXdOVEF4TURBd01EQXdXaGdQTWpBMU1EQTFNREV3TURBd01EQmFNQmN4RlRBVEJnTlZCQU1NREVaVUlFWkpSRThnTURJd01EQlpNQk1HQnlxR1NNNDlBZ0VHQ0NxR1NNNDlBd0VIQTBJQUJOQm1yUnFWT3h6dFRKVk4xOXZ0ZHFjTDd0S1Flb2wybm5NMi95WWd2a3NabnI1MFNLYlZnSUVrekhRVk91ODBMVkVFM2xWaGVPMUhqZ2d4QWxUNm80V2pZREJlTUIwR0ExVWREZ1FXQkJSSkZXUXQxYnZHM2pNNlhnbVYvSWNqTnRPL0N6QWZCZ05WSFNNRUdEQVdnQlJKRldRdDFidkczak02WGdtVi9JY2pOdE8vQ3pBTUJnTlZIUk1FQlRBREFRSC9NQTRHQTFVZER3RUIvd1FFQXdJQkJqQUtCZ2dxaGtqT1BRUURBZ05IQURCRUFpQXdmUHFnSVdJVUIrUUJCYVZHc2RIeTBzNVJNeGxrenBTWC96U3lUWm1VcFFJZ0Iyd0o2blpSTThvWC9uQTQzUmg2U0pvdk0yWHdDQ0gvLytMaXJCQWJCME09IiwiTUlJQjJEQ0NBWDZnQXdJQkFnSVFGWjk3d3MySkdQRW9hNU5JK3A4ejFqQUtCZ2dxaGtqT1BRUURBakJMTVFzd0NRWURWUVFHRXdKRFRqRWRNQnNHQTFVRUNnd1VSbVZwZEdsaGJpQlVaV05vYm05c2IyZHBaWE14SFRBYkJnTlZCQU1NRkVabGFYUnBZVzRnUmtsRVR5QlNiMjkwSUVOQk1DQVhEVEU0TURRd01UQXdNREF3TUZvWUR6SXdORGd3TXpNeE1qTTFPVFU1V2pCTE1Rc3dDUVlEVlFRR0V3SkRUakVkTUJzR0ExVUVDZ3dVUm1WcGRHbGhiaUJVWldOb2JtOXNiMmRwWlhNeEhUQWJCZ05WQkFNTUZFWmxhWFJwWVc0Z1JrbEVUeUJTYjI5MElFTkJNRmt3RXdZSEtvWkl6ajBDQVFZSUtvWkl6ajBEQVFjRFFnQUVuZkFLYmp2TVgxRXkxYjZrK1dRUWROVk10OUpnR1d5SjNQdk00QlNLNVhxVGZvKyswb0FqLzR0bnd5SUwwSEZCUjlTdCtrdGpxU1hEZmppWEF1cnM4Nk5DTUVBd0hRWURWUjBPQkJZRUZOR2htRTJCZjhPNWEvWUhaNzFRRXY2UVJmRlVNQThHQTFVZEV3RUIvd1FGTUFNQkFmOHdEZ1lEVlIwUEFRSC9CQVFEQWdFR01Bb0dDQ3FHU000OUJBTUNBMGdBTUVVQ0lRQzNzVDFsQmpHZUYreEtUcHpWMUtZVTJja2FoVGQ0bUxKeXpZT2hhSHY0aWdJZ0QySllrZnlINVE0QnBvOHJyb08wSXQ3b1lqRjJrZ3kvZVNaM1U5R2xhcXc9IiwiTUlJQjJEQ0NBWDZnQXdJQkFnSVFHQlVyUWJkRHJtMjBGWm5Ec1gyQ0JUQUtCZ2dxaGtqT1BRUURBakJMTVFzd0NRWURWUVFHRXdKVlV6RWRNQnNHQTFVRUNnd1VSbVZwZEdsaGJpQlVaV05vYm05c2IyZHBaWE14SFRBYkJnTlZCQU1NRkVabGFYUnBZVzRnUmtsRVR5QlNiMjkwSUVOQk1DQVhEVEU0TURRd01UQXdNREF3TUZvWUR6SXdORGd3TXpNeE1qTTFPVFU1V2pCTE1Rc3dDUVlEVlFRR0V3SlZVekVkTUJzR0ExVUVDZ3dVUm1WcGRHbGhiaUJVWldOb2JtOXNiMmRwWlhNeEhUQWJCZ05WQkFNTUZFWmxhWFJwWVc0Z1JrbEVUeUJTYjI5MElFTkJNRmt3RXdZSEtvWkl6ajBDQVFZSUtvWkl6ajBEQVFjRFFnQUVzRllFRWhpSnVxcW5NZ1FqU2lpdkJqVjdER0NUZjRYQkJIL0I3dXZac0t4WFNoRjBMOHVESVNXVXZjRXhpeFJzNmdCM29sZFNyam94Nkw4VDk0Tk96cU5DTUVBd0hRWURWUjBPQkJZRUZFdTloeVlSclJ5Snp3Ull2bkRTQ0l4ckZpTzNNQThHQTFVZEV3RUIvd1FGTUFNQkFmOHdEZ1lEVlIwUEFRSC9CQVFEQWdFR01Bb0dDQ3FHU000OUJBTUNBMGdBTUVVQ0lESFNiMm1iTkRBVU5YdnBQVTBvV0tlTnllMGZRMmw5RDAxQVIyK3NMWmRoQWlFQW8zd3o2ODRJRk1Wc0NDUm11SnF4SDZGUVJFU05xZXp1bzFFK0trR3hXdU09Il0sImljb24iOiJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUZBQUFBQVVDQU1BQUFBdEJrcmxBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQkhacFZGaDBXRTFNT21OdmJTNWhaRzlpWlM1NGJYQUFBQUFBQUR3L2VIQmhZMnRsZENCaVpXZHBiajBpNzd1L0lpQnBaRDBpVnpWTk1FMXdRMlZvYVVoNmNtVlRlazVVWTNwcll6bGtJajgrSUR4NE9uaHRjRzFsZEdFZ2VHMXNibk02ZUQwaVlXUnZZbVU2Ym5NNmJXVjBZUzhpSUhnNmVHMXdkR3M5SWtGa2IySmxJRmhOVUNCRGIzSmxJRFV1Tmkxak1ERTBJRGM1TGpFMU5qYzVOeXdnTWpBeE5DOHdPQzh5TUMwd09UbzFNem93TWlBZ0lDQWdJQ0FnSWo0Z1BISmtaanBTUkVZZ2VHMXNibk02Y21SbVBTSm9kSFJ3T2k4dmQzZDNMbmN6TG05eVp5OHhPVGs1THpBeUx6SXlMWEprWmkxemVXNTBZWGd0Ym5NaklqNGdQSEprWmpwRVpYTmpjbWx3ZEdsdmJpQnlaR1k2WVdKdmRYUTlJaUlnZUcxc2JuTTZlRzF3UFNKb2RIUndPaTh2Ym5NdVlXUnZZbVV1WTI5dEwzaGhjQzh4TGpBdklpQjRiV3h1Y3pwa1l6MGlhSFIwY0RvdkwzQjFjbXd1YjNKbkwyUmpMMlZzWlcxbGJuUnpMekV1TVM4aUlIaHRiRzV6T25Cb2IzUnZjMmh2Y0QwaWFIUjBjRG92TDI1ekxtRmtiMkpsTG1OdmJTOXdhRzkwYjNOb2IzQXZNUzR3THlJZ2VHMXNibk02ZUcxd1RVMDlJbWgwZEhBNkx5OXVjeTVoWkc5aVpTNWpiMjB2ZUdGd0x6RXVNQzl0YlM4aUlIaHRiRzV6T25OMFVtVm1QU0pvZEhSd09pOHZibk11WVdSdlltVXVZMjl0TDNoaGNDOHhMakF2YzFSNWNHVXZVbVZ6YjNWeVkyVlNaV1lqSWlCNGJYQTZRM0psWVhSdmNsUnZiMnc5SWtGa2IySmxJRkJvYjNSdmMyaHZjQ0JEUXlBeU1ERTBJQ2hOWVdOcGJuUnZjMmdwSWlCNGJYQTZRM0psWVhSbFJHRjBaVDBpTWpBeE5pMHhNaTB6TUZReE5Eb3pNem93T0Nzd09Eb3dNQ0lnZUcxd09rMXZaR2xtZVVSaGRHVTlJakl3TVRZdE1USXRNekJVTURjNk16RTZOVGtyTURnNk1EQWlJSGh0Y0RwTlpYUmhaR0YwWVVSaGRHVTlJakl3TVRZdE1USXRNekJVTURjNk16RTZOVGtyTURnNk1EQWlJR1JqT21admNtMWhkRDBpYVcxaFoyVXZjRzVuSWlCd2FHOTBiM05vYjNBNlNHbHpkRzl5ZVQwaU1qQXhOaTB4TWkwek1GUXhOVG96TURveU55c3dPRG93TUNZamVEazc1cGFINUx1MklPYWNxdWFnaCttaW1DMHhJT1czc3VhSmsrVzhnQ1lqZUVFN0lpQjRiWEJOVFRwSmJuTjBZVzVqWlVsRVBTSjRiWEF1YVdsa09qSkZOekZDUmtaRFF6WTNSakV4UlRZNU56aEVRVGxEUWtJMk5EWXpSamt3SWlCNGJYQk5UVHBFYjJOMWJXVnVkRWxFUFNKNGJYQXVaR2xrT2pKRk56RkNSa1pFUXpZM1JqRXhSVFk1TnpoRVFUbERRa0kyTkRZelJqa3dJajRnUEhodGNFMU5Pa1JsY21sMlpXUkdjbTl0SUhOMFVtVm1PbWx1YzNSaGJtTmxTVVE5SW5odGNDNXBhV1E2TWtVM01VSkdSa0ZETmpkR01URkZOamszT0VSQk9VTkNRalkwTmpOR09UQWlJSE4wVW1WbU9tUnZZM1Z0Wlc1MFNVUTlJbmh0Y0M1a2FXUTZNa1UzTVVKR1JrSkROamRHTVRGRk5qazNPRVJCT1VOQ1FqWTBOak5HT1RBaUx6NGdQQzl5WkdZNlJHVnpZM0pwY0hScGIyNCtJRHd2Y21SbU9sSkVSajRnUEM5NE9uaHRjRzFsZEdFK0lEdy9lSEJoWTJ0bGRDQmxibVE5SW5JaVB6NDc3SlhGQUFBQVlGQk1WRVgvLy84RVZxSVhaYXZHMk9vcWNMRzJ6T09rd3QwQlNKdHFsY1hWNHUrYXV0bFdoYnprN1BVQU1ZOUhjcktqdE5icThmZUFsOGFCb3N6ejl2cGRqc0dHcXRGM244dVRzTlNacGM2SnNOVDUrdjB4WUtudThQZmY1L0w0OGZnL2ZyaWN6SmdZQUFBREFFbEVRVlI0MmtSVUNaYkRJQWpGWFpPWTFUYXROYzM5Ynprc1NZYzNyNE1FNGZNQkFhRDZ6bDh5LzlUT2dldDhkNWpmTjc4YndNL2REQ1JwUjUyMXpYZm9qSEowNUlJeWhCQVVTVkFPTmRHekJZdDJmN0tGcmZrSmFBa0hoOUZaaGNEWEhSa1RLbzlNTGloR2FhdkltblYzcXlFWDBFcHJnei80RHdVRDdrQ0hSbmQ4UUZONDNHbzRVVm1ERGd6YTR3MjdvaXpkQTIrY0srdXVVcGpqbzIreHdjLzQyVzUweDVMR1llREJzUjBIVkl4NXg4aUY2MENibGJURUVrRnIyN2JOREJVVlNxMU9LVlBiRTYyYjNFSDhGcUJnNU9PT0V1YzJ0OFpKaXFNT3VHcCtjS2pnN3dWR2Nlb3pxTjRweGdWUFFrakZZZ2JWSktEVWhEQ2pZcmF3UDVxNEVUZ0M5ZklNUkh0aXRwUWNDdkpPRUxjYk1zUWduY2lSa2xqcHlRanZHNDRqcUJVRVRGaUJpMVBFSXlla096c1crVHk1Y0xIb3M1UitkTVMxTHRTU3hmM2dRSGN6UjJDSTRnTU5wVzRJUkExUU1hNnRKNCtDNnVIdUdFOG1OREl5RnFnL09QL01NVXVlUzZJcThTOTBkQWVCSlNFeS9xS2tLK0JOd3o4Y1lZNGpiNUo2dTRpV0NJMkIxWjU2TFc1a0VjNGhrZE1wc3ZVQzU1ODVTWDBRdWJjZ05xeWZnREZFY1R0KzQwLzBTNU54MHdhQ3czT0trY09iQTVJbjBBWXAwMXBqancybjYyNlVEanRId2EyOGlIdVRLcXRydityZVc0MU5aNmlHbHI3dXVMSkNma0Z0Y3RjRzA0c2dtMWVOUytaYURucGFURXJHb3lYNUpLMmlNejh4czBuT3dXR2NQRE40OXFhQ2Q0YnpKb3pEWm0vYUJLK0Vvekx3K1hoTkJpWXdIZjBzaU91MVhQa0cvekt3dnFZS2NmU3dERWNIL29VZTA3ZXMvV1E4ckl5ZzJET1hqOHRqa1pkdURCL2I4aHpEbGxNTU9DUzVCRW5kNTM0Zjh0aTNVWmM0a01zM3hMeWFmTVNzSmhkRzhYUHFqTms1dEFnTzI1ZmVLQ2huVmREai9KMEZNa09zVS94TUJ2MHdGaFllRUdmVkgxM2Z1RFUweURGTGE0ZmM3Um5XSEJmdVRGVjJ0RW1Od2FkYzdhYzNVWTJqZkJsN0hUMzZmZTM0aVFPNW1OQ0ZGQlcwN0tqUGdxaE9MVTAxdlo4UHVlWjJKQ2xGWk44amtVczY5dWthOWVQcDYrRWZMNEFGNStOeXdTYmlySHRjQjhNbC9na3dBRWprSzY0S2pIUGVBQUFBQUVsRlRrU3VRbUNDIiwiYXV0aGVudGljYXRvckdldEluZm8iOnsidmVyc2lvbnMiOlsiVTJGX1YyIiwiRklET18yXzAiLCJGSURPXzJfMV9QUkUiXSwiZXh0ZW5zaW9ucyI6WyJjcmVkUHJvdGVjdCIsImhtYWMtc2VjcmV0Il0sImFhZ3VpZCI6IjgzM2I3MjFhZmY1ZjRkMDBiYjJlYmRkYTNlYzAxZTI5Iiwib3B0aW9ucyI6eyJwbGF0IjpmYWxzZSwicmsiOnRydWUsImNsaWVudFBpbiI6ZmFsc2UsInVwIjp0cnVlLCJjcmVkZW50aWFsTWdtdFByZXZpZXciOnRydWV9LCJtYXhNc2dTaXplIjoyMDQ4LCJwaW5VdkF1dGhQcm90b2NvbHMiOlsxXSwibWF4Q3JlZGVudGlhbENvdW50SW5MaXN0IjoxMCwibWF4Q3JlZGVudGlhbElkTGVuZ3RoIjo5NiwidHJhbnNwb3J0cyI6WyJ1c2IiXSwiYWxnb3JpdGhtcyI6W3sidHlwZSI6InB1YmxpYy1rZXkiLCJhbGciOi03fV19fSwic3RhdHVzUmVwb3J0cyI6W3sic3RhdHVzIjoiRklET19DRVJUSUZJRURfTDEiLCJlZmZlY3RpdmVEYXRlIjoiMjAxOS0wNS0yNyIsImNlcnRpZmljYXRpb25EZXNjcmlwdG9yIjoiRmVpdGlhbiBlUGFzcyBGSURPMiBVU0Igb25seSIsImNlcnRpZmljYXRlTnVtYmVyIjoiRklETzIwMDIwMTkwMzExMDAzIiwiY2VydGlmaWNhdGlvblBvbGljeVZlcnNpb24iOiIxLjMuNiIsImNlcnRpZmljYXRpb25SZXF1aXJlbWVudHNWZXJzaW9uIjoiMS4wLjAifV0sInRpbWVPZkxhc3RTdGF0dXNDaGFuZ2UiOiIyMDE5LTA1LTI3In1dfQ.p85eLb-I4us_sF54QHzQmZF4updrs_RaCSd8xXQBB-NXixcpwadQx76b104kyklEuPUCil7W5jdGOVYjkYvm1Aw-_l98FhmZ7pcNQpQeExqYY3--ano1tCaPbXm0j1H3QQ8SaS61-ZgdeRiDyccbBeFK8CXLq1lkw4Gz3Spy-UEXEpmVTEJeGL8mvFcqU3wEqUOkNApCUP-PASOPuGULXbLIebsa4ZiGJvqUzrhvKld7yUHzgR-KJciCNJNZ6IwQZwEb0-0YUtwBOIgSRX83g-hC83LnvYPxyaIRSAC3DAUD3vh_0RnTuicrPKXabMYp2GWhEAUROrLwo6CIkrw-6Q
+ tests/golden-metadata/big/origin view
@@ -0,0 +1,1 @@+mds.fidoalliance.org
+ tests/golden-metadata/big/payload.json view
@@ -0,0 +1,9064 @@+{+  "legalHeader": "Retrieval and use of this BLOB indicates acceptance of the appropriate agreement located at https://fidoalliance.org/metadata/metadata-legal-terms/",+  "nextUpdate": "2022-02-01",+  "no": 11,+  "entries": [+    {+      "aaguid": "d41f5a69-b817-4144-a13c-9ebd6d9254d6",+      "metadataStatement": {+        "aaguid": "d41f5a69-b817-4144-a13c-9ebd6d9254d6",+        "attachmentHint": [+          "external"+        ],+        "attestationRootCertificates": [+          "MIIBzDCCAXGgAwIBAgIBATAKBggqhkjOPQQDAjBiMQswCQYDVQQGEwJTRTESMBAGA1UECgwJQVRLZXlDQTAwMSIwIAYDVQQLDBlBdXRoZW50aWNhdG9yIEF0dGVzdGF0aW9uMRswGQYDVQQDExJBdXRoZW50cmVuZCBDQSAwMDAwIBcNMTYwMjI2MDgxMTA2WhgPMjA1MDAyMjUwODExMDZaMGIxCzAJBgNVBAYTAlNFMRIwEAYDVQQKDAlBVEtleUNBMDAxIjAgBgNVBAsMGUF1dGhlbnRpY2F0b3IgQXR0ZXN0YXRpb24xGzAZBgNVBAMTEkF1dGhlbnRyZW5kIENBIDAwMDBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABAJcWqeCxga9KJbFO2TZdjcgrtZAgfi8TXKu+v5lcR5ceb5GJYxyoCjhueESL3ddmMIkpGyhsEEtfFUyBwsyFVCjFjAUMBIGA1UdEwEB/wQIMAYBAf8CAQAwCgYIKoZIzj0EAwIDSQAwRgIhAPuVS4Pm2KFXdUMi5Pb/Xy+gCROOuRPZ6I57vWc0EvkBAiEA8aRCnXppAffCEOQBJ7vlgwiiHMXA2tpWX+ObvVKxXbM=",+          "MIIBzDCCAXGgAwIBAgIBATAKBggqhkjOPQQDAjBiMQswCQYDVQQGEwJTRTESMBAGA1UECgwJQVRLZXlDQTAwMSIwIAYDVQQLDBlBdXRoZW50aWNhdG9yIEF0dGVzdGF0aW9uMRswGQYDVQQDExJBdXRoZW50cmVuZCBDQSAwMDAwIBcNMTYwMjI2MDgxMTA2WhgPMjA1MDAyMjUwODExMDZaMGIxCzAJBgNVBAYTAlNFMRIwEAYDVQQKDAlBVEtleUNBMDAxIjAgBgNVBAsMGUF1dGhlbnRpY2F0b3IgQXR0ZXN0YXRpb24xGzAZBgNVBAMTEkF1dGhlbnRyZW5kIENBIDAwMDBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABAJcWqeCxga9KJbFO2TZdjcgrtZAgfi8TXKu+v5lcR5ceb5GJYxyoCjhueESL3ddmMIkpGyhsEEtfFUyBwsyFVCjFjAUMBIGA1UdEwEB/wQIMAYBAQECAQAwCgYIKoZIzj0EAwIDSQAwRgIhAMqIc/Qtr+jZbnrJB7g7W8r/DHmDe+IyFvzwpzdSrxEXAiEAtXcixZznhcDzlnIqFqkIJRGmvL9Yr6lVoP1ZkDeqmjk="+        ],+        "attestationTypes": [+          "basic_full"+        ],+        "authenticationAlgorithms": [+          "secp256r1_ecdsa_sha256_raw"+        ],+        "authenticatorGetInfo": {+          "aaguid": "d41f5a69b8174144a13c9ebd6d9254d6",+          "algorithms": [+            {+              "alg": -7,+              "type": "public-key"+            }+          ],+          "extensions": [+            "credProtect",+            "hmac-secret"+          ],+          "firmwareVersion": 3000039,+          "maxCredentialCountInList": 20,+          "maxCredentialIdLength": 128,+          "maxMsgSize": 2048,+          "options": {+            "bioEnroll": true,+            "clientPin": false,+            "credMgmt": true,+            "credentialMgmtPreview": true,+            "plat": false,+            "rk": true,+            "up": true,+            "userVerificationMgmtPreview": true,+            "uv": true,+            "uvBioEnroll": true+          },+          "pinUvAuthProtocols": [+            1+          ],+          "transports": [+            "ble",+            "usb"+          ],+          "versions": [+            "U2F_V2",+            "FIDO_2_0",+            "FIDO_2_1_PRE"+          ]+        },+        "authenticatorVersion": 2,+        "description": "ATKey.Card CTAP2.0",+        "icon": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA8CAYAAAA6/NlyAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAACxEAAAsRAX9kX5EAAAU0SURBVGhD7Vpbc9NGFD62bMWOLzi2kwJ2LpAWSgt0IEBvT33tdKYz7Vt/YB86w2/gpZ02hYdOAk+FaSBpIDeH2CW+yz3fareR09iyoks8jr+ZM9autOv99O3Zc7RS6KeVtQ6dI4Tl77nBmPCoY0x41DEmPOoYKA7Xmm0yaLjDdZhCFItqstQbtoRB9vubc6RHwtQZUs6hEFGjZdDDp69sSdtOaSiraxpFwmGKasNpGJvOv4PMwoF8uDOs0low6Bhtp/Rhs0U/3L5CUZ7SwPPdCm2/q5KGeXSGaDPBmUSc3s+nRLnZatOPK2s0GY2Ici84Jvzryx36c6/C0+hsCbeMDn2QS9Hn89OiPChhx2EpzMqC7Em+FKRhDBiLUzgm7BYGT8U2qwPDcdAIlDBIxiIapSeiwnCMuiARGGGsom3DoG8/mqWvPywIwzHqgowCgRFuspK3Lk7J0hFQh3NBIRDCULDFSt6+9H/CqMO5oFQOhDAU/HgmI0tE7xotqnK4U8A5hJkg4DthKGewgveKOVlDtPJ6n/7Y3JcloqVCNjCVfScM5a7l07JkhqXnpbIwRTDE8fT6dDoQlX0lrHx3yaLuKqsbDoWFrbw5Uvnu5VwgKvtKGDF2kdM/PM0orG69pSgyNbbVN29lLYnsCdf6HZd9Iwyl6u02PSjmZQ3Rs619fkw3p7AwWadwv5ATbfxU2TfCeJpZyCSFcgpP/i6RxmobrCIMx082SvIskc6ZF9qgrV/whTAUarQN+mzOfJIBXuyVKaVHKMmWkIbj1ESEz1XkVUQPZnOirV8q+0IYCs2mJ7u2WxZzafru5jx9c6PYZaiD7ypM6lEqclu/VPacMJRpskLWldkpltiX0YcfKntOGItsgRW6ENNljXNk4rrow48F2/GOx/KrXXpRqnQtRlYgrOC53BSn0xWS6qzaV1feo8sXJkV58+CQHv21RROWvhCLeVj/9aH12FnBDFjMpujTOTMK+Lbj0Q/IouLst1enkrQwlRAZFkjCH4UJyaz3V24GyPO4Fm3QFn2gL683CTwjDH+r8V3+cn6a7s/mxQo9l0mIemzFmIYrrYqZdeo8rkUbtEUfX/Av+vTSlz0jDPGy7Hv5REzWEP28tt1z6p+EKE//X17uyBLRdDIm+vTSlz0hjPE0OENCPqyw/U+VyvVWl552gN8e1BrctiZriO5cyrK/ssqy7BbeEOYpl+L4WZCLEbC8vifeBiCFHBS4Fm85Hm/syhqiIk/xJPft1bT2hDDe69zlZ1qF0mGdStW69FlnQJtdtGdTuMN9I/vyAq4JYxXVtRDN86qq8Nv6DocazZG6CmiDtsvrRyovcN/i3ZEHKrsmjDuPFVWhLHyw3jN+DgK03WI/Rl8K9zxS2RVh3HGocZUTAAUoE5NJihtMcB+/b+zJkpmLI0Fxq7KrkSHb+cSyE4nNudeVqoipboGXdZvlQ9Gnwq2LGfGfbnBqwlg1xS5FNkl1Tg7wfLvMvou6fr5rjcv9YjT6wPnHFl++MZMRbyvcqOwqlwbpGq/QZiQ2CVhz5+PAQOM84Igk2mK1qnyzes0I9I82aX4QwTGuwxcJTc63seEXeC4NFZDvxvlPYP3IAhgwCJZrTWH9yALoH+dxbYWTmAP+Bdl+M8gOrgifBiCAVRjWj6wCyKnrYW7IAo4JY4phOmHxOEvDGE7jy+NPHo7jOOFhhaeLllu/CQKDjtGWML5ww6Mftl5O8qVhMIwNaSfGagfbKQ2cq08PRw3DvRL5gDHhUceY8KhjTHi0QfQv3WxwqZwG02wAAAAASUVORK5CYII=",+        "isFreshUserVerificationRequired": true,+        "keyProtection": [+          "hardware",+          "secure_element"+        ],+        "legalHeader": "https://fidoalliance.org/metadata/metadata-statement-legal-header/",+        "matcherProtection": [+          "on_chip"+        ],+        "protocolFamily": "fido2",+        "publicKeyAlgAndEncodings": [+          "cose"+        ],+        "schema": 3,+        "tcDisplay": [],+        "upv": [+          {+            "major": 1,+            "minor": 0+          }+        ],+        "userVerificationDetails": [+          [+            {+              "baDesc": {+                "blockSlowdown": 0,+                "maxRetries": 0,+                "maxTemplates": 0,+                "selfAttestedFAR": 0,+                "selfAttestedFRR": 0+              },+              "userVerificationMethod": "fingerprint_internal"+            },+            {+              "userVerificationMethod": "presence_internal"+            }+          ]+        ]+      },+      "statusReports": [+        {+          "certificateNumber": "FIDO20020180926019",+          "certificationDescriptor": "AuthenTrend Technology Inc. ATKey.card",+          "certificationPolicyVersion": "1.3.4",+          "certificationRequirementsVersion": "1.0.0",+          "effectiveDate": "2019-02-26",+          "status": "FIDO_CERTIFIED_L1"+        }+      ],+      "timeOfLastStatusChange": "2019-02-26"+    },+    {+      "aaguid": "e1a96183-5016-4f24-b55b-e3ae23614cc6",+      "metadataStatement": {+        "aaguid": "e1a96183-5016-4f24-b55b-e3ae23614cc6",+        "attachmentHint": [+          "external"+        ],+        "attestationRootCertificates": [+          "MIIBzDCCAXGgAwIBAgIBATAKBggqhkjOPQQDAjBiMQswCQYDVQQGEwJTRTESMBAGA1UECgwJQVRLZXlDQTAwMSIwIAYDVQQLDBlBdXRoZW50aWNhdG9yIEF0dGVzdGF0aW9uMRswGQYDVQQDExJBdXRoZW50cmVuZCBDQSAwMDAwIBcNMTYwMjI2MDgxMTA2WhgPMjA1MDAyMjUwODExMDZaMGIxCzAJBgNVBAYTAlNFMRIwEAYDVQQKDAlBVEtleUNBMDAxIjAgBgNVBAsMGUF1dGhlbnRpY2F0b3IgQXR0ZXN0YXRpb24xGzAZBgNVBAMTEkF1dGhlbnRyZW5kIENBIDAwMDBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABAJcWqeCxga9KJbFO2TZdjcgrtZAgfi8TXKu+v5lcR5ceb5GJYxyoCjhueESL3ddmMIkpGyhsEEtfFUyBwsyFVCjFjAUMBIGA1UdEwEB/wQIMAYBAf8CAQAwCgYIKoZIzj0EAwIDSQAwRgIhAPuVS4Pm2KFXdUMi5Pb/Xy+gCROOuRPZ6I57vWc0EvkBAiEA8aRCnXppAffCEOQBJ7vlgwiiHMXA2tpWX+ObvVKxXbM=",+          "MIIBzDCCAXGgAwIBAgIBATAKBggqhkjOPQQDAjBiMQswCQYDVQQGEwJTRTESMBAGA1UECgwJQVRLZXlDQTAwMSIwIAYDVQQLDBlBdXRoZW50aWNhdG9yIEF0dGVzdGF0aW9uMRswGQYDVQQDExJBdXRoZW50cmVuZCBDQSAwMDAwIBcNMTYwMjI2MDgxMTA2WhgPMjA1MDAyMjUwODExMDZaMGIxCzAJBgNVBAYTAlNFMRIwEAYDVQQKDAlBVEtleUNBMDAxIjAgBgNVBAsMGUF1dGhlbnRpY2F0b3IgQXR0ZXN0YXRpb24xGzAZBgNVBAMTEkF1dGhlbnRyZW5kIENBIDAwMDBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABAJcWqeCxga9KJbFO2TZdjcgrtZAgfi8TXKu+v5lcR5ceb5GJYxyoCjhueESL3ddmMIkpGyhsEEtfFUyBwsyFVCjFjAUMBIGA1UdEwEB/wQIMAYBAQECAQAwCgYIKoZIzj0EAwIDSQAwRgIhAMqIc/Qtr+jZbnrJB7g7W8r/DHmDe+IyFvzwpzdSrxEXAiEAtXcixZznhcDzlnIqFqkIJRGmvL9Yr6lVoP1ZkDeqmjk="+        ],+        "attestationTypes": [+          "basic_full"+        ],+        "authenticationAlgorithms": [+          "secp256r1_ecdsa_sha256_raw"+        ],+        "authenticatorGetInfo": {+          "aaguid": "e1a9618350164f24b55be3ae23614cc6",+          "algorithms": [+            {+              "alg": -7,+              "type": "public-key"+            },+            {+              "alg": -8,+              "type": "public-key"+            }+          ],+          "extensions": [+            "credBlob",+            "credProtect",+            "hmac-secret"+          ],+          "firmwareVersion": 10013,+          "maxCredentialCountInList": 20,+          "maxCredentialIdLength": 128,+          "maxMsgSize": 2048,+          "options": {+            "bioEnroll": true,+            "clientPin": false,+            "credMgmt": true,+            "credentialMgmtPreview": true,+            "plat": false,+            "rk": true,+            "up": true,+            "userVerificationMgmtPreview": true,+            "uv": true,+            "uvBioEnroll": true+          },+          "pinUvAuthProtocols": [+            1+          ],+          "transports": [+            "usb"+          ],+          "versions": [+            "U2F_V2",+            "FIDO_2_0",+            "FIDO_2_1_PRE"+          ]+        },+        "authenticatorVersion": 2,+        "description": "ATKey.Pro CTAP2.0",+        "icon": "data:image/png;base64,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",+        "isFreshUserVerificationRequired": true,+        "keyProtection": [+          "hardware"+        ],+        "legalHeader": "https://fidoalliance.org/metadata/metadata-statement-legal-header/",+        "matcherProtection": [+          "on_chip"+        ],+        "protocolFamily": "fido2",+        "publicKeyAlgAndEncodings": [+          "cose"+        ],+        "schema": 3,+        "tcDisplay": [],+        "upv": [+          {+            "major": 1,+            "minor": 0+          }+        ],+        "userVerificationDetails": [+          [+            {+              "baDesc": {+                "blockSlowdown": 0,+                "maxRetries": 0,+                "maxTemplates": 0,+                "selfAttestedFAR": 0,+                "selfAttestedFRR": 0+              },+              "userVerificationMethod": "fingerprint_internal"+            },+            {+              "userVerificationMethod": "presence_internal"+            },+            {+              "userVerificationMethod": "passcode_internal"+            }+          ]+        ]+      },+      "statusReports": [+        {+          "certificateNumber": "FIDO20020191008001",+          "certificationDescriptor": "FIDO2 Authenticator",+          "certificationPolicyVersion": "1.1.1",+          "certificationRequirementsVersion": "1.3",+          "effectiveDate": "2019-10-09",+          "status": "FIDO_CERTIFIED_L1",+          "url": "https://authentrend.com/atkey-pro/"+        }+      ],+      "timeOfLastStatusChange": "2019-10-09"+    },+    {+      "aaguid": "b93fd961-f2e6-462f-b122-82002247de78",+      "metadataStatement": {+        "aaguid": "b93fd961-f2e6-462f-b122-82002247de78",+        "attachmentHint": [+          "internal"+        ],+        "attestationRootCertificates": [+          "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"+        ],+        "attestationTypes": [+          "basic_full"+        ],+        "authenticationAlgorithms": [+          "secp256r1_ecdsa_sha256_raw"+        ],+        "authenticatorGetInfo": {+          "aaguid": "b93fd961f2e6462fb12282002247de78",+          "algorithms": [+            {+              "alg": -7,+              "type": "public-key"+            }+          ],+          "options": {+            "plat": true,+            "rk": true,+            "uv": true+          },+          "transports": [+            "internal"+          ],+          "versions": [+            "FIDO_2_0"+          ]+        },+        "authenticatorVersion": 1,+        "description": "Android Authenticator with SafetyNet Attestation",+        "icon": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAB7klEQVR4AaWPP2sUQRiHn5mdvexd/plEcvlDCi1E/EMabUWI9jaKWPoV/A7BQhAbG7t8CCUIKQQLuwhCUBsLBSUmGkLudm9n5nWHzMAego3P8Oy9s8vvfd+jzctPz2Ya+Zdbu48mG0ma8Eh8/bF3yWGGwPvV81d7+9/2lpy3Mrty7jswPPz8Yb20lQJ2iain2w9ok02aLURWstxuiHgknnrEK3GERg9poZ7s3CUxl/dvVfrntmRag9BuICJgrXfHnRvAWyJaDxXB+ezCWqX3t6e6i/ri/E1AkdBoLi/cZrL5pqeHb2yvu9RIUKfiWH95IVmmV6eucK1/j8JMIwRo6jNcX77P2vQ6ZEZ7OXreSFA93rnD3Mx6r7YfTxQKGkN4WP8eW7+bz4Z3eHEE9FFZAJXuliXVyUEfif9ZHINW+BQ5fSc+3oTjztTZRkx4LEhtfh1avBMSIkBrA+JvOAohm1AFgJGRpbOoXS/X1KXgHZE4X1Ssxpt18iYImGJiRFWWKCXkBdiR4L0QUEKamIKxhoQZm6fAdMDVjT7cQwBEYh3DSsl4A+trQTwJbUCsT5P+CodTZtYDmNJYcrEDQSChIMsVzoVQ2kLFMCCQFW4AoDbfbRDI7fIi5aAL41jtVNiQiPUjmUBOgAMCm683/ss/TaVXtx4qKMoAAAAASUVORK5CYII=",+        "isKeyRestricted": false,+        "keyProtection": [+          "hardware",+          "tee"+        ],+        "legalHeader": "https://fidoalliance.org/metadata/metadata-statement-legal-header/",+        "matcherProtection": [+          "tee"+        ],+        "protocolFamily": "fido2",+        "publicKeyAlgAndEncodings": [+          "cose"+        ],+        "schema": 3,+        "tcDisplay": [],+        "upv": [+          {+            "major": 1,+            "minor": 0+          }+        ],+        "userVerificationDetails": [+          [+            {+              "userVerificationMethod": "faceprint_internal"+            }+          ],+          [+            {+              "userVerificationMethod": "fingerprint_internal"+            }+          ],+          [+            {+              "userVerificationMethod": "passcode_internal"+            }+          ],+          [+            {+              "userVerificationMethod": "pattern_internal"+            }+          ]+        ]+      },+      "statusReports": [+        {+          "certificateNumber": "FIDO20020190225001",+          "certificationDescriptor": "Android SafetyNet Authenticator",+          "certificationPolicyVersion": "1.3.6",+          "certificationRequirementsVersion": "1.1.0",+          "effectiveDate": "2020-08-05",+          "status": "FIDO_CERTIFIED"+        },+        {+          "certificateNumber": "FIDO20020190225001",+          "certificationDescriptor": "Android SafetyNet Authenticator",+          "certificationPolicyVersion": "1.3.6",+          "certificationRequirementsVersion": "1.1.0",+          "effectiveDate": "2020-12-17",+          "status": "FIDO_CERTIFIED_L1"+        },+        {+          "certificateNumber": "FIDO20020190225001",+          "certificationDescriptor": "Android SafetyNet Authenticator",+          "certificationPolicyVersion": "1.3.6",+          "certificationRequirementsVersion": "1.1.0",+          "effectiveDate": "2020-08-20",+          "status": "FIDO_CERTIFIED_L1"+        }+      ],+      "timeOfLastStatusChange": "2020-12-17"+    },+    {+      "aaguid": "1c086528-58d5-f211-823c-356786e36140",+      "metadataStatement": {+        "aaguid": "1c086528-58d5-f211-823c-356786e36140",+        "alternativeDescriptions": {+          "de-DE": "Atos CardOS FIDO2"+        },+        "attachmentHint": [+          "external",+          "wired",+          "wireless",+          "nfc"+        ],+        "attestationRootCertificates": [+          "MIIBsjCCAVigAwIBAgIJAKIFntEOQ1tXMAoGCCqGSM49BAMCMFQxCzAJBgNVBAYT\nAkdFMQ0wCwYDVQQKDARBdG9zMSIwIAYDVQQLDBlBdXRoZW50aWNhdG9yIEF0dGVz\ndGF0aW9uMRIwEAYDVQQDDAlBdG9zIHJvb3QwHhcNMjAwOTA5MDYxNDU4WhcNMzAw\nOTA3MDYxNDU4WjBUMQswCQYDVQQGEwJHRTENMAsGA1UECgwEQXRvczEiMCAGA1UE\nCwwZQXV0aGVudGljYXRvciBBdHRlc3RhdGlvbjESMBAGA1UEAwwJQXRvcyByb290\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEpKR0f6Vdq0PYXxH7JVMkGxNoM4Xo\nHFuQ+e7qf+04P4J2GGS9vXFLVQZ5coFnRPfCflDCLkzafM3QEdcYCVoyPKMTMBEw\nDwYDVR0TAQH/BAUwAwEB/zAKBggqhkjOPQQDAgNIADBFAiEAzXpow3/4yOXNbALo\ndMv5KIornn5wRRI36YQpv3Wbh00CIEy14Sy7LrlgJSZTG0Md5wjQbyoVTfU/2oZy\np9EnplDL"+        ],+        "attestationTypes": [+          "basic_full"+        ],+        "authenticationAlgorithms": [+          "secp256r1_ecdsa_sha256_raw"+        ],+        "authenticatorGetInfo": {+          "aaguid": "1c08652858d5f211823c356786e36140",+          "extensions": [+            "hmac-secret"+          ],+          "firmwareVersion": 1,+          "maxMsgSize": 1280,+          "options": {+            "clientPin": true,+            "plat": false,+            "rk": true,+            "up": false+          },+          "pinUvAuthProtocols": [+            1+          ],+          "versions": [+            "FIDO_2_0"+          ]+        },+        "authenticatorVersion": 1,+        "cryptoStrength": 128,+        "description": "Atos CardOS FIDO2",+        "icon": "data:image/png;base64,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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAKAEGACtYuHw7fWlJAAAAAElFTkSuQmCC",+        "keyProtection": [+          "hardware",+          "secure_element"+        ],+        "legalHeader": "https://fidoalliance.org/metadata/metadata-statement-legal-header/",+        "matcherProtection": [+          "on_chip"+        ],+        "protocolFamily": "fido2",+        "publicKeyAlgAndEncodings": [+          "cose"+        ],+        "schema": 3,+        "tcDisplay": [],+        "upv": [+          {+            "major": 1,+            "minor": 0+          }+        ],+        "userVerificationDetails": [+          [+            {+              "userVerificationMethod": "presence_internal"+            }+          ],+          [+            {+              "userVerificationMethod": "presence_internal"+            },+            {+              "userVerificationMethod": "passcode_external"+            }+          ]+        ]+      },+      "statusReports": [+        {+          "certificateNumber": "FIDO20020210622001",+          "certificationDescriptor": "CardOS FIDO2",+          "certificationPolicyVersion": "1.3",+          "certificationRequirementsVersion": "1.3",+          "effectiveDate": "2021-06-22",+          "status": "FIDO_CERTIFIED_L1"+        },+        {+          "effectiveDate": "2021-06-22",+          "status": "FIDO_CERTIFIED"+        }+      ],+      "timeOfLastStatusChange": "2021-11-24"+    },+    {+      "aaguid": "be727034-574a-f799-5c76-0929e0430973",+      "metadataStatement": {+        "aaguid": "be727034-574a-f799-5c76-0929e0430973",+        "attachmentHint": [+          "external",+          "wired",+          "nfc",+          "bluetooth"+        ],+        "attestationRootCertificates": [+          "MIIB9DCCAZsCFFiPk5r64pgWhAQjii07mvSEF1/uMAoGCCqGSM49BAMCMHwxCzAJBgNVBAYTAk5MMREwDwYDVQQKDAhDcmF5b25pYzEiMCAGA1UECwwZQXV0aGVudGljYXRvciBBdHRlc3RhdGlvbjEVMBMGA1UEAwwMY3JheW9uaWMuY29tMR8wHQYJKoZIhvcNAQkBFhBpbmZvQGNyYXlvbmljLmlvMCAXDTIxMTAxMTE1MDk0MFoYDzIwNzEwOTI5MTUwOTQwWjB8MQswCQYDVQQGEwJOTDERMA8GA1UECgwIQ3JheW9uaWMxIjAgBgNVBAsMGUF1dGhlbnRpY2F0b3IgQXR0ZXN0YXRpb24xFTATBgNVBAMMDGNyYXlvbmljLmNvbTEfMB0GCSqGSIb3DQEJARYQaW5mb0BjcmF5b25pYy5pbzBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABFiiJHHhiKAMqD44crdeOc8VOXn4mhSQzeVdjbXxhNombdzc4Wj681xFm4PQ3oshaq8oKqhxahdEubWtS9AmDoowCgYIKoZIzj0EAwIDRwAwRAIgZ6N03aCmLH4gujAZo5MZkex6VvNNRBhTW0V7+YYYuxgCIAG5q0CRIFwZofpPAOPlB55HCvJyVjhI2LsDrju88dnt\n"+        ],+        "attestationTypes": [+          "basic_full"+        ],+        "authenticationAlgorithms": [+          "secp256r1_ecdsa_sha256_raw"+        ],+        "authenticatorGetInfo": {+          "aaguid": "be727034574af7995c760929e0430973",+          "algorithms": [+            {+              "alg": -7,+              "type": "public-key"+            }+          ],+          "extensions": [+            "credProtect",+            "hmac-secret"+          ],+          "firmwareVersion": 1,+          "maxCredentialCountInList": 24,+          "maxCredentialIdLength": 7600,+          "maxMsgSize": 7609,+          "options": {+            "clientPin": false,+            "plat": false,+            "rk": true,+            "up": true,+            "uv": true+          },+          "pinUvAuthProtocols": [+            1+          ],+          "transports": [+            "usb",+            "nfc",+            "ble"+          ],+          "versions": [+            "U2F_V2",+            "FIDO_2_0",+            "FIDO_2_1_PRE"+          ]+        },+        "authenticatorVersion": 1,+        "cryptoStrength": 128,+        "description": "Crayonic KeyVault K1 (USB-NFC-BLE FIDO2 Authenticator)",+        "icon": "data:image/png;base64,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",+        "keyProtection": [+          "hardware",+          "tee"+        ],+        "legalHeader": "https://fidoalliance.org/metadata/metadata-statement-legal-header/",+        "matcherProtection": [+          "on_chip"+        ],+        "protocolFamily": "fido2",+        "publicKeyAlgAndEncodings": [+          "cose"+        ],+        "schema": 3,+        "tcDisplay": [+          "hardware"+        ],+        "upv": [+          {+            "major": 1,+            "minor": 0+          }+        ],+        "userVerificationDetails": [+          [+            {+              "caDesc": {+                "base": 10,+                "blockSlowdown": 0,+                "maxRetries": 5,+                "minLength": 4+              },+              "userVerificationMethod": "passcode_internal"+            }+          ],+          [+            {+              "baDesc": {+                "blockSlowdown": 15,+                "maxRetries": 0,+                "maxTemplates": 5,+                "selfAttestedFAR": 1e-05,+                "selfAttestedFRR": 0+              },+              "userVerificationMethod": "fingerprint_internal"+            }+          ]+        ]+      },+      "statusReports": [+        {+          "effectiveDate": "2021-10-11",+          "status": "NOT_FIDO_CERTIFIED"+        }+      ],+      "timeOfLastStatusChange": "2021-10-11"+    },+    {+      "aaguid": "9c835346-796b-4c27-8898-d6032f515cc5",+      "metadataStatement": {+        "aaguid": "9c835346-796b-4c27-8898-d6032f515cc5",+        "attachmentHint": [+          "external",+          "wireless",+          "nfc"+        ],+        "attestationRootCertificates": [+          "MIICWTCCAbqgAwIBAgIGAIFDUXQpMAoGCCqGSM49BAMEME8xCzAJBgNVBAYTAkNIMQ8wDQYDVQQIEwZHRU5FVkExFDASBgNVBAoTC0NSWVBUTk9YIFNBMRkwFwYDVQQDExBDUllQVE5PWCBST09UIENBMB4XDTIwMDYxNDAwMDAwMFoXDTQ5MTIzMDIzNTk1OVowTzELMAkGA1UEBhMCQ0gxDzANBgNVBAgTBkdFTkVWQTEUMBIGA1UEChMLQ1JZUFROT1ggU0ExGTAXBgNVBAMTEENSWVBUTk9YIFJPT1QgQ0EwgZswEAYHKoZIzj0CAQYFK4EEACMDgYYABAEJtmrMYc48nPSp0RRmEwT2U5aq0D1b3URLpmJP277ImEXKEbjVQA8P3UyTdZinELTQ5g6E+lnN3GhUWif2/VmSbQDnu9f+ebyIZfBabosKK3SQVv4KmuP9pb0f7P2vMPAUFJNZvKeH1DPtaZkFybMKZsg8CJEs7A9KW3RI/8QDpN1nJ6M/MD0wDAYDVR0TBAUwAwEB/zAdBgNVHQ4EFgQUUnfLODDaku1o8CSuwWfWylj4OvAwDgYDVR0PAQH/BAQDAgEGMAoGCCqGSM49BAMEA4GMADCBiAJCAKd8DeNhbPeyfh7UD3M9lPp5a77M1LmC2M2o7zRiHlePt+Xcr/I/xGK124gEuHjbOfyanre63EMTuVW8ts5kR906AkIBgSIhJoENkMVFbeMRUDnDtbv+gKi+htqORGysid5sg2VvCX9QfnUqBKtZVUBeQVPk3E5GUEamLk4jljdvlDGSXpU="+        ],+        "attestationTypes": [+          "basic_full"+        ],+        "authenticationAlgorithms": [+          "secp256r1_ecdsa_sha256_raw"+        ],+        "authenticatorGetInfo": {+          "aaguid": "9c835346796b4c278898d6032f515cc5",+          "algorithms": [+            {+              "alg": -7,+              "type": "public-key"+            }+          ],+          "extensions": [+            "hmac-secret"+          ],+          "maxCredentialCountInList": 16,+          "maxCredentialIdLength": 48,+          "maxMsgSize": 629,+          "options": {+            "clientPin": true,+            "rk": true,+            "up": true+          },+          "pinUvAuthProtocols": [+            1+          ],+          "transports": [+            "nfc"+          ],+          "versions": [+            "FIDO_2_0",+            "U2F_V2"+          ]+        },+        "authenticatorVersion": 2,+        "cryptoStrength": 128,+        "description": "Cryptnox FIDO2",+        "icon": "data:image/png;base64,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",+        "keyProtection": [+          "hardware",+          "secure_element"+        ],+        "legalHeader": "https://fidoalliance.org/metadata/metadata-statement-legal-header/",+        "matcherProtection": [+          "on_chip"+        ],+        "protocolFamily": "fido2",+        "publicKeyAlgAndEncodings": [+          "cose"+        ],+        "schema": 3,+        "tcDisplay": [],+        "upv": [+          {+            "major": 1,+            "minor": 0+          }+        ],+        "userVerificationDetails": [+          [+            {+              "userVerificationMethod": "passcode_internal"+            },+            {+              "userVerificationMethod": "presence_internal"+            }+          ]+        ]+      },+      "statusReports": [+        {+          "certificateNumber": "FIDO20020200803001",+          "certificationPolicyVersion": "1.3.7",+          "certificationRequirementsVersion": "1.3.0",+          "effectiveDate": "2021-01-02",+          "status": "FIDO_CERTIFIED_L1",+          "url": "www.cryptnox.ch"+        }+      ],+      "timeOfLastStatusChange": "2021-01-02"+    },+    {+      "aaguid": "8c97a730-3f7b-41a6-87d6-1e9b62bda6f0",+      "metadataStatement": {+        "aaguid": "8c97a730-3f7b-41a6-87d6-1e9b62bda6f0",+        "attachmentHint": [+          "external",+          "wireless",+          "nfc"+        ],+        "attestationRootCertificates": [+          "MIIB2DCCAX6gAwIBAgIQGBUrQbdDrm20FZnDsX2CBTAKBggqhkjOPQQDAjBLMQswCQYDVQQGEwJVUzEdMBsGA1UECgwURmVpdGlhbiBUZWNobm9sb2dpZXMxHTAbBgNVBAMMFEZlaXRpYW4gRklETyBSb290IENBMCAXDTE4MDQwMTAwMDAwMFoYDzIwNDgwMzMxMjM1OTU5WjBLMQswCQYDVQQGEwJVUzEdMBsGA1UECgwURmVpdGlhbiBUZWNobm9sb2dpZXMxHTAbBgNVBAMMFEZlaXRpYW4gRklETyBSb290IENBMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEsFYEEhiJuqqnMgQjSiivBjV7DGCTf4XBBH/B7uvZsKxXShF0L8uDISWUvcExixRs6gB3oldSrjox6L8T94NOzqNCMEAwHQYDVR0OBBYEFEu9hyYRrRyJzwRYvnDSCIxrFiO3MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMAoGCCqGSM49BAMCA0gAMEUCIDHSb2mbNDAUNXvpPU0oWKeNye0fQ2l9D01AR2+sLZdhAiEAo3wz684IFMVsCCRmuJqxH6FQRESNqezuo1E+KkGxWuM=",+          "MIIBfjCCASWgAwIBAgIBATAKBggqhkjOPQQDAjAXMRUwEwYDVQQDDAxGVCBGSURPIDAyMDAwIBcNMTYwNTAxMDAwMDAwWhgPMjA1MDA1MDEwMDAwMDBaMBcxFTATBgNVBAMMDEZUIEZJRE8gMDIwMDBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABNBmrRqVOxztTJVN19vtdqcL7tKQeol2nnM2/yYgvksZnr50SKbVgIEkzHQVOu80LVEE3lVheO1HjggxAlT6o4WjYDBeMB0GA1UdDgQWBBRJFWQt1bvG3jM6XgmV/IcjNtO/CzAfBgNVHSMEGDAWgBRJFWQt1bvG3jM6XgmV/IcjNtO/CzAMBgNVHRMEBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAKBggqhkjOPQQDAgNHADBEAiAwfPqgIWIUB+QBBaVGsdHy0s5RMxlkzpSX/zSyTZmUpQIgB2wJ6nZRM8oX/nA43Rh6SJovM2XwCCH//+LirBAbB0M=",+          "MIIB2DCCAX6gAwIBAgIQFZ97ws2JGPEoa5NI+p8z1jAKBggqhkjOPQQDAjBLMQswCQYDVQQGEwJDTjEdMBsGA1UECgwURmVpdGlhbiBUZWNobm9sb2dpZXMxHTAbBgNVBAMMFEZlaXRpYW4gRklETyBSb290IENBMCAXDTE4MDQwMTAwMDAwMFoYDzIwNDgwMzMxMjM1OTU5WjBLMQswCQYDVQQGEwJDTjEdMBsGA1UECgwURmVpdGlhbiBUZWNobm9sb2dpZXMxHTAbBgNVBAMMFEZlaXRpYW4gRklETyBSb290IENBMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEnfAKbjvMX1Ey1b6k+WQQdNVMt9JgGWyJ3PvM4BSK5XqTfo++0oAj/4tnwyIL0HFBR9St+ktjqSXDfjiXAurs86NCMEAwHQYDVR0OBBYEFNGhmE2Bf8O5a/YHZ71QEv6QRfFUMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMAoGCCqGSM49BAMCA0gAMEUCIQC3sT1lBjGeF+xKTpzV1KYU2ckahTd4mLJyzYOhaHv4igIgD2JYkfyH5Q4Bpo8rroO0It7oYjF2kgy/eSZ3U9Glaqw="+        ],+        "attestationTypes": [+          "basic_full"+        ],+        "authenticationAlgorithms": [+          "secp256r1_ecdsa_sha256_raw"+        ],+        "authenticatorGetInfo": {+          "aaguid": "8c97a7303f7b41a687d61e9b62bda6f0",+          "extensions": [+            "credProtect",+            "hmac-secret"+          ],+          "maxCredentialCountInList": 6,+          "maxCredentialIdLength": 96,+          "maxMsgSize": 1024,+          "options": {+            "clientPin": false,+            "credentialMgmtPreview": true,+            "plat": false,+            "rk": true,+            "up": true,+            "userVerificationMgmtPreview": false,+            "uv": false+          },+          "pinUvAuthProtocols": [+            1+          ],+          "versions": [+            "U2F_V2",+            "FIDO_2_0",+            "FIDO_2_1_PRE"+          ]+        },+        "authenticatorVersion": 1,+        "cryptoStrength": 128,+        "description": "FT-JCOS FIDO Fingerprint Card",+        "icon": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAAAUCAMAAAAtBkrlAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAABHZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMDE0IDc5LjE1Njc5NywgMjAxNC8wOC8yMC0wOTo1MzowMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iIHhtbG5zOnBob3Rvc2hvcD0iaHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE0IChNYWNpbnRvc2gpIiB4bXA6Q3JlYXRlRGF0ZT0iMjAxNi0xMi0zMFQxNDozMzowOCswODowMCIgeG1wOk1vZGlmeURhdGU9IjIwMTYtMTItMzBUMDc6MzE6NTkrMDg6MDAiIHhtcDpNZXRhZGF0YURhdGU9IjIwMTYtMTItMzBUMDc6MzE6NTkrMDg6MDAiIGRjOmZvcm1hdD0iaW1hZ2UvcG5nIiBwaG90b3Nob3A6SGlzdG9yeT0iMjAxNi0xMi0zMFQxNTozMDoyNyswODowMCYjeDk75paH5Lu2IOacquagh+mimC0xIOW3suaJk+W8gCYjeEE7IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJFNzFCRkZDQzY3RjExRTY5NzhEQTlDQkI2NDYzRjkwIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjJFNzFCRkZEQzY3RjExRTY5NzhEQTlDQkI2NDYzRjkwIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MkU3MUJGRkFDNjdGMTFFNjk3OERBOUNCQjY0NjNGOTAiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkU3MUJGRkJDNjdGMTFFNjk3OERBOUNCQjY0NjNGOTAiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz477JXFAAAAYFBMVEX///8EVqIXZavG2OoqcLG2zOOkwt0BSJtqlcXV4u+autlWhbzk7PUAMY9HcrKjtNbq8feAl8aBoszz9vpdjsGGqtF3n8uTsNSZpc6JsNT5+v0xYKnu8Pff5/L48fg/friczJgYAAADAElEQVR42kRUCZbDIAjFXZOY1TatNc39bzksSYc3r4ME4fMBAaD6zl8y/9TOget8d5jfN78bwM/dDCRpR521zXfojHJ05IIyhBAUSVAONdGzBYt2f7KFrfkJaAkHh9FZhcDXHRkTKo9MLihGaavImnV3qyEX0Eprgz/4DwUD7kCHRnd8QFN43Go4UVmDDgza4w27oizdA2+cK+uuUpjjo2+xwc/42W50x5LGYeDBsR0HVIx5x8iF60CblbTEEkFr27bNDBUVSq1OKVPbE62b3EH8FqBg5OOOEuc2t8ZJiqMOuGp+cKjg7wVGceozqN4pxgVPQkjFYgbVJKDUhDCjYrawP5q4ETgC9fIMRHtitpQcCvJOELcbMsQgnciRkljpyQjvG44jqBUETFiBi1PEIyekOzsW+Ty5cLHos5R+dMS1LtSSxf3gQHczR2CI4gMNpW4IRA1QMa6tJ4+C6uHuGE8mNDIyFqg/OP/MMUueS6Iq8S90dAeBJSEy/qKkK+BNwz8cYY4jb5J6u4iWCI2B1Z56LW5kEc4hkdMpsvUC5585SX0QubcgNqyfgDFEcTt+40/0S5Nx0waCw3OKkcObA5In0AYp01pjjw2n626UDjtHwa28iHuTKqtrv+reW41NZ6iGlr7uuLJCfkFtctcG04sgm1eNS+ZaDnpaTErGoyX5JK2iMz8xs0nOwWGcPDN49qaCd4bzJozDZm/aBK+EozLw+XhNBiYwHf0siOu1XPkG/zKwvqYKcfSwDEcH/oUe07es/WQ8rIyg2DOXj8tjkZduDB/b8hzDllMMOCS5BEnd534f8ti3UZc4kMs3xLyafMSsJhdG8XPqjNk5tAgO25feKChnVdDj/J0FMkOsU/xMBv0wFhYeEGfVH13fuDU0yDFLa4fc7RnWHBfuTFV2tEmNwadc7ac3UY2jfBl7HT36fe34iQO5mNCFFBW07KjPgqhOLU01vZ8PueZ2JClFZN8jkUs69uka9ePp6+EfL4AF5+NywSbirHtcB8Ml/gkwAEjkK64KjHPeAAAAAElFTkSuQmCC",+        "keyProtection": [+          "hardware",+          "secure_element"+        ],+        "legalHeader": "https://fidoalliance.org/metadata/metadata-statement-legal-header/",+        "matcherProtection": [+          "on_chip"+        ],+        "protocolFamily": "fido2",+        "publicKeyAlgAndEncodings": [+          "cose"+        ],+        "schema": 3,+        "tcDisplay": [],+        "upv": [+          {+            "major": 1,+            "minor": 0+          }+        ],+        "userVerificationDetails": [+          [+            {+              "userVerificationMethod": "presence_internal"+            }+          ],+          [+            {+              "userVerificationMethod": "fingerprint_internal"+            }+          ]+        ]+      },+      "statusReports": [+        {+          "certificateNumber": "FIDO20020200417001",+          "certificationDescriptor": "FT-JCOS FIDO® Fingerprint Card",+          "certificationPolicyVersion": "1.2",+          "certificationRequirementsVersion": "1.3",+          "effectiveDate": "2020-04-24",+          "status": "FIDO_CERTIFIED_L1"+        }+      ],+      "timeOfLastStatusChange": "2020-04-24"+    },+    {+      "aaguid": "12ded745-4bed-47d4-abaa-e713f51d6393",+      "metadataStatement": {+        "aaguid": "12ded745-4bed-47d4-abaa-e713f51d6393",+        "attachmentHint": [+          "external",+          "wired",+          "wireless",+          "nfc",+          "bluetooth"+        ],+        "attestationRootCertificates": [+          "MIIBfjCCASWgAwIBAgIBATAKBggqhkjOPQQDAjAXMRUwEwYDVQQDDAxGVCBGSURPIDAyMDAwIBcNMTYwNTAxMDAwMDAwWhgPMjA1MDA1MDEwMDAwMDBaMBcxFTATBgNVBAMMDEZUIEZJRE8gMDIwMDBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABNBmrRqVOxztTJVN19vtdqcL7tKQeol2nnM2/yYgvksZnr50SKbVgIEkzHQVOu80LVEE3lVheO1HjggxAlT6o4WjYDBeMB0GA1UdDgQWBBRJFWQt1bvG3jM6XgmV/IcjNtO/CzAfBgNVHSMEGDAWgBRJFWQt1bvG3jM6XgmV/IcjNtO/CzAMBgNVHRMEBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAKBggqhkjOPQQDAgNHADBEAiAwfPqgIWIUB+QBBaVGsdHy0s5RMxlkzpSX/zSyTZmUpQIgB2wJ6nZRM8oX/nA43Rh6SJovM2XwCCH//+LirBAbB0M=",+          "MIIB2DCCAX6gAwIBAgIQFZ97ws2JGPEoa5NI+p8z1jAKBggqhkjOPQQDAjBLMQswCQYDVQQGEwJDTjEdMBsGA1UECgwURmVpdGlhbiBUZWNobm9sb2dpZXMxHTAbBgNVBAMMFEZlaXRpYW4gRklETyBSb290IENBMCAXDTE4MDQwMTAwMDAwMFoYDzIwNDgwMzMxMjM1OTU5WjBLMQswCQYDVQQGEwJDTjEdMBsGA1UECgwURmVpdGlhbiBUZWNobm9sb2dpZXMxHTAbBgNVBAMMFEZlaXRpYW4gRklETyBSb290IENBMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEnfAKbjvMX1Ey1b6k+WQQdNVMt9JgGWyJ3PvM4BSK5XqTfo++0oAj/4tnwyIL0HFBR9St+ktjqSXDfjiXAurs86NCMEAwHQYDVR0OBBYEFNGhmE2Bf8O5a/YHZ71QEv6QRfFUMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMAoGCCqGSM49BAMCA0gAMEUCIQC3sT1lBjGeF+xKTpzV1KYU2ckahTd4mLJyzYOhaHv4igIgD2JYkfyH5Q4Bpo8rroO0It7oYjF2kgy/eSZ3U9Glaqw=",+          "MIIB2DCCAX6gAwIBAgIQGBUrQbdDrm20FZnDsX2CBTAKBggqhkjOPQQDAjBLMQswCQYDVQQGEwJVUzEdMBsGA1UECgwURmVpdGlhbiBUZWNobm9sb2dpZXMxHTAbBgNVBAMMFEZlaXRpYW4gRklETyBSb290IENBMCAXDTE4MDQwMTAwMDAwMFoYDzIwNDgwMzMxMjM1OTU5WjBLMQswCQYDVQQGEwJVUzEdMBsGA1UECgwURmVpdGlhbiBUZWNobm9sb2dpZXMxHTAbBgNVBAMMFEZlaXRpYW4gRklETyBSb290IENBMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEsFYEEhiJuqqnMgQjSiivBjV7DGCTf4XBBH/B7uvZsKxXShF0L8uDISWUvcExixRs6gB3oldSrjox6L8T94NOzqNCMEAwHQYDVR0OBBYEFEu9hyYRrRyJzwRYvnDSCIxrFiO3MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMAoGCCqGSM49BAMCA0gAMEUCIDHSb2mbNDAUNXvpPU0oWKeNye0fQ2l9D01AR2+sLZdhAiEAo3wz684IFMVsCCRmuJqxH6FQRESNqezuo1E+KkGxWuM="+        ],+        "attestationTypes": [+          "basic_full"+        ],+        "authenticationAlgorithms": [+          "secp256r1_ecdsa_sha256_raw"+        ],+        "authenticatorGetInfo": {+          "aaguid": "12ded7454bed47d4abaae713f51d6393",+          "algorithms": [+            {+              "alg": -7,+              "type": "public-key"+            }+          ],+          "extensions": [+            "credProtect",+            "hmac-secret"+          ],+          "maxCredentialCountInList": 10,+          "maxCredentialIdLength": 96,+          "maxMsgSize": 2048,+          "options": {+            "clientPin": false,+            "credentialMgmtPreview": true,+            "plat": false,+            "rk": true,+            "up": true,+            "userVerificationMgmtPreview": false,+            "uv": false+          },+          "pinUvAuthProtocols": [+            1+          ],+          "transports": [+            "ble",+            "nfc",+            "usb"+          ],+          "versions": [+            "U2F_V2",+            "FIDO_2_0",+            "FIDO_2_1_PRE"+          ]+        },+        "authenticatorVersion": 1,+        "cryptoStrength": 128,+        "description": "Feitian AllinOne FIDO2 Authenticator",+        "icon": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAAAUCAMAAAAtBkrlAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAABHZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMDE0IDc5LjE1Njc5NywgMjAxNC8wOC8yMC0wOTo1MzowMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iIHhtbG5zOnBob3Rvc2hvcD0iaHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE0IChNYWNpbnRvc2gpIiB4bXA6Q3JlYXRlRGF0ZT0iMjAxNi0xMi0zMFQxNDozMzowOCswODowMCIgeG1wOk1vZGlmeURhdGU9IjIwMTYtMTItMzBUMDc6MzE6NTkrMDg6MDAiIHhtcDpNZXRhZGF0YURhdGU9IjIwMTYtMTItMzBUMDc6MzE6NTkrMDg6MDAiIGRjOmZvcm1hdD0iaW1hZ2UvcG5nIiBwaG90b3Nob3A6SGlzdG9yeT0iMjAxNi0xMi0zMFQxNTozMDoyNyswODowMCYjeDk75paH5Lu2IOacquagh+mimC0xIOW3suaJk+W8gCYjeEE7IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJFNzFCRkZDQzY3RjExRTY5NzhEQTlDQkI2NDYzRjkwIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjJFNzFCRkZEQzY3RjExRTY5NzhEQTlDQkI2NDYzRjkwIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MkU3MUJGRkFDNjdGMTFFNjk3OERBOUNCQjY0NjNGOTAiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkU3MUJGRkJDNjdGMTFFNjk3OERBOUNCQjY0NjNGOTAiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz477JXFAAAAYFBMVEX///8EVqIXZavG2OoqcLG2zOOkwt0BSJtqlcXV4u+autlWhbzk7PUAMY9HcrKjtNbq8feAl8aBoszz9vpdjsGGqtF3n8uTsNSZpc6JsNT5+v0xYKnu8Pff5/L48fg/friczJgYAAADAElEQVR42kRUCZbDIAjFXZOY1TatNc39bzksSYc3r4ME4fMBAaD6zl8y/9TOget8d5jfN78bwM/dDCRpR521zXfojHJ05IIyhBAUSVAONdGzBYt2f7KFrfkJaAkHh9FZhcDXHRkTKo9MLihGaavImnV3qyEX0Eprgz/4DwUD7kCHRnd8QFN43Go4UVmDDgza4w27oizdA2+cK+uuUpjjo2+xwc/42W50x5LGYeDBsR0HVIx5x8iF60CblbTEEkFr27bNDBUVSq1OKVPbE62b3EH8FqBg5OOOEuc2t8ZJiqMOuGp+cKjg7wVGceozqN4pxgVPQkjFYgbVJKDUhDCjYrawP5q4ETgC9fIMRHtitpQcCvJOELcbMsQgnciRkljpyQjvG44jqBUETFiBi1PEIyekOzsW+Ty5cLHos5R+dMS1LtSSxf3gQHczR2CI4gMNpW4IRA1QMa6tJ4+C6uHuGE8mNDIyFqg/OP/MMUueS6Iq8S90dAeBJSEy/qKkK+BNwz8cYY4jb5J6u4iWCI2B1Z56LW5kEc4hkdMpsvUC5585SX0QubcgNqyfgDFEcTt+40/0S5Nx0waCw3OKkcObA5In0AYp01pjjw2n626UDjtHwa28iHuTKqtrv+reW41NZ6iGlr7uuLJCfkFtctcG04sgm1eNS+ZaDnpaTErGoyX5JK2iMz8xs0nOwWGcPDN49qaCd4bzJozDZm/aBK+EozLw+XhNBiYwHf0siOu1XPkG/zKwvqYKcfSwDEcH/oUe07es/WQ8rIyg2DOXj8tjkZduDB/b8hzDllMMOCS5BEnd534f8ti3UZc4kMs3xLyafMSsJhdG8XPqjNk5tAgO25feKChnVdDj/J0FMkOsU/xMBv0wFhYeEGfVH13fuDU0yDFLa4fc7RnWHBfuTFV2tEmNwadc7ac3UY2jfBl7HT36fe34iQO5mNCFFBW07KjPgqhOLU01vZ8PueZ2JClFZN8jkUs69uka9ePp6+EfL4AF5+NywSbirHtcB8Ml/gkwAEjkK64KjHPeAAAAAElFTkSuQmCC",+        "keyProtection": [+          "hardware",+          "secure_element"+        ],+        "legalHeader": "https://fidoalliance.org/metadata/metadata-statement-legal-header/",+        "matcherProtection": [+          "on_chip"+        ],+        "protocolFamily": "fido2",+        "publicKeyAlgAndEncodings": [+          "cose"+        ],+        "schema": 3,+        "tcDisplay": [],+        "upv": [+          {+            "major": 1,+            "minor": 0+          }+        ],+        "userVerificationDetails": [+          [+            {+              "userVerificationMethod": "presence_internal"+            }+          ],+          [+            {+              "userVerificationMethod": "fingerprint_internal"+            }+          ]+        ]+      },+      "statusReports": [+        {+          "certificateNumber": "FIDO20020190311004",+          "certificationDescriptor": "Feitian BioPass FIDO USB/NFC/BLE",+          "certificationPolicyVersion": "1.3.6",+          "certificationRequirementsVersion": "1.0.0",+          "effectiveDate": "2019-05-27",+          "status": "FIDO_CERTIFIED_L1"+        }+      ],+      "timeOfLastStatusChange": "2019-05-27"+    },+    {+      "aaguid": "77010bd7-212a-4fc9-b236-d2ca5e9d4084",+      "metadataStatement": {+        "aaguid": "77010bd7-212a-4fc9-b236-d2ca5e9d4084",+        "attachmentHint": [+          "external"+        ],+        "attestationRootCertificates": [+          "MIIB2DCCAX6gAwIBAgIQGBUrQbdDrm20FZnDsX2CBTAKBggqhkjOPQQDAjBLMQswCQYDVQQGEwJVUzEdMBsGA1UECgwURmVpdGlhbiBUZWNobm9sb2dpZXMxHTAbBgNVBAMMFEZlaXRpYW4gRklETyBSb290IENBMCAXDTE4MDQwMTAwMDAwMFoYDzIwNDgwMzMxMjM1OTU5WjBLMQswCQYDVQQGEwJVUzEdMBsGA1UECgwURmVpdGlhbiBUZWNobm9sb2dpZXMxHTAbBgNVBAMMFEZlaXRpYW4gRklETyBSb290IENBMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEsFYEEhiJuqqnMgQjSiivBjV7DGCTf4XBBH/B7uvZsKxXShF0L8uDISWUvcExixRs6gB3oldSrjox6L8T94NOzqNCMEAwHQYDVR0OBBYEFEu9hyYRrRyJzwRYvnDSCIxrFiO3MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMAoGCCqGSM49BAMCA0gAMEUCIDHSb2mbNDAUNXvpPU0oWKeNye0fQ2l9D01AR2+sLZdhAiEAo3wz684IFMVsCCRmuJqxH6FQRESNqezuo1E+KkGxWuM=",+          "MIIB2DCCAX6gAwIBAgIQFZ97ws2JGPEoa5NI+p8z1jAKBggqhkjOPQQDAjBLMQswCQYDVQQGEwJDTjEdMBsGA1UECgwURmVpdGlhbiBUZWNobm9sb2dpZXMxHTAbBgNVBAMMFEZlaXRpYW4gRklETyBSb290IENBMCAXDTE4MDQwMTAwMDAwMFoYDzIwNDgwMzMxMjM1OTU5WjBLMQswCQYDVQQGEwJDTjEdMBsGA1UECgwURmVpdGlhbiBUZWNobm9sb2dpZXMxHTAbBgNVBAMMFEZlaXRpYW4gRklETyBSb290IENBMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEnfAKbjvMX1Ey1b6k+WQQdNVMt9JgGWyJ3PvM4BSK5XqTfo++0oAj/4tnwyIL0HFBR9St+ktjqSXDfjiXAurs86NCMEAwHQYDVR0OBBYEFNGhmE2Bf8O5a/YHZ71QEv6QRfFUMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMAoGCCqGSM49BAMCA0gAMEUCIQC3sT1lBjGeF+xKTpzV1KYU2ckahTd4mLJyzYOhaHv4igIgD2JYkfyH5Q4Bpo8rroO0It7oYjF2kgy/eSZ3U9Glaqw=",+          "MIIBfjCCASWgAwIBAgIBATAKBggqhkjOPQQDAjAXMRUwEwYDVQQDDAxGVCBGSURPIDAyMDAwIBcNMTYwNTAxMDAwMDAwWhgPMjA1MDA1MDEwMDAwMDBaMBcxFTATBgNVBAMMDEZUIEZJRE8gMDIwMDBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABNBmrRqVOxztTJVN19vtdqcL7tKQeol2nnM2/yYgvksZnr50SKbVgIEkzHQVOu80LVEE3lVheO1HjggxAlT6o4WjYDBeMB0GA1UdDgQWBBRJFWQt1bvG3jM6XgmV/IcjNtO/CzAfBgNVHSMEGDAWgBRJFWQt1bvG3jM6XgmV/IcjNtO/CzAMBgNVHRMEBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAKBggqhkjOPQQDAgNHADBEAiAwfPqgIWIUB+QBBaVGsdHy0s5RMxlkzpSX/zSyTZmUpQIgB2wJ6nZRM8oX/nA43Rh6SJovM2XwCCH//+LirBAbB0M="+        ],+        "attestationTypes": [+          "basic_full"+        ],+        "authenticationAlgorithms": [+          "secp256r1_ecdsa_sha256_raw"+        ],+        "authenticatorGetInfo": {+          "aaguid": "77010bd7212a4fc9b236d2ca5e9d4084",+          "algorithms": [+            {+              "alg": -7,+              "type": "public-key"+            }+          ],+          "extensions": [+            "credProtect",+            "hmac-secret"+          ],+          "maxCredentialCountInList": 10,+          "maxCredentialIdLength": 96,+          "maxMsgSize": 2048,+          "options": {+            "clientPin": false,+            "credentialMgmtPreview": true,+            "plat": false,+            "rk": true,+            "up": true,+            "userVerificationMgmtPreview": false,+            "uv": false+          },+          "pinUvAuthProtocols": [+            1+          ],+          "transports": [+            "usb"+          ],+          "versions": [+            "U2F_V2",+            "FIDO_2_0",+            "FIDO_2_1_PRE"+          ]+        },+        "authenticatorVersion": 1,+        "cryptoStrength": 128,+        "description": "Feitian BioPass FIDO2 Authenticator",+        "icon": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAAAUCAMAAAAtBkrlAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAABHZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMDE0IDc5LjE1Njc5NywgMjAxNC8wOC8yMC0wOTo1MzowMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iIHhtbG5zOnBob3Rvc2hvcD0iaHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE0IChNYWNpbnRvc2gpIiB4bXA6Q3JlYXRlRGF0ZT0iMjAxNi0xMi0zMFQxNDozMzowOCswODowMCIgeG1wOk1vZGlmeURhdGU9IjIwMTYtMTItMzBUMDc6MzE6NTkrMDg6MDAiIHhtcDpNZXRhZGF0YURhdGU9IjIwMTYtMTItMzBUMDc6MzE6NTkrMDg6MDAiIGRjOmZvcm1hdD0iaW1hZ2UvcG5nIiBwaG90b3Nob3A6SGlzdG9yeT0iMjAxNi0xMi0zMFQxNTozMDoyNyswODowMCYjeDk75paH5Lu2IOacquagh+mimC0xIOW3suaJk+W8gCYjeEE7IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJFNzFCRkZDQzY3RjExRTY5NzhEQTlDQkI2NDYzRjkwIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjJFNzFCRkZEQzY3RjExRTY5NzhEQTlDQkI2NDYzRjkwIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MkU3MUJGRkFDNjdGMTFFNjk3OERBOUNCQjY0NjNGOTAiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkU3MUJGRkJDNjdGMTFFNjk3OERBOUNCQjY0NjNGOTAiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz477JXFAAAAYFBMVEX///8EVqIXZavG2OoqcLG2zOOkwt0BSJtqlcXV4u+autlWhbzk7PUAMY9HcrKjtNbq8feAl8aBoszz9vpdjsGGqtF3n8uTsNSZpc6JsNT5+v0xYKnu8Pff5/L48fg/friczJgYAAADAElEQVR42kRUCZbDIAjFXZOY1TatNc39bzksSYc3r4ME4fMBAaD6zl8y/9TOget8d5jfN78bwM/dDCRpR521zXfojHJ05IIyhBAUSVAONdGzBYt2f7KFrfkJaAkHh9FZhcDXHRkTKo9MLihGaavImnV3qyEX0Eprgz/4DwUD7kCHRnd8QFN43Go4UVmDDgza4w27oizdA2+cK+uuUpjjo2+xwc/42W50x5LGYeDBsR0HVIx5x8iF60CblbTEEkFr27bNDBUVSq1OKVPbE62b3EH8FqBg5OOOEuc2t8ZJiqMOuGp+cKjg7wVGceozqN4pxgVPQkjFYgbVJKDUhDCjYrawP5q4ETgC9fIMRHtitpQcCvJOELcbMsQgnciRkljpyQjvG44jqBUETFiBi1PEIyekOzsW+Ty5cLHos5R+dMS1LtSSxf3gQHczR2CI4gMNpW4IRA1QMa6tJ4+C6uHuGE8mNDIyFqg/OP/MMUueS6Iq8S90dAeBJSEy/qKkK+BNwz8cYY4jb5J6u4iWCI2B1Z56LW5kEc4hkdMpsvUC5585SX0QubcgNqyfgDFEcTt+40/0S5Nx0waCw3OKkcObA5In0AYp01pjjw2n626UDjtHwa28iHuTKqtrv+reW41NZ6iGlr7uuLJCfkFtctcG04sgm1eNS+ZaDnpaTErGoyX5JK2iMz8xs0nOwWGcPDN49qaCd4bzJozDZm/aBK+EozLw+XhNBiYwHf0siOu1XPkG/zKwvqYKcfSwDEcH/oUe07es/WQ8rIyg2DOXj8tjkZduDB/b8hzDllMMOCS5BEnd534f8ti3UZc4kMs3xLyafMSsJhdG8XPqjNk5tAgO25feKChnVdDj/J0FMkOsU/xMBv0wFhYeEGfVH13fuDU0yDFLa4fc7RnWHBfuTFV2tEmNwadc7ac3UY2jfBl7HT36fe34iQO5mNCFFBW07KjPgqhOLU01vZ8PueZ2JClFZN8jkUs69uka9ePp6+EfL4AF5+NywSbirHtcB8Ml/gkwAEjkK64KjHPeAAAAAElFTkSuQmCC",+        "keyProtection": [+          "hardware",+          "secure_element"+        ],+        "legalHeader": "https://fidoalliance.org/metadata/metadata-statement-legal-header/",+        "matcherProtection": [+          "on_chip"+        ],+        "protocolFamily": "fido2",+        "publicKeyAlgAndEncodings": [+          "cose"+        ],+        "schema": 3,+        "tcDisplay": [],+        "upv": [+          {+            "major": 1,+            "minor": 0+          }+        ],+        "userVerificationDetails": [+          [+            {+              "userVerificationMethod": "presence_internal"+            }+          ],+          [+            {+              "userVerificationMethod": "fingerprint_internal"+            }+          ]+        ]+      },+      "statusReports": [+        {+          "certificateNumber": "FIDO20020180929001",+          "certificationDescriptor": "Feitian BioPass FIDO2 authenticator",+          "certificationPolicyVersion": "1.3.4",+          "certificationRequirementsVersion": "1.1.0",+          "effectiveDate": "2018-10-26",+          "status": "FIDO_CERTIFIED_L1"+        }+      ],+      "timeOfLastStatusChange": "2018-10-26"+    },+    {+      "aaguid": "b6ede29c-3772-412c-8a78-539c1f4c62d2",+      "metadataStatement": {+        "aaguid": "b6ede29c-3772-412c-8a78-539c1f4c62d2",+        "attachmentHint": [+          "external",+          "wired"+        ],+        "attestationRootCertificates": [+          "\nMIIB2DCCAX6gAwIBAgIQFZ97ws2JGPEoa5NI+p8z1jAKBggqhkjOPQQDAjBLMQswCQYDVQQGEwJDTjEdMBsGA1UECgwURmVpdGlhbiBUZWNobm9sb2dpZXMxHTAbBgNVBAMMFEZlaXRpYW4gRklETyBSb290IENBMCAXDTE4MDQwMTAwMDAwMFoYDzIwNDgwMzMxMjM1OTU5WjBLMQswCQYDVQQGEwJDTjEdMBsGA1UECgwURmVpdGlhbiBUZWNobm9sb2dpZXMxHTAbBgNVBAMMFEZlaXRpYW4gRklETyBSb290IENBMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEnfAKbjvMX1Ey1b6k+WQQdNVMt9JgGWyJ3PvM4BSK5XqTfo++0oAj/4tnwyIL0HFBR9St+ktjqSXDfjiXAurs86NCMEAwHQYDVR0OBBYEFNGhmE2Bf8O5a/YHZ71QEv6QRfFUMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMAoGCCqGSM49BAMCA0gAMEUCIQC3sT1lBjGeF+xKTpzV1KYU2ckahTd4mLJyzYOhaHv4igIgD2JYkfyH5Q4Bpo8rroO0It7oYjF2kgy/eSZ3U9Glaqw=",+          "MIIB2DCCAX6gAwIBAgIQGBUrQbdDrm20FZnDsX2CBTAKBggqhkjOPQQDAjBLMQswCQYDVQQGEwJVUzEdMBsGA1UECgwURmVpdGlhbiBUZWNobm9sb2dpZXMxHTAbBgNVBAMMFEZlaXRpYW4gRklETyBSb290IENBMCAXDTE4MDQwMTAwMDAwMFoYDzIwNDgwMzMxMjM1OTU5WjBLMQswCQYDVQQGEwJVUzEdMBsGA1UECgwURmVpdGlhbiBUZWNobm9sb2dpZXMxHTAbBgNVBAMMFEZlaXRpYW4gRklETyBSb290IENBMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEsFYEEhiJuqqnMgQjSiivBjV7DGCTf4XBBH/B7uvZsKxXShF0L8uDISWUvcExixRs6gB3oldSrjox6L8T94NOzqNCMEAwHQYDVR0OBBYEFEu9hyYRrRyJzwRYvnDSCIxrFiO3MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMAoGCCqGSM49BAMCA0gAMEUCIDHSb2mbNDAUNXvpPU0oWKeNye0fQ2l9D01AR2+sLZdhAiEAo3wz684IFMVsCCRmuJqxH6FQRESNqezuo1E+KkGxWuM=",+          "\nMIIBfjCCASWgAwIBAgIBATAKBggqhkjOPQQDAjAXMRUwEwYDVQQDDAxGVCBGSURPIDAyMDAwIBcNMTYwNTAxMDAwMDAwWhgPMjA1MDA1MDEwMDAwMDBaMBcxFTATBgNVBAMMDEZUIEZJRE8gMDIwMDBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABNBmrRqVOxztTJVN19vtdqcL7tKQeol2nnM2/yYgvksZnr50SKbVgIEkzHQVOu80LVEE3lVheO1HjggxAlT6o4WjYDBeMB0GA1UdDgQWBBRJFWQt1bvG3jM6XgmV/IcjNtO/CzAfBgNVHSMEGDAWgBRJFWQt1bvG3jM6XgmV/IcjNtO/CzAMBgNVHRMEBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAKBggqhkjOPQQDAgNHADBEAiAwfPqgIWIUB+QBBaVGsdHy0s5RMxlkzpSX/zSyTZmUpQIgB2wJ6nZRM8oX/nA43Rh6SJovM2XwCCH//+LirBAbB0M="+        ],+        "attestationTypes": [+          "basic_full"+        ],+        "authenticationAlgorithms": [+          "secp256r1_ecdsa_sha256_raw"+        ],+        "authenticatorGetInfo": {+          "aaguid": "b6ede29c3772412c8a78539c1f4c62d2",+          "extensions": [+            "credProtect",+            "hmac-secret"+          ],+          "firmwareVersion": 1,+          "options": {+            "clientPin": true,+            "credentialMgmtPreview": true,+            "plat": false,+            "rk": true,+            "up": true,+            "uv": true+          },+          "pinUvAuthProtocols": [+            1+          ],+          "versions": [+            "U2F_V2",+            "FIDO_2_0",+            "FIDO_2_1_PRE"+          ]+        },+        "authenticatorVersion": 1,+        "cryptoStrength": 128,+        "description": "Feitian BioPass FIDO2 Plus Authenticator",+        "icon": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAAAUCAMAAAAtBkrlAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAABHZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMDE0IDc5LjE1Njc5NywgMjAxNC8wOC8yMC0wOTo1MzowMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iIHhtbG5zOnBob3Rvc2hvcD0iaHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE0IChNYWNpbnRvc2gpIiB4bXA6Q3JlYXRlRGF0ZT0iMjAxNi0xMi0zMFQxNDozMzowOCswODowMCIgeG1wOk1vZGlmeURhdGU9IjIwMTYtMTItMzBUMDc6MzE6NTkrMDg6MDAiIHhtcDpNZXRhZGF0YURhdGU9IjIwMTYtMTItMzBUMDc6MzE6NTkrMDg6MDAiIGRjOmZvcm1hdD0iaW1hZ2UvcG5nIiBwaG90b3Nob3A6SGlzdG9yeT0iMjAxNi0xMi0zMFQxNTozMDoyNyswODowMCYjeDk75paH5Lu2IOacquagh+mimC0xIOW3suaJk+W8gCYjeEE7IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJFNzFCRkZDQzY3RjExRTY5NzhEQTlDQkI2NDYzRjkwIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjJFNzFCRkZEQzY3RjExRTY5NzhEQTlDQkI2NDYzRjkwIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MkU3MUJGRkFDNjdGMTFFNjk3OERBOUNCQjY0NjNGOTAiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkU3MUJGRkJDNjdGMTFFNjk3OERBOUNCQjY0NjNGOTAiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz477JXFAAAAYFBMVEX///8EVqIXZavG2OoqcLG2zOOkwt0BSJtqlcXV4u+autlWhbzk7PUAMY9HcrKjtNbq8feAl8aBoszz9vpdjsGGqtF3n8uTsNSZpc6JsNT5+v0xYKnu8Pff5/L48fg/friczJgYAAADAElEQVR42kRUCZbDIAjFXZOY1TatNc39bzksSYc3r4ME4fMBAaD6zl8y/9TOget8d5jfN78bwM/dDCRpR521zXfojHJ05IIyhBAUSVAONdGzBYt2f7KFrfkJaAkHh9FZhcDXHRkTKo9MLihGaavImnV3qyEX0Eprgz/4DwUD7kCHRnd8QFN43Go4UVmDDgza4w27oizdA2+cK+uuUpjjo2+xwc/42W50x5LGYeDBsR0HVIx5x8iF60CblbTEEkFr27bNDBUVSq1OKVPbE62b3EH8FqBg5OOOEuc2t8ZJiqMOuGp+cKjg7wVGceozqN4pxgVPQkjFYgbVJKDUhDCjYrawP5q4ETgC9fIMRHtitpQcCvJOELcbMsQgnciRkljpyQjvG44jqBUETFiBi1PEIyekOzsW+Ty5cLHos5R+dMS1LtSSxf3gQHczR2CI4gMNpW4IRA1QMa6tJ4+C6uHuGE8mNDIyFqg/OP/MMUueS6Iq8S90dAeBJSEy/qKkK+BNwz8cYY4jb5J6u4iWCI2B1Z56LW5kEc4hkdMpsvUC5585SX0QubcgNqyfgDFEcTt+40/0S5Nx0waCw3OKkcObA5In0AYp01pjjw2n626UDjtHwa28iHuTKqtrv+reW41NZ6iGlr7uuLJCfkFtctcG04sgm1eNS+ZaDnpaTErGoyX5JK2iMz8xs0nOwWGcPDN49qaCd4bzJozDZm/aBK+EozLw+XhNBiYwHf0siOu1XPkG/zKwvqYKcfSwDEcH/oUe07es/WQ8rIyg2DOXj8tjkZduDB/b8hzDllMMOCS5BEnd534f8ti3UZc4kMs3xLyafMSsJhdG8XPqjNk5tAgO25feKChnVdDj/J0FMkOsU/xMBv0wFhYeEGfVH13fuDU0yDFLa4fc7RnWHBfuTFV2tEmNwadc7ac3UY2jfBl7HT36fe34iQO5mNCFFBW07KjPgqhOLU01vZ8PueZ2JClFZN8jkUs69uka9ePp6+EfL4AF5+NywSbirHtcB8Ml/gkwAEjkK64KjHPeAAAAAElFTkSuQmCC",+        "keyProtection": [+          "hardware",+          "secure_element"+        ],+        "legalHeader": "https://fidoalliance.org/metadata/metadata-statement-legal-header/",+        "matcherProtection": [+          "on_chip"+        ],+        "protocolFamily": "fido2",+        "publicKeyAlgAndEncodings": [+          "cose"+        ],+        "schema": 3,+        "tcDisplay": [],+        "upv": [+          {+            "major": 1,+            "minor": 0+          }+        ],+        "userVerificationDetails": [+          [+            {+              "userVerificationMethod": "passcode_external"+            }+          ],+          [+            {+              "userVerificationMethod": "fingerprint_internal"+            }+          ]+        ]+      },+      "statusReports": [+        {+          "effectiveDate": "2018-09-29",+          "status": "FIDO_CERTIFIED"+        },+        {+          "certificateNumber": "FIDO20020180929001",+          "certificationDescriptor": "Feitian BioPass FIDO2 Authenticator",+          "certificationPolicyVersion": "1.2",+          "certificationRequirementsVersion": "1.2",+          "effectiveDate": "2018-09-29",+          "status": "FIDO_CERTIFIED_L1"+        }+      ],+      "timeOfLastStatusChange": "2021-07-31"+    },+    {+      "aaguid": "2c0df832-92de-4be1-8412-88a8f074df4a",+      "metadataStatement": {+        "aaguid": "2c0df832-92de-4be1-8412-88a8f074df4a",+        "attachmentHint": [+          "external",+          "wireless",+          "nfc"+        ],+        "attestationRootCertificates": [+          "MIIB2DCCAX6gAwIBAgIQGBUrQbdDrm20FZnDsX2CBTAKBggqhkjOPQQDAjBLMQswCQYDVQQGEwJVUzEdMBsGA1UECgwURmVpdGlhbiBUZWNobm9sb2dpZXMxHTAbBgNVBAMMFEZlaXRpYW4gRklETyBSb290IENBMCAXDTE4MDQwMTAwMDAwMFoYDzIwNDgwMzMxMjM1OTU5WjBLMQswCQYDVQQGEwJVUzEdMBsGA1UECgwURmVpdGlhbiBUZWNobm9sb2dpZXMxHTAbBgNVBAMMFEZlaXRpYW4gRklETyBSb290IENBMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEsFYEEhiJuqqnMgQjSiivBjV7DGCTf4XBBH/B7uvZsKxXShF0L8uDISWUvcExixRs6gB3oldSrjox6L8T94NOzqNCMEAwHQYDVR0OBBYEFEu9hyYRrRyJzwRYvnDSCIxrFiO3MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMAoGCCqGSM49BAMCA0gAMEUCIDHSb2mbNDAUNXvpPU0oWKeNye0fQ2l9D01AR2+sLZdhAiEAo3wz684IFMVsCCRmuJqxH6FQRESNqezuo1E+KkGxWuM=",+          "MIIB2DCCAX6gAwIBAgIQFZ97ws2JGPEoa5NI+p8z1jAKBggqhkjOPQQDAjBLMQswCQYDVQQGEwJDTjEdMBsGA1UECgwURmVpdGlhbiBUZWNobm9sb2dpZXMxHTAbBgNVBAMMFEZlaXRpYW4gRklETyBSb290IENBMCAXDTE4MDQwMTAwMDAwMFoYDzIwNDgwMzMxMjM1OTU5WjBLMQswCQYDVQQGEwJDTjEdMBsGA1UECgwURmVpdGlhbiBUZWNobm9sb2dpZXMxHTAbBgNVBAMMFEZlaXRpYW4gRklETyBSb290IENBMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEnfAKbjvMX1Ey1b6k+WQQdNVMt9JgGWyJ3PvM4BSK5XqTfo++0oAj/4tnwyIL0HFBR9St+ktjqSXDfjiXAurs86NCMEAwHQYDVR0OBBYEFNGhmE2Bf8O5a/YHZ71QEv6QRfFUMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMAoGCCqGSM49BAMCA0gAMEUCIQC3sT1lBjGeF+xKTpzV1KYU2ckahTd4mLJyzYOhaHv4igIgD2JYkfyH5Q4Bpo8rroO0It7oYjF2kgy/eSZ3U9Glaqw=",+          "MIIBfjCCASWgAwIBAgIBATAKBggqhkjOPQQDAjAXMRUwEwYDVQQDDAxGVCBGSURPIDAyMDAwIBcNMTYwNTAxMDAwMDAwWhgPMjA1MDA1MDEwMDAwMDBaMBcxFTATBgNVBAMMDEZUIEZJRE8gMDIwMDBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABNBmrRqVOxztTJVN19vtdqcL7tKQeol2nnM2/yYgvksZnr50SKbVgIEkzHQVOu80LVEE3lVheO1HjggxAlT6o4WjYDBeMB0GA1UdDgQWBBRJFWQt1bvG3jM6XgmV/IcjNtO/CzAfBgNVHSMEGDAWgBRJFWQt1bvG3jM6XgmV/IcjNtO/CzAMBgNVHRMEBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAKBggqhkjOPQQDAgNHADBEAiAwfPqgIWIUB+QBBaVGsdHy0s5RMxlkzpSX/zSyTZmUpQIgB2wJ6nZRM8oX/nA43Rh6SJovM2XwCCH//+LirBAbB0M="+        ],+        "attestationTypes": [+          "basic_full"+        ],+        "authenticationAlgorithms": [+          "secp256r1_ecdsa_sha256_raw"+        ],+        "authenticatorGetInfo": {+          "aaguid": "2c0df83292de4be1841288a8f074df4a",+          "algorithms": [+            {+              "alg": -7,+              "type": "public-key"+            }+          ],+          "extensions": [+            "credProtect",+            "hmac-secret"+          ],+          "maxCredentialCountInList": 6,+          "maxCredentialIdLength": 96,+          "maxMsgSize": 1024,+          "options": {+            "clientPin": false,+            "credentialMgmtPreview": true,+            "plat": false,+            "rk": true,+            "up": true+          },+          "pinUvAuthProtocols": [+            1+          ],+          "transports": [+            "nfc"+          ],+          "versions": [+            "U2F_V2",+            "FIDO_2_0",+            "FIDO_2_1_PRE"+          ]+        },+        "authenticatorVersion": 1,+        "cryptoStrength": 128,+        "description": "Feitian FIDO Smart Card",+        "icon": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAAAUCAMAAAAtBkrlAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAABHZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMDE0IDc5LjE1Njc5NywgMjAxNC8wOC8yMC0wOTo1MzowMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iIHhtbG5zOnBob3Rvc2hvcD0iaHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE0IChNYWNpbnRvc2gpIiB4bXA6Q3JlYXRlRGF0ZT0iMjAxNi0xMi0zMFQxNDozMzowOCswODowMCIgeG1wOk1vZGlmeURhdGU9IjIwMTYtMTItMzBUMDc6MzE6NTkrMDg6MDAiIHhtcDpNZXRhZGF0YURhdGU9IjIwMTYtMTItMzBUMDc6MzE6NTkrMDg6MDAiIGRjOmZvcm1hdD0iaW1hZ2UvcG5nIiBwaG90b3Nob3A6SGlzdG9yeT0iMjAxNi0xMi0zMFQxNTozMDoyNyswODowMCYjeDk75paH5Lu2IOacquagh+mimC0xIOW3suaJk+W8gCYjeEE7IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJFNzFCRkZDQzY3RjExRTY5NzhEQTlDQkI2NDYzRjkwIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjJFNzFCRkZEQzY3RjExRTY5NzhEQTlDQkI2NDYzRjkwIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MkU3MUJGRkFDNjdGMTFFNjk3OERBOUNCQjY0NjNGOTAiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkU3MUJGRkJDNjdGMTFFNjk3OERBOUNCQjY0NjNGOTAiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz477JXFAAAAYFBMVEX///8EVqIXZavG2OoqcLG2zOOkwt0BSJtqlcXV4u+autlWhbzk7PUAMY9HcrKjtNbq8feAl8aBoszz9vpdjsGGqtF3n8uTsNSZpc6JsNT5+v0xYKnu8Pff5/L48fg/friczJgYAAADAElEQVR42kRUCZbDIAjFXZOY1TatNc39bzksSYc3r4ME4fMBAaD6zl8y/9TOget8d5jfN78bwM/dDCRpR521zXfojHJ05IIyhBAUSVAONdGzBYt2f7KFrfkJaAkHh9FZhcDXHRkTKo9MLihGaavImnV3qyEX0Eprgz/4DwUD7kCHRnd8QFN43Go4UVmDDgza4w27oizdA2+cK+uuUpjjo2+xwc/42W50x5LGYeDBsR0HVIx5x8iF60CblbTEEkFr27bNDBUVSq1OKVPbE62b3EH8FqBg5OOOEuc2t8ZJiqMOuGp+cKjg7wVGceozqN4pxgVPQkjFYgbVJKDUhDCjYrawP5q4ETgC9fIMRHtitpQcCvJOELcbMsQgnciRkljpyQjvG44jqBUETFiBi1PEIyekOzsW+Ty5cLHos5R+dMS1LtSSxf3gQHczR2CI4gMNpW4IRA1QMa6tJ4+C6uHuGE8mNDIyFqg/OP/MMUueS6Iq8S90dAeBJSEy/qKkK+BNwz8cYY4jb5J6u4iWCI2B1Z56LW5kEc4hkdMpsvUC5585SX0QubcgNqyfgDFEcTt+40/0S5Nx0waCw3OKkcObA5In0AYp01pjjw2n626UDjtHwa28iHuTKqtrv+reW41NZ6iGlr7uuLJCfkFtctcG04sgm1eNS+ZaDnpaTErGoyX5JK2iMz8xs0nOwWGcPDN49qaCd4bzJozDZm/aBK+EozLw+XhNBiYwHf0siOu1XPkG/zKwvqYKcfSwDEcH/oUe07es/WQ8rIyg2DOXj8tjkZduDB/b8hzDllMMOCS5BEnd534f8ti3UZc4kMs3xLyafMSsJhdG8XPqjNk5tAgO25feKChnVdDj/J0FMkOsU/xMBv0wFhYeEGfVH13fuDU0yDFLa4fc7RnWHBfuTFV2tEmNwadc7ac3UY2jfBl7HT36fe34iQO5mNCFFBW07KjPgqhOLU01vZ8PueZ2JClFZN8jkUs69uka9ePp6+EfL4AF5+NywSbirHtcB8Ml/gkwAEjkK64KjHPeAAAAAElFTkSuQmCC",+        "keyProtection": [+          "hardware",+          "secure_element"+        ],+        "legalHeader": "https://fidoalliance.org/metadata/metadata-statement-legal-header/",+        "matcherProtection": [+          "on_chip"+        ],+        "protocolFamily": "fido2",+        "publicKeyAlgAndEncodings": [+          "cose"+        ],+        "schema": 3,+        "tcDisplay": [],+        "upv": [+          {+            "major": 1,+            "minor": 0+          }+        ],+        "userVerificationDetails": [+          [+            {+              "userVerificationMethod": "presence_internal"+            }+          ]+        ]+      },+      "statusReports": [+        {+          "certificationDescriptor": "Feitian FIDO Smart Card",+          "certificationPolicyVersion": "1.2",+          "certificationRequirementsVersion": "1.3",+          "effectiveDate": "2020-04-24",+          "status": "NOT_FIDO_CERTIFIED"+        }+      ],+      "timeOfLastStatusChange": "2020-04-24"+    },+    {+      "aaguid": "833b721a-ff5f-4d00-bb2e-bdda3ec01e29",+      "metadataStatement": {+        "aaguid": "833b721a-ff5f-4d00-bb2e-bdda3ec01e29",+        "attachmentHint": [+          "external"+        ],+        "attestationRootCertificates": [+          "MIIBfjCCASWgAwIBAgIBATAKBggqhkjOPQQDAjAXMRUwEwYDVQQDDAxGVCBGSURPIDAyMDAwIBcNMTYwNTAxMDAwMDAwWhgPMjA1MDA1MDEwMDAwMDBaMBcxFTATBgNVBAMMDEZUIEZJRE8gMDIwMDBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABNBmrRqVOxztTJVN19vtdqcL7tKQeol2nnM2/yYgvksZnr50SKbVgIEkzHQVOu80LVEE3lVheO1HjggxAlT6o4WjYDBeMB0GA1UdDgQWBBRJFWQt1bvG3jM6XgmV/IcjNtO/CzAfBgNVHSMEGDAWgBRJFWQt1bvG3jM6XgmV/IcjNtO/CzAMBgNVHRMEBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAKBggqhkjOPQQDAgNHADBEAiAwfPqgIWIUB+QBBaVGsdHy0s5RMxlkzpSX/zSyTZmUpQIgB2wJ6nZRM8oX/nA43Rh6SJovM2XwCCH//+LirBAbB0M=",+          "MIIB2DCCAX6gAwIBAgIQFZ97ws2JGPEoa5NI+p8z1jAKBggqhkjOPQQDAjBLMQswCQYDVQQGEwJDTjEdMBsGA1UECgwURmVpdGlhbiBUZWNobm9sb2dpZXMxHTAbBgNVBAMMFEZlaXRpYW4gRklETyBSb290IENBMCAXDTE4MDQwMTAwMDAwMFoYDzIwNDgwMzMxMjM1OTU5WjBLMQswCQYDVQQGEwJDTjEdMBsGA1UECgwURmVpdGlhbiBUZWNobm9sb2dpZXMxHTAbBgNVBAMMFEZlaXRpYW4gRklETyBSb290IENBMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEnfAKbjvMX1Ey1b6k+WQQdNVMt9JgGWyJ3PvM4BSK5XqTfo++0oAj/4tnwyIL0HFBR9St+ktjqSXDfjiXAurs86NCMEAwHQYDVR0OBBYEFNGhmE2Bf8O5a/YHZ71QEv6QRfFUMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMAoGCCqGSM49BAMCA0gAMEUCIQC3sT1lBjGeF+xKTpzV1KYU2ckahTd4mLJyzYOhaHv4igIgD2JYkfyH5Q4Bpo8rroO0It7oYjF2kgy/eSZ3U9Glaqw=",+          "MIIB2DCCAX6gAwIBAgIQGBUrQbdDrm20FZnDsX2CBTAKBggqhkjOPQQDAjBLMQswCQYDVQQGEwJVUzEdMBsGA1UECgwURmVpdGlhbiBUZWNobm9sb2dpZXMxHTAbBgNVBAMMFEZlaXRpYW4gRklETyBSb290IENBMCAXDTE4MDQwMTAwMDAwMFoYDzIwNDgwMzMxMjM1OTU5WjBLMQswCQYDVQQGEwJVUzEdMBsGA1UECgwURmVpdGlhbiBUZWNobm9sb2dpZXMxHTAbBgNVBAMMFEZlaXRpYW4gRklETyBSb290IENBMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEsFYEEhiJuqqnMgQjSiivBjV7DGCTf4XBBH/B7uvZsKxXShF0L8uDISWUvcExixRs6gB3oldSrjox6L8T94NOzqNCMEAwHQYDVR0OBBYEFEu9hyYRrRyJzwRYvnDSCIxrFiO3MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMAoGCCqGSM49BAMCA0gAMEUCIDHSb2mbNDAUNXvpPU0oWKeNye0fQ2l9D01AR2+sLZdhAiEAo3wz684IFMVsCCRmuJqxH6FQRESNqezuo1E+KkGxWuM="+        ],+        "attestationTypes": [+          "basic_full"+        ],+        "authenticationAlgorithms": [+          "secp256r1_ecdsa_sha256_raw"+        ],+        "authenticatorGetInfo": {+          "aaguid": "833b721aff5f4d00bb2ebdda3ec01e29",+          "algorithms": [+            {+              "alg": -7,+              "type": "public-key"+            }+          ],+          "extensions": [+            "credProtect",+            "hmac-secret"+          ],+          "maxCredentialCountInList": 10,+          "maxCredentialIdLength": 96,+          "maxMsgSize": 2048,+          "options": {+            "clientPin": false,+            "credentialMgmtPreview": true,+            "plat": false,+            "rk": true,+            "up": true+          },+          "pinUvAuthProtocols": [+            1+          ],+          "transports": [+            "usb"+          ],+          "versions": [+            "U2F_V2",+            "FIDO_2_0",+            "FIDO_2_1_PRE"+          ]+        },+        "authenticatorVersion": 1,+        "cryptoStrength": 128,+        "description": "Feitian ePass FIDO2 Authenticator",+        "icon": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAAAUCAMAAAAtBkrlAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAABHZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMDE0IDc5LjE1Njc5NywgMjAxNC8wOC8yMC0wOTo1MzowMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iIHhtbG5zOnBob3Rvc2hvcD0iaHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE0IChNYWNpbnRvc2gpIiB4bXA6Q3JlYXRlRGF0ZT0iMjAxNi0xMi0zMFQxNDozMzowOCswODowMCIgeG1wOk1vZGlmeURhdGU9IjIwMTYtMTItMzBUMDc6MzE6NTkrMDg6MDAiIHhtcDpNZXRhZGF0YURhdGU9IjIwMTYtMTItMzBUMDc6MzE6NTkrMDg6MDAiIGRjOmZvcm1hdD0iaW1hZ2UvcG5nIiBwaG90b3Nob3A6SGlzdG9yeT0iMjAxNi0xMi0zMFQxNTozMDoyNyswODowMCYjeDk75paH5Lu2IOacquagh+mimC0xIOW3suaJk+W8gCYjeEE7IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJFNzFCRkZDQzY3RjExRTY5NzhEQTlDQkI2NDYzRjkwIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjJFNzFCRkZEQzY3RjExRTY5NzhEQTlDQkI2NDYzRjkwIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MkU3MUJGRkFDNjdGMTFFNjk3OERBOUNCQjY0NjNGOTAiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkU3MUJGRkJDNjdGMTFFNjk3OERBOUNCQjY0NjNGOTAiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz477JXFAAAAYFBMVEX///8EVqIXZavG2OoqcLG2zOOkwt0BSJtqlcXV4u+autlWhbzk7PUAMY9HcrKjtNbq8feAl8aBoszz9vpdjsGGqtF3n8uTsNSZpc6JsNT5+v0xYKnu8Pff5/L48fg/friczJgYAAADAElEQVR42kRUCZbDIAjFXZOY1TatNc39bzksSYc3r4ME4fMBAaD6zl8y/9TOget8d5jfN78bwM/dDCRpR521zXfojHJ05IIyhBAUSVAONdGzBYt2f7KFrfkJaAkHh9FZhcDXHRkTKo9MLihGaavImnV3qyEX0Eprgz/4DwUD7kCHRnd8QFN43Go4UVmDDgza4w27oizdA2+cK+uuUpjjo2+xwc/42W50x5LGYeDBsR0HVIx5x8iF60CblbTEEkFr27bNDBUVSq1OKVPbE62b3EH8FqBg5OOOEuc2t8ZJiqMOuGp+cKjg7wVGceozqN4pxgVPQkjFYgbVJKDUhDCjYrawP5q4ETgC9fIMRHtitpQcCvJOELcbMsQgnciRkljpyQjvG44jqBUETFiBi1PEIyekOzsW+Ty5cLHos5R+dMS1LtSSxf3gQHczR2CI4gMNpW4IRA1QMa6tJ4+C6uHuGE8mNDIyFqg/OP/MMUueS6Iq8S90dAeBJSEy/qKkK+BNwz8cYY4jb5J6u4iWCI2B1Z56LW5kEc4hkdMpsvUC5585SX0QubcgNqyfgDFEcTt+40/0S5Nx0waCw3OKkcObA5In0AYp01pjjw2n626UDjtHwa28iHuTKqtrv+reW41NZ6iGlr7uuLJCfkFtctcG04sgm1eNS+ZaDnpaTErGoyX5JK2iMz8xs0nOwWGcPDN49qaCd4bzJozDZm/aBK+EozLw+XhNBiYwHf0siOu1XPkG/zKwvqYKcfSwDEcH/oUe07es/WQ8rIyg2DOXj8tjkZduDB/b8hzDllMMOCS5BEnd534f8ti3UZc4kMs3xLyafMSsJhdG8XPqjNk5tAgO25feKChnVdDj/J0FMkOsU/xMBv0wFhYeEGfVH13fuDU0yDFLa4fc7RnWHBfuTFV2tEmNwadc7ac3UY2jfBl7HT36fe34iQO5mNCFFBW07KjPgqhOLU01vZ8PueZ2JClFZN8jkUs69uka9ePp6+EfL4AF5+NywSbirHtcB8Ml/gkwAEjkK64KjHPeAAAAAElFTkSuQmCC",+        "keyProtection": [+          "hardware",+          "secure_element"+        ],+        "legalHeader": "https://fidoalliance.org/metadata/metadata-statement-legal-header/",+        "matcherProtection": [+          "on_chip"+        ],+        "protocolFamily": "fido2",+        "publicKeyAlgAndEncodings": [+          "cose"+        ],+        "schema": 3,+        "tcDisplay": [],+        "upv": [+          {+            "major": 1,+            "minor": 0+          }+        ],+        "userVerificationDetails": [+          [+            {+              "userVerificationMethod": "presence_internal"+            }+          ]+        ]+      },+      "statusReports": [+        {+          "certificateNumber": "FIDO20020190311003",+          "certificationDescriptor": "Feitian ePass FIDO2 USB only",+          "certificationPolicyVersion": "1.3.6",+          "certificationRequirementsVersion": "1.0.0",+          "effectiveDate": "2019-05-27",+          "status": "FIDO_CERTIFIED_L1"+        }+      ],+      "timeOfLastStatusChange": "2019-05-27"+    },+    {+      "aaguid": "ee041bce-25e5-4cdb-8f86-897fd6418464",+      "metadataStatement": {+        "aaguid": "ee041bce-25e5-4cdb-8f86-897fd6418464",+        "attachmentHint": [+          "external"+        ],+        "attestationRootCertificates": [+          "MIIBfjCCASWgAwIBAgIBATAKBggqhkjOPQQDAjAXMRUwEwYDVQQDDAxGVCBGSURPIDAyMDAwIBcNMTYwNTAxMDAwMDAwWhgPMjA1MDA1MDEwMDAwMDBaMBcxFTATBgNVBAMMDEZUIEZJRE8gMDIwMDBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABNBmrRqVOxztTJVN19vtdqcL7tKQeol2nnM2/yYgvksZnr50SKbVgIEkzHQVOu80LVEE3lVheO1HjggxAlT6o4WjYDBeMB0GA1UdDgQWBBRJFWQt1bvG3jM6XgmV/IcjNtO/CzAfBgNVHSMEGDAWgBRJFWQt1bvG3jM6XgmV/IcjNtO/CzAMBgNVHRMEBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAKBggqhkjOPQQDAgNHADBEAiAwfPqgIWIUB+QBBaVGsdHy0s5RMxlkzpSX/zSyTZmUpQIgB2wJ6nZRM8oX/nA43Rh6SJovM2XwCCH//+LirBAbB0M=",+          "MIIB2DCCAX6gAwIBAgIQFZ97ws2JGPEoa5NI+p8z1jAKBggqhkjOPQQDAjBLMQswCQYDVQQGEwJDTjEdMBsGA1UECgwURmVpdGlhbiBUZWNobm9sb2dpZXMxHTAbBgNVBAMMFEZlaXRpYW4gRklETyBSb290IENBMCAXDTE4MDQwMTAwMDAwMFoYDzIwNDgwMzMxMjM1OTU5WjBLMQswCQYDVQQGEwJDTjEdMBsGA1UECgwURmVpdGlhbiBUZWNobm9sb2dpZXMxHTAbBgNVBAMMFEZlaXRpYW4gRklETyBSb290IENBMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEnfAKbjvMX1Ey1b6k+WQQdNVMt9JgGWyJ3PvM4BSK5XqTfo++0oAj/4tnwyIL0HFBR9St+ktjqSXDfjiXAurs86NCMEAwHQYDVR0OBBYEFNGhmE2Bf8O5a/YHZ71QEv6QRfFUMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMAoGCCqGSM49BAMCA0gAMEUCIQC3sT1lBjGeF+xKTpzV1KYU2ckahTd4mLJyzYOhaHv4igIgD2JYkfyH5Q4Bpo8rroO0It7oYjF2kgy/eSZ3U9Glaqw=",+          "MIIB2DCCAX6gAwIBAgIQGBUrQbdDrm20FZnDsX2CBTAKBggqhkjOPQQDAjBLMQswCQYDVQQGEwJVUzEdMBsGA1UECgwURmVpdGlhbiBUZWNobm9sb2dpZXMxHTAbBgNVBAMMFEZlaXRpYW4gRklETyBSb290IENBMCAXDTE4MDQwMTAwMDAwMFoYDzIwNDgwMzMxMjM1OTU5WjBLMQswCQYDVQQGEwJVUzEdMBsGA1UECgwURmVpdGlhbiBUZWNobm9sb2dpZXMxHTAbBgNVBAMMFEZlaXRpYW4gRklETyBSb290IENBMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEsFYEEhiJuqqnMgQjSiivBjV7DGCTf4XBBH/B7uvZsKxXShF0L8uDISWUvcExixRs6gB3oldSrjox6L8T94NOzqNCMEAwHQYDVR0OBBYEFEu9hyYRrRyJzwRYvnDSCIxrFiO3MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMAoGCCqGSM49BAMCA0gAMEUCIDHSb2mbNDAUNXvpPU0oWKeNye0fQ2l9D01AR2+sLZdhAiEAo3wz684IFMVsCCRmuJqxH6FQRESNqezuo1E+KkGxWuM="+        ],+        "attestationTypes": [+          "basic_full"+        ],+        "authenticationAlgorithms": [+          "secp256r1_ecdsa_sha256_raw"+        ],+        "authenticatorGetInfo": {+          "aaguid": "ee041bce25e54cdb8f86897fd6418464",+          "algorithms": [+            {+              "alg": -7,+              "type": "public-key"+            }+          ],+          "extensions": [+            "credProtect",+            "hmac-secret"+          ],+          "maxCredentialCountInList": 6,+          "maxCredentialIdLength": 96,+          "maxMsgSize": 1024,+          "options": {+            "clientPin": false,+            "credentialMgmtPreview": true,+            "plat": false,+            "rk": true,+            "up": true+          },+          "pinUvAuthProtocols": [+            1+          ],+          "transports": [+            "nfc",+            "usb"+          ],+          "versions": [+            "U2F_V2",+            "FIDO_2_0",+            "FIDO_2_1_PRE"+          ]+        },+        "authenticatorVersion": 1,+        "cryptoStrength": 128,+        "description": "Feitian ePass FIDO2-NFC Authenticator",+        "icon": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAAAUCAMAAAAtBkrlAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAABHZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMDE0IDc5LjE1Njc5NywgMjAxNC8wOC8yMC0wOTo1MzowMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iIHhtbG5zOnBob3Rvc2hvcD0iaHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE0IChNYWNpbnRvc2gpIiB4bXA6Q3JlYXRlRGF0ZT0iMjAxNi0xMi0zMFQxNDozMzowOCswODowMCIgeG1wOk1vZGlmeURhdGU9IjIwMTYtMTItMzBUMDc6MzE6NTkrMDg6MDAiIHhtcDpNZXRhZGF0YURhdGU9IjIwMTYtMTItMzBUMDc6MzE6NTkrMDg6MDAiIGRjOmZvcm1hdD0iaW1hZ2UvcG5nIiBwaG90b3Nob3A6SGlzdG9yeT0iMjAxNi0xMi0zMFQxNTozMDoyNyswODowMCYjeDk75paH5Lu2IOacquagh+mimC0xIOW3suaJk+W8gCYjeEE7IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJFNzFCRkZDQzY3RjExRTY5NzhEQTlDQkI2NDYzRjkwIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjJFNzFCRkZEQzY3RjExRTY5NzhEQTlDQkI2NDYzRjkwIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MkU3MUJGRkFDNjdGMTFFNjk3OERBOUNCQjY0NjNGOTAiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkU3MUJGRkJDNjdGMTFFNjk3OERBOUNCQjY0NjNGOTAiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz477JXFAAAAYFBMVEX///8EVqIXZavG2OoqcLG2zOOkwt0BSJtqlcXV4u+autlWhbzk7PUAMY9HcrKjtNbq8feAl8aBoszz9vpdjsGGqtF3n8uTsNSZpc6JsNT5+v0xYKnu8Pff5/L48fg/friczJgYAAADAElEQVR42kRUCZbDIAjFXZOY1TatNc39bzksSYc3r4ME4fMBAaD6zl8y/9TOget8d5jfN78bwM/dDCRpR521zXfojHJ05IIyhBAUSVAONdGzBYt2f7KFrfkJaAkHh9FZhcDXHRkTKo9MLihGaavImnV3qyEX0Eprgz/4DwUD7kCHRnd8QFN43Go4UVmDDgza4w27oizdA2+cK+uuUpjjo2+xwc/42W50x5LGYeDBsR0HVIx5x8iF60CblbTEEkFr27bNDBUVSq1OKVPbE62b3EH8FqBg5OOOEuc2t8ZJiqMOuGp+cKjg7wVGceozqN4pxgVPQkjFYgbVJKDUhDCjYrawP5q4ETgC9fIMRHtitpQcCvJOELcbMsQgnciRkljpyQjvG44jqBUETFiBi1PEIyekOzsW+Ty5cLHos5R+dMS1LtSSxf3gQHczR2CI4gMNpW4IRA1QMa6tJ4+C6uHuGE8mNDIyFqg/OP/MMUueS6Iq8S90dAeBJSEy/qKkK+BNwz8cYY4jb5J6u4iWCI2B1Z56LW5kEc4hkdMpsvUC5585SX0QubcgNqyfgDFEcTt+40/0S5Nx0waCw3OKkcObA5In0AYp01pjjw2n626UDjtHwa28iHuTKqtrv+reW41NZ6iGlr7uuLJCfkFtctcG04sgm1eNS+ZaDnpaTErGoyX5JK2iMz8xs0nOwWGcPDN49qaCd4bzJozDZm/aBK+EozLw+XhNBiYwHf0siOu1XPkG/zKwvqYKcfSwDEcH/oUe07es/WQ8rIyg2DOXj8tjkZduDB/b8hzDllMMOCS5BEnd534f8ti3UZc4kMs3xLyafMSsJhdG8XPqjNk5tAgO25feKChnVdDj/J0FMkOsU/xMBv0wFhYeEGfVH13fuDU0yDFLa4fc7RnWHBfuTFV2tEmNwadc7ac3UY2jfBl7HT36fe34iQO5mNCFFBW07KjPgqhOLU01vZ8PueZ2JClFZN8jkUs69uka9ePp6+EfL4AF5+NywSbirHtcB8Ml/gkwAEjkK64KjHPeAAAAAElFTkSuQmCC",+        "keyProtection": [+          "hardware",+          "secure_element"+        ],+        "legalHeader": "https://fidoalliance.org/metadata/metadata-statement-legal-header/",+        "matcherProtection": [+          "on_chip"+        ],+        "protocolFamily": "fido2",+        "publicKeyAlgAndEncodings": [+          "cose"+        ],+        "schema": 3,+        "tcDisplay": [],+        "upv": [+          {+            "major": 1,+            "minor": 0+          }+        ],+        "userVerificationDetails": [+          [+            {+              "userVerificationMethod": "presence_internal"+            }+          ]+        ]+      },+      "statusReports": [+        {+          "certificateNumber": "FIDO20020180929002",+          "certificationDescriptor": "Feitian ePass FIDO2-NFC Authenticator",+          "certificationPolicyVersion": "1.3.4",+          "certificationRequirementsVersion": "1.1.0",+          "effectiveDate": "2018-10-26",+          "status": "FIDO_CERTIFIED_L1"+        }+      ],+      "timeOfLastStatusChange": "2018-10-26"+    },+    {+      "aaguid": "3e22415d-7fdf-4ea4-8a0c-dd60c4249b9d",+      "metadataStatement": {+        "aaguid": "3e22415d-7fdf-4ea4-8a0c-dd60c4249b9d",+        "attachmentHint": [+          "external",+          "wired"+        ],+        "attestationRootCertificates": [+          "MIIBfjCCASWgAwIBAgIBATAKBggqhkjOPQQDAjAXMRUwEwYDVQQDDAxGVCBGSURPIDAyMDAwIBcNMTYwNTAxMDAwMDAwWhgPMjA1MDA1MDEwMDAwMDBaMBcxFTATBgNVBAMMDEZUIEZJRE8gMDIwMDBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABNBmrRqVOxztTJVN19vtdqcL7tKQeol2nnM2/yYgvksZnr50SKbVgIEkzHQVOu80LVEE3lVheO1HjggxAlT6o4WjYDBeMB0GA1UdDgQWBBRJFWQt1bvG3jM6XgmV/IcjNtO/CzAfBgNVHSMEGDAWgBRJFWQt1bvG3jM6XgmV/IcjNtO/CzAMBgNVHRMEBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAKBggqhkjOPQQDAgNHADBEAiAwfPqgIWIUB+QBBaVGsdHy0s5RMxlkzpSX/zSyTZmUpQIgB2wJ6nZRM8oX/nA43Rh6SJovM2XwCCH//+LirBAbB0M=",+          "MIIB2DCCAX6gAwIBAgIQGBUrQbdDrm20FZnDsX2CBTAKBggqhkjOPQQDAjBLMQswCQYDVQQGEwJVUzEdMBsGA1UECgwURmVpdGlhbiBUZWNobm9sb2dpZXMxHTAbBgNVBAMMFEZlaXRpYW4gRklETyBSb290IENBMCAXDTE4MDQwMTAwMDAwMFoYDzIwNDgwMzMxMjM1OTU5WjBLMQswCQYDVQQGEwJVUzEdMBsGA1UECgwURmVpdGlhbiBUZWNobm9sb2dpZXMxHTAbBgNVBAMMFEZlaXRpYW4gRklETyBSb290IENBMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEsFYEEhiJuqqnMgQjSiivBjV7DGCTf4XBBH/B7uvZsKxXShF0L8uDISWUvcExixRs6gB3oldSrjox6L8T94NOzqNCMEAwHQYDVR0OBBYEFEu9hyYRrRyJzwRYvnDSCIxrFiO3MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMAoGCCqGSM49BAMCA0gAMEUCIDHSb2mbNDAUNXvpPU0oWKeNye0fQ2l9D01AR2+sLZdhAiEAo3wz684IFMVsCCRmuJqxH6FQRESNqezuo1E+KkGxWuM=",+          "MIIB2DCCAX6gAwIBAgIQFZ97ws2JGPEoa5NI+p8z1jAKBggqhkjOPQQDAjBLMQswCQYDVQQGEwJDTjEdMBsGA1UECgwURmVpdGlhbiBUZWNobm9sb2dpZXMxHTAbBgNVBAMMFEZlaXRpYW4gRklETyBSb290IENBMCAXDTE4MDQwMTAwMDAwMFoYDzIwNDgwMzMxMjM1OTU5WjBLMQswCQYDVQQGEwJDTjEdMBsGA1UECgwURmVpdGlhbiBUZWNobm9sb2dpZXMxHTAbBgNVBAMMFEZlaXRpYW4gRklETyBSb290IENBMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEnfAKbjvMX1Ey1b6k+WQQdNVMt9JgGWyJ3PvM4BSK5XqTfo++0oAj/4tnwyIL0HFBR9St+ktjqSXDfjiXAurs86NCMEAwHQYDVR0OBBYEFNGhmE2Bf8O5a/YHZ71QEv6QRfFUMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMAoGCCqGSM49BAMCA0gAMEUCIQC3sT1lBjGeF+xKTpzV1KYU2ckahTd4mLJyzYOhaHv4igIgD2JYkfyH5Q4Bpo8rroO0It7oYjF2kgy/eSZ3U9Glaqw="+        ],+        "attestationTypes": [+          "basic_full"+        ],+        "authenticationAlgorithms": [+          "secp256r1_ecdsa_sha256_raw"+        ],+        "authenticatorGetInfo": {+          "aaguid": "3e22415d7fdf4ea48a0cdd60c4249b9d",+          "algorithms": [+            {+              "alg": -7,+              "type": "public-key"+            }+          ],+          "extensions": [+            "credProtect",+            "hmac-secret"+          ],+          "maxCredentialCountInList": 6,+          "maxCredentialIdLength": 96,+          "maxMsgSize": 1024,+          "options": {+            "clientPin": false,+            "credentialMgmtPreview": true,+            "plat": false,+            "rk": true,+            "up": true+          },+          "pinUvAuthProtocols": [+            1+          ],+          "transports": [+            "usb"+          ],+          "versions": [+            "U2F_V2",+            "FIDO_2_0",+            "FIDO_2_1_PRE"+          ]+        },+        "authenticatorVersion": 1,+        "cryptoStrength": 128,+        "description": "Feitian iePass FIDO Authenticator",+        "icon": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAAAUCAMAAAAtBkrlAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAABHZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMDE0IDc5LjE1Njc5NywgMjAxNC8wOC8yMC0wOTo1MzowMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iIHhtbG5zOnBob3Rvc2hvcD0iaHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE0IChNYWNpbnRvc2gpIiB4bXA6Q3JlYXRlRGF0ZT0iMjAxNi0xMi0zMFQxNDozMzowOCswODowMCIgeG1wOk1vZGlmeURhdGU9IjIwMTYtMTItMzBUMDc6MzE6NTkrMDg6MDAiIHhtcDpNZXRhZGF0YURhdGU9IjIwMTYtMTItMzBUMDc6MzE6NTkrMDg6MDAiIGRjOmZvcm1hdD0iaW1hZ2UvcG5nIiBwaG90b3Nob3A6SGlzdG9yeT0iMjAxNi0xMi0zMFQxNTozMDoyNyswODowMCYjeDk75paH5Lu2IOacquagh+mimC0xIOW3suaJk+W8gCYjeEE7IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJFNzFCRkZDQzY3RjExRTY5NzhEQTlDQkI2NDYzRjkwIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjJFNzFCRkZEQzY3RjExRTY5NzhEQTlDQkI2NDYzRjkwIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MkU3MUJGRkFDNjdGMTFFNjk3OERBOUNCQjY0NjNGOTAiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkU3MUJGRkJDNjdGMTFFNjk3OERBOUNCQjY0NjNGOTAiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz477JXFAAAAYFBMVEX///8EVqIXZavG2OoqcLG2zOOkwt0BSJtqlcXV4u+autlWhbzk7PUAMY9HcrKjtNbq8feAl8aBoszz9vpdjsGGqtF3n8uTsNSZpc6JsNT5+v0xYKnu8Pff5/L48fg/friczJgYAAADAElEQVR42kRUCZbDIAjFXZOY1TatNc39bzksSYc3r4ME4fMBAaD6zl8y/9TOget8d5jfN78bwM/dDCRpR521zXfojHJ05IIyhBAUSVAONdGzBYt2f7KFrfkJaAkHh9FZhcDXHRkTKo9MLihGaavImnV3qyEX0Eprgz/4DwUD7kCHRnd8QFN43Go4UVmDDgza4w27oizdA2+cK+uuUpjjo2+xwc/42W50x5LGYeDBsR0HVIx5x8iF60CblbTEEkFr27bNDBUVSq1OKVPbE62b3EH8FqBg5OOOEuc2t8ZJiqMOuGp+cKjg7wVGceozqN4pxgVPQkjFYgbVJKDUhDCjYrawP5q4ETgC9fIMRHtitpQcCvJOELcbMsQgnciRkljpyQjvG44jqBUETFiBi1PEIyekOzsW+Ty5cLHos5R+dMS1LtSSxf3gQHczR2CI4gMNpW4IRA1QMa6tJ4+C6uHuGE8mNDIyFqg/OP/MMUueS6Iq8S90dAeBJSEy/qKkK+BNwz8cYY4jb5J6u4iWCI2B1Z56LW5kEc4hkdMpsvUC5585SX0QubcgNqyfgDFEcTt+40/0S5Nx0waCw3OKkcObA5In0AYp01pjjw2n626UDjtHwa28iHuTKqtrv+reW41NZ6iGlr7uuLJCfkFtctcG04sgm1eNS+ZaDnpaTErGoyX5JK2iMz8xs0nOwWGcPDN49qaCd4bzJozDZm/aBK+EozLw+XhNBiYwHf0siOu1XPkG/zKwvqYKcfSwDEcH/oUe07es/WQ8rIyg2DOXj8tjkZduDB/b8hzDllMMOCS5BEnd534f8ti3UZc4kMs3xLyafMSsJhdG8XPqjNk5tAgO25feKChnVdDj/J0FMkOsU/xMBv0wFhYeEGfVH13fuDU0yDFLa4fc7RnWHBfuTFV2tEmNwadc7ac3UY2jfBl7HT36fe34iQO5mNCFFBW07KjPgqhOLU01vZ8PueZ2JClFZN8jkUs69uka9ePp6+EfL4AF5+NywSbirHtcB8Ml/gkwAEjkK64KjHPeAAAAAElFTkSuQmCC",+        "keyProtection": [+          "hardware",+          "secure_element"+        ],+        "legalHeader": "https://fidoalliance.org/metadata/metadata-statement-legal-header/",+        "matcherProtection": [+          "on_chip"+        ],+        "protocolFamily": "fido2",+        "publicKeyAlgAndEncodings": [+          "cose"+        ],+        "schema": 3,+        "tcDisplay": [],+        "upv": [+          {+            "major": 1,+            "minor": 0+          }+        ],+        "userVerificationDetails": [+          [+            {+              "userVerificationMethod": "presence_internal"+            }+          ]+        ]+      },+      "statusReports": [+        {+          "certificateNumber": "FIDO20020200417002",+          "certificationDescriptor": "Feitian iePass FIDO®",+          "certificationPolicyVersion": "1.2",+          "certificationRequirementsVersion": "1.3",+          "effectiveDate": "2020-04-24",+          "status": "FIDO_CERTIFIED_L1"+        }+      ],+      "timeOfLastStatusChange": "2020-04-24"+    },+    {+      "aaguid": "9f0d8150-baa5-4c00-9299-ad62c8bb4e87",+      "metadataStatement": {+        "aaguid": "9f0d8150-baa5-4c00-9299-ad62c8bb4e87",+        "attachmentHint": [+          "external"+        ],+        "attestationRootCertificates": [+          "MIIBqDCCAU+gAwIBAgIBATAKBggqhkjOPQQDAjA7MSAwHgYDVQQDDBdHb1RydXN0IEZJRE8yIFJvb3QgQ0EgMjEXMBUGA1UECgwOR29UcnVzdElEIEluYy4wIBcNMjEwMzAyMDYyMzE3WhgPMjA1MTAyMjMwNjIzMTdaMDsxIDAeBgNVBAMMF0dvVHJ1c3QgRklETzIgUm9vdCBDQSAyMRcwFQYDVQQKDA5Hb1RydXN0SUQgSW5jLjBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABA76ZyG3e+DZoW/KvM36XJAJ6BL9kXMNjEv4qGID5lA8Z8uReM1YfMio5nEHLU2SZLQ3qXRRvxGN4I+H5+6fVw2jQjBAMA8GA1UdEwQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBRs+UkmM5xUk6/z5QNtWB26i4w77DAKBggqhkjOPQQDAgNHADBEAiBA+IX5F/87W/emZkiJTHqriLFZOa797zsE/0KP7AU5QgIgB64xFqPSBC4Ki1UrrNX9V2thb+45RbtSVmi66WV+glE=",+          "MIIBzjCCAXOgAwIBAgIJAMhV/vQYu4KAMAoGCCqGSM49BAMCMDsxIDAeBgNVBAMMF0dvVHJ1c3QgRklETzIgUm9vdCBDQSAyMRcwFQYDVQQKDA5Hb1RydXN0SUQgSW5jLjAeFw0xOTEyMDQwNzAzMDFaFw00OTExMjYwNzAzMDFaMDsxIDAeBgNVBAMMF0dvVHJ1c3QgRklETzIgUm9vdCBDQSAyMRcwFQYDVQQKDA5Hb1RydXN0SUQgSW5jLjBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABJHgK9fNqNEWIYTsZ/gNi17zpErK7FC1Yo+FzqRVMYGUJgAJ9vg31iTCJ1VYxbAKMQblLGkVn/dfP73geTKed9OjYDBeMAwGA1UdEwEB/wQCMAAwDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBRgLXWdWer1kSGppgPliZi1HsYPhDAfBgNVHSMEGDAWgBRgLXWdWer1kSGppgPliZi1HsYPhDAKBggqhkjOPQQDAgNJADBGAiEAujrKWZw+S0TfG1bJJcsqmGu5WLbB2EgorD2hA2q6BoICIQCiyxnvAn6Mi+DdRnw3SQGQZoLKFKwHr4XGNIO5pAHAHA=="+        ],+        "attestationTypes": [+          "basic_full"+        ],+        "authenticationAlgorithms": [+          "secp256r1_ecdsa_sha256_raw"+        ],+        "authenticatorGetInfo": {+          "aaguid": "9f0d8150baa54c009299ad62c8bb4e87",+          "extensions": [+            "hmac-secret"+          ],+          "maxMsgSize": 1024,+          "options": {+            "clientPin": true,+            "plat": false,+            "rk": true,+            "up": true+          },+          "pinUvAuthProtocols": [+            1+          ],+          "versions": [+            "U2F_V2",+            "FIDO_2_0"+          ]+        },+        "authenticatorVersion": 2,+        "cryptoStrength": 128,+        "description": "GoTrust Idem Card FIDO2 Authenticator",+        "icon": "data:image/png;base64,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",+        "keyProtection": [+          "hardware",+          "secure_element"+        ],+        "legalHeader": "https://fidoalliance.org/metadata/metadata-statement-legal-header/",+        "matcherProtection": [+          "on_chip"+        ],+        "protocolFamily": "fido2",+        "publicKeyAlgAndEncodings": [+          "cose"+        ],+        "schema": 3,+        "tcDisplay": [],+        "upv": [+          {+            "major": 1,+            "minor": 0+          }+        ],+        "userVerificationDetails": [+          [+            {+              "caDesc": {+                "base": 10,+                "blockSlowdown": 0,+                "maxRetries": 8,+                "minLength": 4+              },+              "userVerificationMethod": "passcode_internal"+            }+          ],+          [+            {+              "userVerificationMethod": "presence_internal"+            }+          ]+        ]+      },+      "statusReports": [+        {+          "certificateNumber": "FIDO20020190520001",+          "certificationDescriptor": "GoTrust Idem Card",+          "certificationPolicyVersion": "1.3",+          "certificationRequirementsVersion": "1.1.0",+          "effectiveDate": "2019-12-04",+          "status": "FIDO_CERTIFIED_L1"+        }+      ],+      "timeOfLastStatusChange": "2019-12-04"+    },+    {+      "aaguid": "3b1adb99-0dfe-46fd-90b8-7f7614a4de2a",+      "metadataStatement": {+        "aaguid": "3b1adb99-0dfe-46fd-90b8-7f7614a4de2a",+        "attachmentHint": [+          "external"+        ],+        "attestationRootCertificates": [+          "MIIBzzCCAXagAwIBAgICASAwCgYIKoZIzj0EAwIwOzEgMB4GA1UEAwwXR29UcnVzdCBGSURPMiBSb290IENBIDExFzAVBgNVBAoMDkdvVHJ1c3RJRCBJbmMuMCIYDzIwMTkxMjA0MDY1OTQwWhgPMjA1MTA0MDcwMzA1MDBaMDsxIDAeBgNVBAMMF0dvVHJ1c3QgRklETzIgUm9vdCBDQSAxMRcwFQYDVQQKDA5Hb1RydXN0SUQgSW5jLjBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABA5mjYsjowAI0jnpi//CJ3KnzhGbTUmstNWqN78ioG1CTK9gPgPl9UiFOJO/v+FfFK+Pxv10c604dvlIDAbKw+ijZjBkMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBSgWtY0nEcmPmGDLuCwceKeJPScozAfBgNVHSMEGDAWgBSgWtY0nEcmPmGDLuCwceKeJPScozAKBggqhkjOPQQDAgNHADBEAiAkrLM5V3DnD0XcVUFW+NMFcBZCO1FxyYz4VkPH3A7KGQIgHayTfU88oIEiMNax13tgZaohhMAXEMjqTyItbcTT8Qc=",+          "MIIBqTCCAU+gAwIBAgIBATAKBggqhkjOPQQDAjA7MSAwHgYDVQQDDBdHb1RydXN0IEZJRE8yIFJvb3QgQ0EgMTEXMBUGA1UECgwOR29UcnVzdElEIEluYy4wIBcNMjEwMzAyMDYxODQ4WhgPMjA1MTAyMjMwNjE4NDhaMDsxIDAeBgNVBAMMF0dvVHJ1c3QgRklETzIgUm9vdCBDQSAxMRcwFQYDVQQKDA5Hb1RydXN0SUQgSW5jLjBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABIzkMdtNZt0ZOzO+u1f2EKZRSnfhvywbhonBF9NSPq2WG7nuRi/yvZ8lDjwp5darQ6OdZg+HqbSSeXJXw7UpclSjQjBAMA8GA1UdEwQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBRjWxTo1Eq33ZrxfLDWssddbD/vZTAKBggqhkjOPQQDAgNIADBFAiB+E09GzmcYlM95qT/afnPU9q6XJmxOSKWARO5+kgUnWgIhAIa9n5p40tcGfmeF6/WvYojANuykQqhVk8Wnfg15S69r",+          "MIIBzTCCAXOgAwIBAgIJALS3SibGDXTPMAoGCCqGSM49BAMCMDsxIDAeBgNVBAMMF0dvVHJ1c3QgRklETzIgUm9vdCBDQSAxMRcwFQYDVQQKDA5Hb1RydXN0SUQgSW5jLjAeFw0xOTEyMDQwNjU5NDBaFw00OTExMjYwNjU5NDBaMDsxIDAeBgNVBAMMF0dvVHJ1c3QgRklETzIgUm9vdCBDQSAxMRcwFQYDVQQKDA5Hb1RydXN0SUQgSW5jLjBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABA5mjYsjowAI0jnpi//CJ3KnzhGbTUmstNWqN78ioG1CTK9gPgPl9UiFOJO/v+FfFK+Pxv10c604dvlIDAbKw+ijYDBeMAwGA1UdEwEB/wQCMAAwDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBSgWtY0nEcmPmGDLuCwceKeJPScozAfBgNVHSMEGDAWgBSgWtY0nEcmPmGDLuCwceKeJPScozAKBggqhkjOPQQDAgNIADBFAiAxoVs6qj7DX2xixCjjcDUdxBTJmSTLb0f1rRGwrABzTQIhAPt0P32qzAeepF4//tgzxqNoKkWDcaPPSXrg+xzrlVHw"+        ],+        "attestationTypes": [+          "basic_full"+        ],+        "authenticationAlgorithms": [+          "secp256r1_ecdsa_sha256_raw"+        ],+        "authenticatorGetInfo": {+          "aaguid": "3b1adb990dfe46fd90b87f7614a4de2a",+          "extensions": [+            "hmac-secret"+          ],+          "maxMsgSize": 1024,+          "options": {+            "clientPin": true,+            "plat": false,+            "rk": true,+            "up": true+          },+          "pinUvAuthProtocols": [+            1+          ],+          "versions": [+            "U2F_V2",+            "FIDO_2_0"+          ]+        },+        "authenticatorVersion": 2,+        "cryptoStrength": 128,+        "description": "GoTrust Idem Key FIDO2 Authenticator",+        "icon": "data:image/png;base64,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",+        "keyProtection": [+          "hardware",+          "secure_element"+        ],+        "legalHeader": "https://fidoalliance.org/metadata/metadata-statement-legal-header/",+        "matcherProtection": [+          "on_chip"+        ],+        "protocolFamily": "fido2",+        "publicKeyAlgAndEncodings": [+          "cose"+        ],+        "schema": 3,+        "tcDisplay": [],+        "upv": [+          {+            "major": 1,+            "minor": 0+          }+        ],+        "userVerificationDetails": [+          [+            {+              "userVerificationMethod": "presence_internal"+            }+          ],+          [+            {+              "caDesc": {+                "base": 10,+                "blockSlowdown": 0,+                "maxRetries": 8,+                "minLength": 4+              },+              "userVerificationMethod": "passcode_internal"+            }+          ]+        ]+      },+      "statusReports": [+        {+          "certificateNumber": "FIDO20020210305001",+          "certificationDescriptor": "GoTrust Idem Key",+          "certificationPolicyVersion": "1.3",+          "certificationRequirementsVersion": "1.4",+          "effectiveDate": "2021-03-05",+          "status": "FIDO_CERTIFIED_L2"+        },+        {+          "certificateNumber": "FIDO20020191122001",+          "certificationDescriptor": "GoTrust Idem Key",+          "certificationPolicyVersion": "1.0.0",+          "certificationRequirementsVersion": "1.0.0",+          "effectiveDate": "2019-12-04",+          "status": "FIDO_CERTIFIED_L1"+        }+      ],+      "timeOfLastStatusChange": "2021-03-05"+    },+    {+      "aaguid": "aeb6569c-f8fb-4950-ac60-24ca2bbe2e52",+      "metadataStatement": {+        "aaguid": "aeb6569c-f8fb-4950-ac60-24ca2bbe2e52",+        "attachmentHint": [+          "external",+          "wireless",+          "nfc"+        ],+        "attestationRootCertificates": [+          "MIIDCTCCAq+gAwIBAgIQQAFqUNSe5SWAILs8H2DS1DAKBggqhkjOPQQDAjBrMQswCQYDVQQGEwJVUzETMBEGA1UEChMKSElEIEdsb2JhbDEiMCAGA1UECxMZQXV0aGVudGljYXRvciBBdHRlc3RhdGlvbjEjMCEGA1UEAxMaRklETyBBdHRlc3RhdGlvbiBSb290IENBIDEwHhcNMTkwNDI0MTkzMTEyWhcNNDQwNDI3MTkzMTEyWjBmMQswCQYDVQQGEwJVUzETMBEGA1UEChMKSElEIEdsb2JhbDEiMCAGA1UECxMZQXV0aGVudGljYXRvciBBdHRlc3RhdGlvbjEeMBwGA1UEAxMVRklETyBBdHRlc3RhdGlvbiBDQSAxMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEGhSML7cupCxTBCzsrcipwgPoz3dvT3rBn1zakDzBg6Uc3HdGKJrVbrD+yXF6Y4ZqksUU7rbRivqOOzKxcJvPFqOCATgwggE0MBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgGGMIGEBggrBgEFBQcBAQR4MHYwLgYIKwYBBQUHMAGGImh0dHA6Ly9oaWQuZmlkby5vY3NwLmlkZW50cnVzdC5jb20wRAYIKwYBBQUHMAKGOGh0dHA6Ly92YWxpZGF0aW9uLmlkZW50cnVzdC5jb20vcm9vdHMvSElERklET1Jvb3RjYTEucDdjMB8GA1UdIwQYMBaAFB2m3iwWSYHvWTHbJiHAyKDp+CSjMEcGA1UdHwRAMD4wPKA6oDiGNmh0dHA6Ly92YWxpZGF0aW9uLmlkZW50cnVzdC5jb20vY3JsL0hJREZJRE9Sb290Y2ExLmNybDAdBgNVHQ4EFgQU38bQANW9dyVBkWl59BlNLD09e/QwCgYIKoZIzj0EAwIDSAAwRQIhAIUq7zvpedfZRHtGrvJJz82R99D+Sr7bV7yrHDfBs8v6AiBaIW50j8WGVR1XHXaImNKllmRyNlk9klX8gTknOEtD8g=="+        ],+        "attestationTypes": [+          "basic_full"+        ],+        "authenticationAlgorithms": [+          "secp256r1_ecdsa_sha256_raw"+        ],+        "authenticatorGetInfo": {+          "aaguid": "aeb6569cf8fb4950ac6024ca2bbe2e52",+          "extensions": [+            "hmac-secret"+          ],+          "options": {+            "clientPin": true,+            "rk": true+          },+          "pinUvAuthProtocols": [+            1+          ],+          "versions": [+            "U2F_V2",+            "FIDO_2_0"+          ]+        },+        "authenticatorVersion": 30,+        "cryptoStrength": 128,+        "description": "HID Crescendo C2300",+        "icon": "data:image/png;base64,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",+        "keyProtection": [+          "hardware",+          "secure_element"+        ],+        "legalHeader": "https://fidoalliance.org/metadata/metadata-statement-legal-header/",+        "matcherProtection": [+          "on_chip"+        ],+        "protocolFamily": "fido2",+        "publicKeyAlgAndEncodings": [+          "cose"+        ],+        "schema": 3,+        "supportedExtensions": [+          {+            "fail_if_unknown": false,+            "id": "hmac-secret"+          }+        ],+        "tcDisplay": [],+        "upv": [+          {+            "major": 1,+            "minor": 0+          }+        ],+        "userVerificationDetails": [+          [+            {+              "userVerificationMethod": "presence_internal"+            }+          ],+          [+            {+              "userVerificationMethod": "passcode_internal"+            }+          ]+        ]+      },+      "statusReports": [+        {+          "effectiveDate": "2019-07-16",+          "status": "NOT_FIDO_CERTIFIED"+        },+        {+          "certificateNumber": "FIDO20020190821001",+          "certificationDescriptor": "HID Crescendo C2300",+          "certificationPolicyVersion": "1.3.6",+          "certificationRequirementsVersion": "1.3",+          "effectiveDate": "2019-09-27",+          "status": "FIDO_CERTIFIED_L1"+        }+      ],+      "timeOfLastStatusChange": "2019-09-27"+    },+    {+      "aaguid": "692db549-7ae5-44d5-a1e5-dd20a493b723",+      "metadataStatement": {+        "aaguid": "692db549-7ae5-44d5-a1e5-dd20a493b723",+        "attachmentHint": [+          "external",+          "wired",+          "wireless",+          "nfc"+        ],+        "attestationRootCertificates": [+          "MIIDCDCCAq+gAwIBAgIQQAFqUNTHZ8kBN8u/bCk+xDAKBggqhkjOPQQDAjBrMQswCQYDVQQGEwJVUzETMBEGA1UEChMKSElEIEdsb2JhbDEiMCAGA1UECxMZQXV0aGVudGljYXRvciBBdHRlc3RhdGlvbjEjMCEGA1UEAxMaRklETyBBdHRlc3RhdGlvbiBSb290IENBIDEwHhcNMTkwNDI0MTkzMTIzWhcNNDQwNDI3MTkzMTIzWjBmMQswCQYDVQQGEwJVUzETMBEGA1UEChMKSElEIEdsb2JhbDEiMCAGA1UECxMZQXV0aGVudGljYXRvciBBdHRlc3RhdGlvbjEeMBwGA1UEAxMVRklETyBBdHRlc3RhdGlvbiBDQSAyMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE4nK9ctzk6GEGFNQBcrnBBmWU+dCnuHQAARrB2Eyc8MbsljkSFhZtfz/Rw6SuVIDk5VakDzrKBAOJ9v0Rvg/406OCATgwggE0MBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgGGMIGEBggrBgEFBQcBAQR4MHYwLgYIKwYBBQUHMAGGImh0dHA6Ly9oaWQuZmlkby5vY3NwLmlkZW50cnVzdC5jb20wRAYIKwYBBQUHMAKGOGh0dHA6Ly92YWxpZGF0aW9uLmlkZW50cnVzdC5jb20vcm9vdHMvSElERklET1Jvb3RjYTEucDdjMB8GA1UdIwQYMBaAFB2m3iwWSYHvWTHbJiHAyKDp+CSjMEcGA1UdHwRAMD4wPKA6oDiGNmh0dHA6Ly92YWxpZGF0aW9uLmlkZW50cnVzdC5jb20vY3JsL0hJREZJRE9Sb290Y2ExLmNybDAdBgNVHQ4EFgQUDLCbuLslcclrOZIz57Fu0imSMQ8wCgYIKoZIzj0EAwIDRwAwRAIgDCW5IrbjEI/y35lPjx9a+/sF4lPSoZdBHgFgTWC+8VICIEqs2SPzUHgHVh65Ajl1oIUmhh0C2lyR/Zdk7O3u1TIK"+        ],+        "attestationTypes": [+          "basic_full"+        ],+        "authenticationAlgorithms": [+          "secp256r1_ecdsa_sha256_raw"+        ],+        "authenticatorGetInfo": {+          "aaguid": "692db5497ae544d5a1e5dd20a493b723",+          "extensions": [+            "hmac-secret"+          ],+          "options": {+            "clientPin": true,+            "rk": true+          },+          "pinUvAuthProtocols": [+            1+          ],+          "versions": [+            "U2F_V2",+            "FIDO_2_0"+          ]+        },+        "authenticatorVersion": 10,+        "cryptoStrength": 128,+        "description": "HID Crescendo Key",+        "icon": "data:image/png;base64,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",+        "keyProtection": [+          "hardware",+          "secure_element"+        ],+        "legalHeader": "https://fidoalliance.org/metadata/metadata-statement-legal-header/",+        "matcherProtection": [+          "on_chip"+        ],+        "protocolFamily": "fido2",+        "publicKeyAlgAndEncodings": [+          "cose"+        ],+        "schema": 3,+        "supportedExtensions": [+          {+            "fail_if_unknown": false,+            "id": "hmac-secret"+          }+        ],+        "tcDisplay": [],+        "upv": [+          {+            "major": 1,+            "minor": 0+          }+        ],+        "userVerificationDetails": [+          [+            {+              "userVerificationMethod": "passcode_internal"+            }+          ],+          [+            {+              "userVerificationMethod": "presence_internal"+            }+          ]+        ]+      },+      "statusReports": [+        {+          "certificateNumber": "FIDO20020190821002",+          "certificationDescriptor": "HID Crescendo Key",+          "certificationPolicyVersion": "1.3.6",+          "certificationRequirementsVersion": "1.3",+          "effectiveDate": "2019-10-08",+          "status": "FIDO_CERTIFIED_L1"+        },+        {+          "effectiveDate": "2019-07-19",+          "status": "NOT_FIDO_CERTIFIED"+        }+      ],+      "timeOfLastStatusChange": "2019-10-08"+    },+    {+      "aaguid": "4e768f2c-5fab-48b3-b300-220eb487752b",+      "metadataStatement": {+        "aaguid": "4e768f2c-5fab-48b3-b300-220eb487752b",+        "alternativeDescriptions": {+          "ru-RU": "FIDO2 Key SDK - от Hideez"+        },+        "attachmentHint": [+          "external",+          "wired",+          "wireless",+          "nfc",+          "bluetooth"+        ],+        "attestationRootCertificates": [+          "MIICZDCCAgugAwIBAgIUIylbSEAE15zSEvwF0r8GwUd/5oEwCgYIKoZIzj0EAwIwgYcxFzAVBgNVBAMMDkhpZGVleiBSb290IENBMR8wHQYJKoZIhvcNAQkBFhBsZWdhbEBoaWRlZXouY29tMRowGAYDVQQKDBFIaWRlZXogR3JvdXAgSW5jLjEiMCAGA1UECwwZQXV0aGVudGljYXRvciBBdHRlc3RhdGlvbjELMAkGA1UEBhMCVVMwHhcNMjEwODE2MTcyMzE4WhcNNDkwMTAxMTcyMzE4WjCBhzEXMBUGA1UEAwwOSGlkZWV6IFJvb3QgQ0ExHzAdBgkqhkiG9w0BCQEWEGxlZ2FsQGhpZGVlei5jb20xGjAYBgNVBAoMEUhpZGVleiBHcm91cCBJbmMuMSIwIAYDVQQLDBlBdXRoZW50aWNhdG9yIEF0dGVzdGF0aW9uMQswCQYDVQQGEwJVUzBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABAqlmAMAz4h5IwfVZwSb4jAi5ot85FE0buuCKs4mfud21qso5rpuKH43sKqbrNFQStx5RSC9bmBqdS2lycl35lajUzBRMB0GA1UdDgQWBBRWIiRVWayZBnH5BlTnQDiGyQ6OLTAfBgNVHSMEGDAWgBRWIiRVWayZBnH5BlTnQDiGyQ6OLTAPBgNVHRMBAf8EBTADAQH/MAoGCCqGSM49BAMCA0cAMEQCIEZXh76XFhLxJIT8FsIoQHTwfHCE8sUsKyPrcLv/3toMAiB+pjY9bI6nKT6qFuqgRn+bXBAdMeg/2vX8wG4aBtoMAA==",+          "\nMIICMjCCAdmgAwIBAgIBAjAKBggqhkjOPQQDAjCBhzEXMBUGA1UEAwwOSGlkZWV6IFJvb3QgQ0ExHzAdBgkqhkiG9w0BCQEWEGxlZ2FsQGhpZGVlei5jb20xGjAYBgNVBAoMEUhpZGVleiBHcm91cCBJbmMuMSIwIAYDVQQLDBlBdXRoZW50aWNhdG9yIEF0dGVzdGF0aW9uMQswCQYDVQQGEwJVUzAeFw0yMTA4MTYxNzI0MDVaFw00OTAxMDExNzI0MDVaMIGMMRwwGgYDVQQDDBNIaWRlZXogRklETyBSb290IENBMR8wHQYJKoZIhvcNAQkBFhBsZWdhbEBoaWRlZXouY29tMRowGAYDVQQKDBFIaWRlZXogR3JvdXAgSW5jLjEiMCAGA1UECwwZQXV0aGVudGljYXRvciBBdHRlc3RhdGlvbjELMAkGA1UEBhMCVVMwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAAS0AcT/hRFUblFcIp6bh4P2ZSq1ajiUaghec9udSFGIoUZ40Y3IEPltk2TxbwM/RpWmCFrZsAdfyx21rvYdpL8Roy8wLTAMBgNVHRMEBTADAQH/MB0GA1UdDgQWBBTlZ8Dv3qAKeKc1C2OiNvHzGqg1JTAKBggqhkjOPQQDAgNHADBEAiAHptsx+6Gqv6nba+bT9fW7n8xsfH8RhIK8VYFPKEsBZAIgQhOSDxkDkcy9nbPT4x0EmDD9UsL501tkSscfWa0aLbw="+        ],+        "attestationTypes": [+          "basic_full"+        ],+        "authenticationAlgorithms": [+          "secp256r1_ecdsa_sha256_raw"+        ],+        "authenticatorGetInfo": {+          "aaguid": "4e768f2c5fab48b3b300220eb487752b",+          "extensions": [+            "hmac-secret"+          ],+          "firmwareVersion": 1,+          "maxMsgSize": 2048,+          "options": {+            "clientPin": true,+            "plat": false,+            "rk": true,+            "up": true+          },+          "pinUvAuthProtocols": [+            1+          ],+          "versions": [+            "U2F_V2",+            "FIDO_2_0"+          ]+        },+        "authenticatorVersion": 1,+        "cryptoStrength": 128,+        "description": "Hideez Key FIDO2 SDK",+        "icon": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAAG0OVFdAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoTWFjaW50b3NoKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDoxMjFDOUI2OTVBMDExMUU1QkRBREQwQkJFMUZFRjhGRCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDoxMjFDOUI2QTVBMDExMUU1QkRBREQwQkJFMUZFRjhGRCI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjEyMUM5QjY3NUEwMTExRTVCREFERDBCQkUxRkVGOEZEIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjEyMUM5QjY4NUEwMTExRTVCREFERDBCQkUxRkVGOEZEIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+vr5XIgAAE/9JREFUeNpiDDl6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",+        "keyProtection": [+          "hardware",+          "secure_element"+        ],+        "legalHeader": "https://fidoalliance.org/metadata/metadata-statement-legal-header/",+        "matcherProtection": [+          "on_chip"+        ],+        "protocolFamily": "fido2",+        "publicKeyAlgAndEncodings": [+          "cose"+        ],+        "schema": 3,+        "tcDisplay": [],+        "upv": [+          {+            "major": 1,+            "minor": 0+          }+        ],+        "userVerificationDetails": [+          [+            {+              "userVerificationMethod": "presence_internal"+            }+          ],+          [+            {+              "userVerificationMethod": "presence_internal"+            },+            {+              "userVerificationMethod": "passcode_internal"+            }+          ],+          [+            {+              "userVerificationMethod": "passcode_internal"+            }+          ]+        ]+      },+      "statusReports": [+        {+          "effectiveDate": "2021-09-13",+          "status": "NOT_FIDO_CERTIFIED"+        }+      ],+      "timeOfLastStatusChange": "2021-09-13"+    },+    {+      "aaguid": "9f77e279-a6e2-4d58-b700-31e5943c6a98",+      "metadataStatement": {+        "aaguid": "9f77e279-a6e2-4d58-b700-31e5943c6a98",+        "attachmentHint": [+          "external"+        ],+        "attestationRootCertificates": [+          "MIIBxzCCAWygAwIBAgICEAswCgYIKoZIzj0EAwIwOjELMAkGA1UEBhMCQ0ExEjAQBgNVBAoMCUhZUEVSU0VDVTEXMBUGA1UEAwwOSFlQRVJGSURPIDAyMDAwIBcNMTgwMTAxMDAwMDAwWhgPMjA0NzEyMzEyMzU5NTlaMDoxCzAJBgNVBAYTAkNBMRIwEAYDVQQKDAlIWVBFUlNFQ1UxFzAVBgNVBAMMDkhZUEVSRklETyAwMjAwMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAErKUI1G0S7a6IOLlmHipLlBuxTYjsEESQvzQh3dB7dvxxWWm7kWL91rq6S7ayZG0gZPR+zYqdFzwAYDcG4+aX66NgMF4wHQYDVR0OBBYEFLZYcfMMwkQAGbt3ryzZFPFypmsIMB8GA1UdIwQYMBaAFLZYcfMMwkQAGbt3ryzZFPFypmsIMAwGA1UdEwQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMAoGCCqGSM49BAMCA0kAMEYCIQCG2/ppMGt7pkcRie5YIohS3uDPIrmiRcTjqDclKVWg0gIhANcPNDZHE2/zZ+uB5ThG9OZus+xSb4knkrbAyXKX2zm/"+        ],+        "attestationTypes": [+          "basic_full"+        ],+        "authenticationAlgorithms": [+          "secp256r1_ecdsa_sha256_raw"+        ],+        "authenticatorGetInfo": {+          "aaguid": "9f77e279a6e24d58b70031e5943c6a98",+          "algorithms": [+            {+              "alg": -7,+              "type": "public-key"+            }+          ],+          "extensions": [+            "credProtect",+            "hmac-secret"+          ],+          "maxCredentialCountInList": 10,+          "maxCredentialIdLength": 96,+          "maxMsgSize": 2048,+          "options": {+            "clientPin": false,+            "credentialMgmtPreview": true,+            "plat": false,+            "rk": true,+            "up": true+          },+          "pinUvAuthProtocols": [+            1+          ],+          "transports": [+            "usb"+          ],+          "versions": [+            "U2F_V2",+            "FIDO_2_0",+            "FIDO_2_1_PRE"+          ]+        },+        "authenticatorVersion": 1,+        "cryptoStrength": 128,+        "description": "Hyper FIDO Pro",+        "icon": "data:image/png;base64,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",+        "keyProtection": [+          "hardware",+          "secure_element"+        ],+        "legalHeader": "https://fidoalliance.org/metadata/metadata-statement-legal-header/",+        "matcherProtection": [+          "on_chip"+        ],+        "protocolFamily": "fido2",+        "publicKeyAlgAndEncodings": [+          "cose"+        ],+        "schema": 3,+        "tcDisplay": [],+        "upv": [+          {+            "major": 1,+            "minor": 0+          }+        ],+        "userVerificationDetails": [+          [+            {+              "userVerificationMethod": "presence_internal"+            }+          ]+        ]+      },+      "statusReports": [+        {+          "certificateNumber": "FIDO20020190805001",+          "certificationDescriptor": "Hyper FIDO® Pro",+          "certificationPolicyVersion": "1.3.6",+          "certificationRequirementsVersion": "1.0.0",+          "effectiveDate": "2019-08-08",+          "status": "FIDO_CERTIFIED_L1"+        },+        {+          "effectiveDate": "2019-07-29",+          "status": "NOT_FIDO_CERTIFIED"+        },+        {+          "certificateNumber": "FIDO20020190805001",+          "certificationDescriptor": "Hyper FIDO® Pro",+          "certificationPolicyVersion": "1.3.6",+          "certificationRequirementsVersion": "1.0.0",+          "effectiveDate": "2020-07-17",+          "status": "FIDO_CERTIFIED_L1"+        }+      ],+      "timeOfLastStatusChange": "2020-07-17"+    },+    {+      "aaguid": "d821a7d4-e97c-4cb6-bd82-4237731fd4be",+      "metadataStatement": {+        "aaguid": "d821a7d4-e97c-4cb6-bd82-4237731fd4be",+        "attachmentHint": [+          "external"+        ],+        "attestationRootCertificates": [+          "MIIBxzCCAWygAwIBAgICEAswCgYIKoZIzj0EAwIwOjELMAkGA1UEBhMCQ0ExEjAQBgNVBAoMCUhZUEVSU0VDVTEXMBUGA1UEAwwOSFlQRVJGSURPIDAyMDAwIBcNMTgwMTAxMDAwMDAwWhgPMjA0NzEyMzEyMzU5NTlaMDoxCzAJBgNVBAYTAkNBMRIwEAYDVQQKDAlIWVBFUlNFQ1UxFzAVBgNVBAMMDkhZUEVSRklETyAwMjAwMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAErKUI1G0S7a6IOLlmHipLlBuxTYjsEESQvzQh3dB7dvxxWWm7kWL91rq6S7ayZG0gZPR+zYqdFzwAYDcG4+aX66NgMF4wHQYDVR0OBBYEFLZYcfMMwkQAGbt3ryzZFPFypmsIMB8GA1UdIwQYMBaAFLZYcfMMwkQAGbt3ryzZFPFypmsIMAwGA1UdEwQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMAoGCCqGSM49BAMCA0kAMEYCIQCG2/ppMGt7pkcRie5YIohS3uDPIrmiRcTjqDclKVWg0gIhANcPNDZHE2/zZ+uB5ThG9OZus+xSb4knkrbAyXKX2zm/"+        ],+        "attestationTypes": [+          "basic_full"+        ],+        "authenticationAlgorithms": [+          "secp256r1_ecdsa_sha256_raw"+        ],+        "authenticatorGetInfo": {+          "aaguid": "d821a7d4e97c4cb6bd824237731fd4be",+          "algorithms": [+            {+              "alg": -7,+              "type": "public-key"+            }+          ],+          "extensions": [+            "credProtect",+            "hmac-secret"+          ],+          "maxCredentialCountInList": 10,+          "maxCredentialIdLength": 96,+          "maxMsgSize": 2048,+          "options": {+            "clientPin": false,+            "credentialMgmtPreview": true,+            "plat": false,+            "rk": true,+            "up": true,+            "userVerificationMgmtPreview": false,+            "uv": false+          },+          "pinUvAuthProtocols": [+            1+          ],+          "transports": [+            "usb"+          ],+          "versions": [+            "U2F_V2",+            "FIDO_2_0",+            "FIDO_2_1_PRE"+          ]+        },+        "authenticatorVersion": 1,+        "cryptoStrength": 128,+        "description": "Hyper FIDO® Bio Security Key",+        "icon": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAI0AAAAWCAYAAAD9/x8lAAAABHNCSVQICAgIfAhkiAAAB3FJREFUaIHtmk1y29gRx38NItLSzAnMnMDMNkmV6aqpynJ4A9MnMCSSVaG0MLwQsRBlwScQdYKRVlmlRG5mG+oEQ50g1C5USHQWj/h+/NBEtmcm+q8IvEa/fkD3v/v1Y4VNOAxa/Pm7Kj/+Y1oa8/wqf/nr3/nTd3fW8Wf8ZuGuHWn3mwgXwBvreGUvBBpAg8PgHZ96wy9i4TO+Ldr9JiKvVldjBr2RYxXsntSBiw2Khoi8Ta4dLjgMWk9o6jN+Cej0PURmwBiJromo0QkaZafpntSJ5AaR6gZFb0v3nx3nNwipMuiNUB2iElKJJqD1fHry/CoqF2sdxjjF+do5jOOwMVVl6U6ia06PJ7nxTtAAXq+uxiyY4pI66WL+mdCf5Z7pntRR5/tUhkt+F1WJ5BUitZINqlOWMibspbVYp++BvFhrd6w37E1NYFVeI2p5TzJh8e9xycZ4bSqvcs+JjviP3CW2PMaOGF5Qo6KvS2sVHXF6NMbzq7j7783aZcbZ3z7n5LyglrzjiLvk+0WYOUSqqNYYHE/oBM2807h7VyD1zJ1rBr1RsuBSytIDVFoIr5JbDhe0+zPOjq6sCxY8YqdQR4BJQaIBfFj9/gjzEPYPAPMiK3t/APKMFomHJI51D/PP6N4QkdfYIGKquVwtJuuDIYbLGJiiEiJq141CZW/GYXCQ6O6e1ImcH4AaogVxAVfHq3U/zg6AdhAivAexmCLQCeKa1DfqFSDvNC61ZNzRMWDsFuqrJQ1BjHOhszQ9tftDyLxk5ZbFvJUsWvWHgkkfGRyFLOcNlNvC2MWqLvrfYSI2TK5F3hrjV/CCWi5dRnjWKLfB4SKn66kgUkX0HM83jBLJFcLTz9MJfOMwXwhLQtpBCPITyE+4tFg8DA3THAatTKQah1nOG4T+DM+vlmoc1UvOjoxnGpkGlf1RwjgiVZQL4I9PYvyg59PutxB5CUAFD/DMb/WTKFO949NROTWqXiISU24NJ8OYDg3iyEofOAApMiAs5uV7Wd1ZlhSp4u7XgVFi9zrdomucfIsdSjMhGNU7IC5c87LGjsfDpECveNs1karnGXq7Z0kziVZ3fwhkc/c1Z0cpA50eT6yOg9TpBD6Dnv+zDC5CxV+1AAB9i+f7sF/NObuIvRAXmSZpFqDTbyWs6tgYQCY5+U3I6x7RDpq5dF3EQq5y9chm5ZvtyM4j0lor2wl2m25HuFTUz7FIhJdflFbTSOaW5SplxUVzzCahP6N70kKdf6aP6nviXGmD8pJuP18bRLy0pWc+9YbJxzZR7KFaS51dxwyOdvvQ3xIVbmj3fZYP1zunURu6J3Wy5dGuTv4EcBFpZq7v1+58iinL3bspFM1wejyh0x8nUSxSxQtqayNLaKEFdrA5TDroAzfGHn2f3+XJbs4ZUcvVbvEOIY+bUnSqzjg7+v1G3SoNsLCMSWGGEYUayBB3H9rBEOFywwcv22GCo4E69h3uV4BDvCsBUP61Rs6SssSeJ7VA9ztT8Q4wL/caoFRjbabxFiojVEaZ+gPgnmhu3+WVdKxpQ2R1Z1lV9S6xafngoXppfdY4xtOk8K8EFzTDDNQ4DFp5tpEZEjUIj1dbvP4Q+N6iK+4xZIu+8cbZVe+QQqQrtXzhWMACD7cw/3IDy6ydm1ucqGVNEYYZCs6+rli14hpHU5vMHC28wMfVJopXWOMHvGBYCjCbHVHRrq8PFyVESOla9JzuySRpui3m6Ys1PYFsN/g++WX6OIUew5aPKTIsFcom6j7YH8AwV7uf0r3yeSubZXc4u+R+Y9euNcIbVKuIZFsSYalpGdtu2gfh6n1dETO96ZXk17HJDrMrSq83lQFbZbW+pS7IwVk14a4zhpotdtxniR3GbMvzPQGJTEPK1sdRPn+x4iwbfcJ2Boh3OF/KnuI7RLc36Aa9EZpxkuiRfRzzXdKgrWwKtIKsm2mOml5Spt1i2eIXYPo0i3mLyt4koUyRKhE3dE/ecHo84TBo5XobABHv+HQ8sZ5VKbec9Ur7+18P9JxOUHZGiQ6sDALmHbr7U+BFrt1gjjjKTqTUcg2/SmTRu8UO1atMgd1aHdFMrLIwIi0rPtAO3iJMUa1Dtl7TrYFlnMZsl5urYs7QZew47b5nIidDXxFp+z1yhgjZovSO5UNj28S/bKwr8jfsWEJ/RqfvJ8cAqu/xgiFKleSIIDtFVq9eMrA54xY7luLj0iT7zYpzxbIS+ajTSGWpATUkY4hyu/b4J4P07On0eEL3pIE6eccpdktVL3Nd13wj6x5Hm5xt6D+oTJLzF1tRFzFdnX+sL/p2kdk2T/mBzUU7pJ3brO5sN3dwFNLu1xFqCCYNLBji8hE0PluqAy9WG5AZEVf5LvYj7Ah7U7ygTgUP0XqqG+MAwpTFKgWeHk+MrPog9fx30zHIiOU8LE5lnb50x9Bp6jhZmOODfF+lE2RbTG++ZpPpGd8G5f/TnB5PVgXufX5AxyWHySLi3bPD/H/A/s+9ouMotywemlZZI3Dw/HfPZxh0T+p0+qPkiN+GTv9XvEt6xs/BfwGhhmnYcaydgQAAAABJRU5ErkJggg==",+        "keyProtection": [+          "hardware",+          "secure_element"+        ],+        "legalHeader": "https://fidoalliance.org/metadata/metadata-statement-legal-header/",+        "matcherProtection": [+          "on_chip"+        ],+        "protocolFamily": "fido2",+        "publicKeyAlgAndEncodings": [+          "cose"+        ],+        "schema": 3,+        "tcDisplay": [],+        "upv": [+          {+            "major": 1,+            "minor": 0+          }+        ],+        "userVerificationDetails": [+          [+            {+              "userVerificationMethod": "fingerprint_internal"+            }+          ],+          [+            {+              "userVerificationMethod": "presence_internal"+            }+          ]+        ]+      },+      "statusReports": [+        {+          "certificateNumber": "FIDO20020210208001",+          "certificationDescriptor": "Hyper FIDO® Bio Security Key",+          "certificationPolicyVersion": "1.3.7",+          "certificationRequirementsVersion": "1.3",+          "effectiveDate": "2021-02-09",+          "status": "FIDO_CERTIFIED_L1"+        }+      ],+      "timeOfLastStatusChange": "2021-02-09"+    },+    {+      "aaguid": "c5703116-972b-4851-a3e7-ae1259843399",+      "metadataStatement": {+        "aaguid": "c5703116-972b-4851-a3e7-ae1259843399",+        "attachmentHint": [+          "external",+          "wired",+          "wireless",+          "nfc"+        ],+        "attestationRootCertificates": [+          "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",+          "\n\nMIICHTCCAcKgAwIBAgICddUwCgYIKoZIzj0EAwIwezELMAkGA1UEBhMCRlIxEzARBgNVBAoTCkNlcnRFdXJvcGUxFzAVBgNVBAsTDjAwMDIgNDM0MjAyMTgwMSQwIgYDVQQDExtDZXJ0RXVyb3BlIEVsbGlwdGljIFJvb3QgQ0ExGDAWBgNVBGETD05UUkZSLTQzNDIwMjE4MDAeFw0xODAxMjIyMzAwMDBaFw0yODAxMjIyMzAwMDBaMHsxCzAJBgNVBAYTAkZSMRMwEQYDVQQKEwpDZXJ0RXVyb3BlMRcwFQYDVQQLEw4wMDAyIDQzNDIwMjE4MDEkMCIGA1UEAxMbQ2VydEV1cm9wZSBFbGxpcHRpYyBSb290IENBMRgwFgYDVQRhEw9OVFJGUi00MzQyMDIxODAwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAATz2jNaKOK/MKdW2fme1tq6GREuPuuKW9HgWYgMRrjvZUTOqLANJ3Md5Hqv1EN1zMd4lWtyfzRla7rv5ARBoOoTozYwNDAPBgNVHRMBAf8EBTADAQH/MBEGA1UdDgQKBAhNnTW0a4E8ujAOBgNVHQ8BAf8EBAMCAQYwCgYIKoZIzj0EAwIDSQAwRgIhAMrhb8SmfNLeLNgaAVmQ6AOMiLNLVHX0kFUO80CnT38EAiEAzNAgv4dH+HDhZSgZWJiaPu/nfZTeuGy4MydPMq5urs4="+        ],+        "attestationTypes": [+          "basic_full"+        ],+        "authenticationAlgorithms": [+          "secp256r1_ecdsa_sha256_raw"+        ],+        "authenticatorGetInfo": {+          "aaguid": "c5703116972b4851a3e7ae1259843399",+          "extensions": [+            "hmac-secret"+          ],+          "firmwareVersion": 2,+          "maxMsgSize": 640,+          "options": {+            "clientPin": true,+            "plat": false,+            "rk": true,+            "up": false+          },+          "pinUvAuthProtocols": [+            1+          ],+          "transports": [+            "nfc",+            "usb"+          ],+          "versions": [+            "U2F_V2",+            "FIDO_2_0"+          ]+        },+        "authenticatorVersion": 2,+        "cryptoStrength": 128,+        "description": "NEOWAVE Badgeo FIDO2",+        "icon": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAIAAAD8GO2jAAACqUlEQVRIx2P8//8/Ay0BEwONwagFpFlw8cKFirIyR3t7S1Oz0KDgBfPm//z5k3izvn39lp+Ta2tltWTRIoTofxhYtXKllpq6srwCAikoRIVHvH379j9x4NSpU0AtQI1W5hZwQagPzp87V11ZiXAvIxj9Zzh54kRNZRWRPvj96xcDOM0zMTKiB9G8uXP//fsHNFRASLC+sXHm7Nlubu4Qm3bt3Llu7VpiLGCEmcuIacGZU6fB4cWQX1AQGx/n7OIyaeoUbV0diIvamluePXtGUST/+g32HSODhoYGRISFhaWppYWVlRUo+OHjh6b6BoosgHvqz58/cDl9ff3M7CwIe8+e3atXrqQgmeIokDKzs/X19EGy/xk6OzofP3pEWUbDsAYYRC3tbRwcHED2h/fv62pqCReOjCTmZE0trZy8XAj78KFDy5YuJd50VAsYcepKTU83NjWBqOnu7Hxw/wE+O/7jsgC315mZmRubm9nZ2YFqvnz+0lBfhzOg/qO7lQm/B+EAmHwLioogCo4cOrxk0WIiPUEgkpFBUnKymZk5hN3T1XX3zh1iYoKJcDTBA4qFubmtlYubC8j++vVrTVU1qHQhzQeMBHyhrKxcWFwMUXn61Kn5c+dSv8JJSEy0trGGsCf099+6dQsuxcLCCrH7P5IrSYgDeKFS39TEx8sHZH//9r2uGhFQN65fh2VPNoqqTCUlpeKyUmgxfPpMSWERMAMuX7asv7cXIqilrYXwFrxeg/qOuGZSdEzM3t17Dh06CPT0pk0bN23cCI9FYKZJz8hE98Hff38hDDY2diL90dHdpaurixawrCysre3tunq6iLTX0NAAToIsTx4/tndwiIyOAtYExFjAzc3t4+sLJL99/QosE0VFRe3s7RtbmoGVFUqcjTYdh78FAIhBLlNd7ju1AAAAAElFTkSuQmCC",+        "keyProtection": [+          "hardware",+          "secure_element"+        ],+        "legalHeader": "https://fidoalliance.org/metadata/metadata-statement-legal-header/",+        "matcherProtection": [+          "on_chip"+        ],+        "protocolFamily": "fido2",+        "publicKeyAlgAndEncodings": [+          "cose"+        ],+        "schema": 3,+        "supportedExtensions": [+          {+            "fail_if_unknown": false,+            "id": "hmac-secret"+          }+        ],+        "tcDisplay": [],+        "upv": [+          {+            "major": 1,+            "minor": 0+          }+        ],+        "userVerificationDetails": [+          [+            {+              "userVerificationMethod": "presence_internal"+            }+          ]+        ]+      },+      "statusReports": [+        {+          "effectiveDate": "2021-09-21",+          "status": "NOT_FIDO_CERTIFIED"+        }+      ],+      "timeOfLastStatusChange": "2021-09-21"+    },+    {+      "aaguid": "3789da91-f943-46bc-95c3-50ea2012f03a",+      "metadataStatement": {+        "aaguid": "3789da91-f943-46bc-95c3-50ea2012f03a",+        "attachmentHint": [+          "external",+          "wired"+        ],+        "attestationRootCertificates": [+          "\n\n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"+        ],+        "attestationTypes": [+          "basic_full"+        ],+        "authenticationAlgorithms": [+          "secp256r1_ecdsa_sha256_raw"+        ],+        "authenticatorGetInfo": {+          "aaguid": "3789da91f94346bc95c350ea2012f03a",+          "extensions": [+            "hmac-secret"+          ],+          "firmwareVersion": 2,+          "maxMsgSize": 2048,+          "options": {+            "clientPin": true,+            "plat": false,+            "rk": true,+            "up": true+          },+          "pinUvAuthProtocols": [+            1+          ],+          "transports": [+            "usb"+          ],+          "versions": [+            "U2F_V2",+            "FIDO_2_0"+          ]+        },+        "authenticatorVersion": 2,+        "cryptoStrength": 128,+        "description": "NEOWAVE Winkeo FIDO2",+        "icon": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAIAAAD8GO2jAAACqUlEQVRIx2P8//8/Ay0BEwONwagFpFlw8cKFirIyR3t7S1Oz0KDgBfPm//z5k3izvn39lp+Ta2tltWTRIoTofxhYtXKllpq6srwCAikoRIVHvH379j9x4NSpU0AtQI1W5hZwQagPzp87V11ZiXAvIxj9Zzh54kRNZRWRPvj96xcDOM0zMTKiB9G8uXP//fsHNFRASLC+sXHm7Nlubu4Qm3bt3Llu7VpiLGCEmcuIacGZU6fB4cWQX1AQGx/n7OIyaeoUbV0diIvamluePXtGUST/+g32HSODhoYGRISFhaWppYWVlRUo+OHjh6b6BoosgHvqz58/cDl9ff3M7CwIe8+e3atXrqQgmeIokDKzs/X19EGy/xk6OzofP3pEWUbDsAYYRC3tbRwcHED2h/fv62pqCReOjCTmZE0trZy8XAj78KFDy5YuJd50VAsYcepKTU83NjWBqOnu7Hxw/wE+O/7jsgC315mZmRubm9nZ2YFqvnz+0lBfhzOg/qO7lQm/B+EAmHwLioogCo4cOrxk0WIiPUEgkpFBUnKymZk5hN3T1XX3zh1iYoKJcDTBA4qFubmtlYubC8j++vVrTVU1qHQhzQeMBHyhrKxcWFwMUXn61Kn5c+dSv8JJSEy0trGGsCf099+6dQsuxcLCCrH7P5IrSYgDeKFS39TEx8sHZH//9r2uGhFQN65fh2VPNoqqTCUlpeKyUmgxfPpMSWERMAMuX7asv7cXIqilrYXwFrxeg/qOuGZSdEzM3t17Dh06CPT0pk0bN23cCI9FYKZJz8hE98Hff38hDDY2diL90dHdpaurixawrCysre3tunq6iLTX0NAAToIsTx4/tndwiIyOAtYExFjAzc3t4+sLJL99/QosE0VFRe3s7RtbmoGVFUqcjTYdh78FAIhBLlNd7ju1AAAAAElFTkSuQmCC",+        "keyProtection": [+          "hardware",+          "secure_element"+        ],+        "legalHeader": "https://fidoalliance.org/metadata/metadata-statement-legal-header/",+        "matcherProtection": [+          "on_chip"+        ],+        "protocolFamily": "fido2",+        "publicKeyAlgAndEncodings": [+          "cose"+        ],+        "schema": 3,+        "supportedExtensions": [+          {+            "fail_if_unknown": false,+            "id": "hmac-secret"+          }+        ],+        "tcDisplay": [],+        "upv": [+          {+            "major": 1,+            "minor": 0+          }+        ],+        "userVerificationDetails": [+          [+            {+              "userVerificationMethod": "presence_internal"+            }+          ]+        ]+      },+      "statusReports": [+        {+          "effectiveDate": "2021-09-21",+          "status": "NOT_FIDO_CERTIFIED"+        }+      ],+      "timeOfLastStatusChange": "2021-09-21"+    },+    {+      "aaguid": "a1f52be5-dfab-4364-b51c-2bd496b14a56",+      "metadataStatement": {+        "aaguid": "a1f52be5-dfab-4364-b51c-2bd496b14a56",+        "alternativeDescriptions": {+          "en-US": "OCTATCO EzFinger2 FIDO2 AUTHENTICATOR V 1.0",+          "ko-KR": "옥타코 이지핑거2 FIDO2 인증기 V 1.0"+        },+        "attachmentHint": [+          "external"+        ],+        "attestationRootCertificates": [+          "MIIDtDCCApygAwIBAgIBATANBgkqhkiG9w0BAQsFADByMQswCQYDVQQGEwJLUjEZMBcGA1UECgwQT0NUQVRDTyBDTy4sIExURDEiMCAGA1UECwwZQXV0aGVudGljYXRvciBBdHRlc3RhdGlvbjEkMCIGA1UEAwwbT0NUQVRDTyBSb290IENBIENlcnRpZmljYXRlMB4XDTIwMDIxMTA0MjYwM1oXDTI2MDIwOTA0MjYwM1owcjELMAkGA1UEBhMCS1IxGTAXBgNVBAoMEE9DVEFUQ08gQ08uLCBMVEQxIjAgBgNVBAsMGUF1dGhlbnRpY2F0b3IgQXR0ZXN0YXRpb24xJDAiBgNVBAMMG09DVEFUQ08gUm9vdCBDQSBDZXJ0aWZpY2F0ZTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALZYa+9YZLJn4FWckDnY/ERoCuO3TBta0W3f8R9SY5d5sBk2QiupciI/l7fwPrH3FDkeVPXejMe+kT0VoJJe+N9EMWer0/5PXIP97nruYcr0DxbhZpesQEeU8BeIUunpNNnEJpoxoJTwoDmu83ZKk4m8g0/PfpJwDhmPCAqm79sFtP8g7lC9qms5TD/6PNz+2aewKXTQAR1opfhnWDUsIZtuUfERhlGwxU7X+h3oQ2kSGw5holfKSb0g3pwGTcTVNvfUMXH7CaiTq/K7T/jdACD+9aNjtcd3PyQerA8Sa2N28rvkN8YfKoDPg5gA378ONDV3BhrhtY8UiDkBcTsXAQECAwEAAaNVMFMwEgYDVR0TAQH/BAgwBgEB/wIBADAdBgNVHQ4EFgQUOCmK310Gu3q9DfX/bvdpsf4GI8UwCwYDVR0PBAQDAgH2MBEGCWCGSAGG+EIBAQQEAwIABzANBgkqhkiG9w0BAQsFAAOCAQEAnDTcZneK/h0Qb8sFxgFS8Fa5djQnSJQUMFZ/kzOsPh1DVFDF4nDG/HlU+d7KaNhaQ7XLt7xAjhzEyTyHaMH76gH08r33NdVZ/4sMh9GILU6bSmJYOtdVi3zB3p69bnYZHJVqvJKX5lEsSpn/opKYlvto2n0/4s4awJh+q+BkyVSPTRMX6Lfbn6IRu4cbeS0W13tsQ5SbpAo9NH2FATzVMMKSGEdiQnfYygdWvuDCLUtQF1wGmGSYsEPFTV6PG1VP5HS4fhrBNburi38NIUocfkpfmOIy+hHZgfvpZzork1GvF3PZRItJnTTv5Ujq0qD8rnr81qwvGlTCJIBtEUmNwQ=="+        ],+        "attestationTypes": [+          "basic_full",+          "basic_surrogate"+        ],+        "authenticationAlgorithms": [+          "secp256r1_ecdsa_sha256_der"+        ],+        "authenticatorGetInfo": {+          "aaguid": "a1f52be5dfab4364b51c2bd496b14a56",+          "firmwareVersion": 5,+          "options": {+            "uv": true+          },+          "versions": [+            "FIDO_2_0"+          ]+        },+        "authenticatorVersion": 5,+        "cryptoStrength": 128,+        "description": "OCTATCO EzFinger2 FIDO2 AUTHENTICATOR",+        "icon": "data:image/png;base64,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",+        "keyProtection": [+          "hardware",+          "secure_element"+        ],+        "legalHeader": "https://fidoalliance.org/metadata/metadata-statement-legal-header/",+        "matcherProtection": [+          "on_chip"+        ],+        "protocolFamily": "fido2",+        "publicKeyAlgAndEncodings": [+          "cose"+        ],+        "schema": 3,+        "tcDisplay": [+          "any"+        ],+        "upv": [+          {+            "major": 1,+            "minor": 0+          }+        ],+        "userVerificationDetails": [+          [+            {+              "userVerificationMethod": "passcode_external"+            }+          ],+          [+            {+              "userVerificationMethod": "presence_internal"+            }+          ],+          [+            {+              "userVerificationMethod": "fingerprint_internal"+            }+          ]+        ]+      },+      "statusReports": [+        {+          "certificateNumber": "FIDO20020200320001",+          "certificationDescriptor": "OCTATCO EzFinger2 FIDO2 AUTHENTICATOR",+          "certificationPolicyVersion": "1.3",+          "certificationRequirementsVersion": "1.3",+          "effectiveDate": "2020-03-20",+          "status": "FIDO_CERTIFIED_L1"+        },+        {+          "effectiveDate": "2020-03-20",+          "status": "FIDO_CERTIFIED"+        }+      ],+      "timeOfLastStatusChange": "2021-07-27"+    },+    {+      "aaguid": "bc2fe499-0d8e-4ffe-96f3-94a82840cf8c",+      "metadataStatement": {+        "aaguid": "bc2fe499-0d8e-4ffe-96f3-94a82840cf8c",+        "alternativeDescriptions": {+          "en-US": "OCTATCO EzQuant FIDO2 AUTHENTICATOR V 1.0",+          "ko-KR": "옥타코 이지퀀트 FIDO2 인증기 V 1.0"+        },+        "attachmentHint": [+          "external",+          "wired"+        ],+        "attestationRootCertificates": [+          "MIIDtDCCApygAwIBAgIBATANBgkqhkiG9w0BAQsFADByMQswCQYDVQQGEwJLUjEZMBcGA1UECgwQT0NUQVRDTyBDTy4sIExURDEiMCAGA1UECwwZQXV0aGVudGljYXRvciBBdHRlc3RhdGlvbjEkMCIGA1UEAwwbT0NUQVRDTyBSb290IENBIENlcnRpZmljYXRlMB4XDTIwMDIxMTA0MjYwM1oXDTI2MDIwOTA0MjYwM1owcjELMAkGA1UEBhMCS1IxGTAXBgNVBAoMEE9DVEFUQ08gQ08uLCBMVEQxIjAgBgNVBAsMGUF1dGhlbnRpY2F0b3IgQXR0ZXN0YXRpb24xJDAiBgNVBAMMG09DVEFUQ08gUm9vdCBDQSBDZXJ0aWZpY2F0ZTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALZYa+9YZLJn4FWckDnY/ERoCuO3TBta0W3f8R9SY5d5sBk2QiupciI/l7fwPrH3FDkeVPXejMe+kT0VoJJe+N9EMWer0/5PXIP97nruYcr0DxbhZpesQEeU8BeIUunpNNnEJpoxoJTwoDmu83ZKk4m8g0/PfpJwDhmPCAqm79sFtP8g7lC9qms5TD/6PNz+2aewKXTQAR1opfhnWDUsIZtuUfERhlGwxU7X+h3oQ2kSGw5holfKSb0g3pwGTcTVNvfUMXH7CaiTq/K7T/jdACD+9aNjtcd3PyQerA8Sa2N28rvkN8YfKoDPg5gA378ONDV3BhrhtY8UiDkBcTsXAQECAwEAAaNVMFMwEgYDVR0TAQH/BAgwBgEB/wIBADAdBgNVHQ4EFgQUOCmK310Gu3q9DfX/bvdpsf4GI8UwCwYDVR0PBAQDAgH2MBEGCWCGSAGG+EIBAQQEAwIABzANBgkqhkiG9w0BAQsFAAOCAQEAnDTcZneK/h0Qb8sFxgFS8Fa5djQnSJQUMFZ/kzOsPh1DVFDF4nDG/HlU+d7KaNhaQ7XLt7xAjhzEyTyHaMH76gH08r33NdVZ/4sMh9GILU6bSmJYOtdVi3zB3p69bnYZHJVqvJKX5lEsSpn/opKYlvto2n0/4s4awJh+q+BkyVSPTRMX6Lfbn6IRu4cbeS0W13tsQ5SbpAo9NH2FATzVMMKSGEdiQnfYygdWvuDCLUtQF1wGmGSYsEPFTV6PG1VP5HS4fhrBNburi38NIUocfkpfmOIy+hHZgfvpZzork1GvF3PZRItJnTTv5Ujq0qD8rnr81qwvGlTCJIBtEUmNwQ=="+        ],+        "attestationTypes": [+          "basic_full",+          "basic_surrogate"+        ],+        "authenticationAlgorithms": [+          "secp256r1_ecdsa_sha256_der"+        ],+        "authenticatorGetInfo": {+          "aaguid": "bc2fe4990d8e4ffe96f394a82840cf8c",+          "firmwareVersion": 5,+          "options": {+            "uv": true+          },+          "versions": [+            "FIDO_2_0"+          ]+        },+        "authenticatorVersion": 5,+        "cryptoStrength": 128,+        "description": "OCTATCO EzQuant FIDO2 AUTHENTICATOR",+        "icon": "data:image/png;base64,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",+        "keyProtection": [+          "hardware",+          "secure_element"+        ],+        "legalHeader": "https://fidoalliance.org/metadata/metadata-statement-legal-header/",+        "matcherProtection": [+          "on_chip"+        ],+        "protocolFamily": "fido2",+        "publicKeyAlgAndEncodings": [+          "cose"+        ],+        "schema": 3,+        "tcDisplay": [],+        "upv": [+          {+            "major": 1,+            "minor": 0+          }+        ],+        "userVerificationDetails": [+          [+            {+              "userVerificationMethod": "fingerprint_internal"+            }+          ],+          [+            {+              "userVerificationMethod": "passcode_external"+            }+          ],+          [+            {+              "userVerificationMethod": "presence_internal"+            }+          ]+        ]+      },+      "statusReports": [+        {+          "effectiveDate": "2021-06-08",+          "status": "FIDO_CERTIFIED"+        },+        {+          "certificateNumber": "FIDO20020210608001",+          "certificationDescriptor": "EzQuant FIDO2 Fingerprint",+          "certificationPolicyVersion": "1.3",+          "certificationRequirementsVersion": "1.3",+          "effectiveDate": "2021-06-08",+          "status": "FIDO_CERTIFIED_L1",+          "url": "www.octatco.com"+        }+      ],+      "timeOfLastStatusChange": "2021-08-10"+    },+    {+      "aaguid": "88bbd2f0-342a-42e7-9729-dd158be5407a",+      "metadataStatement": {+        "aaguid": "88bbd2f0-342a-42e7-9729-dd158be5407a",+        "attachmentHint": [+          "external",+          "wired"+        ],+        "attestationRootCertificates": [+          "MIIDgzCCAmugAwIBAgIQaYjnxOuk47BGc+Eih27bmjANBgkqhkiG9w0BAQsFADBHMRMwEQYKCZImiZPyLGQBGRYDY29tMRkwFwYKCZImiZPyLGQBGRYJUHJlY2lzaW9uMRUwEwYDVQQDEwxQcmVjaXNpb24tQ0EwIBcNMTkwODEzMTIzMDU3WhgPMjExOTA4MTMxMjQwNTdaMEcxEzARBgoJkiaJk/IsZAEZFgNjb20xGTAXBgoJkiaJk/IsZAEZFglQcmVjaXNpb24xFTATBgNVBAMTDFByZWNpc2lvbi1DQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOs5avRxbtRNzbQDpvWgCMFCWERAF7JS9bUm1HJMzbg1P39UTJt4MrUGza143OW+T2CtLa6YwuOsvEfoVARnCf5QHuuSsC2SS1gng12GCObGBasIBHC21R9HVsI0W4uxf5kcGNh8YyStplxXPcKxig2trMD1U4izm4LeNuFSqcXf1xk/jrIoggnvMIVUYK0WM3pR91lebnihsXnR8GtWjAFdpQHAOUY94RjN9q8nxGuMuNcf+2EZ0VLeV3tG3iQZxJyl3x9dZCwK70WXj3GtKdpR/FSucriDRLqbUFWuMgKAXifk4okjzk5fd5OFnezPil7h0jY3q+HKKlHjM9b47wUCAwEAAaNpMGcwEwYJKwYBBAGCNxQCBAYeBABDAEEwDgYDVR0PAQH/BAQDAgGGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFP2rjw3cLpwUzhZ2ltPtv+cvdCOgMBAGCSsGAQQBgjcVAQQDAgEAMA0GCSqGSIb3DQEBCwUAA4IBAQCVuXneg526BcPQjBavX9P60g0JIJKaJ0CRoPUG83IlM5qlyKQOrmG4fp/PHnhPD/mA7O4cXLVuxDB+2W+gnhLDiVEJpcjypB1GXiV5hqfc0XpmHT48Ca9Ditn1EeVeB1t8rWCK18Xo6x5xXMT9oTUDpP410nVC2wfVQ21IXA6bkzgQMiK7BCJggWJ8HokgPhmPb4R/pPNwLuClvRxppn20ZcJqpYQHeI02r0LKhwce+kZpjJD+hUnyro262RKrOf9+3y8zrFYC10cbsLUmUJs5pJxygj4fVGbkB9jvsG1xTu62ko8qUX5mXJNtz3dRPCEcGx4y2rom6ushAPtqr1Ik"+        ],+        "attestationTypes": [+          "basic_full"+        ],+        "authenticationAlgorithms": [+          "secp256r1_ecdsa_sha256_raw"+        ],+        "authenticatorGetInfo": {+          "aaguid": "88bbd2f0342a42e79729dd158be5407a",+          "algorithms": [+            {+              "alg": -7,+              "type": "public-key"+            },+            {+              "alg": -257,+              "type": "public-key"+            }+          ],+          "extensions": [+            "hmac-secret"+          ],+          "firmwareVersion": 1,+          "maxCredentialCountInList": 16,+          "maxCredentialIdLength": 16,+          "maxMsgSize": 2200,+          "options": {+            "rk": true,+            "up": true,+            "uv": true+          },+          "pinUvAuthProtocols": [],+          "transports": [+            "usb"+          ],+          "versions": [+            "FIDO_2_0"+          ]+        },+        "authenticatorVersion": 1,+        "cryptoStrength": 128,+        "description": "Precision InnaIT Key FIDO 2 Level 2 certified",+        "icon": "data:image/png;base64,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",+        "keyProtection": [+          "hardware",+          "secure_element"+        ],+        "legalHeader": "https://fidoalliance.org/metadata/metadata-statement-legal-header/",+        "matcherProtection": [+          "on_chip"+        ],+        "protocolFamily": "fido2",+        "publicKeyAlgAndEncodings": [+          "cose"+        ],+        "schema": 3,+        "tcDisplay": [],+        "upv": [+          {+            "major": 1,+            "minor": 0+          }+        ],+        "userVerificationDetails": [+          [+            {+              "userVerificationMethod": "fingerprint_internal"+            },+            {+              "userVerificationMethod": "presence_internal"+            }+          ]+        ]+      },+      "statusReports": [+        {+          "effectiveDate": "2021-09-27",+          "status": "FIDO_CERTIFIED"+        },+        {+          "certificateNumber": "FIDO20020211018001",+          "certificationDescriptor": "InnaIT Key PK1100",+          "certificationPolicyVersion": "1.3",+          "certificationRequirementsVersion": "1.3",+          "effectiveDate": "2021-09-27",+          "status": "FIDO_CERTIFIED_L2"+        }+      ],+      "timeOfLastStatusChange": "2021-12-15"+    },+    {+      "aaguid": "f8a011f3-8c0a-4d15-8006-17111f9edc7d",+      "metadataStatement": {+        "aaguid": "f8a011f3-8c0a-4d15-8006-17111f9edc7d",+        "attachmentHint": [+          "external",+          "wired"+        ],+        "attestationRootCertificates": [+          "MIIDHjCCAgagAwIBAgIEG0BT9zANBgkqhkiG9w0BAQsFADAuMSwwKgYDVQQDEyNZdWJpY28gVTJGIFJvb3QgQ0EgU2VyaWFsIDQ1NzIwMDYzMTAgFw0xNDA4MDEwMDAwMDBaGA8yMDUwMDkwNDAwMDAwMFowLjEsMCoGA1UEAxMjWXViaWNvIFUyRiBSb290IENBIFNlcmlhbCA0NTcyMDA2MzEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC/jwYuhBVlqaiYWEMsrWFisgJ+PtM91eSrpI4TK7U53mwCIawSDHy8vUmk5N2KAj9abvT9NP5SMS1hQi3usxoYGonXQgfO6ZXyUA9a+KAkqdFnBnlyugSeCOep8EdZFfsaRFtMjkwz5Gcz2Py4vIYvCdMHPtwaz0bVuzneueIEz6TnQjE63Rdt2zbwnebwTG5ZybeWSwbzy+BJ34ZHcUhPAY89yJQXuE0IzMZFcEBbPNRbWECRKgjq//qT9nmDOFVlSRCt2wiqPSzluwn+v+suQEBsUjTGMEd25tKXXTkNW21wIWbxeSyUoTXwLvGS6xlwQSgNpk2qXYwf8iXg7VWZAgMBAAGjQjBAMB0GA1UdDgQWBBQgIvz0bNGJhjgpToksyKpP9xv9oDAPBgNVHRMECDAGAQH/AgEAMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQsFAAOCAQEAjvjuOMDSa+JXFCLyBKsycXtBVZsJ4Ue3LbaEsPY4MYN/hIQ5ZM5p7EjfcnMG4CtYkNsfNHc0AhBLdq45rnT87q/6O3vUEtNMafbhU6kthX7Y+9XFN9NpmYxr+ekVY5xOxi8h9JDIgoMP4VB1uS0aunL1IGqrNooL9mmFnL2kLVVee6/VR6C5+KSTCMCWppMuJIZII2v9o4dkoZ8Y7QRjQlLfYzd3qGtKbw7xaF1UsG/5xUb/Btwb2X2g4InpiB/yt/3CpQXpiWX/K4mBvUKiGn05ZsqeY1gx4g0xLBqcU9psmyPzK+Vsgw2jeRQ5JlKDyqE0hebfC1tvFu0CCrJFcw=="+        ],+        "attestationTypes": [+          "basic_full"+        ],+        "authenticationAlgorithms": [+          "ed25519_eddsa_sha512_raw",+          "secp256r1_ecdsa_sha256_raw"+        ],+        "authenticatorGetInfo": {+          "aaguid": "f8a011f38c0a4d15800617111f9edc7d",+          "extensions": [+            "hmac-secret"+          ],+          "maxMsgSize": 1200,+          "options": {+            "clientPin": false,+            "plat": false,+            "rk": true,+            "up": true+          },+          "pinUvAuthProtocols": [+            1+          ],+          "versions": [+            "U2F_V2",+            "FIDO_2_0"+          ]+        },+        "authenticatorVersion": 50100,+        "cryptoStrength": 128,+        "description": "Security Key by Yubico",+        "icon": "data:image/png;base64,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",+        "keyProtection": [+          "hardware",+          "secure_element"+        ],+        "legalHeader": "https://fidoalliance.org/metadata/metadata-statement-legal-header/",+        "matcherProtection": [+          "on_chip"+        ],+        "protocolFamily": "fido2",+        "publicKeyAlgAndEncodings": [+          "cose"+        ],+        "schema": 3,+        "tcDisplay": [],+        "upv": [+          {+            "major": 1,+            "minor": 0+          }+        ],+        "userVerificationDetails": [+          [+            {+              "userVerificationMethod": "none"+            },+            {+              "userVerificationMethod": "presence_internal"+            },+            {+              "caDesc": {+                "base": 64,+                "blockSlowdown": 0,+                "maxRetries": 8,+                "minLength": 4+              },+              "userVerificationMethod": "passcode_internal"+            }+          ]+        ]+      },+      "statusReports": [+        {+          "certificateNumber": "FIDO20020180926001",+          "certificationDescriptor": "Security Key by Yubico",+          "certificationPolicyVersion": "1.0.0",+          "certificationRequirementsVersion": "1.0.0",+          "effectiveDate": "2020-05-12",+          "status": "FIDO_CERTIFIED_L1"+        }+      ],+      "timeOfLastStatusChange": "2020-05-12"+    },+    {+      "aaguid": "b92c3f9a-c014-4056-887f-140a2501163b",+      "metadataStatement": {+        "aaguid": "b92c3f9a-c014-4056-887f-140a2501163b",+        "attachmentHint": [+          "external",+          "wired"+        ],+        "attestationRootCertificates": [+          "MIIDHjCCAgagAwIBAgIEG0BT9zANBgkqhkiG9w0BAQsFADAuMSwwKgYDVQQDEyNZdWJpY28gVTJGIFJvb3QgQ0EgU2VyaWFsIDQ1NzIwMDYzMTAgFw0xNDA4MDEwMDAwMDBaGA8yMDUwMDkwNDAwMDAwMFowLjEsMCoGA1UEAxMjWXViaWNvIFUyRiBSb290IENBIFNlcmlhbCA0NTcyMDA2MzEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC/jwYuhBVlqaiYWEMsrWFisgJ+PtM91eSrpI4TK7U53mwCIawSDHy8vUmk5N2KAj9abvT9NP5SMS1hQi3usxoYGonXQgfO6ZXyUA9a+KAkqdFnBnlyugSeCOep8EdZFfsaRFtMjkwz5Gcz2Py4vIYvCdMHPtwaz0bVuzneueIEz6TnQjE63Rdt2zbwnebwTG5ZybeWSwbzy+BJ34ZHcUhPAY89yJQXuE0IzMZFcEBbPNRbWECRKgjq//qT9nmDOFVlSRCt2wiqPSzluwn+v+suQEBsUjTGMEd25tKXXTkNW21wIWbxeSyUoTXwLvGS6xlwQSgNpk2qXYwf8iXg7VWZAgMBAAGjQjBAMB0GA1UdDgQWBBQgIvz0bNGJhjgpToksyKpP9xv9oDAPBgNVHRMECDAGAQH/AgEAMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQsFAAOCAQEAjvjuOMDSa+JXFCLyBKsycXtBVZsJ4Ue3LbaEsPY4MYN/hIQ5ZM5p7EjfcnMG4CtYkNsfNHc0AhBLdq45rnT87q/6O3vUEtNMafbhU6kthX7Y+9XFN9NpmYxr+ekVY5xOxi8h9JDIgoMP4VB1uS0aunL1IGqrNooL9mmFnL2kLVVee6/VR6C5+KSTCMCWppMuJIZII2v9o4dkoZ8Y7QRjQlLfYzd3qGtKbw7xaF1UsG/5xUb/Btwb2X2g4InpiB/yt/3CpQXpiWX/K4mBvUKiGn05ZsqeY1gx4g0xLBqcU9psmyPzK+Vsgw2jeRQ5JlKDyqE0hebfC1tvFu0CCrJFcw=="+        ],+        "attestationTypes": [+          "basic_full"+        ],+        "authenticationAlgorithms": [+          "ed25519_eddsa_sha512_raw",+          "secp256r1_ecdsa_sha256_raw"+        ],+        "authenticatorGetInfo": {+          "aaguid": "b92c3f9ac0144056887f140a2501163b",+          "algorithms": [+            {+              "alg": -7,+              "type": "public-key"+            },+            {+              "alg": -8,+              "type": "public-key"+            }+          ],+          "extensions": [+            "credProtect",+            "hmac-secret"+          ],+          "maxCredentialCountInList": 8,+          "maxCredentialIdLength": 128,+          "maxMsgSize": 1200,+          "options": {+            "clientPin": false,+            "credentialMgmtPreview": true,+            "plat": false,+            "rk": true,+            "up": true+          },+          "pinUvAuthProtocols": [+            1+          ],+          "transports": [+            "usb"+          ],+          "versions": [+            "U2F_V2",+            "FIDO_2_0",+            "FIDO_2_1_PRE"+          ]+        },+        "authenticatorVersion": 50200,+        "cryptoStrength": 128,+        "description": "Security Key by Yubico",+        "icon": "data:image/png;base64,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",+        "keyProtection": [+          "hardware",+          "secure_element"+        ],+        "legalHeader": "https://fidoalliance.org/metadata/metadata-statement-legal-header/",+        "matcherProtection": [+          "on_chip"+        ],+        "protocolFamily": "fido2",+        "publicKeyAlgAndEncodings": [+          "cose"+        ],+        "schema": 3,+        "tcDisplay": [],+        "upv": [+          {+            "major": 1,+            "minor": 0+          }+        ],+        "userVerificationDetails": [+          [+            {+              "caDesc": {+                "base": 64,+                "blockSlowdown": 0,+                "maxRetries": 8,+                "minLength": 4+              },+              "userVerificationMethod": "passcode_internal"+            },+            {+              "userVerificationMethod": "none"+            },+            {+              "userVerificationMethod": "presence_internal"+            }+          ]+        ]+      },+      "statusReports": [+        {+          "certificateNumber": "FIDO20020191017005",+          "certificationDescriptor": "Security Key by Yubico",+          "certificationPolicyVersion": "1.1.1",+          "certificationRequirementsVersion": "1.3",+          "effectiveDate": "2020-05-12",+          "status": "FIDO_CERTIFIED_L1"+        }+      ],+      "timeOfLastStatusChange": "2020-05-12"+    },+    {+      "aaguid": "149a2021-8ef6-4133-96b8-81f8d5b7f1f5",+      "metadataStatement": {+        "aaguid": "149a2021-8ef6-4133-96b8-81f8d5b7f1f5",+        "attachmentHint": [+          "external",+          "wired",+          "wireless",+          "nfc"+        ],+        "attestationRootCertificates": [+          "MIIDHjCCAgagAwIBAgIEG0BT9zANBgkqhkiG9w0BAQsFADAuMSwwKgYDVQQDEyNZdWJpY28gVTJGIFJvb3QgQ0EgU2VyaWFsIDQ1NzIwMDYzMTAgFw0xNDA4MDEwMDAwMDBaGA8yMDUwMDkwNDAwMDAwMFowLjEsMCoGA1UEAxMjWXViaWNvIFUyRiBSb290IENBIFNlcmlhbCA0NTcyMDA2MzEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC/jwYuhBVlqaiYWEMsrWFisgJ+PtM91eSrpI4TK7U53mwCIawSDHy8vUmk5N2KAj9abvT9NP5SMS1hQi3usxoYGonXQgfO6ZXyUA9a+KAkqdFnBnlyugSeCOep8EdZFfsaRFtMjkwz5Gcz2Py4vIYvCdMHPtwaz0bVuzneueIEz6TnQjE63Rdt2zbwnebwTG5ZybeWSwbzy+BJ34ZHcUhPAY89yJQXuE0IzMZFcEBbPNRbWECRKgjq//qT9nmDOFVlSRCt2wiqPSzluwn+v+suQEBsUjTGMEd25tKXXTkNW21wIWbxeSyUoTXwLvGS6xlwQSgNpk2qXYwf8iXg7VWZAgMBAAGjQjBAMB0GA1UdDgQWBBQgIvz0bNGJhjgpToksyKpP9xv9oDAPBgNVHRMECDAGAQH/AgEAMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQsFAAOCAQEAjvjuOMDSa+JXFCLyBKsycXtBVZsJ4Ue3LbaEsPY4MYN/hIQ5ZM5p7EjfcnMG4CtYkNsfNHc0AhBLdq45rnT87q/6O3vUEtNMafbhU6kthX7Y+9XFN9NpmYxr+ekVY5xOxi8h9JDIgoMP4VB1uS0aunL1IGqrNooL9mmFnL2kLVVee6/VR6C5+KSTCMCWppMuJIZII2v9o4dkoZ8Y7QRjQlLfYzd3qGtKbw7xaF1UsG/5xUb/Btwb2X2g4InpiB/yt/3CpQXpiWX/K4mBvUKiGn05ZsqeY1gx4g0xLBqcU9psmyPzK+Vsgw2jeRQ5JlKDyqE0hebfC1tvFu0CCrJFcw=="+        ],+        "attestationTypes": [+          "basic_full"+        ],+        "authenticationAlgorithms": [+          "secp256r1_ecdsa_sha256_raw",+          "ed25519_eddsa_sha512_raw"+        ],+        "authenticatorGetInfo": {+          "aaguid": "149a20218ef6413396b881f8d5b7f1f5",+          "algorithms": [+            {+              "alg": -7,+              "type": "public-key"+            },+            {+              "alg": -8,+              "type": "public-key"+            }+          ],+          "extensions": [+            "credProtect",+            "hmac-secret"+          ],+          "maxCredentialCountInList": 8,+          "maxCredentialIdLength": 128,+          "maxMsgSize": 1200,+          "options": {+            "clientPin": true,+            "credentialMgmtPreview": true,+            "plat": false,+            "rk": true,+            "up": true+          },+          "pinUvAuthProtocols": [+            1+          ],+          "transports": [+            "nfc",+            "usb"+          ],+          "versions": [+            "U2F_V2",+            "FIDO_2_0",+            "FIDO_2_1_PRE"+          ]+        },+        "authenticatorVersion": 50200,+        "cryptoStrength": 128,+        "description": "Security Key by Yubico with NFC",+        "icon": "data:image/png;base64,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",+        "keyProtection": [+          "hardware",+          "secure_element"+        ],+        "legalHeader": "https://fidoalliance.org/metadata/metadata-statement-legal-header/",+        "matcherProtection": [+          "on_chip"+        ],+        "protocolFamily": "fido2",+        "publicKeyAlgAndEncodings": [+          "cose"+        ],+        "schema": 3,+        "tcDisplay": [],+        "upv": [+          {+            "major": 1,+            "minor": 0+          }+        ],+        "userVerificationDetails": [+          [+            {+              "userVerificationMethod": "none"+            },+            {+              "userVerificationMethod": "presence_internal"+            },+            {+              "caDesc": {+                "base": 64,+                "blockSlowdown": 0,+                "maxRetries": 8,+                "minLength": 4+              },+              "userVerificationMethod": "passcode_internal"+            }+          ]+        ]+      },+      "statusReports": [+        {+          "certificateNumber": "FIDO20020191017004",+          "certificationDescriptor": "Security Key NFC by Yubico",+          "certificationPolicyVersion": "1.1.1",+          "certificationRequirementsVersion": "FIDO200201",+          "effectiveDate": "2020-05-12",+          "status": "FIDO_CERTIFIED_L1"+        }+      ],+      "timeOfLastStatusChange": "2020-05-12"+    },+    {+      "aaguid": "6d44ba9b-f6ec-2e49-b930-0c8fe920cb73",+      "metadataStatement": {+        "aaguid": "6d44ba9b-f6ec-2e49-b930-0c8fe920cb73",+        "attachmentHint": [+          "external",+          "wired",+          "wireless",+          "nfc"+        ],+        "attestationRootCertificates": [+          "MIIDHjCCAgagAwIBAgIEG0BT9zANBgkqhkiG9w0BAQsFADAuMSwwKgYDVQQDEyNZdWJpY28gVTJGIFJvb3QgQ0EgU2VyaWFsIDQ1NzIwMDYzMTAgFw0xNDA4MDEwMDAwMDBaGA8yMDUwMDkwNDAwMDAwMFowLjEsMCoGA1UEAxMjWXViaWNvIFUyRiBSb290IENBIFNlcmlhbCA0NTcyMDA2MzEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC/jwYuhBVlqaiYWEMsrWFisgJ+PtM91eSrpI4TK7U53mwCIawSDHy8vUmk5N2KAj9abvT9NP5SMS1hQi3usxoYGonXQgfO6ZXyUA9a+KAkqdFnBnlyugSeCOep8EdZFfsaRFtMjkwz5Gcz2Py4vIYvCdMHPtwaz0bVuzneueIEz6TnQjE63Rdt2zbwnebwTG5ZybeWSwbzy+BJ34ZHcUhPAY89yJQXuE0IzMZFcEBbPNRbWECRKgjq//qT9nmDOFVlSRCt2wiqPSzluwn+v+suQEBsUjTGMEd25tKXXTkNW21wIWbxeSyUoTXwLvGS6xlwQSgNpk2qXYwf8iXg7VWZAgMBAAGjQjBAMB0GA1UdDgQWBBQgIvz0bNGJhjgpToksyKpP9xv9oDAPBgNVHRMECDAGAQH/AgEAMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQsFAAOCAQEAjvjuOMDSa+JXFCLyBKsycXtBVZsJ4Ue3LbaEsPY4MYN/hIQ5ZM5p7EjfcnMG4CtYkNsfNHc0AhBLdq45rnT87q/6O3vUEtNMafbhU6kthX7Y+9XFN9NpmYxr+ekVY5xOxi8h9JDIgoMP4VB1uS0aunL1IGqrNooL9mmFnL2kLVVee6/VR6C5+KSTCMCWppMuJIZII2v9o4dkoZ8Y7QRjQlLfYzd3qGtKbw7xaF1UsG/5xUb/Btwb2X2g4InpiB/yt/3CpQXpiWX/K4mBvUKiGn05ZsqeY1gx4g0xLBqcU9psmyPzK+Vsgw2jeRQ5JlKDyqE0hebfC1tvFu0CCrJFcw=="+        ],+        "attestationTypes": [+          "basic_full"+        ],+        "authenticationAlgorithms": [+          "ed25519_eddsa_sha512_raw",+          "secp256r1_ecdsa_sha256_raw"+        ],+        "authenticatorGetInfo": {+          "aaguid": "6d44ba9bf6ec2e49b9300c8fe920cb73",+          "extensions": [+            "hmac-secret"+          ],+          "maxMsgSize": 1200,+          "options": {+            "clientPin": true,+            "plat": false,+            "rk": true,+            "up": true+          },+          "pinUvAuthProtocols": [+            1+          ],+          "versions": [+            "U2F_V2",+            "FIDO_2_0"+          ]+        },+        "authenticatorVersion": 50100,+        "cryptoStrength": 128,+        "description": "Security Key by Yubico with NFC",+        "icon": "data:image/png;base64,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",+        "keyProtection": [+          "hardware",+          "secure_element"+        ],+        "legalHeader": "https://fidoalliance.org/metadata/metadata-statement-legal-header/",+        "matcherProtection": [+          "on_chip"+        ],+        "protocolFamily": "fido2",+        "publicKeyAlgAndEncodings": [+          "cose"+        ],+        "schema": 3,+        "tcDisplay": [],+        "upv": [+          {+            "major": 1,+            "minor": 0+          }+        ],+        "userVerificationDetails": [+          [+            {+              "userVerificationMethod": "presence_internal"+            },+            {+              "userVerificationMethod": "none"+            },+            {+              "caDesc": {+                "base": 64,+                "blockSlowdown": 0,+                "maxRetries": 8,+                "minLength": 4+              },+              "userVerificationMethod": "passcode_internal"+            }+          ]+        ]+      },+      "statusReports": [+        {+          "certificateNumber": "FIDO20020180918001",+          "certificationDescriptor": "Security Key by Yubico with NFC",+          "certificationPolicyVersion": "1.1.0",+          "certificationRequirementsVersion": "1.2",+          "effectiveDate": "2020-05-12",+          "status": "FIDO_CERTIFIED_L1"+        }+      ],+      "timeOfLastStatusChange": "2020-05-12"+    },+    {+      "aaguid": "931327dd-c89b-406c-a81e-ed7058ef36c6",+      "metadataStatement": {+        "aaguid": "931327dd-c89b-406c-a81e-ed7058ef36c6",+        "alternativeDescriptions": {+          "de-DE": "Swissbit iShield FIDO2"+        },+        "attachmentHint": [+          "external",+          "wired"+        ],+        "attestationRootCertificates": [+          "MIICiTCCAg6gAwIBAgIUOkmU35IicXoVPjfvwpG7MN6tHPUwCgYIKoZIzj0EAwMwQzELMAkGA1UEBhMCREUxFDASBgNVBAoMC1N3aXNzYml0IEFHMR4wHAYDVQQDDBVTd2lzc2JpdCBGSURPIFJvb3QgQ0EwIBcNMjExMDA3MDkzMDQyWhgPMjA1MTEwMDcwOTMwNDJaMEMxCzAJBgNVBAYTAkRFMRQwEgYDVQQKDAtTd2lzc2JpdCBBRzEeMBwGA1UEAwwVU3dpc3NiaXQgRklETyBSb290IENBMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEtgOC7IKxipMJ7bVPTT83Oe90xzHPCebxyCtg/WrsTrRaSnYigmJCB8/jqBN4OQG2dZ5jcNsL6SwHosYDRJc+O1zk9i5GEZWf3Ir992A6duMsp51lq4fAga/UzTN9/Ebzo4HAMIG9MB0GA1UdDgQWBBTfxzg8GGzYAidKL63uhSiraXJIKDB+BgNVHSMEdzB1gBTfxzg8GGzYAidKL63uhSiraXJIKKFHpEUwQzELMAkGA1UEBhMCREUxFDASBgNVBAoMC1N3aXNzYml0IEFHMR4wHAYDVQQDDBVTd2lzc2JpdCBGSURPIFJvb3QgQ0GCFDpJlN+SInF6FT4378KRuzDerRz1MAwGA1UdEwQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMAoGCCqGSM49BAMDA2kAMGYCMQDsv4K6NfJvfvzd0OygwJ/ABiLtgtJWhXTeUlltdqa4WsOM9tvx636v5FIvZRkK1XoCMQCdoPQ+a4fDBEiNuj0Ws33uUQhGrpsePDGfVXn4kEpbTIBeOdVAx//TrMC/SVb+bsg="+        ],+        "attestationTypes": [+          "basic_full"+        ],+        "authenticationAlgorithms": [+          "secp384r1_ecdsa_sha384_raw"+        ],+        "authenticatorGetInfo": {+          "aaguid": "931327ddc89b406ca81eed7058ef36c6",+          "algorithms": [+            {+              "alg": -7,+              "type": "public-key"+            },+            {+              "alg": -257,+              "type": "public-key"+            }+          ],+          "extensions": [+            "credProtect",+            "hmac-secret"+          ],+          "firmwareVersion": 5,+          "maxCredentialCountInList": 16,+          "maxCredentialIdLength": 128,+          "maxMsgSize": 1200,+          "options": {+            "clientPin": true,+            "plat": false,+            "rk": true,+            "up": true,+            "uv": true+          },+          "pinUvAuthProtocols": [+            1+          ],+          "transports": [+            "usb",+            "nfc"+          ],+          "versions": [+            "U2F_V2",+            "FIDO_2_0"+          ]+        },+        "authenticatorVersion": 5,+        "cryptoStrength": 128,+        "description": "Swissbit iShield FIDO2",+        "icon": "data:image/png;base64,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",+        "keyProtection": [+          "hardware",+          "secure_element"+        ],+        "legalHeader": "https://fidoalliance.org/metadata/metadata-statement-legal-header/",+        "matcherProtection": [+          "on_chip"+        ],+        "protocolFamily": "fido2",+        "publicKeyAlgAndEncodings": [+          "cose"+        ],+        "schema": 3,+        "tcDisplay": [+          "any"+        ],+        "upv": [+          {+            "major": 1,+            "minor": 0+          }+        ],+        "userVerificationDetails": [+          [+            {+              "baDesc": {+                "blockSlowdown": 0,+                "maxRetries": 5,+                "maxTemplates": 5,+                "selfAttestedFAR": 2e-06,+                "selfAttestedFRR": 0+              },+              "userVerificationMethod": "fingerprint_internal"+            }+          ],+          [+            {+              "caDesc": {+                "base": 10,+                "blockSlowdown": 0,+                "maxRetries": 0,+                "minLength": 4+              },+              "userVerificationMethod": "passcode_external"+            }+          ]+        ]+      },+      "statusReports": [+        {+          "effectiveDate": "2021-09-27",+          "status": "NOT_FIDO_CERTIFIED"+        }+      ],+      "timeOfLastStatusChange": "2021-09-27"+    },+    {+      "aaguid": "39a5647e-1853-446c-a1f6-a79bae9f5bc7",+      "metadataStatement": {+        "aaguid": "39a5647e-1853-446c-a1f6-a79bae9f5bc7",+        "attachmentHint": [+          "external"+        ],+        "attestationRootCertificates": [+          "MIIB/zCCAaSgAwIBAgIUPbddlpEdAdN+fm8JFanUXurNZy8wCgYIKoZIzj0EAwIwQTEkMCIGA1UECgwbVmFuY29zeXMgRGF0YSBTZWN1cml0eSBJbmMuMRkwFwYDVQQDDBBWYW5jb3N5cyBSb290IENBMCAXDTIwMTEwNDA2NDQxN1oYDzIwNzAxMDIzMDY0NDE3WjBBMSQwIgYDVQQKDBtWYW5jb3N5cyBEYXRhIFNlY3VyaXR5IEluYy4xGTAXBgNVBAMMEFZhbmNvc3lzIFJvb3QgQ0EwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAARqViASimcpJwCb531/VekYHfNuRkIPeFkQq7FNyWkFiWPjKk1GDSAxJruB4GB3qdyTnRhpWF3Lvm4hzbBtZfy3o3gwdjBmBgNVHSMEXzBdoUWkQzBBMSQwIgYDVQQKDBtWYW5jb3N5cyBEYXRhIFNlY3VyaXR5IEluYy4xGTAXBgNVBAMMEFZhbmNvc3lzIFJvb3QgQ0GCFD23XZaRHQHTfn5vCRWp1F7qzWcvMAwGA1UdEwQFMAMBAf8wCgYIKoZIzj0EAwIDSQAwRgIhAOGjcwJUT7A/ER+5pACEPrOg79wbE/h8YMYUgymrXR6GAiEA7N6U3EWeQweMOmTOqavtWCdYCsMJcop9p13l9QbohDo="+        ],+        "attestationTypes": [+          "basic_full"+        ],+        "authenticationAlgorithms": [+          "secp256r1_ecdsa_sha256_raw"+        ],+        "authenticatorGetInfo": {+          "aaguid": "39a5647e1853446ca1f6a79bae9f5bc7",+          "extensions": [+            "hmac-secret"+          ],+          "maxMsgSize": 2048,+          "options": {+            "plat": false,+            "rk": true,+            "up": true,+            "uv": true+          },+          "versions": [+            "FIDO_2_0"+          ]+        },+        "authenticatorVersion": 2,+        "cryptoStrength": 128,+        "description": "Vancosys Android Authenticator",+        "icon": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAAM1BMVEUtmc3y+fyWzOZis9rK5fI6n9B8v+Cw2ezl8vlHptNVrNbX7Paj0ulvud293++JxuP///89HRvpAAAAEXRSTlP/////////////////////ACWtmWIAAABsSURBVHgBxdPBCoAwDIPh/yDise//tIIQCZo6RNGdtuWDstFSg/UOgMiADQBJ6J4iCwS4BgzBuEQHCoFa+mdM+qijsDMVhBfdoRFaAL4nAe6AeghODYPnsaNyLuAqg5AHwO9AYu5BmqEPhncFmecvM5KKQHMAAAAASUVORK5CYII=",+        "keyProtection": [+          "hardware",+          "secure_element"+        ],+        "legalHeader": "https://fidoalliance.org/metadata/metadata-statement-legal-header/",+        "matcherProtection": [+          "on_chip"+        ],+        "protocolFamily": "fido2",+        "publicKeyAlgAndEncodings": [+          "cose"+        ],+        "schema": 3,+        "tcDisplay": [],+        "upv": [+          {+            "major": 1,+            "minor": 0+          }+        ],+        "userVerificationDetails": [+          [+            {+              "userVerificationMethod": "passcode_internal"+            },+            {+              "userVerificationMethod": "handprint_internal"+            },+            {+              "userVerificationMethod": "eyeprint_internal"+            },+            {+              "userVerificationMethod": "fingerprint_internal"+            },+            {+              "userVerificationMethod": "pattern_internal"+            },+            {+              "userVerificationMethod": "voiceprint_internal"+            },+            {+              "userVerificationMethod": "presence_internal"+            },+            {+              "userVerificationMethod": "location_internal"+            },+            {+              "userVerificationMethod": "faceprint_internal"+            }+          ]+        ]+      },+      "statusReports": [+        {+          "certificateNumber": "FIDO20020190109001",+          "certificationDescriptor": "Vancosys Android Authenticator",+          "certificationPolicyVersion": "1.0.0",+          "certificationRequirementsVersion": "1.0.0",+          "effectiveDate": "2019-02-13",+          "status": "FIDO_CERTIFIED_L1"+        }+      ],+      "timeOfLastStatusChange": "2019-02-13"+    },+    {+      "aaguid": "820d89ed-d65a-409e-85cb-f73f0578f82a",+      "metadataStatement": {+        "aaguid": "820d89ed-d65a-409e-85cb-f73f0578f82a",+        "attachmentHint": [+          "external"+        ],+        "attestationRootCertificates": [+          "MIIB/zCCAaSgAwIBAgIUPbddlpEdAdN+fm8JFanUXurNZy8wCgYIKoZIzj0EAwIwQTEkMCIGA1UECgwbVmFuY29zeXMgRGF0YSBTZWN1cml0eSBJbmMuMRkwFwYDVQQDDBBWYW5jb3N5cyBSb290IENBMCAXDTIwMTEwNDA2NDQxN1oYDzIwNzAxMDIzMDY0NDE3WjBBMSQwIgYDVQQKDBtWYW5jb3N5cyBEYXRhIFNlY3VyaXR5IEluYy4xGTAXBgNVBAMMEFZhbmNvc3lzIFJvb3QgQ0EwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAARqViASimcpJwCb531/VekYHfNuRkIPeFkQq7FNyWkFiWPjKk1GDSAxJruB4GB3qdyTnRhpWF3Lvm4hzbBtZfy3o3gwdjBmBgNVHSMEXzBdoUWkQzBBMSQwIgYDVQQKDBtWYW5jb3N5cyBEYXRhIFNlY3VyaXR5IEluYy4xGTAXBgNVBAMMEFZhbmNvc3lzIFJvb3QgQ0GCFD23XZaRHQHTfn5vCRWp1F7qzWcvMAwGA1UdEwQFMAMBAf8wCgYIKoZIzj0EAwIDSQAwRgIhAOGjcwJUT7A/ER+5pACEPrOg79wbE/h8YMYUgymrXR6GAiEA7N6U3EWeQweMOmTOqavtWCdYCsMJcop9p13l9QbohDo="+        ],+        "attestationTypes": [+          "basic_full"+        ],+        "authenticationAlgorithms": [+          "secp256r1_ecdsa_sha256_raw"+        ],+        "authenticatorGetInfo": {+          "aaguid": "820d89edd65a409e85cbf73f0578f82a",+          "extensions": [+            "hmac-secret"+          ],+          "maxMsgSize": 2048,+          "options": {+            "plat": false,+            "rk": true,+            "up": true,+            "uv": true+          },+          "versions": [+            "FIDO_2_0"+          ]+        },+        "authenticatorVersion": 2,+        "cryptoStrength": 128,+        "description": "Vancosys iOS Authenticator",+        "icon": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAAM1BMVEUtmc3y+fyWzOZis9rK5fI6n9B8v+Cw2ezl8vlHptNVrNbX7Paj0ulvud293++JxuP///89HRvpAAAAEXRSTlP/////////////////////ACWtmWIAAABsSURBVHgBxdPBCoAwDIPh/yDise//tIIQCZo6RNGdtuWDstFSg/UOgMiADQBJ6J4iCwS4BgzBuEQHCoFa+mdM+qijsDMVhBfdoRFaAL4nAe6AeghODYPnsaNyLuAqg5AHwO9AYu5BmqEPhncFmecvM5KKQHMAAAAASUVORK5CYII=",+        "keyProtection": [+          "hardware",+          "secure_element"+        ],+        "legalHeader": "https://fidoalliance.org/metadata/metadata-statement-legal-header/",+        "matcherProtection": [+          "on_chip"+        ],+        "protocolFamily": "fido2",+        "publicKeyAlgAndEncodings": [+          "cose"+        ],+        "schema": 3,+        "tcDisplay": [],+        "upv": [+          {+            "major": 1,+            "minor": 0+          }+        ],+        "userVerificationDetails": [+          [+            {+              "userVerificationMethod": "faceprint_internal"+            },+            {+              "userVerificationMethod": "voiceprint_internal"+            },+            {+              "userVerificationMethod": "passcode_internal"+            },+            {+              "userVerificationMethod": "eyeprint_internal"+            },+            {+              "userVerificationMethod": "handprint_internal"+            },+            {+              "userVerificationMethod": "fingerprint_internal"+            },+            {+              "userVerificationMethod": "pattern_internal"+            },+            {+              "userVerificationMethod": "location_internal"+            },+            {+              "userVerificationMethod": "presence_internal"+            }+          ]+        ]+      },+      "statusReports": [+        {+          "certificateNumber": "FIDO20020190109002",+          "certificationDescriptor": "Vancosys iOS Authenticator",+          "certificationPolicyVersion": "1.0.0",+          "certificationRequirementsVersion": "1.0.0",+          "effectiveDate": "2019-02-08",+          "status": "FIDO_CERTIFIED_L1"+        }+      ],+      "timeOfLastStatusChange": "2019-02-08"+    },+    {+      "aaguid": "504d7149-4e4c-3841-4555-55445a677357",+      "metadataStatement": {+        "aaguid": "504d7149-4e4c-3841-4555-55445a677357",+        "alternativeDescriptions": {+          "zh-TW": "WiSECURE AuthTron USB FIDO2 身份驗證器"+        },+        "attachmentHint": [+          "external",+          "wired"+        ],+        "attestationRootCertificates": [+          "MIIDRjCCAu2gAwIBAgIUZPhSDtxI5lg2qgy+7IGDJhGqPOgwCgYIKoZIzj0EAwIwgYcxCzAJBgNVBAYTAlRXMQ8wDQYDVQQIDAZUYWlwZWkxEjAQBgNVBAcMCVNvbWV3aGVyZTEWMBQGA1UECgwNV2lTRUNVUkUgSW5jLjEgMB4GCSqGSIb3DQEJARYRYWRtaW5AZXhhbXBsZS5vcmcxGTAXBgNVBAMMEFdpU0VDVVJFIFJvb3QgQ0EwHhcNMjEwMTI4MDgyNzIwWhcNMzEwMTI2MDgyNzIwWjCBhzELMAkGA1UEBhMCVFcxDzANBgNVBAgMBlRhaXBlaTESMBAGA1UEBwwJU29tZXdoZXJlMRYwFAYDVQQKDA1XaVNFQ1VSRSBJbmMuMSAwHgYJKoZIhvcNAQkBFhFhZG1pbkBleGFtcGxlLm9yZzEZMBcGA1UEAwwQV2lTRUNVUkUgUm9vdCBDQTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABBiWvFaf/IhFMOWNqlweqr4GfO0mu/1B18J03OG+pSltRix9GjRojBya4LARyXMP8nw2Xh9PvwOBm9QedMC66XGjggEzMIIBLzAdBgNVHQ4EFgQUd+Yvj6I3Y8cKH3QRNLlC8/Op97cwgccGA1UdIwSBvzCBvIAUd+Yvj6I3Y8cKH3QRNLlC8/Op97ehgY2kgYowgYcxCzAJBgNVBAYTAlRXMQ8wDQYDVQQIDAZUYWlwZWkxEjAQBgNVBAcMCVNvbWV3aGVyZTEWMBQGA1UECgwNV2lTRUNVUkUgSW5jLjEgMB4GCSqGSIb3DQEJARYRYWRtaW5AZXhhbXBsZS5vcmcxGTAXBgNVBAMMEFdpU0VDVVJFIFJvb3QgQ0GCFGT4Ug7cSOZYNqoMvuyBgyYRqjzoMAwGA1UdEwEB/wQCMAAwNgYDVR0fBC8wLTAroCmgJ4YlaHR0cDovL3d3dy5leGFtcGxlLm9yZy9leGFtcGxlX2NhLmNybDAKBggqhkjOPQQDAgNHADBEAiBf3p8LJ3PlfMsxTzWgjHaal6uzIo5tx3o+EUybdDY4ogIgV6nR1MUE1wKz1uC7/kENg/FpJOetFaJePcgoneEwsKA=",+          " MIIDEjCCAregAwIBAgIULKLBSVwDq9it3p+0yvyCPk2FFLowCgYIKoZIzj0EAwIwdjELMAkGA1UEBhMCVFcxDzANBgNVBAgMBlRhaXBlaTEPMA0GA1UEBwwGVGFpd2FuMSowKAYDVQQKDCFXaVNFQ1VSRSBUZWNobm9sb2dpZXMgQ29ycG9yYXRpb24xGTAXBgNVBAMMEFdpU0VDVVJFIFJvb3QgQ0EwIBcNMjEwNDA3MTExNjA0WhgPMjA3MTAzMjYxMTE2MDRaMHYxCzAJBgNVBAYTAlRXMQ8wDQYDVQQIDAZUYWlwZWkxDzANBgNVBAcMBlRhaXdhbjEqMCgGA1UECgwhV2lTRUNVUkUgVGVjaG5vbG9naWVzIENvcnBvcmF0aW9uMRkwFwYDVQQDDBBXaVNFQ1VSRSBSb290IENBMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEEHUewPpWbxQrKB7zlImGtSF01mKHJQ2f4aiJvUUJtCgm+LMJHmBc0IMeFVM0HbNMspXucUQ93fcKjBy18vEAgqOCAR8wggEbMB0GA1UdDgQWBBTHwzcJ3XoRc373Y7NXIsa2IepkezCBswYDVR0jBIGrMIGogBTHwzcJ3XoRc373Y7NXIsa2Iepke6F6pHgwdjELMAkGA1UEBhMCVFcxDzANBgNVBAgMBlRhaXBlaTEPMA0GA1UEBwwGVGFpd2FuMSowKAYDVQQKDCFXaVNFQ1VSRSBUZWNobm9sb2dpZXMgQ29ycG9yYXRpb24xGTAXBgNVBAMMEFdpU0VDVVJFIFJvb3QgQ0GCFCyiwUlcA6vYrd6ftMr8gj5NhRS6MAwGA1UdEwEB/wQCMAAwNgYDVR0fBC8wLTAroCmgJ4YlaHR0cDovL3d3dy5leGFtcGxlLm9yZy9leGFtcGxlX2NhLmNybDAKBggqhkjOPQQDAgNJADBGAiEAvxC+FrpGIHL7Wp9u5d5PtyEaOxSZMZeUNcc7vk23Ra8CIQDubOy5KCnkyVfHr+OrPfN+8IsDjTi7rGSWWih9B2Y/ZQ=="+        ],+        "attestationTypes": [+          "basic_full"+        ],+        "authenticationAlgorithms": [+          "secp256r1_ecdsa_sha256_raw"+        ],+        "authenticatorGetInfo": {+          "aaguid": "504d71494e4c3841455555445a677357",+          "algorithms": [+            {+              "alg": -7,+              "type": "public-key"+            },+            {+              "alg": -8,+              "type": "public-key"+            }+          ],+          "extensions": [+            "hmac-secret"+          ],+          "firmwareVersion": 2,+          "maxCredentialCountInList": 25,+          "maxCredentialIdLength": 128,+          "maxMsgSize": 1200,+          "options": {+            "clientPin": true,+            "plat": false,+            "rk": true,+            "up": true+          },+          "pinUvAuthProtocols": [+            1+          ],+          "transports": [+            "usb"+          ],+          "versions": [+            "U2F_V2",+            "FIDO_2_0"+          ]+        },+        "authenticatorVersion": 2,+        "cryptoStrength": 128,+        "description": "WiSECURE AuthTron USB FIDO2 Authenticator",+        "icon": "data:image/png;base64,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",+        "keyProtection": [+          "hardware",+          "secure_element"+        ],+        "legalHeader": "https://fidoalliance.org/metadata/metadata-statement-legal-header/",+        "matcherProtection": [+          "on_chip"+        ],+        "protocolFamily": "fido2",+        "publicKeyAlgAndEncodings": [+          "cose"+        ],+        "schema": 3,+        "tcDisplay": [],+        "upv": [+          {+            "major": 1,+            "minor": 1+          }+        ],+        "userVerificationDetails": [+          [+            {+              "caDesc": {+                "base": 10,+                "blockSlowdown": 0,+                "maxRetries": 8,+                "minLength": 4+              },+              "userVerificationMethod": "passcode_external"+            }+          ],+          [+            {+              "userVerificationMethod": "presence_internal"+            }+          ]+        ]+      },+      "statusReports": [+        {+          "effectiveDate": "2021-11-11",+          "status": "FIDO_CERTIFIED"+        },+        {+          "certificateNumber": "FIDO20020210421002",+          "certificationDescriptor": "AuthTron USB Key FIDO2",+          "certificationPolicyVersion": "1.3",+          "certificationRequirementsVersion": "1.3",+          "effectiveDate": "2021-11-11",+          "status": "FIDO_CERTIFIED_L1"+        }+      ],+      "timeOfLastStatusChange": "2021-11-11"+    },+    {+      "aaguid": "08987058-cadc-4b81-b6e1-30de50dcbe96",+      "metadataStatement": {+        "aaguid": "08987058-cadc-4b81-b6e1-30de50dcbe96",+        "attachmentHint": [+          "internal"+        ],+        "attestationRootCertificates": [+          "MIIF9TCCA92gAwIBAgIQXbYwTgy/J79JuMhpUB5dyzANBgkqhkiG9w0BAQsFADCBjDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjE2MDQGA1UEAxMtTWljcm9zb2Z0IFRQTSBSb290IENlcnRpZmljYXRlIEF1dGhvcml0eSAyMDE0MB4XDTE0MTIxMDIxMzExOVoXDTM5MTIxMDIxMzkyOFowgYwxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xNjA0BgNVBAMTLU1pY3Jvc29mdCBUUE0gUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkgMjAxNDCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAJ+n+bnKt/JHIRC/oI/xgkgsYdPzP0gpvduDA2GbRtth+L4WUyoZKGBw7uz5bjjP8Aql4YExyjR3EZQ4LqnZChMpoCofbeDR4MjCE1TGwWghGpS0mM3GtWD9XiME4rE2K0VW3pdN0CLzkYbvZbs2wQTFfE62yNQiDjyHFWAZ4BQH4eWa8wrDMUxIAneUCpU6zCwM+l6Qh4ohX063BHzXlTSTc1fDsiPaKuMMjWjK9vp5UHFPa+dMAWr6OljQZPFIg3aZ4cUfzS9y+n77Hs1NXPBn6E4Db679z4DThIXyoKeZTv1aaWOWl/exsDLGt2mTMTyykVV8uD1eRjYriFpmoRDwJKAEMOfaURarzp7hka9TOElGyD2gOV4Fscr2MxAYCywLmOLzA4VDSYLuKAhPSp7yawET30AvY1HRfMwBxetSqWP2+yZRNYJlHpor5QTuRDgzR+Zej+aWx6rWNYx43kLthozeVJ3QCsD5iEI/OZlmWn5WYf7O8LB/1A7scrYv44FD8ck3Z+hxXpkklAsjJMsHZa9mBqh+VR1AicX4uZG8m16x65ZU2uUpBa3rn8CTNmw17ZHOiuSWJtS9+PrZVA8ljgf4QgA1g6NPOEiLG2fn8Gm+r5Ak+9tqv72KDd2FPBJ7Xx4stYj/WjNPtEUhW4rcLK3ktLfcy6ea7Rocw5y5AgMBAAGjUTBPMAsGA1UdDwQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBR6jArOL0hiF+KU0a5VwVLscXSkVjAQBgkrBgEEAYI3FQEEAwIBADANBgkqhkiG9w0BAQsFAAOCAgEAW4ioo1+J9VWC0UntSBXcXRm1ePTVamtsxVy/GpP4EmJd3Ub53JzNBfYdgfUL51CppS3ZY6BoagB+DqoA2GbSL+7sFGHBl5ka6FNelrwsH6VVw4xV/8klIjmqOyfatPYsz0sUdZev+reeiGpKVoXrK6BDnUU27/mgPtem5YKWvHB/soofUrLKzZV3WfGdx9zBr8V0xW6vO3CKaqkqU9y6EsQw34n7eJCbEVVQ8VdFd9iV1pmXwaBAfBwkviPTKEP9Cm+zbFIOLr3V3CL9hJj+gkTUuXWlJJ6wVXEG5i4rIbLAV59UrW4LonP+seqvWMJYUFxu/niF0R3fSGM+NU11DtBVkhRZt1u0kFhZqjDz1dWyfT/N7Hke3WsDqUFsBi+8SEw90rWx2aUkLvKo83oU4Mx4na+2I3l9F2a2VNGk4K7l3a00g51miPiq0Da0jqw30PaLluTMTGY5+RnZVh50JD6nk+Ea3wRkU8aiYFnpIxfKBZ72whmYYa/egj9IKeqpR0vuLebbU0fJBf880K1jWD3Z5SFyJXo057Mv0OPw5mttytE585ZIy5JsaRXlsOoWGRXE3kUT/MKR1UoAgR54c8Bsh+9Dq2wqIK9mRn15zvBDeyHG6+czurLopziOUeWokxZN1syrEdKlhFoPYavm6t+PzIcpdxZwHA+V3jLJPfI="+        ],+        "attestationTypes": [+          "attca"+        ],+        "authenticationAlgorithms": [+          "rsa_emsa_pkcs1_sha256_raw"+        ],+        "authenticatorGetInfo": {+          "aaguid": "08987058cadc4b81b6e130de50dcbe96",+          "algorithms": [+            {+              "alg": -257,+              "type": "public-key"+            }+          ],+          "firmwareVersion": 19042,+          "maxCredentialCountInList": 100,+          "maxCredentialIdLength": 32,+          "minPINLength": 4,+          "options": {+            "plat": true,+            "rk": true,+            "up": true+          },+          "transports": [+            "internal"+          ],+          "versions": [+            "FIDO_2_0"+          ]+        },+        "authenticatorVersion": 1,+        "description": "Windows Hello Hardware Authenticator",+        "icon": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEgAAABICAYAAABV7bNHAAACkUlEQVR42uyai3GDMAyGQyegGzACnaCMkBHoBhkhnSAj0A2SDaAT0E6QbEA3cOXW6XEpBtnImMv9utOllxjF/qKHLTdRSm0gdnkAAgACIAACIAACIAACIAgAARAAARAAARAAARBEAFCSJINKkpLuSTtSZbQz76W25zhKkpFWPbtaz6Q75vPuoluuPmqxlZK2yi76s9RznjlpN2K7CrFWaUAHNS0HT0Atw3YpDSjxbdoPuaziG3uk579cvIdeWsbQD7L7NAYoWpKmLy8chueO5reB7KKKrQnQJdDYn9AJZHc5QBT7enINY2hjxrqItsvJWSdxFxKuYlOlWJmE6zPPcsJuN7WFiF7me5DOAws4OyZyG6TOsr/KQziDaJm/mcy2V1V0+T0JeXxqqlrWC9mGGy3O6wwFaI0SdR+EMg9AEAACIAByqViZb+/prgFdN6qb306j3lTWs0BJ76Qjw0ktO+3ad60PQhMrfM9YwqK7lUPe4j+/OR40cDaqJeJ+xo80JsWih1WTBAcb8ysKrb+TfowQKy3v55wbBkk49FJbQusqr4snadL9hEtXC3nO1G1HG6UfxIj5oDnJlHPOVVAerWGmvYQxwc70hiTh7Bidy3/3ZFE6isxf8epNhUCl4n5ftYqWKzMP3IIquaFnquXO0sZ1yn/RWq69SuK6GdPXORfSz4HPnk1bNXO0+UZze5HqKIodNYwnHVVcOUivNcStxj4CGFYhWAWgXgmuF4JzdMhn6wDUm1DpmFyVY7IvQqeTRdod2v2F8lNn/gcpW+rUsOi9mAmFwlSo3Pw9JQ3p+8bhgnAMkPM613BxOBQqc2FEB4SmPQSAAAiAAAiAAAiAAAiAIAAEQAAEQAAEQPco3wIMADOXgFhOTghuAAAAAElFTkSuQmCC",+        "isKeyRestricted": false,+        "keyProtection": [+          "hardware"+        ],+        "legalHeader": "https://fidoalliance.org/metadata/metadata-statement-legal-header/",+        "matcherProtection": [+          "software"+        ],+        "protocolFamily": "fido2",+        "publicKeyAlgAndEncodings": [+          "cose"+        ],+        "schema": 3,+        "tcDisplay": [],+        "upv": [+          {+            "major": 1,+            "minor": 0+          }+        ],+        "userVerificationDetails": [+          [+            {+              "userVerificationMethod": "eyeprint_internal"+            }+          ],+          [+            {+              "userVerificationMethod": "passcode_internal"+            }+          ],+          [+            {+              "userVerificationMethod": "fingerprint_internal"+            }+          ],+          [+            {+              "userVerificationMethod": "faceprint_internal"+            }+          ]+        ]+      },+      "statusReports": [+        {+          "certificateNumber": "FIDO20020190418002",+          "certificationDescriptor": "Windows Hello Hardware Authenticator",+          "certificationPolicyVersion": "1.3.6",+          "certificationRequirementsVersion": "1.1.0",+          "effectiveDate": "2020-08-05",+          "status": "FIDO_CERTIFIED_L1"+        }+      ],+      "timeOfLastStatusChange": "2020-08-05"+    },+    {+      "aaguid": "6028b017-b1d4-4c02-b4b3-afcdafc96bb2",+      "metadataStatement": {+        "aaguid": "6028b017-b1d4-4c02-b4b3-afcdafc96bb2",+        "attachmentHint": [+          "internal"+        ],+        "attestationRootCertificates": [],+        "attestationTypes": [+          "basic_surrogate"+        ],+        "authenticationAlgorithms": [+          "rsa_emsa_pkcs1_sha256_raw"+        ],+        "authenticatorGetInfo": {+          "aaguid": "6028b017b1d44c02b4b3afcdafc96bb2",+          "algorithms": [+            {+              "alg": -257,+              "type": "public-key"+            }+          ],+          "firmwareVersion": 19042,+          "maxCredentialCountInList": 100,+          "maxCredentialIdLength": 32,+          "minPINLength": 4,+          "options": {+            "plat": true,+            "rk": true,+            "up": true+          },+          "transports": [+            "internal"+          ],+          "versions": [+            "FIDO_2_0"+          ]+        },+        "authenticatorVersion": 1,+        "description": "Windows Hello Software Authenticator",+        "icon": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEgAAABICAYAAABV7bNHAAACkUlEQVR42uyai3GDMAyGQyegGzACnaCMkBHoBhkhnSAj0A2SDaAT0E6QbEA3cOXW6XEpBtnImMv9utOllxjF/qKHLTdRSm0gdnkAAgACIAACIAACIAACIAgAARAAARAAARAAARBEAFCSJINKkpLuSTtSZbQz76W25zhKkpFWPbtaz6Q75vPuoluuPmqxlZK2yi76s9RznjlpN2K7CrFWaUAHNS0HT0Atw3YpDSjxbdoPuaziG3uk579cvIdeWsbQD7L7NAYoWpKmLy8chueO5reB7KKKrQnQJdDYn9AJZHc5QBT7enINY2hjxrqItsvJWSdxFxKuYlOlWJmE6zPPcsJuN7WFiF7me5DOAws4OyZyG6TOsr/KQziDaJm/mcy2V1V0+T0JeXxqqlrWC9mGGy3O6wwFaI0SdR+EMg9AEAACIAByqViZb+/prgFdN6qb306j3lTWs0BJ76Qjw0ktO+3ad60PQhMrfM9YwqK7lUPe4j+/OR40cDaqJeJ+xo80JsWih1WTBAcb8ysKrb+TfowQKy3v55wbBkk49FJbQusqr4snadL9hEtXC3nO1G1HG6UfxIj5oDnJlHPOVVAerWGmvYQxwc70hiTh7Bidy3/3ZFE6isxf8epNhUCl4n5ftYqWKzMP3IIquaFnquXO0sZ1yn/RWq69SuK6GdPXORfSz4HPnk1bNXO0+UZze5HqKIodNYwnHVVcOUivNcStxj4CGFYhWAWgXgmuF4JzdMhn6wDUm1DpmFyVY7IvQqeTRdod2v2F8lNn/gcpW+rUsOi9mAmFwlSo3Pw9JQ3p+8bhgnAMkPM613BxOBQqc2FEB4SmPQSAAAiAAAiAAAiAAAiAIAAEQAAEQAAEQPco3wIMADOXgFhOTghuAAAAAElFTkSuQmCC",+        "isKeyRestricted": false,+        "keyProtection": [+          "software"+        ],+        "legalHeader": "https://fidoalliance.org/metadata/metadata-statement-legal-header/",+        "matcherProtection": [+          "software"+        ],+        "protocolFamily": "fido2",+        "publicKeyAlgAndEncodings": [+          "cose"+        ],+        "schema": 3,+        "tcDisplay": [],+        "upv": [+          {+            "major": 1,+            "minor": 0+          }+        ],+        "userVerificationDetails": [+          [+            {+              "userVerificationMethod": "passcode_internal"+            }+          ],+          [+            {+              "userVerificationMethod": "eyeprint_internal"+            }+          ],+          [+            {+              "userVerificationMethod": "fingerprint_internal"+            }+          ],+          [+            {+              "userVerificationMethod": "faceprint_internal"+            }+          ]+        ]+      },+      "statusReports": [+        {+          "certificateNumber": "FIDO20020190418003",+          "certificationDescriptor": "Windows Hello Software Authenticator",+          "certificationPolicyVersion": "1.3.6",+          "certificationRequirementsVersion": "1.1.0",+          "effectiveDate": "2020-08-05",+          "status": "FIDO_CERTIFIED_L1"+        }+      ],+      "timeOfLastStatusChange": "2020-08-05"+    },+    {+      "aaguid": "9ddd1817-af5a-4672-a2b9-3e3dd95000a9",+      "metadataStatement": {+        "aaguid": "9ddd1817-af5a-4672-a2b9-3e3dd95000a9",+        "attachmentHint": [+          "internal"+        ],+        "attestationRootCertificates": [+          "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"+        ],+        "attestationTypes": [+          "attca"+        ],+        "authenticationAlgorithms": [+          "rsa_emsa_pkcs1_sha256_raw"+        ],+        "authenticatorGetInfo": {+          "aaguid": "9ddd1817af5a4672a2b93e3dd95000a9",+          "algorithms": [+            {+              "alg": -257,+              "type": "public-key"+            }+          ],+          "firmwareVersion": 19042,+          "maxCredentialCountInList": 100,+          "maxCredentialIdLength": 32,+          "minPINLength": 4,+          "options": {+            "plat": true,+            "rk": true,+            "up": true+          },+          "transports": [+            "internal"+          ],+          "versions": [+            "FIDO_2_0"+          ]+        },+        "authenticatorVersion": 1,+        "description": "Windows Hello VBS Hardware Authenticator",+        "icon": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEgAAABICAYAAABV7bNHAAACkUlEQVR42uyai3GDMAyGQyegGzACnaCMkBHoBhkhnSAj0A2SDaAT0E6QbEA3cOXW6XEpBtnImMv9utOllxjF/qKHLTdRSm0gdnkAAgACIAACIAACIAACIAgAARAAARAAARAAARBEAFCSJINKkpLuSTtSZbQz76W25zhKkpFWPbtaz6Q75vPuoluuPmqxlZK2yi76s9RznjlpN2K7CrFWaUAHNS0HT0Atw3YpDSjxbdoPuaziG3uk579cvIdeWsbQD7L7NAYoWpKmLy8chueO5reB7KKKrQnQJdDYn9AJZHc5QBT7enINY2hjxrqItsvJWSdxFxKuYlOlWJmE6zPPcsJuN7WFiF7me5DOAws4OyZyG6TOsr/KQziDaJm/mcy2V1V0+T0JeXxqqlrWC9mGGy3O6wwFaI0SdR+EMg9AEAACIAByqViZb+/prgFdN6qb306j3lTWs0BJ76Qjw0ktO+3ad60PQhMrfM9YwqK7lUPe4j+/OR40cDaqJeJ+xo80JsWih1WTBAcb8ysKrb+TfowQKy3v55wbBkk49FJbQusqr4snadL9hEtXC3nO1G1HG6UfxIj5oDnJlHPOVVAerWGmvYQxwc70hiTh7Bidy3/3ZFE6isxf8epNhUCl4n5ftYqWKzMP3IIquaFnquXO0sZ1yn/RWq69SuK6GdPXORfSz4HPnk1bNXO0+UZze5HqKIodNYwnHVVcOUivNcStxj4CGFYhWAWgXgmuF4JzdMhn6wDUm1DpmFyVY7IvQqeTRdod2v2F8lNn/gcpW+rUsOi9mAmFwlSo3Pw9JQ3p+8bhgnAMkPM613BxOBQqc2FEB4SmPQSAAAiAAAiAAAiAAAiAIAAEQAAEQAAEQPco3wIMADOXgFhOTghuAAAAAElFTkSuQmCC",+        "isKeyRestricted": false,+        "keyProtection": [+          "hardware",+          "tee"+        ],+        "legalHeader": "https://fidoalliance.org/metadata/metadata-statement-legal-header/",+        "matcherProtection": [+          "tee"+        ],+        "protocolFamily": "fido2",+        "publicKeyAlgAndEncodings": [+          "cose"+        ],+        "schema": 3,+        "tcDisplay": [],+        "upv": [+          {+            "major": 1,+            "minor": 0+          }+        ],+        "userVerificationDetails": [+          [+            {+              "userVerificationMethod": "faceprint_internal"+            }+          ],+          [+            {+              "userVerificationMethod": "passcode_internal"+            }+          ],+          [+            {+              "userVerificationMethod": "fingerprint_internal"+            }+          ],+          [+            {+              "userVerificationMethod": "eyeprint_internal"+            }+          ]+        ]+      },+      "statusReports": [+        {+          "certificateNumber": "FIDO20020190418001",+          "certificationDescriptor": "Windows Hello VBS Hardware Authenticator",+          "certificationPolicyVersion": "1.3.6",+          "certificationRequirementsVersion": "1.1.0",+          "effectiveDate": "2020-08-05",+          "status": "FIDO_CERTIFIED_L1"+        }+      ],+      "timeOfLastStatusChange": "2020-08-05"+    },+    {+      "aaguid": "cb69481e-8ff7-4039-93ec-0a2729a154a8",+      "metadataStatement": {+        "aaguid": "cb69481e-8ff7-4039-93ec-0a2729a154a8",+        "attachmentHint": [+          "external",+          "wired"+        ],+        "attestationRootCertificates": [+          "MIIDHjCCAgagAwIBAgIEG0BT9zANBgkqhkiG9w0BAQsFADAuMSwwKgYDVQQDEyNZdWJpY28gVTJGIFJvb3QgQ0EgU2VyaWFsIDQ1NzIwMDYzMTAgFw0xNDA4MDEwMDAwMDBaGA8yMDUwMDkwNDAwMDAwMFowLjEsMCoGA1UEAxMjWXViaWNvIFUyRiBSb290IENBIFNlcmlhbCA0NTcyMDA2MzEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC/jwYuhBVlqaiYWEMsrWFisgJ+PtM91eSrpI4TK7U53mwCIawSDHy8vUmk5N2KAj9abvT9NP5SMS1hQi3usxoYGonXQgfO6ZXyUA9a+KAkqdFnBnlyugSeCOep8EdZFfsaRFtMjkwz5Gcz2Py4vIYvCdMHPtwaz0bVuzneueIEz6TnQjE63Rdt2zbwnebwTG5ZybeWSwbzy+BJ34ZHcUhPAY89yJQXuE0IzMZFcEBbPNRbWECRKgjq//qT9nmDOFVlSRCt2wiqPSzluwn+v+suQEBsUjTGMEd25tKXXTkNW21wIWbxeSyUoTXwLvGS6xlwQSgNpk2qXYwf8iXg7VWZAgMBAAGjQjBAMB0GA1UdDgQWBBQgIvz0bNGJhjgpToksyKpP9xv9oDAPBgNVHRMECDAGAQH/AgEAMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQsFAAOCAQEAjvjuOMDSa+JXFCLyBKsycXtBVZsJ4Ue3LbaEsPY4MYN/hIQ5ZM5p7EjfcnMG4CtYkNsfNHc0AhBLdq45rnT87q/6O3vUEtNMafbhU6kthX7Y+9XFN9NpmYxr+ekVY5xOxi8h9JDIgoMP4VB1uS0aunL1IGqrNooL9mmFnL2kLVVee6/VR6C5+KSTCMCWppMuJIZII2v9o4dkoZ8Y7QRjQlLfYzd3qGtKbw7xaF1UsG/5xUb/Btwb2X2g4InpiB/yt/3CpQXpiWX/K4mBvUKiGn05ZsqeY1gx4g0xLBqcU9psmyPzK+Vsgw2jeRQ5JlKDyqE0hebfC1tvFu0CCrJFcw=="+        ],+        "attestationTypes": [+          "basic_full"+        ],+        "authenticationAlgorithms": [+          "secp256r1_ecdsa_sha256_raw",+          "ed25519_eddsa_sha512_raw"+        ],+        "authenticatorGetInfo": {+          "aaguid": "cb69481e8ff7403993ec0a2729a154a8",+          "extensions": [+            "hmac-secret"+          ],+          "maxMsgSize": 1200,+          "options": {+            "clientPin": true,+            "plat": false,+            "rk": true,+            "up": true+          },+          "pinUvAuthProtocols": [+            1+          ],+          "versions": [+            "U2F_V2",+            "FIDO_2_0"+          ]+        },+        "authenticatorVersion": 50100,+        "cryptoStrength": 128,+        "description": "YubiKey  5 Series",+        "icon": "data:image/png;base64,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",+        "keyProtection": [+          "hardware",+          "secure_element"+        ],+        "legalHeader": "https://fidoalliance.org/metadata/metadata-statement-legal-header/",+        "matcherProtection": [+          "on_chip"+        ],+        "protocolFamily": "fido2",+        "publicKeyAlgAndEncodings": [+          "cose"+        ],+        "schema": 3,+        "tcDisplay": [],+        "upv": [+          {+            "major": 1,+            "minor": 0+          }+        ],+        "userVerificationDetails": [+          [+            {+              "caDesc": {+                "base": 64,+                "blockSlowdown": 0,+                "maxRetries": 8,+                "minLength": 4+              },+              "userVerificationMethod": "passcode_internal"+            },+            {+              "userVerificationMethod": "none"+            },+            {+              "userVerificationMethod": "presence_internal"+            }+          ]+        ]+      },+      "statusReports": [+        {+          "certificateNumber": "FIDO20020181031001",+          "certificationDescriptor": "YubiKey 5A",+          "certificationPolicyVersion": "1.0.0",+          "certificationRequirementsVersion": "1.0.0",+          "effectiveDate": "2020-05-12",+          "status": "FIDO_CERTIFIED_L1"+        }+      ],+      "timeOfLastStatusChange": "2020-05-12"+    },+    {+      "aaguid": "73bb0cd4-e502-49b8-9c6f-b59445bf720b",+      "metadataStatement": {+        "aaguid": "73bb0cd4-e502-49b8-9c6f-b59445bf720b",+        "attachmentHint": [+          "external",+          "wired"+        ],+        "attestationRootCertificates": [+          "MIIDHjCCAgagAwIBAgIEG0BT9zANBgkqhkiG9w0BAQsFADAuMSwwKgYDVQQDEyNZdWJpY28gVTJGIFJvb3QgQ0EgU2VyaWFsIDQ1NzIwMDYzMTAgFw0xNDA4MDEwMDAwMDBaGA8yMDUwMDkwNDAwMDAwMFowLjEsMCoGA1UEAxMjWXViaWNvIFUyRiBSb290IENBIFNlcmlhbCA0NTcyMDA2MzEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC/jwYuhBVlqaiYWEMsrWFisgJ+PtM91eSrpI4TK7U53mwCIawSDHy8vUmk5N2KAj9abvT9NP5SMS1hQi3usxoYGonXQgfO6ZXyUA9a+KAkqdFnBnlyugSeCOep8EdZFfsaRFtMjkwz5Gcz2Py4vIYvCdMHPtwaz0bVuzneueIEz6TnQjE63Rdt2zbwnebwTG5ZybeWSwbzy+BJ34ZHcUhPAY89yJQXuE0IzMZFcEBbPNRbWECRKgjq//qT9nmDOFVlSRCt2wiqPSzluwn+v+suQEBsUjTGMEd25tKXXTkNW21wIWbxeSyUoTXwLvGS6xlwQSgNpk2qXYwf8iXg7VWZAgMBAAGjQjBAMB0GA1UdDgQWBBQgIvz0bNGJhjgpToksyKpP9xv9oDAPBgNVHRMECDAGAQH/AgEAMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQsFAAOCAQEAjvjuOMDSa+JXFCLyBKsycXtBVZsJ4Ue3LbaEsPY4MYN/hIQ5ZM5p7EjfcnMG4CtYkNsfNHc0AhBLdq45rnT87q/6O3vUEtNMafbhU6kthX7Y+9XFN9NpmYxr+ekVY5xOxi8h9JDIgoMP4VB1uS0aunL1IGqrNooL9mmFnL2kLVVee6/VR6C5+KSTCMCWppMuJIZII2v9o4dkoZ8Y7QRjQlLfYzd3qGtKbw7xaF1UsG/5xUb/Btwb2X2g4InpiB/yt/3CpQXpiWX/K4mBvUKiGn05ZsqeY1gx4g0xLBqcU9psmyPzK+Vsgw2jeRQ5JlKDyqE0hebfC1tvFu0CCrJFcw=="+        ],+        "attestationTypes": [+          "basic_full"+        ],+        "authenticationAlgorithms": [+          "secp256r1_ecdsa_sha256_raw",+          "ed25519_eddsa_sha512_raw"+        ],+        "authenticatorGetInfo": {+          "aaguid": "73bb0cd4e50249b89c6fb59445bf720b",+          "algorithms": [+            {+              "alg": -7,+              "type": "public-key"+            },+            {+              "alg": -8,+              "type": "public-key"+            }+          ],+          "certifications": {+            "FIPS-CMVP-2": 2,+            "FIPS-CMVP-2-PHY": 3+          },+          "extensions": [+            "credProtect",+            "hmac-secret"+          ],+          "firmwareVersion": 328706,+          "maxCredentialCountInList": 8,+          "maxCredentialIdLength": 128,+          "maxMsgSize": 1200,+          "minPINLength": 6,+          "options": {+            "clientPin": false,+            "credentialMgmtPreview": true,+            "plat": false,+            "rk": true,+            "up": true+          },+          "pinUvAuthProtocols": [+            2,+            1+          ],+          "transports": [+            "usb"+          ],+          "versions": [+            "U2F_V2",+            "FIDO_2_0",+            "FIDO_2_1_PRE"+          ]+        },+        "authenticatorVersion": 50400,+        "cryptoStrength": 128,+        "description": "YubiKey 5 FIPS Series",+        "icon": "data:image/png;base64,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",+        "keyProtection": [+          "hardware",+          "secure_element"+        ],+        "legalHeader": "https://fidoalliance.org/metadata/metadata-statement-legal-header/",+        "matcherProtection": [+          "on_chip"+        ],+        "protocolFamily": "fido2",+        "publicKeyAlgAndEncodings": [+          "cose"+        ],+        "schema": 3,+        "tcDisplay": [],+        "upv": [+          {+            "major": 1,+            "minor": 0+          }+        ],+        "userVerificationDetails": [+          [+            {+              "userVerificationMethod": "presence_internal"+            }+          ],+          [+            {+              "userVerificationMethod": "presence_internal"+            },+            {+              "caDesc": {+                "base": 64,+                "blockSlowdown": 0,+                "maxRetries": 8,+                "minLength": 6+              },+              "userVerificationMethod": "passcode_external"+            }+          ],+          [+            {+              "caDesc": {+                "base": 64,+                "blockSlowdown": 0,+                "maxRetries": 8,+                "minLength": 6+              },+              "userVerificationMethod": "passcode_external"+            }+          ],+          [+            {+              "userVerificationMethod": "none"+            }+          ]+        ]+      },+      "statusReports": [+        {+          "certificateNumber": "FIDO20020210118004",+          "certificationDescriptor": "YK 5 FIPS",+          "certificationPolicyVersion": "1.3.7",+          "certificationRequirementsVersion": "1.3",+          "effectiveDate": "2021-02-18",+          "status": "FIDO_CERTIFIED_L1"+        }+      ],+      "timeOfLastStatusChange": "2021-02-18"+    },+    {+      "aaguid": "c1f9a0bc-1dd2-404a-b27f-8e29047a43fd",+      "metadataStatement": {+        "aaguid": "c1f9a0bc-1dd2-404a-b27f-8e29047a43fd",+        "attachmentHint": [+          "external",+          "wired",+          "wireless",+          "nfc"+        ],+        "attestationRootCertificates": [+          "MIIDHjCCAgagAwIBAgIEG0BT9zANBgkqhkiG9w0BAQsFADAuMSwwKgYDVQQDEyNZdWJpY28gVTJGIFJvb3QgQ0EgU2VyaWFsIDQ1NzIwMDYzMTAgFw0xNDA4MDEwMDAwMDBaGA8yMDUwMDkwNDAwMDAwMFowLjEsMCoGA1UEAxMjWXViaWNvIFUyRiBSb290IENBIFNlcmlhbCA0NTcyMDA2MzEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC/jwYuhBVlqaiYWEMsrWFisgJ+PtM91eSrpI4TK7U53mwCIawSDHy8vUmk5N2KAj9abvT9NP5SMS1hQi3usxoYGonXQgfO6ZXyUA9a+KAkqdFnBnlyugSeCOep8EdZFfsaRFtMjkwz5Gcz2Py4vIYvCdMHPtwaz0bVuzneueIEz6TnQjE63Rdt2zbwnebwTG5ZybeWSwbzy+BJ34ZHcUhPAY89yJQXuE0IzMZFcEBbPNRbWECRKgjq//qT9nmDOFVlSRCt2wiqPSzluwn+v+suQEBsUjTGMEd25tKXXTkNW21wIWbxeSyUoTXwLvGS6xlwQSgNpk2qXYwf8iXg7VWZAgMBAAGjQjBAMB0GA1UdDgQWBBQgIvz0bNGJhjgpToksyKpP9xv9oDAPBgNVHRMECDAGAQH/AgEAMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQsFAAOCAQEAjvjuOMDSa+JXFCLyBKsycXtBVZsJ4Ue3LbaEsPY4MYN/hIQ5ZM5p7EjfcnMG4CtYkNsfNHc0AhBLdq45rnT87q/6O3vUEtNMafbhU6kthX7Y+9XFN9NpmYxr+ekVY5xOxi8h9JDIgoMP4VB1uS0aunL1IGqrNooL9mmFnL2kLVVee6/VR6C5+KSTCMCWppMuJIZII2v9o4dkoZ8Y7QRjQlLfYzd3qGtKbw7xaF1UsG/5xUb/Btwb2X2g4InpiB/yt/3CpQXpiWX/K4mBvUKiGn05ZsqeY1gx4g0xLBqcU9psmyPzK+Vsgw2jeRQ5JlKDyqE0hebfC1tvFu0CCrJFcw=="+        ],+        "attestationTypes": [+          "basic_full"+        ],+        "authenticationAlgorithms": [+          "secp256r1_ecdsa_sha256_raw",+          "ed25519_eddsa_sha512_raw"+        ],+        "authenticatorGetInfo": {+          "aaguid": "c1f9a0bc1dd2404ab27f8e29047a43fd",+          "algorithms": [+            {+              "alg": -7,+              "type": "public-key"+            },+            {+              "alg": -8,+              "type": "public-key"+            }+          ],+          "certifications": {+            "FIPS-CMVP-2": 2,+            "FIPS-CMVP-2-PHY": 3+          },+          "extensions": [+            "credProtect",+            "hmac-secret"+          ],+          "firmwareVersion": 328706,+          "maxCredentialCountInList": 8,+          "maxCredentialIdLength": 128,+          "maxMsgSize": 1200,+          "minPINLength": 6,+          "options": {+            "clientPin": false,+            "credentialMgmtPreview": true,+            "plat": false,+            "rk": true,+            "up": true+          },+          "pinUvAuthProtocols": [+            2,+            1+          ],+          "transports": [+            "nfc",+            "usb"+          ],+          "versions": [+            "U2F_V2",+            "FIDO_2_0",+            "FIDO_2_1_PRE"+          ]+        },+        "authenticatorVersion": 50400,+        "cryptoStrength": 128,+        "description": "YubiKey 5 FIPS Series with NFC",+        "icon": "data:image/png;base64,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",+        "keyProtection": [+          "hardware",+          "secure_element"+        ],+        "legalHeader": "https://fidoalliance.org/metadata/metadata-statement-legal-header/",+        "matcherProtection": [+          "on_chip"+        ],+        "protocolFamily": "fido2",+        "publicKeyAlgAndEncodings": [+          "cose"+        ],+        "schema": 3,+        "tcDisplay": [],+        "upv": [+          {+            "major": 1,+            "minor": 0+          }+        ],+        "userVerificationDetails": [+          [+            {+              "caDesc": {+                "base": 64,+                "blockSlowdown": 0,+                "maxRetries": 8,+                "minLength": 6+              },+              "userVerificationMethod": "passcode_external"+            },+            {+              "userVerificationMethod": "presence_internal"+            }+          ],+          [+            {+              "userVerificationMethod": "none"+            }+          ],+          [+            {+              "caDesc": {+                "base": 64,+                "blockSlowdown": 0,+                "maxRetries": 8,+                "minLength": 6+              },+              "userVerificationMethod": "passcode_external"+            }+          ],+          [+            {+              "userVerificationMethod": "presence_internal"+            }+          ]+        ]+      },+      "statusReports": [+        {+          "certificateNumber": "FIDO20020210118004",+          "certificationDescriptor": "YK 5 FIPS",+          "certificationPolicyVersion": "1.3.7",+          "certificationRequirementsVersion": "1.3",+          "effectiveDate": "2021-02-18",+          "status": "FIDO_CERTIFIED_L1"+        }+      ],+      "timeOfLastStatusChange": "2021-02-18"+    },+    {+      "aaguid": "ee882879-721c-4913-9775-3dfcce97072a",+      "metadataStatement": {+        "aaguid": "ee882879-721c-4913-9775-3dfcce97072a",+        "attachmentHint": [+          "external",+          "wired"+        ],+        "attestationRootCertificates": [+          "MIIDHjCCAgagAwIBAgIEG0BT9zANBgkqhkiG9w0BAQsFADAuMSwwKgYDVQQDEyNZdWJpY28gVTJGIFJvb3QgQ0EgU2VyaWFsIDQ1NzIwMDYzMTAgFw0xNDA4MDEwMDAwMDBaGA8yMDUwMDkwNDAwMDAwMFowLjEsMCoGA1UEAxMjWXViaWNvIFUyRiBSb290IENBIFNlcmlhbCA0NTcyMDA2MzEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC/jwYuhBVlqaiYWEMsrWFisgJ+PtM91eSrpI4TK7U53mwCIawSDHy8vUmk5N2KAj9abvT9NP5SMS1hQi3usxoYGonXQgfO6ZXyUA9a+KAkqdFnBnlyugSeCOep8EdZFfsaRFtMjkwz5Gcz2Py4vIYvCdMHPtwaz0bVuzneueIEz6TnQjE63Rdt2zbwnebwTG5ZybeWSwbzy+BJ34ZHcUhPAY89yJQXuE0IzMZFcEBbPNRbWECRKgjq//qT9nmDOFVlSRCt2wiqPSzluwn+v+suQEBsUjTGMEd25tKXXTkNW21wIWbxeSyUoTXwLvGS6xlwQSgNpk2qXYwf8iXg7VWZAgMBAAGjQjBAMB0GA1UdDgQWBBQgIvz0bNGJhjgpToksyKpP9xv9oDAPBgNVHRMECDAGAQH/AgEAMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQsFAAOCAQEAjvjuOMDSa+JXFCLyBKsycXtBVZsJ4Ue3LbaEsPY4MYN/hIQ5ZM5p7EjfcnMG4CtYkNsfNHc0AhBLdq45rnT87q/6O3vUEtNMafbhU6kthX7Y+9XFN9NpmYxr+ekVY5xOxi8h9JDIgoMP4VB1uS0aunL1IGqrNooL9mmFnL2kLVVee6/VR6C5+KSTCMCWppMuJIZII2v9o4dkoZ8Y7QRjQlLfYzd3qGtKbw7xaF1UsG/5xUb/Btwb2X2g4InpiB/yt/3CpQXpiWX/K4mBvUKiGn05ZsqeY1gx4g0xLBqcU9psmyPzK+Vsgw2jeRQ5JlKDyqE0hebfC1tvFu0CCrJFcw=="+        ],+        "attestationTypes": [+          "basic_full"+        ],+        "authenticationAlgorithms": [+          "secp256r1_ecdsa_sha256_raw",+          "ed25519_eddsa_sha512_raw"+        ],+        "authenticatorGetInfo": {+          "aaguid": "ee882879721c491397753dfcce97072a",+          "algorithms": [+            {+              "alg": -7,+              "type": "public-key"+            },+            {+              "alg": -8,+              "type": "public-key"+            }+          ],+          "extensions": [+            "credProtect",+            "hmac-secret"+          ],+          "firmwareVersion": 328706,+          "maxCredentialCountInList": 8,+          "maxCredentialIdLength": 128,+          "maxMsgSize": 1200,+          "minPINLength": 4,+          "options": {+            "clientPin": false,+            "credentialMgmtPreview": true,+            "plat": false,+            "rk": true,+            "up": true+          },+          "pinUvAuthProtocols": [+            2,+            1+          ],+          "transports": [+            "usb"+          ],+          "versions": [+            "U2F_V2",+            "FIDO_2_0",+            "FIDO_2_1_PRE"+          ]+        },+        "authenticatorVersion": 50200,+        "cryptoStrength": 128,+        "description": "YubiKey 5 Series",+        "icon": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAfCAYAAACGVs+MAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAAHYYAAB2GAV2iE4EAAAbNSURBVFhHpVd7TNV1FD/3d59weQSIgS9AQAXcFLAQZi9fpeVz1tY/WTZr5Wxpc7W5knLa5jI3Z85srS2nM2sjtWwZS7IUH4H4xCnEQx4DAZF74V7us885v9/lInBvVJ/B4Pv9nu/5nu/5nvM556fzA/Qv0Hb/IrX3VFKPo45cnm4inUIWYwLFRmZQUuwjFG/N1iRHh1EZ0NRVRudqt1Bd+2nSKyS/Ohys0+lk3e/3kQ9qvD4ZUta4VVSUuY0eipyiThAfocoORVgDuuw3qKRiAd3rbcEtjTjYIof6WaHsCmzVPWCMx+cgh8tLqWMKaMWsUjLqo2RtJIQ0oOzmerpQu4esZgsONkGxH7d0kdvTT17s4OMU7VI8ZhjgGaM+Aq9iENu8Pif1udz07MwvKWf8GlVoCEY04PC5WdTaXYFbR8vNvL5+3Kgfb5xNMya9RamJiynaMlGTVtFlr6ba9u+pqnEX4uMuRRgjSYEhrN7utFFe6lqal7Nfkw5imAGHynPpbk8VmY0xstnptlFCVCYtzTuBN83QpMLjTtevdPzSUnJ7e8mkjxZ39fXbKDfldZqbvU+TUgGnBVF6fQ2iPHg4W16UWUwvzbk16sMZE+Pn0pvz7JSeuAyes8lcpCmaKuo/p+qWr2UcwIAHWrvP0YEzhXAtLAbssHhp7iGamvyijP8ryqrXUWX9XoowxyAufNBrp43POBFXZlkf8MDRiqcpyowAwpuz2x+fWvz/Dtde9smszygtcR6C1wbdzBl6Olq5WNYY4oGathJMrkTEx0jARSHAVs+5rYkQNXb+QgfPLsQ6gXyInsreQfmpm7RVFYfL86n1fiUOkYvShkUPxvbukzoy6K1ihM1ho3XzW6EvSfXA+dpiWGaWd+doXzLzmGwKYFLCAsRAlPBAhMlCFXU7tBUVPr8HgVcJHWq+F00plr+DMTdrP4zvxY11kNMhxT+SeTGg+d4V5LQJityUGJNB8VFZsjgYBZM/II/XCTkj0qyDOpF2AVQ17CIjUp/DnT1UkL5F5gdj+sS1wg1gE3gigm60fCXzSnPXbyAPbIXv+IDpE16ThaHIS9skyhlmME5F3cfqAKhq2C0E5PH1gYaXaLPDkZG0HDJOnKWHp51I0z5SOux8e1WAuZzdHQrTkp8TmjXoI+la0wGZszubqbO3ifQ6A/W7vVSYsV3mR0JKwkKc4WHiBkmR8I3CCgI87oOL4qzT5P+RUJBejEOgAPK8hYPzatM+eITp2IO9yTQmeromPRxx1qxAcsile/ubSeEbcWQGYECghcLY2HyKjogjH25hMpjpUv1Ougli4eh2eRw0O32bJjkyuCgNzg0vzlYMSiSs0uoo4MG7hMOjCEaX1yFE0nSvjBzuTnEpK86Z8IoqFAIubw8kg9ArEaREWSZI+jH4Xbp6g9E9EnJT3oaRzDN+MUJBQDHn56a8oUmEBusOxBs/N5+tJEbPkAFDj8UGvOs/IWvcSglGBhvS7/FTYfpWGYdDY8fPAxWSA35sTC4p4+Lm4AaqIoPeQtfufK6Jh0ZhxlbsUXOSmXNifD5ZTAkyDofbbcclxnA8WNAqxCbRNykhXxQpaDw67fXUYbsiG0Khtv2oeIvh8rhQMYOcEAqXG/eI+zngOc5yxr8q82IAM1c/FLFOplqu5eFQXrMZzGcVCjYbLWG5I4BT1euRrlbxtNOtMitDDEhLXIIynAAvuOEWE3X3NdAft94VgaG42XIQt0ZX6PeCE/qQFe9rK6Hx7YU50KvH7fW4fS+q7KKBJxsggBX5pSAGh1jIrVh5zQ6w3RfaahBXm/aCbCZTjCUFUTyWZqW9p62MjJPXVqOrPgMO4Nv74Gkf+owftNVBDQnjFJqHSw17pXvhWW5KZqe/Q49N/USTCAVWoQXFIHBHXXe3FPrUDsuGDmtF/hHKTHpekxhiAOPI+SJq6S6HF4I9YWzkBJTo46iUMzWp8Pir/RiduLxKYsSksV8vLlOQvhGX2YlR0OBhBjC+u/gEcvY0ApK7Yk41NxjPSQnWFHTF66UrjgevB8Cu5a+l2vYSRPtuVDo73hhdMSHnUX7tTjsVZGxAl/WptiOIEQ1gnL29mX6/tR1tmlkYj8W4X+CSjWcUDGY1NpS/C7hSKqiMLM/l2QmSWZ73Ddz+gio8BCENYPQ46qnkzwXUbqvBkxjUQsWfZFgbuo3rAf+wN7jOO90+ynx4Pi3L+0nYL1SchDUgAP4gPV/7Id1q+1HShmuGkIqWRPgyxMFqP8HfjTnjXwY5bQfbJct6OIzKgMHotF/He1egsaxHSqG6wfdmQ5x8NyTFFqBcp2iSowHR3yk5+36hF7vXAAAAAElFTkSuQmCC",+        "keyProtection": [+          "hardware",+          "secure_element"+        ],+        "legalHeader": "https://fidoalliance.org/metadata/metadata-statement-legal-header/",+        "matcherProtection": [+          "on_chip"+        ],+        "protocolFamily": "fido2",+        "publicKeyAlgAndEncodings": [+          "cose"+        ],+        "schema": 3,+        "tcDisplay": [],+        "upv": [+          {+            "major": 1,+            "minor": 0+          }+        ],+        "userVerificationDetails": [+          [+            {+              "userVerificationMethod": "presence_internal"+            },+            {+              "caDesc": {+                "base": 64,+                "blockSlowdown": 0,+                "maxRetries": 8,+                "minLength": 4+              },+              "userVerificationMethod": "passcode_internal"+            },+            {+              "userVerificationMethod": "none"+            }+          ]+        ]+      },+      "statusReports": [+        {+          "certificateNumber": "FIDO20020191017002",+          "certificationDescriptor": "YubiKey 5 Series (USB)",+          "certificationPolicyVersion": "1.1.1",+          "certificationRequirementsVersion": "1.3",+          "effectiveDate": "2020-05-12",+          "status": "FIDO_CERTIFIED_L1"+        }+      ],+      "timeOfLastStatusChange": "2020-05-12"+    },+    {+      "aaguid": "34f5766d-1536-4a24-9033-0e294e510fb0",+      "metadataStatement": {+        "aaguid": "34f5766d-1536-4a24-9033-0e294e510fb0",+        "attachmentHint": [+          "external",+          "wired"+        ],+        "attestationRootCertificates": [+          "MIIDHzCCAgegAwIBAgIJANpqD52TOTusMA0GCSqGSIb3DQEBCwUAMCYxJDAiBgNVBAMMG1l1YmljbyBGSURPIFByZXZpZXcgQ0EgMjAyMDAeFw0yMDA4MzExODE3MTFaFw0yMTEyMzExODE3MTFaMCYxJDAiBgNVBAMMG1l1YmljbyBGSURPIFByZXZpZXcgQ0EgMjAyMDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOGBLtBmUPJQACQWVEeBxezRgZdqGMP6eTrPty8yvM9xA+j/X4g2lRNMF9a0jw3BjkWSsoWJjYTuzevGMg2rb9M5qqd/OD498OAk6UEtMybr162CO2wB8Sn2nzfzUdbwZT4dxl251lfX5JsZVTyJduhlJzbKGetL3JMmCApetSO0xccGSIV9GUoJm78KlQO6smSDAkRFxJ8Pg8bE449qiIqP/K10uReu66UCWdaoXCKqRd5ikbU+6igJFHZz94UBPrsglcY0Fq03nrBBvrpEzGnisB/43E9Itjr9ULV4PQQmiuWMcIPmFP1jTNgKKnXZsxe114B/zB3UxhIB29rRopECAwEAAaNQME4wHQYDVR0OBBYEFALvouKDUnhjGxURR+M1K1mMiBt7MB8GA1UdIwQYMBaAFALvouKDUnhjGxURR+M1K1mMiBt7MAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQELBQADggEBAEO48A+c+1Eac7ZYJvBs3jA40qVhEKeEy2i+JiAfwuGzcfMUk/4oCZ5V5WDLzGhaScbMLEoVMqxHFUFXI1kU9PNVonygwY0xVs3mNqlCJM+LZ2QtxGqCrDGxMPAluvsFhr1mMaHk7eCzkJAhhpvUaG9F07jmo5U7HfFyQr0wQxSiUg5nmjXFgkcui2pMfOeKBddBy7Oc6uheCRyPzOKdYekgbZPrNZ/2OnhJqQ/6Sq9Khz6h99AmUpMYUiua0mzFoSnFkyERL0S4h/bbZlSEeCiJCxFEDBZB4ZgOsORL2DHLjkTnePgs9bjVp3lVelIplqi+K6O+MmMlYFrOOewa5a4="+        ],+        "attestationTypes": [+          "basic_full"+        ],+        "authenticationAlgorithms": [+          "secp256r1_ecdsa_sha256_raw",+          "ed25519_eddsa_sha512_raw"+        ],+        "authenticatorGetInfo": {+          "aaguid": "d8522d9f575b486688a9ba99fa02f35b",+          "algorithms": [+            {+              "alg": -7,+              "type": "public-key"+            },+            {+              "alg": -8,+              "type": "public-key"+            }+          ],+          "extensions": [+            "credProtect",+            "hmac-secret",+            "largeBlobKey",+            "credBlob",+            "minPinLength"+          ],+          "firmwareVersion": 328964,+          "maxCredBlobLength": 32,+          "maxCredentialCountInList": 8,+          "maxCredentialIdLength": 128,+          "maxMsgSize": 1200,+          "maxRPIDsForSetMinPINLength": 1,+          "maxSerializedLargeBlobArray": 1024,+          "minPINLength": 4,+          "options": {+            "alwaysUv": true,+            "authnrCfg": true,+            "bioEnroll": true,+            "clientPin": true,+            "credMgmt": true,+            "credentialMgmtPreview": true,+            "largeBlobs": true,+            "makeCredUvNotRqd": false,+            "pinUvAuthToken": true,+            "plat": false,+            "rk": true,+            "setMinPINLength": true,+            "up": true,+            "userVerificationMgmtPreview": true,+            "uv": true+          },+          "pinUvAuthProtocols": [+            2,+            1+          ],+          "preferredPlatformUvAttempts": 3,+          "remainingDiscoverableCredentials": 10,+          "transports": [+            "usb"+          ],+          "uvModality": 2,+          "versions": [+            "U2F_V2",+            "FIDO_2_0",+            "FIDO_2_1_PRE",+            "FIDO_2_1"+          ]+        },+        "authenticatorVersion": 50500,+        "cryptoStrength": 128,+        "description": "YubiKey 5 Series CTAP2.1 Preview 1 ",+        "icon": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAfCAYAAACGVs+MAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAAHYYAAB2GAV2iE4EAAAbNSURBVFhHpVd7TNV1FD/3d59weQSIgS9AQAXcFLAQZi9fpeVz1tY/WTZr5Wxpc7W5knLa5jI3Z85srS2nM2sjtWwZS7IUH4H4xCnEQx4DAZF74V7us885v9/lInBvVJ/B4Pv9nu/5nu/5nvM556fzA/Qv0Hb/IrX3VFKPo45cnm4inUIWYwLFRmZQUuwjFG/N1iRHh1EZ0NRVRudqt1Bd+2nSKyS/Ohys0+lk3e/3kQ9qvD4ZUta4VVSUuY0eipyiThAfocoORVgDuuw3qKRiAd3rbcEtjTjYIof6WaHsCmzVPWCMx+cgh8tLqWMKaMWsUjLqo2RtJIQ0oOzmerpQu4esZgsONkGxH7d0kdvTT17s4OMU7VI8ZhjgGaM+Aq9iENu8Pif1udz07MwvKWf8GlVoCEY04PC5WdTaXYFbR8vNvL5+3Kgfb5xNMya9RamJiynaMlGTVtFlr6ba9u+pqnEX4uMuRRgjSYEhrN7utFFe6lqal7Nfkw5imAGHynPpbk8VmY0xstnptlFCVCYtzTuBN83QpMLjTtevdPzSUnJ7e8mkjxZ39fXbKDfldZqbvU+TUgGnBVF6fQ2iPHg4W16UWUwvzbk16sMZE+Pn0pvz7JSeuAyes8lcpCmaKuo/p+qWr2UcwIAHWrvP0YEzhXAtLAbssHhp7iGamvyijP8ryqrXUWX9XoowxyAufNBrp43POBFXZlkf8MDRiqcpyowAwpuz2x+fWvz/Dtde9smszygtcR6C1wbdzBl6Olq5WNYY4oGathJMrkTEx0jARSHAVs+5rYkQNXb+QgfPLsQ6gXyInsreQfmpm7RVFYfL86n1fiUOkYvShkUPxvbukzoy6K1ihM1ho3XzW6EvSfXA+dpiWGaWd+doXzLzmGwKYFLCAsRAlPBAhMlCFXU7tBUVPr8HgVcJHWq+F00plr+DMTdrP4zvxY11kNMhxT+SeTGg+d4V5LQJityUGJNB8VFZsjgYBZM/II/XCTkj0qyDOpF2AVQ17CIjUp/DnT1UkL5F5gdj+sS1wg1gE3gigm60fCXzSnPXbyAPbIXv+IDpE16ThaHIS9skyhlmME5F3cfqAKhq2C0E5PH1gYaXaLPDkZG0HDJOnKWHp51I0z5SOux8e1WAuZzdHQrTkp8TmjXoI+la0wGZszubqbO3ifQ6A/W7vVSYsV3mR0JKwkKc4WHiBkmR8I3CCgI87oOL4qzT5P+RUJBejEOgAPK8hYPzatM+eITp2IO9yTQmeromPRxx1qxAcsile/ubSeEbcWQGYECghcLY2HyKjogjH25hMpjpUv1Ougli4eh2eRw0O32bJjkyuCgNzg0vzlYMSiSs0uoo4MG7hMOjCEaX1yFE0nSvjBzuTnEpK86Z8IoqFAIubw8kg9ArEaREWSZI+jH4Xbp6g9E9EnJT3oaRzDN+MUJBQDHn56a8oUmEBusOxBs/N5+tJEbPkAFDj8UGvOs/IWvcSglGBhvS7/FTYfpWGYdDY8fPAxWSA35sTC4p4+Lm4AaqIoPeQtfufK6Jh0ZhxlbsUXOSmXNifD5ZTAkyDofbbcclxnA8WNAqxCbRNykhXxQpaDw67fXUYbsiG0Khtv2oeIvh8rhQMYOcEAqXG/eI+zngOc5yxr8q82IAM1c/FLFOplqu5eFQXrMZzGcVCjYbLWG5I4BT1euRrlbxtNOtMitDDEhLXIIynAAvuOEWE3X3NdAft94VgaG42XIQt0ZX6PeCE/qQFe9rK6Hx7YU50KvH7fW4fS+q7KKBJxsggBX5pSAGh1jIrVh5zQ6w3RfaahBXm/aCbCZTjCUFUTyWZqW9p62MjJPXVqOrPgMO4Nv74Gkf+owftNVBDQnjFJqHSw17pXvhWW5KZqe/Q49N/USTCAVWoQXFIHBHXXe3FPrUDsuGDmtF/hHKTHpekxhiAOPI+SJq6S6HF4I9YWzkBJTo46iUMzWp8Pir/RiduLxKYsSksV8vLlOQvhGX2YlR0OBhBjC+u/gEcvY0ApK7Yk41NxjPSQnWFHTF66UrjgevB8Cu5a+l2vYSRPtuVDo73hhdMSHnUX7tTjsVZGxAl/WptiOIEQ1gnL29mX6/tR1tmlkYj8W4X+CSjWcUDGY1NpS/C7hSKqiMLM/l2QmSWZ73Ddz+gio8BCENYPQ46qnkzwXUbqvBkxjUQsWfZFgbuo3rAf+wN7jOO90+ynx4Pi3L+0nYL1SchDUgAP4gPV/7Id1q+1HShmuGkIqWRPgyxMFqP8HfjTnjXwY5bQfbJct6OIzKgMHotF/He1egsaxHSqG6wfdmQ5x8NyTFFqBcp2iSowHR3yk5+36hF7vXAAAAAElFTkSuQmCC",+        "keyProtection": [+          "hardware",+          "secure_element"+        ],+        "legalHeader": "https://fidoalliance.org/metadata/metadata-statement-legal-header/",+        "matcherProtection": [+          "on_chip"+        ],+        "protocolFamily": "fido2",+        "publicKeyAlgAndEncodings": [+          "cose"+        ],+        "schema": 3,+        "tcDisplay": [],+        "upv": [+          {+            "major": 1,+            "minor": 1+          }+        ],+        "userVerificationDetails": [+          [+            {+              "userVerificationMethod": "all"+            },+            {+              "userVerificationMethod": "presence_internal"+            },+            {+              "caDesc": {+                "base": 64,+                "blockSlowdown": 0,+                "maxRetries": 8,+                "minLength": 4+              },+              "userVerificationMethod": "passcode_external"+            }+          ],+          [+            {+              "userVerificationMethod": "presence_internal"+            }+          ],+          [+            {+              "userVerificationMethod": "none"+            }+          ],+          [+            {+              "caDesc": {+                "base": 64,+                "blockSlowdown": 0,+                "maxRetries": 8,+                "minLength": 4+              },+              "userVerificationMethod": "passcode_external"+            }+          ],+          [+            {+              "userVerificationMethod": "fingerprint_internal"+            }+          ]+        ]+      },+      "statusReports": [+        {+          "certificationDescriptor": "YubiKey CTAP2.1 Preview 1",+          "effectiveDate": "2020-09-17",+          "status": "NOT_FIDO_CERTIFIED"+        }+      ],+      "timeOfLastStatusChange": "2020-09-17"+    },+    {+      "aaguid": "fa2b99dc-9e39-4257-8f92-4a30d23c4118",+      "metadataStatement": {+        "aaguid": "fa2b99dc-9e39-4257-8f92-4a30d23c4118",+        "attachmentHint": [+          "external",+          "wired",+          "wireless",+          "nfc"+        ],+        "attestationRootCertificates": [+          "MIIDHjCCAgagAwIBAgIEG0BT9zANBgkqhkiG9w0BAQsFADAuMSwwKgYDVQQDEyNZdWJpY28gVTJGIFJvb3QgQ0EgU2VyaWFsIDQ1NzIwMDYzMTAgFw0xNDA4MDEwMDAwMDBaGA8yMDUwMDkwNDAwMDAwMFowLjEsMCoGA1UEAxMjWXViaWNvIFUyRiBSb290IENBIFNlcmlhbCA0NTcyMDA2MzEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC/jwYuhBVlqaiYWEMsrWFisgJ+PtM91eSrpI4TK7U53mwCIawSDHy8vUmk5N2KAj9abvT9NP5SMS1hQi3usxoYGonXQgfO6ZXyUA9a+KAkqdFnBnlyugSeCOep8EdZFfsaRFtMjkwz5Gcz2Py4vIYvCdMHPtwaz0bVuzneueIEz6TnQjE63Rdt2zbwnebwTG5ZybeWSwbzy+BJ34ZHcUhPAY89yJQXuE0IzMZFcEBbPNRbWECRKgjq//qT9nmDOFVlSRCt2wiqPSzluwn+v+suQEBsUjTGMEd25tKXXTkNW21wIWbxeSyUoTXwLvGS6xlwQSgNpk2qXYwf8iXg7VWZAgMBAAGjQjBAMB0GA1UdDgQWBBQgIvz0bNGJhjgpToksyKpP9xv9oDAPBgNVHRMECDAGAQH/AgEAMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQsFAAOCAQEAjvjuOMDSa+JXFCLyBKsycXtBVZsJ4Ue3LbaEsPY4MYN/hIQ5ZM5p7EjfcnMG4CtYkNsfNHc0AhBLdq45rnT87q/6O3vUEtNMafbhU6kthX7Y+9XFN9NpmYxr+ekVY5xOxi8h9JDIgoMP4VB1uS0aunL1IGqrNooL9mmFnL2kLVVee6/VR6C5+KSTCMCWppMuJIZII2v9o4dkoZ8Y7QRjQlLfYzd3qGtKbw7xaF1UsG/5xUb/Btwb2X2g4InpiB/yt/3CpQXpiWX/K4mBvUKiGn05ZsqeY1gx4g0xLBqcU9psmyPzK+Vsgw2jeRQ5JlKDyqE0hebfC1tvFu0CCrJFcw=="+        ],+        "attestationTypes": [+          "basic_full"+        ],+        "authenticationAlgorithms": [+          "secp256r1_ecdsa_sha256_raw",+          "ed25519_eddsa_sha512_raw"+        ],+        "authenticatorGetInfo": {+          "aaguid": "fa2b99dc9e3942578f924a30d23c4118",+          "extensions": [+            "hmac-secret"+          ],+          "maxMsgSize": 1200,+          "options": {+            "clientPin": true,+            "plat": false,+            "rk": true,+            "up": true+          },+          "pinUvAuthProtocols": [+            1+          ],+          "versions": [+            "U2F_V2",+            "FIDO_2_0"+          ]+        },+        "authenticatorVersion": 50100,+        "cryptoStrength": 128,+        "description": "YubiKey 5 Series with NFC",+        "icon": "data:image/png;base64,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",+        "keyProtection": [+          "hardware",+          "secure_element"+        ],+        "legalHeader": "https://fidoalliance.org/metadata/metadata-statement-legal-header/",+        "matcherProtection": [+          "on_chip"+        ],+        "protocolFamily": "fido2",+        "publicKeyAlgAndEncodings": [+          "cose"+        ],+        "schema": 3,+        "tcDisplay": [],+        "upv": [+          {+            "major": 1,+            "minor": 0+          }+        ],+        "userVerificationDetails": [+          [+            {+              "userVerificationMethod": "presence_internal"+            },+            {+              "caDesc": {+                "base": 64,+                "blockSlowdown": 0,+                "maxRetries": 8,+                "minLength": 4+              },+              "userVerificationMethod": "passcode_internal"+            },+            {+              "userVerificationMethod": "none"+            }+          ]+        ]+      },+      "statusReports": [+        {+          "certificateNumber": "FIDO20020180918001",+          "certificationDescriptor": "YubiKey Series 5 with NFC",+          "certificationPolicyVersion": "1.1.0",+          "certificationRequirementsVersion": "1.2",+          "effectiveDate": "2020-05-12",+          "status": "FIDO_CERTIFIED_L1"+        }+      ],+      "timeOfLastStatusChange": "2020-05-12"+    },+    {+      "aaguid": "2fc0579f-8113-47ea-b116-bb5a8db9202a",+      "metadataStatement": {+        "aaguid": "2fc0579f-8113-47ea-b116-bb5a8db9202a",+        "attachmentHint": [+          "external",+          "wired",+          "wireless",+          "nfc"+        ],+        "attestationRootCertificates": [+          "MIIDHjCCAgagAwIBAgIEG0BT9zANBgkqhkiG9w0BAQsFADAuMSwwKgYDVQQDEyNZdWJpY28gVTJGIFJvb3QgQ0EgU2VyaWFsIDQ1NzIwMDYzMTAgFw0xNDA4MDEwMDAwMDBaGA8yMDUwMDkwNDAwMDAwMFowLjEsMCoGA1UEAxMjWXViaWNvIFUyRiBSb290IENBIFNlcmlhbCA0NTcyMDA2MzEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC/jwYuhBVlqaiYWEMsrWFisgJ+PtM91eSrpI4TK7U53mwCIawSDHy8vUmk5N2KAj9abvT9NP5SMS1hQi3usxoYGonXQgfO6ZXyUA9a+KAkqdFnBnlyugSeCOep8EdZFfsaRFtMjkwz5Gcz2Py4vIYvCdMHPtwaz0bVuzneueIEz6TnQjE63Rdt2zbwnebwTG5ZybeWSwbzy+BJ34ZHcUhPAY89yJQXuE0IzMZFcEBbPNRbWECRKgjq//qT9nmDOFVlSRCt2wiqPSzluwn+v+suQEBsUjTGMEd25tKXXTkNW21wIWbxeSyUoTXwLvGS6xlwQSgNpk2qXYwf8iXg7VWZAgMBAAGjQjBAMB0GA1UdDgQWBBQgIvz0bNGJhjgpToksyKpP9xv9oDAPBgNVHRMECDAGAQH/AgEAMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQsFAAOCAQEAjvjuOMDSa+JXFCLyBKsycXtBVZsJ4Ue3LbaEsPY4MYN/hIQ5ZM5p7EjfcnMG4CtYkNsfNHc0AhBLdq45rnT87q/6O3vUEtNMafbhU6kthX7Y+9XFN9NpmYxr+ekVY5xOxi8h9JDIgoMP4VB1uS0aunL1IGqrNooL9mmFnL2kLVVee6/VR6C5+KSTCMCWppMuJIZII2v9o4dkoZ8Y7QRjQlLfYzd3qGtKbw7xaF1UsG/5xUb/Btwb2X2g4InpiB/yt/3CpQXpiWX/K4mBvUKiGn05ZsqeY1gx4g0xLBqcU9psmyPzK+Vsgw2jeRQ5JlKDyqE0hebfC1tvFu0CCrJFcw=="+        ],+        "attestationTypes": [+          "basic_full"+        ],+        "authenticationAlgorithms": [+          "secp256r1_ecdsa_sha256_raw",+          "ed25519_eddsa_sha512_raw"+        ],+        "authenticatorGetInfo": {+          "aaguid": "2fc0579f811347eab116bb5a8db9202a",+          "algorithms": [+            {+              "alg": -7,+              "type": "public-key"+            },+            {+              "alg": -8,+              "type": "public-key"+            }+          ],+          "extensions": [+            "credProtect",+            "hmac-secret"+          ],+          "firmwareVersion": 328706,+          "maxCredentialCountInList": 8,+          "maxCredentialIdLength": 128,+          "maxMsgSize": 1200,+          "minPINLength": 4,+          "options": {+            "clientPin": false,+            "credentialMgmtPreview": true,+            "plat": false,+            "rk": true,+            "up": true+          },+          "pinUvAuthProtocols": [+            2,+            1+          ],+          "transports": [+            "nfc",+            "usb"+          ],+          "versions": [+            "U2F_V2",+            "FIDO_2_0",+            "FIDO_2_1_PRE"+          ]+        },+        "authenticatorVersion": 50200,+        "cryptoStrength": 128,+        "description": "YubiKey 5 Series with NFC",+        "icon": "data:image/png;base64,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",+        "keyProtection": [+          "hardware",+          "secure_element"+        ],+        "legalHeader": "https://fidoalliance.org/metadata/metadata-statement-legal-header/",+        "matcherProtection": [+          "on_chip"+        ],+        "protocolFamily": "fido2",+        "publicKeyAlgAndEncodings": [+          "cose"+        ],+        "schema": 3,+        "tcDisplay": [],+        "upv": [+          {+            "major": 1,+            "minor": 0+          }+        ],+        "userVerificationDetails": [+          [+            {+              "userVerificationMethod": "presence_internal"+            },+            {+              "userVerificationMethod": "none"+            },+            {+              "caDesc": {+                "base": 64,+                "blockSlowdown": 0,+                "maxRetries": 8,+                "minLength": 4+              },+              "userVerificationMethod": "passcode_internal"+            }+          ]+        ]+      },+      "statusReports": [+        {+          "certificateNumber": "FIDO20020190826002",+          "certificationDescriptor": "YubiKey 5 NFC Series",+          "certificationPolicyVersion": "1.1.1",+          "certificationRequirementsVersion": "1.3",+          "effectiveDate": "2020-05-12",+          "status": "FIDO_CERTIFIED_L1"+        }+      ],+      "timeOfLastStatusChange": "2020-05-12"+    },+    {+      "aaguid": "c5ef55ff-ad9a-4b9f-b580-adebafe026d0",+      "metadataStatement": {+        "aaguid": "c5ef55ff-ad9a-4b9f-b580-adebafe026d0",+        "attachmentHint": [+          "external",+          "wired"+        ],+        "attestationRootCertificates": [+          "MIIDHjCCAgagAwIBAgIEG0BT9zANBgkqhkiG9w0BAQsFADAuMSwwKgYDVQQDEyNZdWJpY28gVTJGIFJvb3QgQ0EgU2VyaWFsIDQ1NzIwMDYzMTAgFw0xNDA4MDEwMDAwMDBaGA8yMDUwMDkwNDAwMDAwMFowLjEsMCoGA1UEAxMjWXViaWNvIFUyRiBSb290IENBIFNlcmlhbCA0NTcyMDA2MzEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC/jwYuhBVlqaiYWEMsrWFisgJ+PtM91eSrpI4TK7U53mwCIawSDHy8vUmk5N2KAj9abvT9NP5SMS1hQi3usxoYGonXQgfO6ZXyUA9a+KAkqdFnBnlyugSeCOep8EdZFfsaRFtMjkwz5Gcz2Py4vIYvCdMHPtwaz0bVuzneueIEz6TnQjE63Rdt2zbwnebwTG5ZybeWSwbzy+BJ34ZHcUhPAY89yJQXuE0IzMZFcEBbPNRbWECRKgjq//qT9nmDOFVlSRCt2wiqPSzluwn+v+suQEBsUjTGMEd25tKXXTkNW21wIWbxeSyUoTXwLvGS6xlwQSgNpk2qXYwf8iXg7VWZAgMBAAGjQjBAMB0GA1UdDgQWBBQgIvz0bNGJhjgpToksyKpP9xv9oDAPBgNVHRMECDAGAQH/AgEAMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQsFAAOCAQEAjvjuOMDSa+JXFCLyBKsycXtBVZsJ4Ue3LbaEsPY4MYN/hIQ5ZM5p7EjfcnMG4CtYkNsfNHc0AhBLdq45rnT87q/6O3vUEtNMafbhU6kthX7Y+9XFN9NpmYxr+ekVY5xOxi8h9JDIgoMP4VB1uS0aunL1IGqrNooL9mmFnL2kLVVee6/VR6C5+KSTCMCWppMuJIZII2v9o4dkoZ8Y7QRjQlLfYzd3qGtKbw7xaF1UsG/5xUb/Btwb2X2g4InpiB/yt/3CpQXpiWX/K4mBvUKiGn05ZsqeY1gx4g0xLBqcU9psmyPzK+Vsgw2jeRQ5JlKDyqE0hebfC1tvFu0CCrJFcw=="+        ],+        "attestationTypes": [+          "basic_full"+        ],+        "authenticationAlgorithms": [+          "ed25519_eddsa_sha512_raw",+          "secp256r1_ecdsa_sha256_raw"+        ],+        "authenticatorGetInfo": {+          "aaguid": "c5ef55ffad9a4b9fb580adebafe026d0",+          "algorithms": [+            {+              "alg": -7,+              "type": "public-key"+            },+            {+              "alg": -8,+              "type": "public-key"+            }+          ],+          "extensions": [+            "credProtect",+            "hmac-secret"+          ],+          "firmwareVersion": 328706,+          "maxCredentialCountInList": 8,+          "maxCredentialIdLength": 128,+          "maxMsgSize": 1200,+          "minPINLength": 4,+          "options": {+            "clientPin": true,+            "credentialMgmtPreview": true,+            "plat": false,+            "rk": true,+            "up": true+          },+          "pinUvAuthProtocols": [+            2,+            1+          ],+          "transports": [+            "usb",+            "lightning"+          ],+          "versions": [+            "U2F_V2",+            "FIDO_2_0",+            "FIDO_2_1_PRE"+          ]+        },+        "authenticatorVersion": 50200,+        "cryptoStrength": 128,+        "description": "YubiKey 5Ci",+        "icon": "data:image/png;base64,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",+        "keyProtection": [+          "hardware",+          "secure_element"+        ],+        "legalHeader": "https://fidoalliance.org/metadata/metadata-statement-legal-header/",+        "matcherProtection": [+          "on_chip"+        ],+        "protocolFamily": "fido2",+        "publicKeyAlgAndEncodings": [+          "cose"+        ],+        "schema": 3,+        "tcDisplay": [],+        "upv": [+          {+            "major": 1,+            "minor": 0+          }+        ],+        "userVerificationDetails": [+          [+            {+              "userVerificationMethod": "presence_internal"+            },+            {+              "caDesc": {+                "base": 64,+                "blockSlowdown": 0,+                "maxRetries": 8,+                "minLength": 4+              },+              "userVerificationMethod": "passcode_internal"+            },+            {+              "userVerificationMethod": "none"+            }+          ]+        ]+      },+      "statusReports": [+        {+          "certificateNumber": "FIDO20020191017003",+          "certificationDescriptor": "YubiKey 5Ci",+          "certificationPolicyVersion": "1.1.1",+          "certificationRequirementsVersion": "1.3",+          "effectiveDate": "2020-05-12",+          "status": "FIDO_CERTIFIED_L1"+        }+      ],+      "timeOfLastStatusChange": "2020-05-12"+    },+    {+      "aaguid": "85203421-48f9-4355-9bc8-8a53846e5083",+      "metadataStatement": {+        "aaguid": "85203421-48f9-4355-9bc8-8a53846e5083",+        "attachmentHint": [+          "external",+          "wired"+        ],+        "attestationRootCertificates": [+          "MIIDHjCCAgagAwIBAgIEG0BT9zANBgkqhkiG9w0BAQsFADAuMSwwKgYDVQQDEyNZdWJpY28gVTJGIFJvb3QgQ0EgU2VyaWFsIDQ1NzIwMDYzMTAgFw0xNDA4MDEwMDAwMDBaGA8yMDUwMDkwNDAwMDAwMFowLjEsMCoGA1UEAxMjWXViaWNvIFUyRiBSb290IENBIFNlcmlhbCA0NTcyMDA2MzEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC/jwYuhBVlqaiYWEMsrWFisgJ+PtM91eSrpI4TK7U53mwCIawSDHy8vUmk5N2KAj9abvT9NP5SMS1hQi3usxoYGonXQgfO6ZXyUA9a+KAkqdFnBnlyugSeCOep8EdZFfsaRFtMjkwz5Gcz2Py4vIYvCdMHPtwaz0bVuzneueIEz6TnQjE63Rdt2zbwnebwTG5ZybeWSwbzy+BJ34ZHcUhPAY89yJQXuE0IzMZFcEBbPNRbWECRKgjq//qT9nmDOFVlSRCt2wiqPSzluwn+v+suQEBsUjTGMEd25tKXXTkNW21wIWbxeSyUoTXwLvGS6xlwQSgNpk2qXYwf8iXg7VWZAgMBAAGjQjBAMB0GA1UdDgQWBBQgIvz0bNGJhjgpToksyKpP9xv9oDAPBgNVHRMECDAGAQH/AgEAMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQsFAAOCAQEAjvjuOMDSa+JXFCLyBKsycXtBVZsJ4Ue3LbaEsPY4MYN/hIQ5ZM5p7EjfcnMG4CtYkNsfNHc0AhBLdq45rnT87q/6O3vUEtNMafbhU6kthX7Y+9XFN9NpmYxr+ekVY5xOxi8h9JDIgoMP4VB1uS0aunL1IGqrNooL9mmFnL2kLVVee6/VR6C5+KSTCMCWppMuJIZII2v9o4dkoZ8Y7QRjQlLfYzd3qGtKbw7xaF1UsG/5xUb/Btwb2X2g4InpiB/yt/3CpQXpiWX/K4mBvUKiGn05ZsqeY1gx4g0xLBqcU9psmyPzK+Vsgw2jeRQ5JlKDyqE0hebfC1tvFu0CCrJFcw=="+        ],+        "attestationTypes": [+          "basic_full"+        ],+        "authenticationAlgorithms": [+          "secp256r1_ecdsa_sha256_raw",+          "ed25519_eddsa_sha512_raw"+        ],+        "authenticatorGetInfo": {+          "aaguid": "8520342148f943559bc88a53846e5083",+          "algorithms": [+            {+              "alg": -7,+              "type": "public-key"+            },+            {+              "alg": -8,+              "type": "public-key"+            }+          ],+          "certifications": {+            "FIPS-CMVP-2": 2,+            "FIPS-CMVP-2-PHY": 3+          },+          "extensions": [+            "credProtect",+            "hmac-secret"+          ],+          "firmwareVersion": 328706,+          "maxCredentialCountInList": 8,+          "maxCredentialIdLength": 128,+          "maxMsgSize": 1200,+          "minPINLength": 6,+          "options": {+            "clientPin": false,+            "credentialMgmtPreview": true,+            "plat": false,+            "rk": true,+            "up": true+          },+          "pinUvAuthProtocols": [+            2,+            1+          ],+          "transports": [+            "usb",+            "lightning"+          ],+          "versions": [+            "U2F_V2",+            "FIDO_2_0",+            "FIDO_2_1_PRE"+          ]+        },+        "authenticatorVersion": 50400,+        "cryptoStrength": 128,+        "description": "YubiKey 5Ci FIPS",+        "icon": "data:image/png;base64,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",+        "keyProtection": [+          "hardware",+          "secure_element"+        ],+        "legalHeader": "https://fidoalliance.org/metadata/metadata-statement-legal-header/",+        "matcherProtection": [+          "on_chip"+        ],+        "protocolFamily": "fido2",+        "publicKeyAlgAndEncodings": [+          "cose"+        ],+        "schema": 3,+        "tcDisplay": [],+        "upv": [+          {+            "major": 1,+            "minor": 0+          }+        ],+        "userVerificationDetails": [+          [+            {+              "userVerificationMethod": "none"+            }+          ],+          [+            {+              "userVerificationMethod": "presence_internal"+            }+          ],+          [+            {+              "caDesc": {+                "base": 64,+                "blockSlowdown": 0,+                "maxRetries": 8,+                "minLength": 6+              },+              "userVerificationMethod": "passcode_external"+            }+          ],+          [+            {+              "userVerificationMethod": "presence_internal"+            },+            {+              "caDesc": {+                "base": 64,+                "blockSlowdown": 0,+                "maxRetries": 8,+                "minLength": 6+              },+              "userVerificationMethod": "passcode_external"+            }+          ]+        ]+      },+      "statusReports": [+        {+          "certificateNumber": "FIDO20020210118005",+          "certificationDescriptor": "YK 5Ci FIPS",+          "certificationPolicyVersion": "1.3.7",+          "certificationRequirementsVersion": "1.3",+          "effectiveDate": "2021-02-18",+          "status": "FIDO_CERTIFIED_L1"+        }+      ],+      "timeOfLastStatusChange": "2021-02-18"+    },+    {+      "aaguid": "d8522d9f-575b-4866-88a9-ba99fa02f35b",+      "metadataStatement": {+        "aaguid": "d8522d9f-575b-4866-88a9-ba99fa02f35b",+        "attachmentHint": [+          "external",+          "wired"+        ],+        "attestationRootCertificates": [+          "MIIDHjCCAgagAwIBAgIEG0BT9zANBgkqhkiG9w0BAQsFADAuMSwwKgYDVQQDEyNZdWJpY28gVTJGIFJvb3QgQ0EgU2VyaWFsIDQ1NzIwMDYzMTAgFw0xNDA4MDEwMDAwMDBaGA8yMDUwMDkwNDAwMDAwMFowLjEsMCoGA1UEAxMjWXViaWNvIFUyRiBSb290IENBIFNlcmlhbCA0NTcyMDA2MzEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC/jwYuhBVlqaiYWEMsrWFisgJ+PtM91eSrpI4TK7U53mwCIawSDHy8vUmk5N2KAj9abvT9NP5SMS1hQi3usxoYGonXQgfO6ZXyUA9a+KAkqdFnBnlyugSeCOep8EdZFfsaRFtMjkwz5Gcz2Py4vIYvCdMHPtwaz0bVuzneueIEz6TnQjE63Rdt2zbwnebwTG5ZybeWSwbzy+BJ34ZHcUhPAY89yJQXuE0IzMZFcEBbPNRbWECRKgjq//qT9nmDOFVlSRCt2wiqPSzluwn+v+suQEBsUjTGMEd25tKXXTkNW21wIWbxeSyUoTXwLvGS6xlwQSgNpk2qXYwf8iXg7VWZAgMBAAGjQjBAMB0GA1UdDgQWBBQgIvz0bNGJhjgpToksyKpP9xv9oDAPBgNVHRMECDAGAQH/AgEAMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQsFAAOCAQEAjvjuOMDSa+JXFCLyBKsycXtBVZsJ4Ue3LbaEsPY4MYN/hIQ5ZM5p7EjfcnMG4CtYkNsfNHc0AhBLdq45rnT87q/6O3vUEtNMafbhU6kthX7Y+9XFN9NpmYxr+ekVY5xOxi8h9JDIgoMP4VB1uS0aunL1IGqrNooL9mmFnL2kLVVee6/VR6C5+KSTCMCWppMuJIZII2v9o4dkoZ8Y7QRjQlLfYzd3qGtKbw7xaF1UsG/5xUb/Btwb2X2g4InpiB/yt/3CpQXpiWX/K4mBvUKiGn05ZsqeY1gx4g0xLBqcU9psmyPzK+Vsgw2jeRQ5JlKDyqE0hebfC1tvFu0CCrJFcw=="+        ],+        "attestationTypes": [+          "basic_full"+        ],+        "authenticationAlgorithms": [+          "secp256r1_ecdsa_sha256_raw",+          "ed25519_eddsa_sha512_raw"+        ],+        "authenticatorGetInfo": {+          "aaguid": "d8522d9f575b486688a9ba99fa02f35b",+          "algorithms": [+            {+              "alg": -7,+              "type": "public-key"+            },+            {+              "alg": -8,+              "type": "public-key"+            }+          ],+          "extensions": [+            "credProtect",+            "hmac-secret",+            "largeBlobKey",+            "credBlob",+            "minPinLength"+          ],+          "firmwareVersion": 328965,+          "maxCredBlobLength": 32,+          "maxCredentialCountInList": 8,+          "maxCredentialIdLength": 128,+          "maxMsgSize": 1200,+          "maxRPIDsForSetMinPINLength": 1,+          "maxSerializedLargeBlobArray": 1024,+          "minPINLength": 4,+          "options": {+            "alwaysUv": true,+            "authnrCfg": true,+            "bioEnroll": false,+            "clientPin": false,+            "credMgmt": true,+            "credentialMgmtPreview": true,+            "largeBlobs": true,+            "makeCredUvNotRqd": false,+            "pinUvAuthToken": true,+            "plat": false,+            "rk": true,+            "setMinPINLength": true,+            "up": true,+            "userVerificationMgmtPreview": false,+            "uv": false+          },+          "pinUvAuthProtocols": [+            2,+            1+          ],+          "preferredPlatformUvAttempts": 3,+          "remainingDiscoverableCredentials": 25,+          "transports": [+            "usb"+          ],+          "uvModality": 2,+          "versions": [+            "FIDO_2_0",+            "FIDO_2_1_PRE",+            "FIDO_2_1"+          ]+        },+        "authenticatorVersion": 328965,+        "cryptoStrength": 128,+        "description": "YubiKey Bio Series",+        "icon": "data:image/png;base64,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",+        "keyProtection": [+          "hardware",+          "secure_element"+        ],+        "legalHeader": "https://fidoalliance.org/metadata/metadata-statement-legal-header/",+        "matcherProtection": [+          "on_chip"+        ],+        "protocolFamily": "fido2",+        "publicKeyAlgAndEncodings": [+          "cose"+        ],+        "schema": 3,+        "tcDisplay": [],+        "upv": [+          {+            "major": 1,+            "minor": 0+          },+          {+            "major": 1,+            "minor": 1+          }+        ],+        "userVerificationDetails": [+          [+            {+              "userVerificationMethod": "none"+            }+          ],+          [+            {+              "userVerificationMethod": "presence_internal"+            },+            {+              "baDesc": {+                "blockSlowdown": 0,+                "maxRetries": 5,+                "maxTemplates": 5,+                "selfAttestedFAR": 0,+                "selfAttestedFRR": 0+              },+              "userVerificationMethod": "fingerprint_internal"+            }+          ],+          [+            {+              "caDesc": {+                "base": 64,+                "blockSlowdown": 0,+                "maxRetries": 8,+                "minLength": 4+              },+              "userVerificationMethod": "passcode_external"+            },+            {+              "userVerificationMethod": "presence_internal"+            }+          ],+          [+            {+              "userVerificationMethod": "presence_internal"+            }+          ],+          [+            {+              "caDesc": {+                "base": 64,+                "blockSlowdown": 0,+                "maxRetries": 8,+                "minLength": 4+              },+              "userVerificationMethod": "passcode_external"+            }+          ],+          [+            {+              "baDesc": {+                "blockSlowdown": 0,+                "maxRetries": 5,+                "maxTemplates": 5,+                "selfAttestedFAR": 0,+                "selfAttestedFRR": 0+              },+              "userVerificationMethod": "fingerprint_internal"+            }+          ]+        ]+      },+      "statusReports": [+        {+          "effectiveDate": "2021-08-06",+          "status": "FIDO_CERTIFIED"+        },+        {+          "certificateNumber": "FIDO20020210806001",+          "certificationDescriptor": "YubiKey Bio",+          "certificationPolicyVersion": "1.3",+          "certificationRequirementsVersion": "1.4",+          "effectiveDate": "2021-08-06",+          "status": "FIDO_CERTIFIED_L1",+          "url": "www.yubico.com"+        }+      ],+      "timeOfLastStatusChange": "2021-08-10"+    },+    {+      "aaguid": "83c47309-aabb-4108-8470-8be838b573cb",+      "metadataStatement": {+        "aaguid": "83c47309-aabb-4108-8470-8be838b573cb",+        "attachmentHint": [+          "external",+          "wired"+        ],+        "attestationRootCertificates": [+          "MIIDHjCCAgagAwIBAgIEG0BT9zANBgkqhkiG9w0BAQsFADAuMSwwKgYDVQQDEyNZdWJpY28gVTJGIFJvb3QgQ0EgU2VyaWFsIDQ1NzIwMDYzMTAgFw0xNDA4MDEwMDAwMDBaGA8yMDUwMDkwNDAwMDAwMFowLjEsMCoGA1UEAxMjWXViaWNvIFUyRiBSb290IENBIFNlcmlhbCA0NTcyMDA2MzEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC/jwYuhBVlqaiYWEMsrWFisgJ+PtM91eSrpI4TK7U53mwCIawSDHy8vUmk5N2KAj9abvT9NP5SMS1hQi3usxoYGonXQgfO6ZXyUA9a+KAkqdFnBnlyugSeCOep8EdZFfsaRFtMjkwz5Gcz2Py4vIYvCdMHPtwaz0bVuzneueIEz6TnQjE63Rdt2zbwnebwTG5ZybeWSwbzy+BJ34ZHcUhPAY89yJQXuE0IzMZFcEBbPNRbWECRKgjq//qT9nmDOFVlSRCt2wiqPSzluwn+v+suQEBsUjTGMEd25tKXXTkNW21wIWbxeSyUoTXwLvGS6xlwQSgNpk2qXYwf8iXg7VWZAgMBAAGjQjBAMB0GA1UdDgQWBBQgIvz0bNGJhjgpToksyKpP9xv9oDAPBgNVHRMECDAGAQH/AgEAMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQsFAAOCAQEAjvjuOMDSa+JXFCLyBKsycXtBVZsJ4Ue3LbaEsPY4MYN/hIQ5ZM5p7EjfcnMG4CtYkNsfNHc0AhBLdq45rnT87q/6O3vUEtNMafbhU6kthX7Y+9XFN9NpmYxr+ekVY5xOxi8h9JDIgoMP4VB1uS0aunL1IGqrNooL9mmFnL2kLVVee6/VR6C5+KSTCMCWppMuJIZII2v9o4dkoZ8Y7QRjQlLfYzd3qGtKbw7xaF1UsG/5xUb/Btwb2X2g4InpiB/yt/3CpQXpiWX/K4mBvUKiGn05ZsqeY1gx4g0xLBqcU9psmyPzK+Vsgw2jeRQ5JlKDyqE0hebfC1tvFu0CCrJFcw==\n "+        ],+        "attestationTypes": [+          "basic_full"+        ],+        "authenticationAlgorithms": [+          "ed25519_eddsa_sha512_raw",+          "secp256r1_ecdsa_sha256_raw"+        ],+        "authenticatorGetInfo": {+          "aaguid": "83c47309aabb410884708be838b573cb",+          "algorithms": [+            {+              "alg": -7,+              "type": "public-key"+            },+            {+              "alg": -8,+              "type": "public-key"+            }+          ],+          "extensions": [+            "credProtect",+            "hmac-secret",+            "largeBlobKey",+            "credBlob",+            "minPinLength"+          ],+          "firmwareVersion": 328965,+          "forcePINChange": false,+          "maxCredBlobLength": 32,+          "maxCredentialCountInList": 8,+          "maxCredentialIdLength": 128,+          "maxMsgSize": 1200,+          "maxRPIDsForSetMinPINLength": 1,+          "maxSerializedLargeBlobArray": 1024,+          "minPINLength": 4,+          "options": {+            "alwaysUv": true,+            "authnrCfg": true,+            "bioEnroll": false,+            "clientPin": true,+            "credMgmt": true,+            "credentialMgmtPreview": true,+            "ep": false,+            "largeBlobs": true,+            "makeCredUvNotRqd": false,+            "pinUvAuthToken": true,+            "plat": false,+            "rk": true,+            "setMinPINLength": true,+            "up": true,+            "userVerificationMgmtPreview": false,+            "uv": false+          },+          "pinUvAuthProtocols": [+            2,+            1+          ],+          "preferredPlatformUvAttempts": 3,+          "remainingDiscoverableCredentials": 25,+          "transports": [+            "usb"+          ],+          "uvModality": 2,+          "versions": [+            "FIDO_2_0",+            "FIDO_2_1_PRE",+            "FIDO_2_1"+          ]+        },+        "authenticatorVersion": 328965,+        "cryptoStrength": 128,+        "description": "YubiKey Bio Series (Enterprise Profile)",+        "icon": "data:image/png;base64,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",+        "keyProtection": [+          "hardware",+          "secure_element"+        ],+        "legalHeader": "https://fidoalliance.org/metadata/metadata-statement-legal-header/",+        "matcherProtection": [+          "on_chip"+        ],+        "protocolFamily": "fido2",+        "publicKeyAlgAndEncodings": [+          "cose"+        ],+        "schema": 3,+        "tcDisplay": [],+        "upv": [+          {+            "major": 1,+            "minor": 0+          },+          {+            "major": 1,+            "minor": 1+          }+        ],+        "userVerificationDetails": [+          [+            {+              "caDesc": {+                "base": 64,+                "blockSlowdown": 0,+                "maxRetries": 8,+                "minLength": 4+              },+              "userVerificationMethod": "passcode_external"+            },+            {+              "userVerificationMethod": "presence_internal"+            }+          ],+          [+            {+              "caDesc": {+                "base": 64,+                "blockSlowdown": 0,+                "maxRetries": 8,+                "minLength": 4+              },+              "userVerificationMethod": "passcode_external"+            }+          ],+          [+            {+              "baDesc": {+                "blockSlowdown": 0,+                "maxRetries": 5,+                "maxTemplates": 5,+                "selfAttestedFAR": 0,+                "selfAttestedFRR": 0+              },+              "userVerificationMethod": "fingerprint_internal"+            },+            {+              "userVerificationMethod": "presence_internal"+            }+          ],+          [+            {+              "userVerificationMethod": "none"+            }+          ],+          [+            {+              "baDesc": {+                "blockSlowdown": 0,+                "maxRetries": 5,+                "maxTemplates": 5,+                "selfAttestedFAR": 0,+                "selfAttestedFRR": 0+              },+              "userVerificationMethod": "fingerprint_internal"+            }+          ],+          [+            {+              "userVerificationMethod": "presence_internal"+            }+          ]+        ]+      },+      "statusReports": [+        {+          "certificateNumber": "FIDO20020210806001",+          "certificationDescriptor": "YubiKey Bio(Enterprise Profile)",+          "certificationPolicyVersion": "1.3",+          "certificationRequirementsVersion": "1.4",+          "effectiveDate": "2021-08-06",+          "status": "FIDO_CERTIFIED_L1",+          "url": "www.yubico.com"+        },+        {+          "effectiveDate": "2021-08-06",+          "status": "FIDO_CERTIFIED"+        }+      ],+      "timeOfLastStatusChange": "2021-08-16"+    },+    {+      "attestationCertificateKeyIdentifiers": [+        "e077926504cd75eb405a45be160f783044e3f5a2"+      ],+      "metadataStatement": {+        "attachmentHint": [+          "external",+          "wireless",+          "bluetooth"+        ],+        "attestationCertificateKeyIdentifiers": [+          "e077926504cd75eb405a45be160f783044e3f5a2"+        ],+        "attestationRootCertificates": [+          "MIIBSTCB76ADAgECAhDyFMXqOf/nEYeDgG5vbmljMAoGCCqGSM49BAMCMCgxJjAkBgNVBAMTHUVnaXNUZWMgRmluZ2VycHJpbnQgVTJGIFZEIENBMB4XDTE4MDEyMzAwMDAwMFoXDTIzMDEyMzA1NTk1OVowJTEjMCEGA1UEAxMaRWdpc1RlYyBGaW5nZXJwcmludCBVMkYgVkQwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAASj6/E9C4cTFsEHvOJGEVvkDgHRwJWQr4uCtVcbKsFUKm9luL6aRR52FRGTIdzbjUMk1ieDyRHu7KKWRNF14M+NMAoGCCqGSM49BAMCA0kAMEYCIQCQhjolqZveADb0w7vds8+1pFy3WBUiJsDLvkWD6uP/qQIhAKKHu4LaiZDqtRTq9/aFK4L4oSpaQVG7hzvZcVP2YWyJ"+        ],+        "attestationTypes": [+          "basic_full"+        ],+        "authenticationAlgorithms": [+          "secp256r1_ecdsa_sha256_raw"+        ],+        "authenticatorVersion": 2,+        "description": "ATKey.Hello TypeC",+        "icon": "data:image/png;base64,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",+        "keyProtection": [+          "hardware",+          "secure_element"+        ],+        "legalHeader": "https://fidoalliance.org/metadata/metadata-statement-legal-header/",+        "matcherProtection": [+          "on_chip"+        ],+        "protocolFamily": "u2f",+        "publicKeyAlgAndEncodings": [+          "ecc_x962_raw"+        ],+        "schema": 3,+        "tcDisplay": [],+        "upv": [+          {+            "major": 1,+            "minor": 0+          }+        ],+        "userVerificationDetails": [+          [+            {+              "baDesc": {+                "blockSlowdown": 0,+                "maxRetries": 0,+                "maxTemplates": 0,+                "selfAttestedFAR": 0,+                "selfAttestedFRR": 0+              },+              "userVerificationMethod": "fingerprint_internal"+            }+          ]+        ]+      },+      "statusReports": [+        {+          "certificateNumber": "U2F100020180228004",+          "certificationDescriptor": "AuthenTrend Technology Inc. ATKey.Hello TypeC",+          "certificationPolicyVersion": "1.3.3",+          "certificationRequirementsVersion": "1.0.0",+          "effectiveDate": "2019-02-26",+          "status": "FIDO_CERTIFIED"+        }+      ],+      "timeOfLastStatusChange": "2019-02-26"+    },+    {+      "attestationCertificateKeyIdentifiers": [+        "fff940d3579bc4404055747b3670d43a1e97d054"+      ],+      "metadataStatement": {+        "attachmentHint": [+          "external",+          "wireless"+        ],+        "attestationCertificateKeyIdentifiers": [+          "fff940d3579bc4404055747b3670d43a1e97d054"+        ],+        "attestationRootCertificates": [+          "MIICzTCCAnOgAwIBAgIJAM+a12VznCtGMAkGByqGSM49BAEwezELMAkGA1UEBhMCQ0ExEDAOBgNVBAgTB09udGFyaW8xDzANBgNVBAcTBk90dGF3YTETMBEGA1UEChMKQmx1aW5rIEx0ZDETMBEGA1UEAxMKQmx1aW5rIEtleTEfMB0GCSqGSIb3DQEJARYQbGhhbWlkQGJsdWluay5jYTAeFw0xNzA1MTExNDQ3NTdaFw0yMDA1MTAxNDQ3NTdaMHsxCzAJBgNVBAYTAkNBMRAwDgYDVQQIEwdPbnRhcmlvMQ8wDQYDVQQHEwZPdHRhd2ExEzARBgNVBAoTCkJsdWluayBMdGQxEzARBgNVBAMTCkJsdWluayBLZXkxHzAdBgkqhkiG9w0BCQEWEGxoYW1pZEBibHVpbmsuY2EwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAATmBAICSLbnRAfmagb7GLsDJQkHPS4s26D8rNwigtG9hUc/nC6dx1Mz27fahnxkmu7q5TDwsZr7ZZ6PgAsWUZvYo4HgMIHdMB0GA1UdDgQWBBT/+UDTV5vEQEBVdHs2cNQ6HpfQVDCBrQYDVR0jBIGlMIGigBT/+UDTV5vEQEBVdHs2cNQ6HpfQVKF/pH0wezELMAkGA1UEBhMCQ0ExEDAOBgNVBAgTB09udGFyaW8xDzANBgNVBAcTBk90dGF3YTETMBEGA1UEChMKQmx1aW5rIEx0ZDETMBEGA1UEAxMKQmx1aW5rIEtleTEfMB0GCSqGSIb3DQEJARYQbGhhbWlkQGJsdWluay5jYYIJAM+a12VznCtGMAwGA1UdEwQFMAMBAf8wCQYHKoZIzj0EAQNJADBGAiEA5gf41zQJChcDZfEpj0xSpbgvXUyLph2StREzEKd3RxkCIQC6iSmjKCK+OvpAdwn1UkoLN43nvY7DtATVDc4PkW04vw=="+        ],+        "attestationTypes": [+          "basic_full"+        ],+        "authenticationAlgorithms": [+          "secp256r1_ecdsa_sha256_raw"+        ],+        "authenticatorVersion": 2,+        "cryptoStrength": 128,+        "description": "Bluink Key U2F Authenticator",+        "icon": "data:image/png;base64,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",+        "keyProtection": [+          "hardware"+        ],+        "legalHeader": "https://fidoalliance.org/metadata/metadata-statement-legal-header/",+        "matcherProtection": [+          "on_chip"+        ],+        "protocolFamily": "u2f",+        "publicKeyAlgAndEncodings": [+          "ecc_x962_raw"+        ],+        "schema": 3,+        "tcDisplay": [],+        "upv": [+          {+            "major": 1,+            "minor": 0+          }+        ],+        "userVerificationDetails": [+          [+            {+              "userVerificationMethod": "fingerprint_internal"+            }+          ],+          [+            {+              "userVerificationMethod": "passcode_internal"+            }+          ],+          [+            {+              "userVerificationMethod": "faceprint_internal"+            }+          ],+          [+            {+              "userVerificationMethod": "presence_internal"+            }+          ]+        ]+      },+      "statusReports": [+        {+          "certificateNumber": "U2F100020150811001",+          "certificationDescriptor": "Bluink Ltd, Injector, U2F",+          "certificationPolicyVersion": "1.0",+          "certificationRequirementsVersion": "1.0",+          "effectiveDate": "2019-01-07",+          "status": "FIDO_CERTIFIED"+        }+      ],+      "timeOfLastStatusChange": "2019-01-07"+    },+    {+      "attestationCertificateKeyIdentifiers": [+        "c889abd01627b98d2f7c1cd9d5d16d2d0262f696"+      ],+      "metadataStatement": {+        "attachmentHint": [+          "external",+          "wireless",+          "bluetooth"+        ],+        "attestationCertificateKeyIdentifiers": [+          "c889abd01627b98d2f7c1cd9d5d16d2d0262f696"+        ],+        "attestationRootCertificates": [+          "MIIBbDCCARGgAwIBAgIBATAKBggqhkjOPQQDAjAdMRswGQYDVQQDExJFZ2lzdGVjIENBIGZvciBVMkYwHhcNMTYwMjI2MDgxMTA2WhcNMTkwMjI1MDgxMTA2WjAdMRswGQYDVQQDExJFZ2lzdGVjIENBIGZvciBVMkYwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAARP3AE6Vs5tFBCIMexmdXiRFc8QcyTrc6nl1fEoBKwMdBMtjf/vzPjrrAitk5Q2OjO9YNy26Ci4TMIYIwr8YBQoo0IwQDAdBgNVHQ4EFgQUyImr0BYnuY0vfBzZ1dFtLQJi9pYwHwYDVR0jBBgwFoAUMuriP/C1iFg4vqBG15k4vHhOs3gwCgYIKoZIzj0EAwIDSQAwRgIhAJQMO6n6PI9EPYx6MjusIFo7GPB1Y8Ypz+UBmUj6CUl2AiEAh0E2mpaTVTRp1paWUlHvnYGBu3S04Hrd37OR0lXoXR0="+        ],+        "attestationTypes": [+          "basic_full"+        ],+        "authenticationAlgorithms": [+          "secp256r1_ecdsa_sha256_raw"+        ],+        "authenticatorVersion": 2,+        "description": "Egis U2F BLE Authenticator",+        "icon": "data:image/png;base64,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",+        "keyProtection": [+          "hardware",+          "secure_element"+        ],+        "legalHeader": "https://fidoalliance.org/metadata/metadata-statement-legal-header/",+        "matcherProtection": [+          "on_chip"+        ],+        "protocolFamily": "u2f",+        "publicKeyAlgAndEncodings": [+          "ecc_x962_raw"+        ],+        "schema": 3,+        "tcDisplay": [],+        "upv": [+          {+            "major": 1,+            "minor": 0+          }+        ],+        "userVerificationDetails": [+          [+            {+              "baDesc": {+                "blockSlowdown": 0,+                "maxRetries": 0,+                "maxTemplates": 0,+                "selfAttestedFAR": 0,+                "selfAttestedFRR": 0+              },+              "userVerificationMethod": "fingerprint_internal"+            }+          ]+        ]+      },+      "statusReports": [+        {+          "certificateNumber": "U2F100020180221001",+          "certificationDescriptor": "Universal Second Factor (U2F)",+          "certificationPolicyVersion": "1.3.2",+          "certificationRequirementsVersion": "1.0",+          "effectiveDate": "2018-09-14",+          "status": "FIDO_CERTIFIED_L1"+        }+      ],+      "timeOfLastStatusChange": "2018-09-14"+    },+    {+      "attestationCertificateKeyIdentifiers": [+        "44561a95d9a2664d32a267dbfe86ce0bb19e5926",+        "42db24c2644bd0c30948a33ccc26635d91dbe40f"+      ],+      "metadataStatement": {+        "attachmentHint": [+          "external",+          "wired"+        ],+        "attestationCertificateKeyIdentifiers": [+          "44561a95d9a2664d32a267dbfe86ce0bb19e5926",+          "42db24c2644bd0c30948a33ccc26635d91dbe40f"+        ],+        "attestationRootCertificates": [+          "MIICkjCCAjmgAwIBAgIJALliKvqGHwOxMAoGCCqGSM49BAMCMIGlMQswCQYDVQQGEwJDTjESMBAGA1UECAwJR3Vhbmdkb25nMREwDwYDVQQHDAhTaGVuemhlbjEzMDEGA1UECgwqU2hlbnpoZW4gRXhjZWxzZWN1IERhdGEgVGVjaG5vbG9neSBDby4gTHRkMR4wHAYDVQQLDBVFeGNlbHNlY3UgRmlkbyBTZXJ2ZXIxGjAYBgNVBAMMEUV4Y2Vsc2VjdSBGaWRvIENBMB4XDTE3MDMwMjA5MTUxMFoXDTI3MDIyODA5MTUxMFowgaUxCzAJBgNVBAYTAkNOMRIwEAYDVQQIDAlHdWFuZ2RvbmcxETAPBgNVBAcMCFNoZW56aGVuMTMwMQYDVQQKDCpTaGVuemhlbiBFeGNlbHNlY3UgRGF0YSBUZWNobm9sb2d5IENvLiBMdGQxHjAcBgNVBAsMFUV4Y2Vsc2VjdSBGaWRvIFNlcnZlcjEaMBgGA1UEAwwRRXhjZWxzZWN1IEZpZG8gQ0EwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAATmn91EIYVf5DT0p9ipc3MobfwKarnP9dM8crMSZNPXyYv0H738uKjBnnlCrq33ITDwCODSlUaDw50Injnu5yPCo1AwTjAdBgNVHQ4EFgQUrIkvD6zLiDucdhNnAqlmrInNn5swHwYDVR0jBBgwFoAUrIkvD6zLiDucdhNnAqlmrInNn5swDAYDVR0TBAUwAwEB/zAKBggqhkjOPQQDAgNHADBEAiADdZBSy59F3dzc+EvU9JCv3eHJw+AivBXU8H46e6ep9AIgUt9/Ag/vTAjIkKtIJs/zbHafDcJmrnyU/ZP115Oben0="+        ],+        "attestationTypes": [+          "basic_full"+        ],+        "authenticationAlgorithms": [+          "secp256r1_ecdsa_sha256_raw"+        ],+        "authenticatorVersion": 3,+        "description": "Excelsecu eSecu FIDO Security Key",+        "icon": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIwAAAAYCAYAAAAoNxVrAAAACXBIWXMAAB7CAAAewgFu0HU+AAAFIGlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxNDIgNzkuMTYwOTI0LCAyMDE3LzA3LzEzLTAxOjA2OjM5ICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgKFdpbmRvd3MpIiB4bXA6Q3JlYXRlRGF0ZT0iMjAxOC0wNS0yM1QxNDo0MDo1NSswODowMCIgeG1wOk1vZGlmeURhdGU9IjIwMTktMDUtMDVUMDk6MzM6NDcrMDg6MDAiIHhtcDpNZXRhZGF0YURhdGU9IjIwMTktMDUtMDVUMDk6MzM6NDcrMDg6MDAiIGRjOmZvcm1hdD0iaW1hZ2UvcG5nIiBwaG90b3Nob3A6Q29sb3JNb2RlPSIzIiBwaG90b3Nob3A6SUNDUHJvZmlsZT0ic1JHQiBJRUM2MTk2Ni0yLjEiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MjE4NWYyYmYtODVmOS1jZjQ3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",+        "keyProtection": [+          "hardware",+          "secure_element",+          "remote_handle"+        ],+        "legalHeader": "https://fidoalliance.org/metadata/metadata-statement-legal-header/",+        "matcherProtection": [+          "on_chip"+        ],+        "protocolFamily": "u2f",+        "publicKeyAlgAndEncodings": [+          "ecc_x962_raw"+        ],+        "schema": 3,+        "tcDisplay": [],+        "upv": [+          {+            "major": 1,+            "minor": 0+          }+        ],+        "userVerificationDetails": [+          [+            {+              "userVerificationMethod": "presence_internal"+            }+          ]+        ]+      },+      "statusReports": [+        {+          "certificateNumber": "U2F100020160607005",+          "certificationDescriptor": "Excelsecu eSecu FIDO Security Key",+          "certificationPolicyVersion": "1.0.1",+          "certificationRequirementsVersion": "1.0.1",+          "effectiveDate": "2019-09-04",+          "status": "FIDO_CERTIFIED"+        }+      ],+      "timeOfLastStatusChange": "2019-09-04"+    },+    {+      "attestationCertificateKeyIdentifiers": [+        "c57d0641653225b173bc6b4d95879f87915222f9",+        "923881fe2f214ee465484371aeb72e97f5a58e0a",+        "4b54614236c4c4e93beb2d3dc1b75b62978ee488",+        "ce68d1b75fb4cd3da077fd3f833c4d6e20bf287c"+      ],+      "metadataStatement": {+        "attachmentHint": [+          "external"+        ],+        "attestationCertificateKeyIdentifiers": [+          "c57d0641653225b173bc6b4d95879f87915222f9",+          "923881fe2f214ee465484371aeb72e97f5a58e0a",+          "4b54614236c4c4e93beb2d3dc1b75b62978ee488",+          "ce68d1b75fb4cd3da077fd3f833c4d6e20bf287c"+        ],+        "attestationRootCertificates": [+          "MIIBfjCCASWgAwIBAgIBATAKBggqhkjOPQQDAjAXMRUwEwYDVQQDDAxGVCBGSURPIDAyMDAwIBcNMTYwNTAxMDAwMDAwWhgPMjA1MDA1MDEwMDAwMDBaMBcxFTATBgNVBAMMDEZUIEZJRE8gMDIwMDBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABNBmrRqVOxztTJVN19vtdqcL7tKQeol2nnM2/yYgvksZnr50SKbVgIEkzHQVOu80LVEE3lVheO1HjggxAlT6o4WjYDBeMB0GA1UdDgQWBBRJFWQt1bvG3jM6XgmV/IcjNtO/CzAfBgNVHSMEGDAWgBRJFWQt1bvG3jM6XgmV/IcjNtO/CzAMBgNVHRMEBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAKBggqhkjOPQQDAgNHADBEAiAwfPqgIWIUB+QBBaVGsdHy0s5RMxlkzpSX/zSyTZmUpQIgB2wJ6nZRM8oX/nA43Rh6SJovM2XwCCH//+LirBAbB0M="+        ],+        "attestationTypes": [+          "basic_full"+        ],+        "authenticationAlgorithms": [+          "secp256r1_ecdsa_sha256_raw"+        ],+        "authenticatorVersion": 1,+        "description": "Feitian BioPass FIDO Security Key",+        "icon": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAAAUCAMAAAAtBkrlAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAABHZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMDE0IDc5LjE1Njc5NywgMjAxNC8wOC8yMC0wOTo1MzowMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iIHhtbG5zOnBob3Rvc2hvcD0iaHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE0IChNYWNpbnRvc2gpIiB4bXA6Q3JlYXRlRGF0ZT0iMjAxNi0xMi0zMFQxNDozMzowOCswODowMCIgeG1wOk1vZGlmeURhdGU9IjIwMTYtMTItMzBUMDc6MzE6NTkrMDg6MDAiIHhtcDpNZXRhZGF0YURhdGU9IjIwMTYtMTItMzBUMDc6MzE6NTkrMDg6MDAiIGRjOmZvcm1hdD0iaW1hZ2UvcG5nIiBwaG90b3Nob3A6SGlzdG9yeT0iMjAxNi0xMi0zMFQxNTozMDoyNyswODowMCYjeDk75paH5Lu2IOacquagh+mimC0xIOW3suaJk+W8gCYjeEE7IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJFNzFCRkZDQzY3RjExRTY5NzhEQTlDQkI2NDYzRjkwIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjJFNzFCRkZEQzY3RjExRTY5NzhEQTlDQkI2NDYzRjkwIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MkU3MUJGRkFDNjdGMTFFNjk3OERBOUNCQjY0NjNGOTAiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkU3MUJGRkJDNjdGMTFFNjk3OERBOUNCQjY0NjNGOTAiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz477JXFAAAAYFBMVEX///8EVqIXZavG2OoqcLG2zOOkwt0BSJtqlcXV4u+autlWhbzk7PUAMY9HcrKjtNbq8feAl8aBoszz9vpdjsGGqtF3n8uTsNSZpc6JsNT5+v0xYKnu8Pff5/L48fg/friczJgYAAADAElEQVR42kRUCZbDIAjFXZOY1TatNc39bzksSYc3r4ME4fMBAaD6zl8y/9TOget8d5jfN78bwM/dDCRpR521zXfojHJ05IIyhBAUSVAONdGzBYt2f7KFrfkJaAkHh9FZhcDXHRkTKo9MLihGaavImnV3qyEX0Eprgz/4DwUD7kCHRnd8QFN43Go4UVmDDgza4w27oizdA2+cK+uuUpjjo2+xwc/42W50x5LGYeDBsR0HVIx5x8iF60CblbTEEkFr27bNDBUVSq1OKVPbE62b3EH8FqBg5OOOEuc2t8ZJiqMOuGp+cKjg7wVGceozqN4pxgVPQkjFYgbVJKDUhDCjYrawP5q4ETgC9fIMRHtitpQcCvJOELcbMsQgnciRkljpyQjvG44jqBUETFiBi1PEIyekOzsW+Ty5cLHos5R+dMS1LtSSxf3gQHczR2CI4gMNpW4IRA1QMa6tJ4+C6uHuGE8mNDIyFqg/OP/MMUueS6Iq8S90dAeBJSEy/qKkK+BNwz8cYY4jb5J6u4iWCI2B1Z56LW5kEc4hkdMpsvUC5585SX0QubcgNqyfgDFEcTt+40/0S5Nx0waCw3OKkcObA5In0AYp01pjjw2n626UDjtHwa28iHuTKqtrv+reW41NZ6iGlr7uuLJCfkFtctcG04sgm1eNS+ZaDnpaTErGoyX5JK2iMz8xs0nOwWGcPDN49qaCd4bzJozDZm/aBK+EozLw+XhNBiYwHf0siOu1XPkG/zKwvqYKcfSwDEcH/oUe07es/WQ8rIyg2DOXj8tjkZduDB/b8hzDllMMOCS5BEnd534f8ti3UZc4kMs3xLyafMSsJhdG8XPqjNk5tAgO25feKChnVdDj/J0FMkOsU/xMBv0wFhYeEGfVH13fuDU0yDFLa4fc7RnWHBfuTFV2tEmNwadc7ac3UY2jfBl7HT36fe34iQO5mNCFFBW07KjPgqhOLU01vZ8PueZ2JClFZN8jkUs69uka9ePp6+EfL4AF5+NywSbirHtcB8Ml/gkwAEjkK64KjHPeAAAAAElFTkSuQmCC",+        "isFreshUserVerificationRequired": true,+        "isKeyRestricted": true,+        "keyProtection": [+          "hardware",+          "secure_element",+          "remote_handle"+        ],+        "legalHeader": "https://fidoalliance.org/metadata/metadata-statement-legal-header/",+        "matcherProtection": [+          "on_chip"+        ],+        "protocolFamily": "u2f",+        "publicKeyAlgAndEncodings": [+          "ecc_x962_raw"+        ],+        "schema": 3,+        "tcDisplay": [],+        "upv": [+          {+            "major": 1,+            "minor": 0+          }+        ],+        "userVerificationDetails": [+          [+            {+              "userVerificationMethod": "fingerprint_internal"+            }+          ]+        ]+      },+      "statusReports": [+        {+          "certificateNumber": "U2F100020180228005",+          "certificationDescriptor": "Feitian BioPass FIDO U2F Security Key",+          "certificationPolicyVersion": "1.0.1",+          "certificationRequirementsVersion": "1.0.1",+          "effectiveDate": "2018-11-01",+          "status": "FIDO_CERTIFIED_L2"+        }+      ],+      "timeOfLastStatusChange": "2018-11-01"+    },+    {+      "attestationCertificateKeyIdentifiers": [+        "418377e213db14abc6509db5e10c9598b42f92ea",+        "525ea96c47b9a47933a09b4871c398df6407aaa4"+      ],+      "metadataStatement": {+        "attachmentHint": [+          "external"+        ],+        "attestationCertificateKeyIdentifiers": [+          "418377e213db14abc6509db5e10c9598b42f92ea",+          "525ea96c47b9a47933a09b4871c398df6407aaa4"+        ],+        "attestationRootCertificates": [+          "MIIBfjCCASWgAwIBAgIBATAKBggqhkjOPQQDAjAXMRUwEwYDVQQDDAxGVCBGSURPIDAyMDAwIBcNMTYwNTAxMDAwMDAwWhgPMjA1MDA1MDEwMDAwMDBaMBcxFTATBgNVBAMMDEZUIEZJRE8gMDIwMDBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABNBmrRqVOxztTJVN19vtdqcL7tKQeol2nnM2/yYgvksZnr50SKbVgIEkzHQVOu80LVEE3lVheO1HjggxAlT6o4WjYDBeMB0GA1UdDgQWBBRJFWQt1bvG3jM6XgmV/IcjNtO/CzAfBgNVHSMEGDAWgBRJFWQt1bvG3jM6XgmV/IcjNtO/CzAMBgNVHRMEBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAKBggqhkjOPQQDAgNHADBEAiAwfPqgIWIUB+QBBaVGsdHy0s5RMxlkzpSX/zSyTZmUpQIgB2wJ6nZRM8oX/nA43Rh6SJovM2XwCCH//+LirBAbB0M="+        ],+        "attestationTypes": [+          "basic_full"+        ],+        "authenticationAlgorithms": [+          "secp256r1_ecdsa_sha256_raw"+        ],+        "authenticatorVersion": 1,+        "description": "Feitian MultiPass FIDO Security Key",+        "icon": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAAAUCAMAAAAtBkrlAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAABHZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMDE0IDc5LjE1Njc5NywgMjAxNC8wOC8yMC0wOTo1MzowMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iIHhtbG5zOnBob3Rvc2hvcD0iaHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE0IChNYWNpbnRvc2gpIiB4bXA6Q3JlYXRlRGF0ZT0iMjAxNi0xMi0zMFQxNDozMzowOCswODowMCIgeG1wOk1vZGlmeURhdGU9IjIwMTYtMTItMzBUMDc6MzE6NTkrMDg6MDAiIHhtcDpNZXRhZGF0YURhdGU9IjIwMTYtMTItMzBUMDc6MzE6NTkrMDg6MDAiIGRjOmZvcm1hdD0iaW1hZ2UvcG5nIiBwaG90b3Nob3A6SGlzdG9yeT0iMjAxNi0xMi0zMFQxNTozMDoyNyswODowMCYjeDk75paH5Lu2IOacquagh+mimC0xIOW3suaJk+W8gCYjeEE7IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJFNzFCRkZDQzY3RjExRTY5NzhEQTlDQkI2NDYzRjkwIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjJFNzFCRkZEQzY3RjExRTY5NzhEQTlDQkI2NDYzRjkwIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MkU3MUJGRkFDNjdGMTFFNjk3OERBOUNCQjY0NjNGOTAiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkU3MUJGRkJDNjdGMTFFNjk3OERBOUNCQjY0NjNGOTAiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz477JXFAAAAYFBMVEX///8EVqIXZavG2OoqcLG2zOOkwt0BSJtqlcXV4u+autlWhbzk7PUAMY9HcrKjtNbq8feAl8aBoszz9vpdjsGGqtF3n8uTsNSZpc6JsNT5+v0xYKnu8Pff5/L48fg/friczJgYAAADAElEQVR42kRUCZbDIAjFXZOY1TatNc39bzksSYc3r4ME4fMBAaD6zl8y/9TOget8d5jfN78bwM/dDCRpR521zXfojHJ05IIyhBAUSVAONdGzBYt2f7KFrfkJaAkHh9FZhcDXHRkTKo9MLihGaavImnV3qyEX0Eprgz/4DwUD7kCHRnd8QFN43Go4UVmDDgza4w27oizdA2+cK+uuUpjjo2+xwc/42W50x5LGYeDBsR0HVIx5x8iF60CblbTEEkFr27bNDBUVSq1OKVPbE62b3EH8FqBg5OOOEuc2t8ZJiqMOuGp+cKjg7wVGceozqN4pxgVPQkjFYgbVJKDUhDCjYrawP5q4ETgC9fIMRHtitpQcCvJOELcbMsQgnciRkljpyQjvG44jqBUETFiBi1PEIyekOzsW+Ty5cLHos5R+dMS1LtSSxf3gQHczR2CI4gMNpW4IRA1QMa6tJ4+C6uHuGE8mNDIyFqg/OP/MMUueS6Iq8S90dAeBJSEy/qKkK+BNwz8cYY4jb5J6u4iWCI2B1Z56LW5kEc4hkdMpsvUC5585SX0QubcgNqyfgDFEcTt+40/0S5Nx0waCw3OKkcObA5In0AYp01pjjw2n626UDjtHwa28iHuTKqtrv+reW41NZ6iGlr7uuLJCfkFtctcG04sgm1eNS+ZaDnpaTErGoyX5JK2iMz8xs0nOwWGcPDN49qaCd4bzJozDZm/aBK+EozLw+XhNBiYwHf0siOu1XPkG/zKwvqYKcfSwDEcH/oUe07es/WQ8rIyg2DOXj8tjkZduDB/b8hzDllMMOCS5BEnd534f8ti3UZc4kMs3xLyafMSsJhdG8XPqjNk5tAgO25feKChnVdDj/J0FMkOsU/xMBv0wFhYeEGfVH13fuDU0yDFLa4fc7RnWHBfuTFV2tEmNwadc7ac3UY2jfBl7HT36fe34iQO5mNCFFBW07KjPgqhOLU01vZ8PueZ2JClFZN8jkUs69uka9ePp6+EfL4AF5+NywSbirHtcB8Ml/gkwAEjkK64KjHPeAAAAAElFTkSuQmCC",+        "isFreshUserVerificationRequired": true,+        "isKeyRestricted": true,+        "keyProtection": [+          "hardware",+          "secure_element",+          "remote_handle"+        ],+        "legalHeader": "https://fidoalliance.org/metadata/metadata-statement-legal-header/",+        "matcherProtection": [+          "on_chip"+        ],+        "protocolFamily": "u2f",+        "publicKeyAlgAndEncodings": [+          "ecc_x962_raw"+        ],+        "schema": 3,+        "tcDisplay": [],+        "upv": [+          {+            "major": 1,+            "minor": 0+          }+        ],+        "userVerificationDetails": [+          [+            {+              "userVerificationMethod": "presence_internal"+            }+          ]+        ]+      },+      "statusReports": [+        {+          "certificateNumber": "U2F100020180228006",+          "certificationDescriptor": "MultiPass FIDO Security Key",+          "certificationPolicyVersion": "1.0.1",+          "certificationRequirementsVersion": "1.0.1",+          "effectiveDate": "2018-11-01",+          "status": "FIDO_CERTIFIED_L2"+        }+      ],+      "timeOfLastStatusChange": "2018-11-01"+    },+    {+      "attestationCertificateKeyIdentifiers": [+        "046a7e232c03189dbc2b9b6a765702b52665be21",+        "c10bc4c6f614b63371d929596ededde3e458404d",+        "7a8fe37a42bbf2a5b3e6574d6f04bdbc55e59047",+        "76e47b47e32814aaa6a87c280cfcbd527881a404",+        "6cd99d8b0abfa6a4378138a1475f7e46df217a25"+      ],+      "metadataStatement": {+        "attachmentHint": [+          "external",+          "wired"+        ],+        "attestationCertificateKeyIdentifiers": [+          "046a7e232c03189dbc2b9b6a765702b52665be21",+          "c10bc4c6f614b63371d929596ededde3e458404d",+          "7a8fe37a42bbf2a5b3e6574d6f04bdbc55e59047",+          "76e47b47e32814aaa6a87c280cfcbd527881a404",+          "6cd99d8b0abfa6a4378138a1475f7e46df217a25"+        ],+        "attestationRootCertificates": [+          "MIIBfjCCASWgAwIBAgIBATAKBggqhkjOPQQDAjAXMRUwEwYDVQQDDAxGVCBGSURPIDAyMDAwIBcNMTYwNTAxMDAwMDAwWhgPMjA1MDA1MDEwMDAwMDBaMBcxFTATBgNVBAMMDEZUIEZJRE8gMDIwMDBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABNBmrRqVOxztTJVN19vtdqcL7tKQeol2nnM2/yYgvksZnr50SKbVgIEkzHQVOu80LVEE3lVheO1HjggxAlT6o4WjYDBeMB0GA1UdDgQWBBRJFWQt1bvG3jM6XgmV/IcjNtO/CzAfBgNVHSMEGDAWgBRJFWQt1bvG3jM6XgmV/IcjNtO/CzAMBgNVHRMEBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAKBggqhkjOPQQDAgNHADBEAiAwfPqgIWIUB+QBBaVGsdHy0s5RMxlkzpSX/zSyTZmUpQIgB2wJ6nZRM8oX/nA43Rh6SJovM2XwCCH//+LirBAbB0M="+        ],+        "attestationTypes": [+          "basic_full"+        ],+        "authenticationAlgorithms": [+          "secp256r1_ecdsa_sha256_raw"+        ],+        "authenticatorVersion": 1,+        "description": "Feitian ePass FIDO Security Key",+        "icon": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAAAUCAMAAAAtBkrlAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAABHZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMDE0IDc5LjE1Njc5NywgMjAxNC8wOC8yMC0wOTo1MzowMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iIHhtbG5zOnBob3Rvc2hvcD0iaHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE0IChNYWNpbnRvc2gpIiB4bXA6Q3JlYXRlRGF0ZT0iMjAxNi0xMi0zMFQxNDozMzowOCswODowMCIgeG1wOk1vZGlmeURhdGU9IjIwMTYtMTItMzBUMDc6MzE6NTkrMDg6MDAiIHhtcDpNZXRhZGF0YURhdGU9IjIwMTYtMTItMzBUMDc6MzE6NTkrMDg6MDAiIGRjOmZvcm1hdD0iaW1hZ2UvcG5nIiBwaG90b3Nob3A6SGlzdG9yeT0iMjAxNi0xMi0zMFQxNTozMDoyNyswODowMCYjeDk75paH5Lu2IOacquagh+mimC0xIOW3suaJk+W8gCYjeEE7IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJFNzFCRkZDQzY3RjExRTY5NzhEQTlDQkI2NDYzRjkwIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjJFNzFCRkZEQzY3RjExRTY5NzhEQTlDQkI2NDYzRjkwIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MkU3MUJGRkFDNjdGMTFFNjk3OERBOUNCQjY0NjNGOTAiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkU3MUJGRkJDNjdGMTFFNjk3OERBOUNCQjY0NjNGOTAiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz477JXFAAAAYFBMVEX///8EVqIXZavG2OoqcLG2zOOkwt0BSJtqlcXV4u+autlWhbzk7PUAMY9HcrKjtNbq8feAl8aBoszz9vpdjsGGqtF3n8uTsNSZpc6JsNT5+v0xYKnu8Pff5/L48fg/friczJgYAAADAElEQVR42kRUCZbDIAjFXZOY1TatNc39bzksSYc3r4ME4fMBAaD6zl8y/9TOget8d5jfN78bwM/dDCRpR521zXfojHJ05IIyhBAUSVAONdGzBYt2f7KFrfkJaAkHh9FZhcDXHRkTKo9MLihGaavImnV3qyEX0Eprgz/4DwUD7kCHRnd8QFN43Go4UVmDDgza4w27oizdA2+cK+uuUpjjo2+xwc/42W50x5LGYeDBsR0HVIx5x8iF60CblbTEEkFr27bNDBUVSq1OKVPbE62b3EH8FqBg5OOOEuc2t8ZJiqMOuGp+cKjg7wVGceozqN4pxgVPQkjFYgbVJKDUhDCjYrawP5q4ETgC9fIMRHtitpQcCvJOELcbMsQgnciRkljpyQjvG44jqBUETFiBi1PEIyekOzsW+Ty5cLHos5R+dMS1LtSSxf3gQHczR2CI4gMNpW4IRA1QMa6tJ4+C6uHuGE8mNDIyFqg/OP/MMUueS6Iq8S90dAeBJSEy/qKkK+BNwz8cYY4jb5J6u4iWCI2B1Z56LW5kEc4hkdMpsvUC5585SX0QubcgNqyfgDFEcTt+40/0S5Nx0waCw3OKkcObA5In0AYp01pjjw2n626UDjtHwa28iHuTKqtrv+reW41NZ6iGlr7uuLJCfkFtctcG04sgm1eNS+ZaDnpaTErGoyX5JK2iMz8xs0nOwWGcPDN49qaCd4bzJozDZm/aBK+EozLw+XhNBiYwHf0siOu1XPkG/zKwvqYKcfSwDEcH/oUe07es/WQ8rIyg2DOXj8tjkZduDB/b8hzDllMMOCS5BEnd534f8ti3UZc4kMs3xLyafMSsJhdG8XPqjNk5tAgO25feKChnVdDj/J0FMkOsU/xMBv0wFhYeEGfVH13fuDU0yDFLa4fc7RnWHBfuTFV2tEmNwadc7ac3UY2jfBl7HT36fe34iQO5mNCFFBW07KjPgqhOLU01vZ8PueZ2JClFZN8jkUs69uka9ePp6+EfL4AF5+NywSbirHtcB8Ml/gkwAEjkK64KjHPeAAAAAElFTkSuQmCC",+        "isFreshUserVerificationRequired": true,+        "isKeyRestricted": true,+        "keyProtection": [+          "hardware",+          "secure_element",+          "remote_handle"+        ],+        "legalHeader": "https://fidoalliance.org/metadata/metadata-statement-legal-header/",+        "matcherProtection": [+          "on_chip"+        ],+        "protocolFamily": "u2f",+        "publicKeyAlgAndEncodings": [+          "ecc_x962_raw"+        ],+        "schema": 3,+        "tcDisplay": [],+        "upv": [+          {+            "major": 1,+            "minor": 0+          }+        ],+        "userVerificationDetails": [+          [+            {+              "userVerificationMethod": "presence_internal"+            }+          ]+        ]+      },+      "statusReports": [+        {+          "certificateNumber": "U2F100020180228007",+          "certificationDescriptor": "ePass FIDO Security Key",+          "certificationPolicyVersion": "1.0.1",+          "certificationRequirementsVersion": "1.1.0",+          "effectiveDate": "2018-11-01",+          "status": "FIDO_CERTIFIED_L2"+        }+      ],+      "timeOfLastStatusChange": "2018-11-01"+    },+    {+      "attestationCertificateKeyIdentifiers": [+        "f4b64a68c334e901b8e23c6e66e6866c31931f5d",+        "d5db4dd48fe46afd8af8f1f7cfbdee61640bbbcc",+        "39d11cb1d6da8f646f584eea184133a03d85a2cc",+        "55464d5bea84e7073074b21d1204934358c7db4d"+      ],+      "metadataStatement": {+        "attachmentHint": [+          "external"+        ],+        "attestationCertificateKeyIdentifiers": [+          "f4b64a68c334e901b8e23c6e66e6866c31931f5d",+          "d5db4dd48fe46afd8af8f1f7cfbdee61640bbbcc",+          "39d11cb1d6da8f646f584eea184133a03d85a2cc",+          "55464d5bea84e7073074b21d1204934358c7db4d"+        ],+        "attestationRootCertificates": [+          "MIIBfjCCASWgAwIBAgIBATAKBggqhkjOPQQDAjAXMRUwEwYDVQQDDAxGVCBGSURPIDAyMDAwIBcNMTYwNTAxMDAwMDAwWhgPMjA1MDA1MDEwMDAwMDBaMBcxFTATBgNVBAMMDEZUIEZJRE8gMDIwMDBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABNBmrRqVOxztTJVN19vtdqcL7tKQeol2nnM2/yYgvksZnr50SKbVgIEkzHQVOu80LVEE3lVheO1HjggxAlT6o4WjYDBeMB0GA1UdDgQWBBRJFWQt1bvG3jM6XgmV/IcjNtO/CzAfBgNVHSMEGDAWgBRJFWQt1bvG3jM6XgmV/IcjNtO/CzAMBgNVHRMEBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAKBggqhkjOPQQDAgNHADBEAiAwfPqgIWIUB+QBBaVGsdHy0s5RMxlkzpSX/zSyTZmUpQIgB2wJ6nZRM8oX/nA43Rh6SJovM2XwCCH//+LirBAbB0M="+        ],+        "attestationTypes": [+          "basic_full"+        ],+        "authenticationAlgorithms": [+          "secp256r1_ecdsa_sha256_raw"+        ],+        "authenticatorVersion": 1,+        "description": "Feitian ePass FIDO-NFC Security Key",+        "icon": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAAAUCAMAAAAtBkrlAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAABHZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMDE0IDc5LjE1Njc5NywgMjAxNC8wOC8yMC0wOTo1MzowMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iIHhtbG5zOnBob3Rvc2hvcD0iaHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE0IChNYWNpbnRvc2gpIiB4bXA6Q3JlYXRlRGF0ZT0iMjAxNi0xMi0zMFQxNDozMzowOCswODowMCIgeG1wOk1vZGlmeURhdGU9IjIwMTYtMTItMzBUMDc6MzE6NTkrMDg6MDAiIHhtcDpNZXRhZGF0YURhdGU9IjIwMTYtMTItMzBUMDc6MzE6NTkrMDg6MDAiIGRjOmZvcm1hdD0iaW1hZ2UvcG5nIiBwaG90b3Nob3A6SGlzdG9yeT0iMjAxNi0xMi0zMFQxNTozMDoyNyswODowMCYjeDk75paH5Lu2IOacquagh+mimC0xIOW3suaJk+W8gCYjeEE7IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJFNzFCRkZDQzY3RjExRTY5NzhEQTlDQkI2NDYzRjkwIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjJFNzFCRkZEQzY3RjExRTY5NzhEQTlDQkI2NDYzRjkwIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MkU3MUJGRkFDNjdGMTFFNjk3OERBOUNCQjY0NjNGOTAiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkU3MUJGRkJDNjdGMTFFNjk3OERBOUNCQjY0NjNGOTAiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz477JXFAAAAYFBMVEX///8EVqIXZavG2OoqcLG2zOOkwt0BSJtqlcXV4u+autlWhbzk7PUAMY9HcrKjtNbq8feAl8aBoszz9vpdjsGGqtF3n8uTsNSZpc6JsNT5+v0xYKnu8Pff5/L48fg/friczJgYAAADAElEQVR42kRUCZbDIAjFXZOY1TatNc39bzksSYc3r4ME4fMBAaD6zl8y/9TOget8d5jfN78bwM/dDCRpR521zXfojHJ05IIyhBAUSVAONdGzBYt2f7KFrfkJaAkHh9FZhcDXHRkTKo9MLihGaavImnV3qyEX0Eprgz/4DwUD7kCHRnd8QFN43Go4UVmDDgza4w27oizdA2+cK+uuUpjjo2+xwc/42W50x5LGYeDBsR0HVIx5x8iF60CblbTEEkFr27bNDBUVSq1OKVPbE62b3EH8FqBg5OOOEuc2t8ZJiqMOuGp+cKjg7wVGceozqN4pxgVPQkjFYgbVJKDUhDCjYrawP5q4ETgC9fIMRHtitpQcCvJOELcbMsQgnciRkljpyQjvG44jqBUETFiBi1PEIyekOzsW+Ty5cLHos5R+dMS1LtSSxf3gQHczR2CI4gMNpW4IRA1QMa6tJ4+C6uHuGE8mNDIyFqg/OP/MMUueS6Iq8S90dAeBJSEy/qKkK+BNwz8cYY4jb5J6u4iWCI2B1Z56LW5kEc4hkdMpsvUC5585SX0QubcgNqyfgDFEcTt+40/0S5Nx0waCw3OKkcObA5In0AYp01pjjw2n626UDjtHwa28iHuTKqtrv+reW41NZ6iGlr7uuLJCfkFtctcG04sgm1eNS+ZaDnpaTErGoyX5JK2iMz8xs0nOwWGcPDN49qaCd4bzJozDZm/aBK+EozLw+XhNBiYwHf0siOu1XPkG/zKwvqYKcfSwDEcH/oUe07es/WQ8rIyg2DOXj8tjkZduDB/b8hzDllMMOCS5BEnd534f8ti3UZc4kMs3xLyafMSsJhdG8XPqjNk5tAgO25feKChnVdDj/J0FMkOsU/xMBv0wFhYeEGfVH13fuDU0yDFLa4fc7RnWHBfuTFV2tEmNwadc7ac3UY2jfBl7HT36fe34iQO5mNCFFBW07KjPgqhOLU01vZ8PueZ2JClFZN8jkUs69uka9ePp6+EfL4AF5+NywSbirHtcB8Ml/gkwAEjkK64KjHPeAAAAAElFTkSuQmCC",+        "isFreshUserVerificationRequired": true,+        "isKeyRestricted": true,+        "keyProtection": [+          "hardware",+          "secure_element",+          "remote_handle"+        ],+        "legalHeader": "https://fidoalliance.org/metadata/metadata-statement-legal-header/",+        "matcherProtection": [+          "on_chip"+        ],+        "protocolFamily": "u2f",+        "publicKeyAlgAndEncodings": [+          "ecc_x962_raw"+        ],+        "schema": 3,+        "tcDisplay": [],+        "upv": [+          {+            "major": 1,+            "minor": 0+          }+        ],+        "userVerificationDetails": [+          [+            {+              "userVerificationMethod": "presence_internal"+            }+          ]+        ]+      },+      "statusReports": [+        {+          "certificateNumber": "U2F100020151221001",+          "certificationDescriptor": "Feitian ePass FIDO-NFC Security Key",+          "certificationPolicyVersion": "1.0.1",+          "certificationRequirementsVersion": "1.0.1",+          "effectiveDate": "2018-11-08",+          "status": "FIDO_CERTIFIED"+        },+        {+          "certificateNumber": "U2F100020151221001",+          "certificationDescriptor": "Feitian ePass FIDO-NFC Security Key",+          "certificationPolicyVersion": "1.0.1",+          "certificationRequirementsVersion": "1.0.1",+          "effectiveDate": "2020-11-19",+          "status": "FIDO_CERTIFIED_L1"+        }+      ],+      "timeOfLastStatusChange": "2020-11-19"+    },+    {+      "attestationCertificateKeyIdentifiers": [+        "4e3038f6a4ebfd6cea2cfe14e448c6f8f3085167",+        "b39e6a8f5e4da7117121b2b1481abb1d15f157bb",+        "b76632e2c75e992c90277f99afd2c139968f3d2e"+      ],+      "metadataStatement": {+        "attachmentHint": [+          "external",+          "wireless",+          "nfc"+        ],+        "attestationCertificateKeyIdentifiers": [+          "4e3038f6a4ebfd6cea2cfe14e448c6f8f3085167",+          "b39e6a8f5e4da7117121b2b1481abb1d15f157bb",+          "b76632e2c75e992c90277f99afd2c139968f3d2e"+        ],+        "attestationRootCertificates": [+          "MIIECTCCAvGgAwIBAgIMR3MEC+UtMnHSFSytMA0GCSqGSIb3DQEBCwUAMGoxCzAJBgNVBAYTAkZSMQ4wDAYDVQQHDAVUb3VyczEQMA4GA1UECgwHR2VtYWx0bzE5MDcGA1UEAwwwR2VtYWx0byBCdXNpbmVzcyBTb2x1dGlvbnMgQ2VydGlmaWNhdGUgQXV0aG9yaXR5MB4XDTE5MDUwMjE0MzU1M1oXDTI5MDUwMTE0MzY1M1owTjELMAkGA1UEBhMCRlIxEzARBgNVBAoMCkdlbWFsdG8gU0ExDDAKBgNVBAsMA0RJUzEcMBoGA1UEAwwTd3d3LnRoYWxlc2dyb3VwLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAK1q3MIB0ekGBbKwZ0FWKMFom1ehsAyEL1UfGXe18ZTyhyVg+Vchy/iH9o3sq0fPCkuDy29iAPjyWWOQTf7qdS1ETq8iRpKNSxxplJkVGnSzLzK+xCDx5M4daHJLp88W2JO8HL0Wci8JroNm3Uz7YR+z4UU0apzObdd2lRwEE0mp1TDFJ0jxT+xahlzZAldf92//sWddoYRrTodc/jdefEX9bmgwHNTt3zHBJoP88yoQ12nUKHes3N2/qQx3HjA2+ySFfmdYAqerDej52orvA1V/Qpd87PV9DBNI0t9tB01t+6PbuPojfeqSlNBm1kTqKyU9OKmVw8BwQEXQKmT+t0sCAwEAAaOByjCBxzASBgNVHRMBAf8ECDAGAQH/AgEAMB0GA1UdDgQWBBQvMq30QjeHLOzWmDi53KEOg86GjDAfBgNVHSMEGDAWgBR3VfWnLWVDUohSlYrzg23yYaA2bjAOBgNVHQ8BAf8EBAMCAQYwYQYDVR0fBFowWDBWoFSgUoZQaHR0cDovL2NybC1icGtpLmdlbWFsdG8uY29tL0NSTC9HZW1hbHRvQnVzaW5lc3NTb2x1dGlvbnNDZXJ0aWZpY2F0ZUF1dGhvcml0eS5jcmwwDQYJKoZIhvcNAQELBQADggEBAHckIlQopNiBCD6mMSiEg07taoZZNVPLKASv54ZqXofxhIdoqlqts/W5NYJ6T+/Fwhn7mSebCKnwuUhaqByVkVt7kheBIw/F6aPaAdU8YIcuL8bkvGPvt5oQmU99buUV1pTbrEedU1RYlWLe4Etn6LSiEyKKpsDoBQBHWsJEjgVqHKFeRkQ/WgFmGc1+wxRyKAGFothrtraw1rerK3p+BNy0GRtfMN7tOnTn2giOvtOtebMBCYzyeRl/9XALfUC8Mw+Ooxvc51OE7lhe2yjuO3xF3SjE0ax+cWAjGQHhuIuVdfX8CVu/R5SG52zA9Oo4yug+cjKieAAEu2OPH+imIyM="+        ],+        "attestationTypes": [+          "basic_full"+        ],+        "authenticationAlgorithms": [+          "secp256r1_ecdsa_sha256_raw"+        ],+        "authenticatorVersion": 1,+        "cryptoStrength": 128,+        "description": "Gemalto MultiApp FIDO Authenticator",+        "icon": "data:image/png;base64,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",+        "keyProtection": [+          "hardware",+          "secure_element",+          "remote_handle"+        ],+        "legalHeader": "https://fidoalliance.org/metadata/metadata-statement-legal-header/",+        "matcherProtection": [+          "on_chip"+        ],+        "protocolFamily": "u2f",+        "publicKeyAlgAndEncodings": [+          "ecc_x962_raw"+        ],+        "schema": 3,+        "tcDisplay": [],+        "upv": [+          {+            "major": 1,+            "minor": 1+          }+        ],+        "userVerificationDetails": [+          [+            {+              "userVerificationMethod": "presence_internal"+            }+          ]+        ]+      },+      "statusReports": [+        {+          "certificateNumber": "U2F110020180523001",+          "certificationDescriptor": "Universal Second Factor (U2F)",+          "certificationPolicyVersion": "1.0.1",+          "effectiveDate": "2019-07-16",+          "status": "FIDO_CERTIFIED"+        }+      ],+      "timeOfLastStatusChange": "2019-07-16"+    },+    {+      "attestationCertificateKeyIdentifiers": [+        "c55f74c70c68e8dce5b7fdb4cdda772ad9294c67",+        "fd36573d24be3f7f32ad5040271ab61035a1fcad"+      ],+      "metadataStatement": {+        "attachmentHint": [+          "external",+          "wireless",+          "nfc",+          "bluetooth"+        ],+        "attestationCertificateKeyIdentifiers": [+          "c55f74c70c68e8dce5b7fdb4cdda772ad9294c67",+          "fd36573d24be3f7f32ad5040271ab61035a1fcad"+        ],+        "attestationRootCertificates": [+          "MIIBzjCCAXOgAwIBAgIJAMhV/vQYu4KAMAoGCCqGSM49BAMCMDsxIDAeBgNVBAMMF0dvVHJ1c3QgRklETzIgUm9vdCBDQSAyMRcwFQYDVQQKDA5Hb1RydXN0SUQgSW5jLjAeFw0xOTEyMDQwNzAzMDFaFw00OTExMjYwNzAzMDFaMDsxIDAeBgNVBAMMF0dvVHJ1c3QgRklETzIgUm9vdCBDQSAyMRcwFQYDVQQKDA5Hb1RydXN0SUQgSW5jLjBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABJHgK9fNqNEWIYTsZ/gNi17zpErK7FC1Yo+FzqRVMYGUJgAJ9vg31iTCJ1VYxbAKMQblLGkVn/dfP73geTKed9OjYDBeMAwGA1UdEwEB/wQCMAAwDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBRgLXWdWer1kSGppgPliZi1HsYPhDAfBgNVHSMEGDAWgBRgLXWdWer1kSGppgPliZi1HsYPhDAKBggqhkjOPQQDAgNJADBGAiEAujrKWZw+S0TfG1bJJcsqmGu5WLbB2EgorD2hA2q6BoICIQCiyxnvAn6Mi+DdRnw3SQGQZoLKFKwHr4XGNIO5pAHAHA==",+          "MIIBqDCCAU+gAwIBAgIBATAKBggqhkjOPQQDAjA7MSAwHgYDVQQDDBdHb1RydXN0IEZJRE8yIFJvb3QgQ0EgMjEXMBUGA1UECgwOR29UcnVzdElEIEluYy4wIBcNMjEwMzAyMDYyMzE3WhgPMjA1MTAyMjMwNjIzMTdaMDsxIDAeBgNVBAMMF0dvVHJ1c3QgRklETzIgUm9vdCBDQSAyMRcwFQYDVQQKDA5Hb1RydXN0SUQgSW5jLjBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABA76ZyG3e+DZoW/KvM36XJAJ6BL9kXMNjEv4qGID5lA8Z8uReM1YfMio5nEHLU2SZLQ3qXRRvxGN4I+H5+6fVw2jQjBAMA8GA1UdEwQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBRs+UkmM5xUk6/z5QNtWB26i4w77DAKBggqhkjOPQQDAgNHADBEAiBA+IX5F/87W/emZkiJTHqriLFZOa797zsE/0KP7AU5QgIgB64xFqPSBC4Ki1UrrNX9V2thb+45RbtSVmi66WV+glE="+        ],+        "attestationTypes": [+          "basic_full"+        ],+        "authenticationAlgorithms": [+          "secp256r1_ecdsa_sha256_raw"+        ],+        "authenticatorVersion": 2,+        "cryptoStrength": 128,+        "description": "GoTrust Idem Card U2F Authenticator",+        "icon": "data:image/png;base64,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",+        "keyProtection": [+          "hardware",+          "secure_element",+          "remote_handle"+        ],+        "legalHeader": "https://fidoalliance.org/metadata/metadata-statement-legal-header/",+        "matcherProtection": [+          "on_chip"+        ],+        "protocolFamily": "u2f",+        "publicKeyAlgAndEncodings": [+          "ecc_x962_raw"+        ],+        "schema": 3,+        "tcDisplay": [],+        "upv": [+          {+            "major": 1,+            "minor": 1+          }+        ],+        "userVerificationDetails": [+          [+            {+              "userVerificationMethod": "presence_internal"+            }+          ]+        ]+      },+      "statusReports": [+        {+          "certificateNumber": "U2F110020170403001",+          "certificationDescriptor": "GoTrust Idem Card U2F110020170403001",+          "certificationPolicyVersion": "1.2.5",+          "certificationRequirementsVersion": "1.3.0",+          "effectiveDate": "2020-09-02",+          "status": "FIDO_CERTIFIED"+        }+      ],+      "timeOfLastStatusChange": "2020-09-02"+    },+    {+      "attestationCertificateKeyIdentifiers": [+        "3bc1211c12d952a32b03c55b88d3ea6f7d152f18",+        "8dc2a6f293ea4845bb76a42c42b89601aab547f8"+      ],+      "metadataStatement": {+        "attachmentHint": [+          "external",+          "wired",+          "wireless",+          "nfc"+        ],+        "attestationCertificateKeyIdentifiers": [+          "3bc1211c12d952a32b03c55b88d3ea6f7d152f18",+          "8dc2a6f293ea4845bb76a42c42b89601aab547f8"+        ],+        "attestationRootCertificates": [+          "MIIBqTCCAU+gAwIBAgIBATAKBggqhkjOPQQDAjA7MSAwHgYDVQQDDBdHb1RydXN0IEZJRE8yIFJvb3QgQ0EgMTEXMBUGA1UECgwOR29UcnVzdElEIEluYy4wIBcNMjEwMzAyMDYxODQ4WhgPMjA1MTAyMjMwNjE4NDhaMDsxIDAeBgNVBAMMF0dvVHJ1c3QgRklETzIgUm9vdCBDQSAxMRcwFQYDVQQKDA5Hb1RydXN0SUQgSW5jLjBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABIzkMdtNZt0ZOzO+u1f2EKZRSnfhvywbhonBF9NSPq2WG7nuRi/yvZ8lDjwp5darQ6OdZg+HqbSSeXJXw7UpclSjQjBAMA8GA1UdEwQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBRjWxTo1Eq33ZrxfLDWssddbD/vZTAKBggqhkjOPQQDAgNIADBFAiB+E09GzmcYlM95qT/afnPU9q6XJmxOSKWARO5+kgUnWgIhAIa9n5p40tcGfmeF6/WvYojANuykQqhVk8Wnfg15S69r",+          "MIIBzzCCAXagAwIBAgICASAwCgYIKoZIzj0EAwIwOzEgMB4GA1UEAwwXR29UcnVzdCBGSURPMiBSb290IENBIDExFzAVBgNVBAoMDkdvVHJ1c3RJRCBJbmMuMCIYDzIwMTkxMjA0MDY1OTQwWhgPMjA1MTA0MDcwMzA1MDBaMDsxIDAeBgNVBAMMF0dvVHJ1c3QgRklETzIgUm9vdCBDQSAxMRcwFQYDVQQKDA5Hb1RydXN0SUQgSW5jLjBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABA5mjYsjowAI0jnpi//CJ3KnzhGbTUmstNWqN78ioG1CTK9gPgPl9UiFOJO/v+FfFK+Pxv10c604dvlIDAbKw+ijZjBkMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBSgWtY0nEcmPmGDLuCwceKeJPScozAfBgNVHSMEGDAWgBSgWtY0nEcmPmGDLuCwceKeJPScozAKBggqhkjOPQQDAgNHADBEAiAkrLM5V3DnD0XcVUFW+NMFcBZCO1FxyYz4VkPH3A7KGQIgHayTfU88oIEiMNax13tgZaohhMAXEMjqTyItbcTT8Qc=",+          "MIIBzTCCAXOgAwIBAgIJALS3SibGDXTPMAoGCCqGSM49BAMCMDsxIDAeBgNVBAMMF0dvVHJ1c3QgRklETzIgUm9vdCBDQSAxMRcwFQYDVQQKDA5Hb1RydXN0SUQgSW5jLjAeFw0xOTEyMDQwNjU5NDBaFw00OTExMjYwNjU5NDBaMDsxIDAeBgNVBAMMF0dvVHJ1c3QgRklETzIgUm9vdCBDQSAxMRcwFQYDVQQKDA5Hb1RydXN0SUQgSW5jLjBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABA5mjYsjowAI0jnpi//CJ3KnzhGbTUmstNWqN78ioG1CTK9gPgPl9UiFOJO/v+FfFK+Pxv10c604dvlIDAbKw+ijYDBeMAwGA1UdEwEB/wQCMAAwDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBSgWtY0nEcmPmGDLuCwceKeJPScozAfBgNVHSMEGDAWgBSgWtY0nEcmPmGDLuCwceKeJPScozAKBggqhkjOPQQDAgNIADBFAiAxoVs6qj7DX2xixCjjcDUdxBTJmSTLb0f1rRGwrABzTQIhAPt0P32qzAeepF4//tgzxqNoKkWDcaPPSXrg+xzrlVHw"+        ],+        "attestationTypes": [+          "basic_full"+        ],+        "authenticationAlgorithms": [+          "secp256r1_ecdsa_sha256_raw"+        ],+        "authenticatorVersion": 2,+        "cryptoStrength": 128,+        "description": "GoTrust Idem Key U2F Authenticator",+        "icon": "data:image/png;base64,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",+        "keyProtection": [+          "hardware",+          "secure_element",+          "remote_handle"+        ],+        "legalHeader": "https://fidoalliance.org/metadata/metadata-statement-legal-header/",+        "matcherProtection": [+          "on_chip"+        ],+        "protocolFamily": "u2f",+        "publicKeyAlgAndEncodings": [+          "ecc_x962_raw"+        ],+        "schema": 3,+        "tcDisplay": [],+        "upv": [+          {+            "major": 1,+            "minor": 1+          }+        ],+        "userVerificationDetails": [+          [+            {+              "userVerificationMethod": "presence_internal"+            }+          ]+        ]+      },+      "statusReports": [+        {+          "certificateNumber": "U2F100020160323001",+          "certificationDescriptor": "U2F Authenticator (Idem Sense)",+          "certificationPolicyVersion": "1.2.0",+          "certificationRequirementsVersion": "1.3.0",+          "effectiveDate": "2020-09-11",+          "status": "FIDO_CERTIFIED",+          "url": "https://www.gotrustid.com/idem-key"+        },+        {+          "certificateNumber": "U2F100020160323001",+          "certificationDescriptor": "U2F Authenticator (Idem Sense)",+          "certificationPolicyVersion": "1.2.0",+          "certificationRequirementsVersion": "1.3.0",+          "effectiveDate": "2020-09-18",+          "status": "FIDO_CERTIFIED_L1",+          "url": "https://www.gotrustid.com/idem-key"+        },+        {+          "certificateNumber": "U2F100020160323001",+          "certificationDescriptor": "U2F Authenticator (Idem Sense)",+          "certificationPolicyVersion": "1.2.0",+          "certificationRequirementsVersion": "1.3.0",+          "effectiveDate": "2021-03-09",+          "status": "FIDO_CERTIFIED_L2",+          "url": "https://www.gotrustid.com/idem-key"+        }+      ],+      "timeOfLastStatusChange": "2021-03-09"+    },+    {+      "attestationCertificateKeyIdentifiers": [+        "bf8f39a5826eb910de4e436635a530e3ecce410f"+      ],+      "metadataStatement": {+        "alternativeDescriptions": {+          "ru-RU": "U2F Key SDK - от Hideez"+        },+        "attachmentHint": [+          "external",+          "wired",+          "wireless",+          "nfc",+          "bluetooth"+        ],+        "attestationCertificateKeyIdentifiers": [+          "bf8f39a5826eb910de4e436635a530e3ecce410f"+        ],+        "attestationRootCertificates": [+          "\nMIICMjCCAdmgAwIBAgIBAjAKBggqhkjOPQQDAjCBhzEXMBUGA1UEAwwOSGlkZWV6IFJvb3QgQ0ExHzAdBgkqhkiG9w0BCQEWEGxlZ2FsQGhpZGVlei5jb20xGjAYBgNVBAoMEUhpZGVleiBHcm91cCBJbmMuMSIwIAYDVQQLDBlBdXRoZW50aWNhdG9yIEF0dGVzdGF0aW9uMQswCQYDVQQGEwJVUzAeFw0yMTA4MTYxNzI0MDVaFw00OTAxMDExNzI0MDVaMIGMMRwwGgYDVQQDDBNIaWRlZXogRklETyBSb290IENBMR8wHQYJKoZIhvcNAQkBFhBsZWdhbEBoaWRlZXouY29tMRowGAYDVQQKDBFIaWRlZXogR3JvdXAgSW5jLjEiMCAGA1UECwwZQXV0aGVudGljYXRvciBBdHRlc3RhdGlvbjELMAkGA1UEBhMCVVMwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAAS0AcT/hRFUblFcIp6bh4P2ZSq1ajiUaghec9udSFGIoUZ40Y3IEPltk2TxbwM/RpWmCFrZsAdfyx21rvYdpL8Roy8wLTAMBgNVHRMEBTADAQH/MB0GA1UdDgQWBBTlZ8Dv3qAKeKc1C2OiNvHzGqg1JTAKBggqhkjOPQQDAgNHADBEAiAHptsx+6Gqv6nba+bT9fW7n8xsfH8RhIK8VYFPKEsBZAIgQhOSDxkDkcy9nbPT4x0EmDD9UsL501tkSscfWa0aLbw=",+          "MIICZDCCAgugAwIBAgIUIylbSEAE15zSEvwF0r8GwUd/5oEwCgYIKoZIzj0EAwIwgYcxFzAVBgNVBAMMDkhpZGVleiBSb290IENBMR8wHQYJKoZIhvcNAQkBFhBsZWdhbEBoaWRlZXouY29tMRowGAYDVQQKDBFIaWRlZXogR3JvdXAgSW5jLjEiMCAGA1UECwwZQXV0aGVudGljYXRvciBBdHRlc3RhdGlvbjELMAkGA1UEBhMCVVMwHhcNMjEwODE2MTcyMzE4WhcNNDkwMTAxMTcyMzE4WjCBhzEXMBUGA1UEAwwOSGlkZWV6IFJvb3QgQ0ExHzAdBgkqhkiG9w0BCQEWEGxlZ2FsQGhpZGVlei5jb20xGjAYBgNVBAoMEUhpZGVleiBHcm91cCBJbmMuMSIwIAYDVQQLDBlBdXRoZW50aWNhdG9yIEF0dGVzdGF0aW9uMQswCQYDVQQGEwJVUzBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABAqlmAMAz4h5IwfVZwSb4jAi5ot85FE0buuCKs4mfud21qso5rpuKH43sKqbrNFQStx5RSC9bmBqdS2lycl35lajUzBRMB0GA1UdDgQWBBRWIiRVWayZBnH5BlTnQDiGyQ6OLTAfBgNVHSMEGDAWgBRWIiRVWayZBnH5BlTnQDiGyQ6OLTAPBgNVHRMBAf8EBTADAQH/MAoGCCqGSM49BAMCA0cAMEQCIEZXh76XFhLxJIT8FsIoQHTwfHCE8sUsKyPrcLv/3toMAiB+pjY9bI6nKT6qFuqgRn+bXBAdMeg/2vX8wG4aBtoMAA=="+        ],+        "attestationTypes": [+          "basic_full"+        ],+        "authenticationAlgorithms": [+          "secp256r1_ecdsa_sha256_raw"+        ],+        "authenticatorVersion": 2,+        "cryptoStrength": 128,+        "description": "Hideez Key U2F SDK",+        "icon": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAAG0OVFdAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoTWFjaW50b3NoKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDoxMjFDOUI2OTVBMDExMUU1QkRBREQwQkJFMUZFRjhGRCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDoxMjFDOUI2QTVBMDExMUU1QkRBREQwQkJFMUZFRjhGRCI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjEyMUM5QjY3NUEwMTExRTVCREFERDBCQkUxRkVGOEZEIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjEyMUM5QjY4NUEwMTExRTVCREFERDBCQkUxRkVGOEZEIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+vr5XIgAAE/9JREFUeNpiDDl6gQEP4ALiBCCehksBEw7x/1CsDdW8D0kMBbBg0QgCAkD8EUncCUo/RlLDiG4AigQOIIuk9i8QM6O7AJ9mdHX/kcPgPwmaUQxhItFmdHAFZAA3EJ8hEBv/ccjrgAyIB2JjMl0ADoNpDBQAFiICiqALYGAdiZb/R3YBI56AwutC9LxwgATbPdHDAOYKJSC+h0dzABC7APFebIHIiJYvCAYsQAAxEigPwoH4CxBvJSUa/xNwESO+AgU5SzOiacLqPSY0zVYEEg+GISxkZGdGpAwGTwfpZJQFcBf8J7M8AOn5x0QgtcGwE7FJGRfYS2q9AAL9BLL1TPRCFR0UYUkPyCANiE8wUVCggoAlshfqSC1MkL0AckUjOWmBCVttQ4TtjLhiASSxBy0NIGMt9DADCCBC5QE6+AzEPGhi36DtCGSwHIijiK1XGIhMzf+hljOiYW40ficQR6LpSya3gYMc5oxEJrkKLOrn4KqimfBYDDOAiYEygO5wkPmquApUEBClMHMR45BbQLwduUB+DcTngdiIgfYAuVZghYWACBB3k9G0QMaTyXDML5ADQqGcZeQURUggh5zmDRM0Hw8YYEJrdFSREI/mBFI7SYX5QijdSoLjT5FYPsCACbYqOYFA/FITnIbS5thqo1QaOwK5kDuFrSScQ2QLl1QgBzWvHz26WAgUFtJA/ASL/B1otj0G7dNKQhv8oKhkJaI4JrqT9BRNIyjE/gCxCp4mzFm0hIYXAAQQqe0BlAYV1KLvQLwfiO/SopuIDHyAeDMJ5ct/YhUSAieghm3GEa/Y4vcfUhOMohD4jyVNyBDb9wGCq4Q63LhCoAGL5Yx4LCeU4v+T4oAlQFxPZhmP7pALhByB7gAzII4mYwQJFzDE0erC6YCTVLScAUf3F28nm9qW4xqgmIovDdDCcnSzs9Ad8J8OlqM7oh5bdUwvwAfN6mAHaA9AU/Azckl4gILUTWnaYWKC9gkotZzcBkwfOf2+51SIgjJYDYvsAC4iNUvgkfMi0owmmJ3IDphHpOYleOS2EWkGO6x2RXZAOJGaY6mYG+YzQdtwlBSrDNDGKTm5YBoLtF33nwqOIBbsw1cbfqFDIeSIzwHcdCwN5ZAdgBycLTS0FDmqH6OHwCcoXU2nyggjCvixNRho5PvPuNIARoOBxi0jvC2iDzTqlhPVL2CERkkZhRYzA/FGfOUGC4GgArm8E4vcGiDexAAZcAR1x02hRbk5joKHkdyuGa7BihAopri0ZCIh4YBwDxFqrUnpTQEEECXjA8QCDSAuhPa4SClpQZPjoNHXRbR0HBOVzdvOgDmEfJ0BMsWF7vkSpJjiBeKXaPKgSnohA/aZH6PBEgAFaA7zwKHuI9STyOMpvWiNAAk0+Vl47D2LZOcvegeAHpLl/TjUvEPzjAAZLZ10NDNW4FDHiuSeB7QMgMVQSy4S4WBhGmTXSCTzFXCokWfAv3iGrACogxoYg61FTWSSpTZ4iGSvH57an2BAkDpECQO8dGq8EwM2M+CfXPgPTb1xpKSAYhyGwUJ9sHgel/uwdWT/E5sCdjNAViqhB9R/hqEDcKWI/4Ra4+vRPG/BQP5Cs8GaInCOEAcyQNapgcBMqMaTDMMDYFs6gREA65AUZzAMTwDy22wouxs5AJC74Ep0cIgntLGE3IpcQadASEVqisMDAHkIgJbDATDPgsYwBdHkwpHk99ApMDxAAWCJpQqkNggjsSB1plHBq4/eIWNiIGFunQKwktwYorI70McTNEEB8B2LwsBBUmjdorJ5LthagvuwKFxFo4YJqWML96joBlMsYnuYcFgCaiFy0iAQDpCg1ovK9h/FItaNbd0WDLylQZJ2ROvju0F7c0oM5C1CI6Xww7aY6Qr6yjlkAEoBwTTO47uhvbn7NLbnAo7IQGkJYusYrRkGrb9XWMQuw7IjcgCAtlxZkTAmMBQAqHMnikVcD1dv8DgD9tmFoRgIU5E6dzhrJGwDIqdwFERDKRDmYmnSb8LmL0JzU9dArSV8AwqDEOwCYldi2yGEBkW1cAwoMA1Szz9G83wdoQgjdW4OucDUHWSeB0WMDJrHmwlpYiHRElgggPrul7DIf4PmtQ0MkK0B1Bw8BQ3P+UILNi1qNbmpMTk6g4H0fYXUBKB1T2RPj1EjL2egNWNraOhZUItRGM0+iuYGWWjgyFYG7JtRWKBtf2doQ0QBqcPFDC3AbkHbIqCS/DY9kg9AAPKuLSSLIAofNaRAJBISI7sQWkSQJUZJmd3wJaxeIogsEIwuhD0I0oNG0UNlRQ9ZUYEQBRKIkRHdyCLyISqQIgsiqMgKoYcSpFDr9J/h36Yzu7P7z6y7fx/8oLOzO3O+ncuZM2fOhuEfIKOYfgW0QEHhPxEBWJmhMCszLoQyammMKPNxDw6el37/jhi2CVgZA2TgG22HpIHzvIvwqlNsOUTaG3rGd+o+kSZgMVUWz/hs9MiL50DQXU6chm3wyI/5btLzO6NGwHyqWI9GXrGTiwrLN0d6C6Wv0HjGOirvXhQIGFEYG2Q0g/tevkA35SskbdMNlURE3VgQsEdzYbSN8hzw+fwPNEDnaKxCz6ayUg0yC+CUle+RZzeY8XgdpJeEU+ZHjbUAuuS9stkCRj2Ev0hv3LS7bz8912ujpA9oz88GAW7N7AdVsMayTnGTynnkkucorU+MEuAm/FZIHsQIC+gOO83lOuoQrabGAO24PWNg/MggvSOLub6DFKljqbSAURdVNSqmsXG0eOLQ4mW4cSPgiiL9KSTc5KKEKlDHt+kNQkAJ8P7w6P1fCtHEflBHtBnyS8AzJg1D5qyHaAPruFZhNdquS8BFJq0LNOMFRQDXqUvIOKNLgOwT/AASxsg4AQdFbnu9w4sA2Vni3e/fcognbjCK2QYvAuTl6HSIN7A7N0ppbSoCjkRIyTEJPHZ2WtJcWQIa0lB4gZ20jhBYIxOQ67iYBekJXEkKU/s5mQBxOhFPfYxA+qJYHtsEAcI5ugz+H8zkZoEFIRXeAX87SmOMvZUhtgCxWvxDQG6IrLeRwPJ8jPE87oJ9L5Rljr83iaVkVUjCo6Niuab9wdYs5HQMLxQtIIymV60pvJcdIlXIDmDZmUy/L7ZQ8NUA96y2UI950v9zMiEZnl2gwnChQe2FrSG0zGlIwESP9YAJBSQIikIgYEImo/isMlxIHkQDXFy8DBGx0Yl8wwUH9cAYNlwPzqbx51sIA5aZfxrwPtOHsbl4Uf1IwAvmwgzDhfcEuMf06TXOsNOHBHAfsqg1XHi5z/wHQxoXBpCA28yFOguF6e5Eo87QZLjsQtUFJIA7HzzZAgHD8G/QTxnoPmfD9N7IpN3xeitIwhcLlRGaJ54TwrCOQ4pWaBLceHLKuRzmBsIWy5VC97drIQivQqeTAK6JbIH0QL3bRUFAl+J6fhoQcMJtnZEpNUkZ12MufI4ifRdHALepWBpzArhQo0NcF0C8VDzkeIwJWOZlFPHaGkPsjanwZxXpvW4EdCtuao4hAZw2O1c1CzgxhUnbnwZv/xPXzTkC+hXKyaGYv/0CNz1ABuebvy8mwnPOXZu9FCEO2UxaewwIkJ27MPzf5SAE/ITkh5EENkZceM65q0RHFVYB4wfIn6V6HVHhxzPCGglri9GFnZ5jRZbsBaniq1/hdQlA1EjL488RE34htQBfwvshAIEuNOsc/+MWdzWM7UnyImqhTxzjlq+NVb+VdwYhwC1utN+hqUvs8+Mg1OQ18ATAJLJPIOk/HOXheCS8Wy4oZi5XBD04iSQ8hITfvjzi4k92XMbzgWh9fk7a2HtHN8KdqTxSVGZBwkyGz/DjoodxQgLtb6RycnQpJD7PMaiRF/NVgPmN15PgYfEx3QWAebPYGhaF3Pe7qNz6VB9kagB7TBXCpvjOouDiM6fGfJdNj+AD1HexkpWgjkKtC/GBAfHp4cOmGbV5evy+NBvMpkXWEpq+pkJyBxi70lsiDI/E3gLzu8MsfgnQ3rmGWlFFcXx56FJkJISamMZNL5mifbCIougq9pKEypIwA82ulN0MNAsq+xJhoWCZ5aOXVpbaA7OXkd6MoqL8EJRmD5MkP5Qa2APLMszfPWt3htOZmT2PM2fm3P2Hg9dzZvbM3mvN7L3WXuu/GsEfUG+QzkMCZZt+BquPo69+TtBFU4tUYiNKOr3+oS91NHmv+hCg8f5OPzssX/qFwTEFvGdYN4h1nqBPVFoR/czUJlqoLcJ5KEaXrgk3S0JKk6xRyvn9taoxvt+z+D2ogz0jgfAPSXlvqL8uspfod3HA2hUH3JvahrlP3iDzxa5ip1MABQuHTz2DyLw4V5KHmWEqTpQK8RBTAHtj+9SJcJt+Z36nlMWXCa/JivAuNXpMf96TnIXjN1oBmJNf9gzQlhQG6C99uk/1CBTi6PUR2lirFqk5n7/ToBlur1JweFz79DQFYDX8hVRyJJKS1vKqnSXlNCeEdaw+3T+keM+8Da71KARP96Py//jSqMDLeEDHYqsE0yEUWgFwUr2uHYXhY2SCtti0m+4RxskqjCzTvPar0rV4FGJZwjbPVovjiL5tejWDAlyvHToktUNPbICL9161WHqpSbcyZ2sXFOIWj1Ky//5+gvYmSaWQ/VVFVADD6vRczPNxTozSweTtcX9WjpGUsEPne6MQSQJLTGrhoiIogClEFyfGeqPa4QwYUbTbmsjfcp9HGeJWLpqtY7s6jwqwTPwL8QUB1+dgqdSR+EWaHyukdq1NW0zRsV6YBwWYqjdzc4zzGAB85Xuk58JUmyVf4NsY5zL21zRCASA2JaB6VYRzWOEO0g4/Kw5e4PA6XcfmqYjnEgm3XWK69eMoAF4zCOROszy+S230Vikz6DoEo0MVIUqm4Ai1lqbXWwFIeVxseewG7chF0txULPXCMoleY4u3x6Z6KABPL5sw51oca+iir3QyTAUbxY5C14AHjvKd/dJSgHado8Kqzb0jdnTZDvFgKIRtwoEoX4qL/KykCnC5hJcE/FyV41Ino0xgAuJsPISEYo6NqwBjxD9/FPwq5Y0dqgn86eSSOV5VRegMOQ5O0NFRFYCk/aByDczvbGN+4+TQcCxVRXgg4Bh2GttsFYAdrtd8GjIFyza4cc8d7lbZrPWR8xu2CoApUR1q9ZZYVqpzaDgmq6y2Vn0/TGpQsVUrAAsLL0kGQRUDdDHoUCyQrXGKlOMnDCAMvThIAarnESJhfnJjWVhQg6h6V3W+9z9e/3GHvia8YFuWOPrfm2hQWOPgOh2q9jIbKjhOdqnCH26ivhJMW82XSuQRYXivVCtALXOCsGkCIj8p8CBAjvu4CjwKiFtkl/OjAvedoJpa9NCdRgHMFEC6kl9SaxHrSJDkYaJvu2II3wzeh1IJ5y4it/75Pt+PVVP/PwUI8uJdULBO87STvpVm/H27Tg0LCzYW40L61K0AJCoG+Yz57biCdBjTZ0Yd258r4a7xvKCfzvdBVkJ/FIBEyuEBBw4MaSgvWJfRfbZL9KCNRoCd26C6d8h8mClZ2jeksfE57yyv+yxZjKbFXFdkiTAafOQ+oKSWQNgCZ0LOOzsq4+uVapjMeUOY8647MLWkwg/bFj5T8s0f+nMDrvl3jscDqtCwUijd+YkIHhKEAxaNXp3jDrPRkWV0Mbugm3I8HjbTIRFeB1EA/P02xDaTctxhsoZmZni9jhyPRYvlw0qU124UgIiezyxOaMv5WoC3wGUZXIdSGB/keBymiA87bBXYI+iuH8KroMuy8ZtyvvAxcXPv1qHt9dr2xzkfg07L4wg2PVzyDNw+i5MmSPpVtuqBcSqsh1Noy+T1TSxAvydZ+kKY8jeLZ/XPbt9ay4vcI8XBbKnk4eEXh5Fjd8i8SO7eOZJOZm/WsC089IJaAeKlicMjuMOyAQpxrhOHPAE63wUWx5GkgxPre6my/2HueMzyYrxaj3djnhu0Hv08aHnsAiP8agUAsFrZVM0iTOxpN+65wWqxS/Jhipvn/aL6pN/EvoIgpEmz3Ng3HIvFf9+/lv/inyAFMPa0bZWUR6R2kRGHbHCDlLO1bTCvlnlcCjh4TQTbe5iTReYYE2EaXuH3UAfNG9epcG0AE+dAJ5PMQLDuFstjIZnyZXAJWzjgWrUpo9hblaCPk03dQZCubX1u+AYD9wVsVo54/56wtAzYJTvRyaiu5p6t8B+S2gXUIysAgPbNxsdMGDmetpOcrFLHGWrG2ZQGmnb0M8em0SgUMeSVEWQQRqsO1x8ZKYOczFIDKfg2Xlpo9uAbfsa24agcQVCZESEcxvIFYTNxBiOc7BKDsHybsi4r9OGLRJIdlyZuqmplGH3rdjVXHOIBHoaw2AOcd0MlJgNpEqJIAkkIKL0j5DjMlclOlpFB7EVYjYOZuujeFfciaVDFUlWTbdOgjSS2H+90MrUGMQjLA35fpGO+POmF0iSLvlVvaqnP79R8W+JkG4onpUyPHyT429O6WD3o4jv1Juf4KMl6J2NfQL1zo890kKrgDbKoG0ju4UYJzqTZowvGbfrh76+lzETWDMAvMlytIj4j9d+BIQvoS9SkrhuyLhxJjZxVkqwcCpm/O6Vcr2+nLoB2q/mzR+pPOY+zC4p76FfgSyZaeoj+PURN4Lig4BWU+y9lJZBGVg5FGeDD7emRRbzlyGh+sREXb2TZOJxJvfVtwHby2z1I6NDwtWrf+zRK+I1WAC/YRBovlUhc5svnRSNXCw6cZSt1LWT6d4UERyf3OAWoxlc6F5Y8g3ahlN2de3Ms7L06rZ3nuW+cZdN1vZI7NEP1cLahiYmDEGG0rrD711HAWCkwkcBBBIHUj0UevF5HjjTDW9YhLv4FMFbB7o//JIUAAAAASUVORK5CYII",+        "keyProtection": [+          "hardware",+          "secure_element"+        ],+        "legalHeader": "https://fidoalliance.org/metadata/metadata-statement-legal-header/",+        "matcherProtection": [+          "on_chip"+        ],+        "protocolFamily": "u2f",+        "publicKeyAlgAndEncodings": [+          "ecc_x962_raw"+        ],+        "schema": 3,+        "tcDisplay": [],+        "upv": [+          {+            "major": 1,+            "minor": 1+          }+        ],+        "userVerificationDetails": [+          [+            {+              "userVerificationMethod": "presence_internal"+            }+          ]+        ]+      },+      "statusReports": [+        {+          "certificateNumber": "U2F100020210409001",+          "certificationDescriptor": "Hideez Key 4",+          "certificationPolicyVersion": "1.3",+          "certificationRequirementsVersion": "1.3",+          "effectiveDate": "2021-12-10",+          "status": "FIDO_CERTIFIED_L1"+        },+        {+          "effectiveDate": "2021-12-10",+          "status": "FIDO_CERTIFIED"+        }+      ],+      "timeOfLastStatusChange": "2021-09-13"+    },+    {+      "attestationCertificateKeyIdentifiers": [+        "2eb9ff3572f67628d1291a3b57924f818aad9e72"+      ],+      "metadataStatement": {+        "attachmentHint": [+          "external"+        ],+        "attestationCertificateKeyIdentifiers": [+          "2eb9ff3572f67628d1291a3b57924f818aad9e72"+        ],+        "attestationRootCertificates": [+          "MIIBxzCCAWygAwIBAgICEAswCgYIKoZIzj0EAwIwOjELMAkGA1UEBhMCQ0ExEjAQBgNVBAoMCUhZUEVSU0VDVTEXMBUGA1UEAwwOSFlQRVJGSURPIDAyMDAwIBcNMTgwMTAxMDAwMDAwWhgPMjA0NzEyMzEyMzU5NTlaMDoxCzAJBgNVBAYTAkNBMRIwEAYDVQQKDAlIWVBFUlNFQ1UxFzAVBgNVBAMMDkhZUEVSRklETyAwMjAwMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAErKUI1G0S7a6IOLlmHipLlBuxTYjsEESQvzQh3dB7dvxxWWm7kWL91rq6S7ayZG0gZPR+zYqdFzwAYDcG4+aX66NgMF4wHQYDVR0OBBYEFLZYcfMMwkQAGbt3ryzZFPFypmsIMB8GA1UdIwQYMBaAFLZYcfMMwkQAGbt3ryzZFPFypmsIMAwGA1UdEwQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMAoGCCqGSM49BAMCA0kAMEYCIQCG2/ppMGt7pkcRie5YIohS3uDPIrmiRcTjqDclKVWg0gIhANcPNDZHE2/zZ+uB5ThG9OZus+xSb4knkrbAyXKX2zm/"+        ],+        "attestationTypes": [+          "basic_full"+        ],+        "authenticationAlgorithms": [+          "secp256r1_ecdsa_sha256_raw"+        ],+        "authenticatorVersion": 1,+        "description": "Hyper FIDO© U2F Mini Security Key",+        "icon": "data:image/png;base64,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",+        "isFreshUserVerificationRequired": true,+        "isKeyRestricted": true,+        "keyProtection": [+          "hardware",+          "secure_element",+          "remote_handle"+        ],+        "legalHeader": "https://fidoalliance.org/metadata/metadata-statement-legal-header/",+        "matcherProtection": [+          "on_chip"+        ],+        "protocolFamily": "u2f",+        "publicKeyAlgAndEncodings": [+          "ecc_x962_raw"+        ],+        "schema": 3,+        "tcDisplay": [],+        "upv": [+          {+            "major": 1,+            "minor": 0+          }+        ],+        "userVerificationDetails": [+          [+            {+              "userVerificationMethod": "presence_internal"+            }+          ]+        ]+      },+      "statusReports": [+        {+          "certificateNumber": "U2F100020180918001",+          "certificationDescriptor": "Hyper FIDO® Mini",+          "certificationPolicyVersion": "1.3.4",+          "certificationRequirementsVersion": "1.1.0",+          "effectiveDate": "2019-08-02",+          "status": "FIDO_CERTIFIED"+        }+      ],+      "timeOfLastStatusChange": "2019-08-02"+    },+    {+      "attestationCertificateKeyIdentifiers": [+        "5fbc4ba753052187aab3c741d1f9ec6fb3c4d875"+      ],+      "metadataStatement": {+        "attachmentHint": [+          "external"+        ],+        "attestationCertificateKeyIdentifiers": [+          "5fbc4ba753052187aab3c741d1f9ec6fb3c4d875"+        ],+        "attestationRootCertificates": [+          "MIIBxzCCAWygAwIBAgICEAswCgYIKoZIzj0EAwIwOjELMAkGA1UEBhMCQ0ExEjAQBgNVBAoMCUhZUEVSU0VDVTEXMBUGA1UEAwwOSFlQRVJGSURPIDAyMDAwIBcNMTgwMTAxMDAwMDAwWhgPMjA0NzEyMzEyMzU5NTlaMDoxCzAJBgNVBAYTAkNBMRIwEAYDVQQKDAlIWVBFUlNFQ1UxFzAVBgNVBAMMDkhZUEVSRklETyAwMjAwMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAErKUI1G0S7a6IOLlmHipLlBuxTYjsEESQvzQh3dB7dvxxWWm7kWL91rq6S7ayZG0gZPR+zYqdFzwAYDcG4+aX66NgMF4wHQYDVR0OBBYEFLZYcfMMwkQAGbt3ryzZFPFypmsIMB8GA1UdIwQYMBaAFLZYcfMMwkQAGbt3ryzZFPFypmsIMAwGA1UdEwQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMAoGCCqGSM49BAMCA0kAMEYCIQCG2/ppMGt7pkcRie5YIohS3uDPIrmiRcTjqDclKVWg0gIhANcPNDZHE2/zZ+uB5ThG9OZus+xSb4knkrbAyXKX2zm/"+        ],+        "attestationTypes": [+          "basic_full"+        ],+        "authenticationAlgorithms": [+          "secp256r1_ecdsa_sha256_raw"+        ],+        "authenticatorVersion": 1,+        "description": "HyperFIDO U2F Security Key",+        "icon": "data:image/png;base64,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",+        "isFreshUserVerificationRequired": true,+        "isKeyRestricted": true,+        "keyProtection": [+          "hardware",+          "secure_element",+          "remote_handle"+        ],+        "legalHeader": "https://fidoalliance.org/metadata/metadata-statement-legal-header/",+        "matcherProtection": [+          "on_chip"+        ],+        "protocolFamily": "u2f",+        "publicKeyAlgAndEncodings": [+          "ecc_x962_raw"+        ],+        "schema": 3,+        "tcDisplay": [],+        "upv": [+          {+            "major": 1,+            "minor": 0+          }+        ],+        "userVerificationDetails": [+          [+            {+              "userVerificationMethod": "presence_internal"+            }+          ]+        ]+      },+      "statusReports": [+        {+          "certificateNumber": "U2F100020150805001",+          "certificationDescriptor": "HyperFIDO U2F Security Key",+          "certificationPolicyVersion": "1",+          "certificationRequirementsVersion": "1",+          "effectiveDate": "2019-08-02",+          "status": "FIDO_CERTIFIED"+        }+      ],+      "timeOfLastStatusChange": "2019-08-02"+    },+    {+      "attestationCertificateKeyIdentifiers": [+        "a7c65ac944e8d5146f5cbeb5fc328931908a5352"+      ],+      "metadataStatement": {+        "attachmentHint": [+          "external",+          "wired",+          "wireless",+          "nfc"+        ],+        "attestationCertificateKeyIdentifiers": [+          "a7c65ac944e8d5146f5cbeb5fc328931908a5352"+        ],+        "attestationRootCertificates": [+          "MIIBkzCCATigAwIBAgIBATAKBggqhkjOPQQDAjBAMQswCQYDVQQGEwJLUjENMAsGA1UEChMES29uYTEQMA4GA1UECxMHUHJpdmF0ZTEQMA4GA1UEAxMHS29uYUVDQzAeFw0xNjA1MTkwMzU2MDBaFw0yNjA1MTkwMzU2MDBaMEAxCzAJBgNVBAYTAktSMQ0wCwYDVQQKEwRLb25hMRAwDgYDVQQLEwdQcml2YXRlMRAwDgYDVQQDEwdLb25hRUNDMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEeMUeE+pdqSPj/orXUxm/j5c+Ds+6QyeYl/sVxL3DnGqHzNxPWtjdLYOO9MsfAB3pASqYbJXK//bFV2LP5QKJnqMjMCEwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwCgYIKoZIzj0EAwIDSQAwRgIhAM5FKBXX2GrIKffRWi7NavpoU59GirJiVxXEBerKP2btAiEA6IcBRCOKC0eICb9jyKbwaQp2d4c+m6t/b3DrYc/BsIA="+        ],+        "attestationTypes": [+          "basic_full"+        ],+        "authenticationAlgorithms": [+          "secp256r1_ecdsa_sha256_raw"+        ],+        "authenticatorVersion": 2,+        "cryptoStrength": 128,+        "description": "KONAI Secp256R1 Conformance Testing U2F Authenticator",+        "icon": "data:image/png;base64,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",+        "keyProtection": [+          "hardware",+          "secure_element",+          "remote_handle"+        ],+        "legalHeader": "https://fidoalliance.org/metadata/metadata-statement-legal-header/",+        "matcherProtection": [+          "on_chip"+        ],+        "protocolFamily": "u2f",+        "publicKeyAlgAndEncodings": [+          "ecc_x962_raw"+        ],+        "schema": 3,+        "tcDisplay": [],+        "upv": [+          {+            "major": 1,+            "minor": 1+          }+        ],+        "userVerificationDetails": [+          [+            {+              "userVerificationMethod": "presence_internal"+            }+          ]+        ]+      },+      "statusReports": [+        {+          "certificateNumber": "U2F110020200421002",+          "certificationDescriptor": "KONA FIDO2 BIOPASS",+          "certificationPolicyVersion": "1.3.7",+          "certificationRequirementsVersion": "1.0.0",+          "effectiveDate": "2020-04-29",+          "status": "FIDO_CERTIFIED"+        }+      ],+      "timeOfLastStatusChange": "2020-04-29"+    },+    {+      "attestationCertificateKeyIdentifiers": [+        "556d27f38b231bb3d818bfc1b615f260f6b08f20"+      ],+      "metadataStatement": {+        "attachmentHint": [+          "external"+        ],+        "attestationCertificateKeyIdentifiers": [+          "556d27f38b231bb3d818bfc1b615f260f6b08f20"+        ],+        "attestationRootCertificates": [+          "MIIB+zCCAaKgAwIBAgIJAI9gin1AD3+DMAoGCCqGSM49BAMCMFkxCzAJBgNVBAYTAlZOMRMwEQYDVQQIDApOb3J0aCBTaWRlMQ4wDAYDVQQHDAVIYU5vaTERMA8GA1UECgwITUsgR3JvdXAxEjAQBgNVBAMMCW1rLmNvbS52bjAeFw0xODEyMjQwMzEwNTFaFw0yODEyMjEwMzEwNTFaMFkxCzAJBgNVBAYTAlZOMRMwEQYDVQQIDApOb3J0aCBTaWRlMQ4wDAYDVQQHDAVIYU5vaTERMA8GA1UECgwITUsgR3JvdXAxEjAQBgNVBAMMCW1rLmNvbS52bjBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABO1rwi3NkmWzd0OGJ5OOcaMRqwV8ZDiXTC5uQxU2uPhIR5CxUU7B71dnsgLij5nkaZEa9hkf2Jz6f/ih3+HxDEmjUzBRMB0GA1UdDgQWBBRVbSfziyMbs9gYv8G2FfJg9rCPIDAfBgNVHSMEGDAWgBRVbSfziyMbs9gYv8G2FfJg9rCPIDAPBgNVHRMBAf8EBTADAQH/MAoGCCqGSM49BAMCA0cAMEQCIBEPema/jtaO1/1qeWM6SrrJtGBlcnGCJdk3tFeZNzCtAiAzCiNWBbrQ2KlKsw+7Qq/x1AbzUvw+SyWlPnJ0mUrDOw=="+        ],+        "attestationTypes": [+          "basic_full"+        ],+        "authenticationAlgorithms": [+          "secp256r1_ecdsa_sha256_raw"+        ],+        "authenticatorVersion": 3,+        "description": "MK Keypass S1",+        "icon": "data:image/png;base64,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",+        "keyProtection": [+          "hardware",+          "secure_element"+        ],+        "legalHeader": "https://fidoalliance.org/metadata/metadata-statement-legal-header/",+        "matcherProtection": [+          "on_chip"+        ],+        "protocolFamily": "u2f",+        "publicKeyAlgAndEncodings": [+          "ecc_x962_raw"+        ],+        "schema": 3,+        "tcDisplay": [],+        "upv": [+          {+            "major": 1,+            "minor": 1+          }+        ],+        "userVerificationDetails": [+          [+            {+              "userVerificationMethod": "presence_internal"+            }+          ]+        ]+      },+      "statusReports": [+        {+          "certificateNumber": "U2F110020180709001",+          "certificationDescriptor": "U2F Authenticator",+          "certificationPolicyVersion": "1.3.3",+          "certificationRequirementsVersion": "1.1",+          "effectiveDate": "2019-01-07",+          "status": "FIDO_CERTIFIED",+          "url": "mk.com.vn"+        }+      ],+      "timeOfLastStatusChange": "2019-01-07"+    },+    {+      "attestationCertificateKeyIdentifiers": [+        "2fea8f357c7a54a57f45cda72fafb34d1d449fd4"+      ],+      "metadataStatement": {+        "attachmentHint": [+          "external",+          "wired",+          "wireless",+          "nfc"+        ],+        "attestationCertificateKeyIdentifiers": [+          "2fea8f357c7a54a57f45cda72fafb34d1d449fd4"+        ],+        "attestationRootCertificates": [+          "\nMIIEODCCA92gAwIBAgIDAInBMAoGCCqGSM49BAMCMHsxCzAJBgNVBAYTAkZSMRMwEQYDVQQKEwpDZXJ0RXVyb3BlMRcwFQYDVQQLEw4wMDAyIDQzNDIwMjE4MDEkMCIGA1UEAxMbQ2VydEV1cm9wZSBFbGxpcHRpYyBSb290IENBMRgwFgYDVQRhEw9OVFJGUi00MzQyMDIxODAwHhcNMTgwMjIyMjMwMDAwWhcNMjgwMTIxMjMwMDAwWjB0MQswCQYDVQQGEwJGUjETMBEGA1UEChMKQ2VydEV1cm9wZTEXMBUGA1UECxMOMDAwMiA0MzQyMDIxODAxHTAbBgNVBAMTFENlcnRFdXJvcGUgSWRlY3lzIENBMRgwFgYDVQRhEw9OVFJGUi00MzQyMDIxODAwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAASLVL+1STJvaERO5WCR+jGcAxLvmPBDiZY1NgFFIhpX6OAZApQYmt6xSh74SwM+mjgnsSEcc4A2Uf139FgZ4rpYo4ICVTCCAlEwEwYDVR0jBAwwCoAITZ01tGuBPLowSgYIKwYBBQUHAQEEPjA8MDoGCCsGAQUFBzAChi5odHRwOi8vd3d3LmNlcnRldXJvcGUuZnIvcmVmZXJlbmNlL2VjX3Jvb3QuY3J0MFMGA1UdIARMMEowSAYJKoF6AWkpAQEAMDswOQYIKwYBBQUHAgEWLWh0dHBzOi8vd3d3LmNlcnRldXJvcGUuZnIvY2hhaW5lLWRlLWNvbmZpYW5jZTCCAWAGA1UdHwSCAVcwggFTMD+gPaA7hjlodHRwOi8vd3d3LmNlcnRldXJvcGUuZnIvcmVmZXJlbmNlL2NlcnRldXJvcGVfZWNfcm9vdC5jcmwwgYaggYOggYCGfmxkYXA6Ly9sY3IxLmNlcnRldXJvcGUuZnIvY249Q2VydEV1cm9wZSUyMEVsbGlwdGljJTIwUm9vdCUyMENBLG91PTAwMDIlMjA0MzQyMDIxODAsbz1DZXJ0RXVyb3BlLGM9RlI/Y2VydGlmaWNhdGVSZXZvY2F0aW9uTGlzdDCBhqCBg6CBgIZ+bGRhcDovL2xjcjIuY2VydGV1cm9wZS5mci9jbj1DZXJ0RXVyb3BlJTIwRWxsaXB0aWMlMjBSb290JTIwQ0Esb3U9MDAwMiUyMDQzNDIwMjE4MCxvPUNlcnRFdXJvcGUsYz1GUj9jZXJ0aWZpY2F0ZVJldm9jYXRpb25MaXN0MBEGA1UdDgQKBAhDaQbhTFtjcjAOBgNVHQ8BAf8EBAMCAQYwEgYDVR0TAQH/BAgwBgEB/wIBADAKBggqhkjOPQQDAgNJADBGAiEAoEepHMC5X9jBKaGphcKjidhiN+Znz7v3S3hc31/AunsCIQDKqogK2SZOXZcvvHCB6UQSaA0nLn4RUwy1guDivbZbwg==",+          "\n\n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"+        ],+        "attestationTypes": [+          "basic_full"+        ],+        "authenticationAlgorithms": [+          "secp256r1_ecdsa_sha256_raw"+        ],+        "authenticatorVersion": 2,+        "cryptoStrength": 128,+        "description": "NEOWAVE Badgeo FIDO2",+        "icon": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAIAAAD8GO2jAAACqUlEQVRIx2P8//8/Ay0BEwONwagFpFlw8cKFirIyR3t7S1Oz0KDgBfPm//z5k3izvn39lp+Ta2tltWTRIoTofxhYtXKllpq6srwCAikoRIVHvH379j9x4NSpU0AtQI1W5hZwQagPzp87V11ZiXAvIxj9Zzh54kRNZRWRPvj96xcDOM0zMTKiB9G8uXP//fsHNFRASLC+sXHm7Nlubu4Qm3bt3Llu7VpiLGCEmcuIacGZU6fB4cWQX1AQGx/n7OIyaeoUbV0diIvamluePXtGUST/+g32HSODhoYGRISFhaWppYWVlRUo+OHjh6b6BoosgHvqz58/cDl9ff3M7CwIe8+e3atXrqQgmeIokDKzs/X19EGy/xk6OzofP3pEWUbDsAYYRC3tbRwcHED2h/fv62pqCReOjCTmZE0trZy8XAj78KFDy5YuJd50VAsYcepKTU83NjWBqOnu7Hxw/wE+O/7jsgC315mZmRubm9nZ2YFqvnz+0lBfhzOg/qO7lQm/B+EAmHwLioogCo4cOrxk0WIiPUEgkpFBUnKymZk5hN3T1XX3zh1iYoKJcDTBA4qFubmtlYubC8j++vVrTVU1qHQhzQeMBHyhrKxcWFwMUXn61Kn5c+dSv8JJSEy0trGGsCf099+6dQsuxcLCCrH7P5IrSYgDeKFS39TEx8sHZH//9r2uGhFQN65fh2VPNoqqTCUlpeKyUmgxfPpMSWERMAMuX7asv7cXIqilrYXwFrxeg/qOuGZSdEzM3t17Dh06CPT0pk0bN23cCI9FYKZJz8hE98Hff38hDDY2diL90dHdpaurixawrCysre3tunq6iLTX0NAAToIsTx4/tndwiIyOAtYExFjAzc3t4+sLJL99/QosE0VFRe3s7RtbmoGVFUqcjTYdh78FAIhBLlNd7ju1AAAAAElFTkSuQmCC",+        "keyProtection": [+          "hardware",+          "secure_element"+        ],+        "legalHeader": "https://fidoalliance.org/metadata/metadata-statement-legal-header/",+        "matcherProtection": [+          "on_chip"+        ],+        "protocolFamily": "u2f",+        "publicKeyAlgAndEncodings": [+          "ecc_x962_raw"+        ],+        "schema": 3,+        "tcDisplay": [],+        "upv": [+          {+            "major": 1,+            "minor": 2+          }+        ],+        "userVerificationDetails": [+          [+            {+              "userVerificationMethod": "presence_internal"+            }+          ]+        ]+      },+      "statusReports": [+        {+          "effectiveDate": "2021-09-21",+          "status": "NOT_FIDO_CERTIFIED"+        }+      ],+      "timeOfLastStatusChange": "2021-09-21"+    },+    {+      "attestationCertificateKeyIdentifiers": [+        "1434d2f277fe479c35ddf6aa4d08a07cbce99dd7"+      ],+      "metadataStatement": {+        "attachmentHint": [+          "external",+          "wired"+        ],+        "attestationCertificateKeyIdentifiers": [+          "1434d2f277fe479c35ddf6aa4d08a07cbce99dd7"+        ],+        "attestationRootCertificates": [+          "\n\n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"+        ],+        "attestationTypes": [+          "basic_full"+        ],+        "authenticationAlgorithms": [+          "secp256r1_ecdsa_sha256_raw"+        ],+        "authenticatorVersion": 2,+        "cryptoStrength": 128,+        "description": "NEOWAVE Winkeo FIDO2",+        "icon": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAIAAAD8GO2jAAACqUlEQVRIx2P8//8/Ay0BEwONwagFpFlw8cKFirIyR3t7S1Oz0KDgBfPm//z5k3izvn39lp+Ta2tltWTRIoTofxhYtXKllpq6srwCAikoRIVHvH379j9x4NSpU0AtQI1W5hZwQagPzp87V11ZiXAvIxj9Zzh54kRNZRWRPvj96xcDOM0zMTKiB9G8uXP//fsHNFRASLC+sXHm7Nlubu4Qm3bt3Llu7VpiLGCEmcuIacGZU6fB4cWQX1AQGx/n7OIyaeoUbV0diIvamluePXtGUST/+g32HSODhoYGRISFhaWppYWVlRUo+OHjh6b6BoosgHvqz58/cDl9ff3M7CwIe8+e3atXrqQgmeIokDKzs/X19EGy/xk6OzofP3pEWUbDsAYYRC3tbRwcHED2h/fv62pqCReOjCTmZE0trZy8XAj78KFDy5YuJd50VAsYcepKTU83NjWBqOnu7Hxw/wE+O/7jsgC315mZmRubm9nZ2YFqvnz+0lBfhzOg/qO7lQm/B+EAmHwLioogCo4cOrxk0WIiPUEgkpFBUnKymZk5hN3T1XX3zh1iYoKJcDTBA4qFubmtlYubC8j++vVrTVU1qHQhzQeMBHyhrKxcWFwMUXn61Kn5c+dSv8JJSEy0trGGsCf099+6dQsuxcLCCrH7P5IrSYgDeKFS39TEx8sHZH//9r2uGhFQN65fh2VPNoqqTCUlpeKyUmgxfPpMSWERMAMuX7asv7cXIqilrYXwFrxeg/qOuGZSdEzM3t17Dh06CPT0pk0bN23cCI9FYKZJz8hE98Hff38hDDY2diL90dHdpaurixawrCysre3tunq6iLTX0NAAToIsTx4/tndwiIyOAtYExFjAzc3t4+sLJL99/QosE0VFRe3s7RtbmoGVFUqcjTYdh78FAIhBLlNd7ju1AAAAAElFTkSuQmCC",+        "keyProtection": [+          "hardware",+          "secure_element"+        ],+        "legalHeader": "https://fidoalliance.org/metadata/metadata-statement-legal-header/",+        "matcherProtection": [+          "on_chip"+        ],+        "protocolFamily": "u2f",+        "publicKeyAlgAndEncodings": [+          "ecc_x962_raw"+        ],+        "schema": 3,+        "tcDisplay": [],+        "upv": [+          {+            "major": 1,+            "minor": 1+          }+        ],+        "userVerificationDetails": [+          [+            {+              "userVerificationMethod": "presence_internal"+            }+          ]+        ]+      },+      "statusReports": [+        {+          "effectiveDate": "2021-09-21",+          "status": "NOT_FIDO_CERTIFIED"+        }+      ],+      "timeOfLastStatusChange": "2021-09-21"+    },+    {+      "attestationCertificateKeyIdentifiers": [+        "3e1b66cbc88605adbb34e0a2d6b86e8862c56627"+      ],+      "metadataStatement": {+        "alternativeDescriptions": {+          "en-US": "OCTATCO EzFinger2 U2F AUTHENTICATOR V 1.0",+          "ko-KR": "옥타코 이지핑거2 U2F 인증기 V 1.0"+        },+        "attachmentHint": [+          "external"+        ],+        "attestationCertificateKeyIdentifiers": [+          "3e1b66cbc88605adbb34e0a2d6b86e8862c56627"+        ],+        "attestationRootCertificates": [+          "MIIDtDCCApygAwIBAgIBATANBgkqhkiG9w0BAQsFADByMQswCQYDVQQGEwJLUjEZMBcGA1UECgwQT0NUQVRDTyBDTy4sIExURDEiMCAGA1UECwwZQXV0aGVudGljYXRvciBBdHRlc3RhdGlvbjEkMCIGA1UEAwwbT0NUQVRDTyBSb290IENBIENlcnRpZmljYXRlMB4XDTIwMDIxMTA0MjYwM1oXDTI2MDIwOTA0MjYwM1owcjELMAkGA1UEBhMCS1IxGTAXBgNVBAoMEE9DVEFUQ08gQ08uLCBMVEQxIjAgBgNVBAsMGUF1dGhlbnRpY2F0b3IgQXR0ZXN0YXRpb24xJDAiBgNVBAMMG09DVEFUQ08gUm9vdCBDQSBDZXJ0aWZpY2F0ZTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALZYa+9YZLJn4FWckDnY/ERoCuO3TBta0W3f8R9SY5d5sBk2QiupciI/l7fwPrH3FDkeVPXejMe+kT0VoJJe+N9EMWer0/5PXIP97nruYcr0DxbhZpesQEeU8BeIUunpNNnEJpoxoJTwoDmu83ZKk4m8g0/PfpJwDhmPCAqm79sFtP8g7lC9qms5TD/6PNz+2aewKXTQAR1opfhnWDUsIZtuUfERhlGwxU7X+h3oQ2kSGw5holfKSb0g3pwGTcTVNvfUMXH7CaiTq/K7T/jdACD+9aNjtcd3PyQerA8Sa2N28rvkN8YfKoDPg5gA378ONDV3BhrhtY8UiDkBcTsXAQECAwEAAaNVMFMwEgYDVR0TAQH/BAgwBgEB/wIBADAdBgNVHQ4EFgQUOCmK310Gu3q9DfX/bvdpsf4GI8UwCwYDVR0PBAQDAgH2MBEGCWCGSAGG+EIBAQQEAwIABzANBgkqhkiG9w0BAQsFAAOCAQEAnDTcZneK/h0Qb8sFxgFS8Fa5djQnSJQUMFZ/kzOsPh1DVFDF4nDG/HlU+d7KaNhaQ7XLt7xAjhzEyTyHaMH76gH08r33NdVZ/4sMh9GILU6bSmJYOtdVi3zB3p69bnYZHJVqvJKX5lEsSpn/opKYlvto2n0/4s4awJh+q+BkyVSPTRMX6Lfbn6IRu4cbeS0W13tsQ5SbpAo9NH2FATzVMMKSGEdiQnfYygdWvuDCLUtQF1wGmGSYsEPFTV6PG1VP5HS4fhrBNburi38NIUocfkpfmOIy+hHZgfvpZzork1GvF3PZRItJnTTv5Ujq0qD8rnr81qwvGlTCJIBtEUmNwQ=="+        ],+        "attestationTypes": [+          "basic_full"+        ],+        "authenticationAlgorithms": [+          "secp256r1_ecdsa_sha256_der"+        ],+        "authenticatorVersion": 2,+        "cryptoStrength": 128,+        "description": "OCTATCO EzFinger2 U2F AUTHENTICATOR",+        "icon": "data:image/png;base64,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",+        "keyProtection": [+          "hardware",+          "secure_element"+        ],+        "legalHeader": "https://fidoalliance.org/metadata/metadata-statement-legal-header/",+        "matcherProtection": [+          "on_chip"+        ],+        "protocolFamily": "u2f",+        "publicKeyAlgAndEncodings": [+          "ecc_x962_raw"+        ],+        "schema": 3,+        "tcDisplay": [],+        "upv": [+          {+            "major": 1,+            "minor": 2+          }+        ],+        "userVerificationDetails": [+          [+            {+              "userVerificationMethod": "passcode_external"+            }+          ],+          [+            {+              "userVerificationMethod": "fingerprint_internal"+            }+          ],+          [+            {+              "userVerificationMethod": "presence_internal"+            }+          ]+        ]+      },+      "statusReports": [+        {+          "certificateNumber": "U2F100020210204001",+          "certificationDescriptor": "Ezfinger FIDO U2F",+          "certificationPolicyVersion": "1.2",+          "certificationRequirementsVersion": "1.3",+          "effectiveDate": "2021-02-04",+          "status": "FIDO_CERTIFIED_L1"+        },+        {+          "effectiveDate": "2021-02-04",+          "status": "FIDO_CERTIFIED"+        }+      ],+      "timeOfLastStatusChange": "2021-08-05"+    },+    {+      "attestationCertificateKeyIdentifiers": [+        "3c22b597f30e8689ed2460f9dfe99b75103292f6"+      ],+      "metadataStatement": {+        "attachmentHint": [+          "wireless",+          "nfc"+        ],+        "attestationCertificateKeyIdentifiers": [+          "3c22b597f30e8689ed2460f9dfe99b75103292f6"+        ],+        "attestationRootCertificates": [+          "MIIDAjCCAqigAwIBAgIJAMEVspeEsGiKMAoGCCqGSM49BAMCMIHbMQswCQYDVQQGEwJFUzEcMBoGA1UECAwTQ29tdW5pZGFkIGRlIE1hZHJpZDEPMA0GA1UEBwwGTWFkcmlkMS0wKwYDVQQKDCRSZWRzeXMgU2VydmljaW9zIGRlIFByb2Nlc2FtaWVudG8gU0wxIzAhBgNVBAsMGlNvbHVjaW9uZXMgQ2hpcCB5IFRhcmpldGFzMQ8wDQYDVQQDDAZSZWRzeXMxODA2BgkqhkiG9w0BCQEWKXVzdWdlbi5Tb2x1Y2lvbmVzQ0hJUHlkZUVtaXNpb25AcmVkc3lzLmVzMB4XDTE4MTAxMTA4MDY1M1oXDTIzMTAxMDA4MDY1M1owgdsxCzAJBgNVBAYTAkVTMRwwGgYDVQQIDBNDb211bmlkYWQgZGUgTWFkcmlkMQ8wDQYDVQQHDAZNYWRyaWQxLTArBgNVBAoMJFJlZHN5cyBTZXJ2aWNpb3MgZGUgUHJvY2VzYW1pZW50byBTTDEjMCEGA1UECwwaU29sdWNpb25lcyBDaGlwIHkgVGFyamV0YXMxDzANBgNVBAMMBlJlZHN5czE4MDYGCSqGSIb3DQEJARYpdXN1Z2VuLlNvbHVjaW9uZXNDSElQeWRlRW1pc2lvbkByZWRzeXMuZXMwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAAQgGumSd5bd9pwLs32XWSNbHFCQdGgkCBLuSHJneXQcEKCBWRC2yM0Ma/jeyvWS8ZThEhNoTuoG0HKDGwC/pfCEo1MwUTAdBgNVHQ4EFgQUPCK1l/MOhontJGD53+mbdRAykvYwHwYDVR0jBBgwFoAUPCK1l/MOhontJGD53+mbdRAykvYwDwYDVR0TAQH/BAUwAwEB/zAKBggqhkjOPQQDAgNIADBFAiBZeD9j6oUKMZ0kW0mDCnHqKplZbWeTSxGzvSRf9Jsf8wIhAMf8d10ylzIYulfiu0Ont5sIW5/REme0VwPx9ObhLATz"+        ],+        "attestationTypes": [+          "basic_full"+        ],+        "authenticationAlgorithms": [+          "secp256r1_ecdsa_sha256_raw"+        ],+        "authenticatorVersion": 1,+        "description": "Redsys U2F Authenticator",+        "icon": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAYAAACtWK6eAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAACbuSURBVHhe7Z0JgB1Vmbbfuvvt7nS6O3sCJAISAhFRBBUElMVAYCKRgYCJEcKwiozoDOqAqGwjm7IohmX4dYRBQBHZQQiKwI8CioIQICyJCdl7X+5aNe976t7O7aRThJA0v/7fk5xbdatOnTpV9b3nfN+pqtteQGAYxqDEKlPDMAbBBGIYEZhADCMCE4hhRGACMYwITCCGEYEJxDAiMIEYRgQmEMOIwARiGBGYQAwjAhOIYURgAjGMCEwghhGBCcQwIjCBGEYEJhDDiMAEYhgRmEAMIwITiGFEYAIxjAhMIIYRgQnEMCIwgRhGBCYQw4jABGIYEZhADCMCE4hhRGACMYwITCCGEYEJxDAiMIEYRgQmEMOIwARiGBGYQAwjAhOIYURgAjGMCEwghhGBCcQwIjCBGEYEJhDDiMAEYhgRmEAMIwITiGFEYAIxjAhMIIYRgQnEMCIwgRhGBCYQw4jABGIYEZhADCMCE4hhRGACMYwITCCGEYEJxDAiMIEYRgQmEMOIwARiGBGYQAwjAhOIYURgAjGMCEwghhGBCcQwIjCBGEYEJhDDiMAEYhgRmEAMIwITiGFEYAIxjAhMIIYRgQnEMCIwgRhGBF5AKvNbFBVaZoq7b4DPVC7lELSvQtC5DF53B3yfS+NxxDJ1iNePQbl5DBLZ4f2q1faaV1J5HpNhDCVbTCBVA65Oc4ufgf/XR5B4ZQG8xc8hWLMKsTyNnYqJJZiPVl81eNXAlxqKTFxXbG6At82uCHbcD5hyEBJTP63FDgktxs+AnyYYY2uzxQSS610J//FbUHrqViReeArJHA2fVp3KcmWmkuIxCoPKCHwad6Wf8KQMElA5TmEBgnI5XEzBlAvqeZi23RHBficgfuApiGea+gVjGFuTLSKQsh+guOpVpFsmUBH1bpkKDXpbUXjjWXjP3Qb84UYk+nzE67giloYXpwIkhko34NXUws26anG9n1QlKRaqhT1QuRvom7wbEp85D6kPf0Y5EWP347NrqrpzhrGl2GoxSJWK1+TiifJLC4Cb5yDZvhxBQ4wG7VEgtRFGv9MVfrJqEg5lAs/nOlVVPlaegqBQiukUil/4L9TtMyfsj9gzqbxK32QY75qtLpD1kX33LLgEmdu+Bm9kPcVDX8xj299fjapIqlAebpUX9jLsrbTMKa5QQrmTPUpDM2JffhCZHfZ06yw6MbYUmywQ14rLMN9l+xwG2UD30ueRvGw3pJoS8Dz1MdVqMIdXMXBXNc1zzxIGlys2cSG6BKJlzB4UiiivpFA+/llkzviF2yLB3gSudzKMzedtBBLKopzrRrHQi0zjaGd8WwLttLBoAeLzD0SsJSsJcCFL9yQh0i8SfVREwqp6MnxN6XK5qlMoXtlnHESHrSOPfJGCu2wJhTeOeUoIYglzuYzN5m1sx0O+ZxXafnQqsltQHCE+kjsegPxe89g79MFL0OiZgiSrlKTLleDelJJKzJ704aUoCM2nuIzJYwoyzMvEuB+xEUmkmqmYU8ej7/mHUaY4nKAMYzMZvAfhkhJtsNTXjvLMZsR/2YFMtrGyckuh3XrIlQuIfyeN5PA61SZcqt7D9SZM/WidehDXgRAZPmd8Csr1JBX3q0ghlcooLSkhf/ptqP/oUVwvd0v/rS8x3hkDLYaG5vQi+ywX4c1l8LvHZCS3uDhEaPzpeAq5HfainRfgx7mMPUjAacAeQ72GpmFi3VKsF6dQT5JiPvU0lR7HrUtTQHVM9QkkdkghPf9o9P3xQWpHInK7M4x3xACBBGqx+b/A+fypo5DQzb1dP71V213F2ukJ+7CzKLk77BIFUhKHRMLqcFk16S683ColUCie8jmxyP1SQUrMSKEgyyw7phC//hCUVy8ORWIY75ABVqM2nWaH3OWHob7YAY8GFwwf6Yx4a6F9lrIt7qEtF3+oRnF+SAwJ9RLVJMEwVWITL0khJJOcMjhPSRTMo14lw/X6nk3Cz8aQnBhH8ZJJbj+UE49vax6N8Y9GRSCh7y/yz/0aDU/eB28YPXbambd80VbtQWS4sd7FFAMNPSYR0MgpDuc2cccBRQInlIpAuN53SYJivqrblWZJEoeWZ9SrsGx+97Ip1DUDfTfP0u54nCrcMDYNZ/vqNYKg6NrW0pUzEIyhoTFIll/vL3poq7e55bceClt+N5IVQ4wCAOMQzXuVaYxTlygSrfdckiDkcnFeeROJSm9CEWQoOE0V+zdlkX75NuRbX9yqYjf+8QjthYG57yXR/dC1qC/k3I1trZE7k16+ErkVr7hsWxLd7FOv1de6EJmeJRQHAx65TgrQJQrVwQ3zMhdtvt/VinM7CSnOuIPzElWYuI1iFhebhKJxIknRDaNQEhNY1t0nODfLMDYVN8wrQ1UvkT9xOOqTnTQ2uTc0YbbKKAXoa5qEum+/Fm7gPt89EohKy986Fan8a3TndEddAuAeuKo6VU56XqyPFBOKSq6Y/oXrtYCzeg5LS4MyE+fds1tcpanPBoDLiyt74Z28Aqn6MZUNDSMa14PQhFB8/U9ItVEcNQZKp8X58dm219Fz66lb2NXyUPjtF5Hu/SviKfUerAo1EOhGh2rF5KlXUC+ioD0m9yv8rgEpn3mrcYgeq3fDvZpS3EjSN2SvEShw1/J0gm5ZGulRbAieuwQlZqNk+GkY0dB6Qvzf/BdiTZqruDj8JxPSNFafQvbJ+cj/4otOJKFQqs33O0Nlavue35+O5KvXwKsfxp3QXNkr+BSCYgkXV3DiUuW77+INzlMgcv1cbKJORYKuJCem6vYa3VJyQ7/cq4Z+6+oRW/7fXKBOZfPqb/z/Rf+d9NwZk5AsLWYgLCOkoequtlpj+fv8V5aB9uZRGLcjYqc8hXTdCFeADF5v+NVobQAaVvVqRo7yuTXw7t0Pqe6XEGSHu5Y8FpdLp71wP4wtYp5EGpYnmbq754MX/7Zo2xAWwEMt9bQiOKIDiVQjyzaMaJzZyYaKqxe7GACKPejO+EwKiH3Pd/NxWlqsMY1s1yLEzhuJvts/i97WMHjXA+Ybo0xxqPy+jpeRe+RoxG8ehUTxVQR1w7kvtfTaJ3OoCLpI0oUnd4r7VZIVb644hJ5YCRPLUtlywzqfDVcaxtvgldmDlLrbEf9CMzCe7hSNSMF5TD0IXRRnvM5qmVvf1ean2MoXCwjozBcbGxDsOB3xCXsDI6YAGbXMbPcLjGfaFwJrnkCw9H4k853wskkaaJa9BHM4IbCnkLxcDyIZhcudorQ/TbckLNPPtaL4wRuR3P74CFkb/y9Q8tm8xuIoFrrZbityrJoGG/GupUiM2s2ZydbEK1EghRVLkD59ImLjaDI0VJ+uVUwG6wTBlpdT14rLp+d3t149i6ZBjutK7tUM94yh8nGqQSdfT9jGJQoG4a4sreDBKU6Q66TvKS0XctMq229FvFwnena9FPU7nVlZYlSZPmMmr7sax3Vml8vncdAnP4GzzvpaZcnWR42mbEOxau7pG5D++YlhvEliRS7romdy+p1omBq+cr01cTFIz7JFyH7l/aFAdE/EjQTJ4ikAxiChIMqVqWITxigUkIxZwXI4AsX87BFcwK31LEKxR5CQm6Tv4WHLjdLpVx5dDJ/luqd3h4ig0IXczt9F3eSvVpYM5OlnnsXPbrkF9Q0NlSXRqO7NTc1obmnGpEkTMXXXXTFiRBif/b1xxD8fgwSvce31yFMg++67H/79zC9Vlmx9/DIbUXotvY9fgOz930S8KQOvWEY5V0S+bjvEznoNSb3KwLxbuT0NBZJvX4XkiWMQjE/SpNkb6CRRGLr3EGPQ7CcTrsdwo1saRWLlQ4HI8CkAfle84vG7pvLTnCA4lXC0XLcj3ABArbB0iJyXdIYCtUpBvg3FqfOR2PGkQU/uQw8vwIXfvRgtzS2bXC+f3Wfg+yiVSyjQoJoah+HII2fic8ccU8nx98HMo451AlHDVSWXy1Eg++LfvjwUAgnPd5HXqfTAmUg9eQViw7LuOgRrc+jZYzayR93kRvM1CumiW+eTbz1c6cmm0chzTr8O4lA91zUi/bggnsvdU79uATOq19AJ1TKtr8y61ZwPXSbm0xCs62EoInfTL1y+qUa4JdCe2B4A9dsOdniOGOuWSqWYkkjXJLcsyWltcvlSyGZSqKvLoHHYMIwYOZLiT+Km/7kV0//pCKxes7ZS8tAd598rsgWNeRbvOAapP1yBeD17iXIOJYojP4e9OsURU+DLUxmv2ttWxu1BH6WWFqoyjAOcCMK5CqwUl+ndpHAFP1Q/VZIxhc+kcNvX4x9a4Vwu9hoUDvsSlOVycX2Z+UCXK+ZGyliK2/tQwjoq1mv+kGq5CSiXas6jYg9R7OtFbxdjmO5udHV0oGPtWnS2tdEN0W+3hCXqM85jH0axZOvrcfSxs91y4+0p0lp675yD5Js/hz96PArZUejNjod/9mJkpx7j7DTu6YmLMP9Q0G+i8SkHuRdBpGInToUOAypS80Ui4Vfdu3CZ1Cq7jZTC1YKzdK08dhw0MK2q9jRc4wXvRaKYUw1IZMZqHMTVcVNQjde0tuKH1/wA99z9K9x71y9x/7134f7778aVV1yOD+/+AbS3tYaZa0jE48jW1eHHP9HNSZViRJFg71B3xE1IfqWE5CnLkDjjLWT/dSnSw7YLe/7KQM5Q0i+QYN8vAF2c6jqyMvKeBl7S9QxKMYlUpFnldNsxaejWqUFLOXVBOZdRHGqJVb4eJ3kvEvw+lMbPcNVUv/BO0AUqFdRTrCPGLn7yTjvh3HPOxqcPPtj56+uTTqfxzLN/rHz7x0dnVVYxmClrnbPzjRBj71B1voWMU2al5BrZdeYaffUqK8NJ7WeI5qt11HztOkdNJV2QrozuEZLZHjLNXK8XkfTLhxqC9eJsdct0i/S4R3UUi0F8nMG8vuuIJAoKwQX1CuKlD70mywNyQbyGeBW88/vQu1XrKPW0ITjgGSRb9tCBs5I69QN5eMFvcfFllzFI54moYfXq1fg/183HxEkTK0sGsnLVarpTczB27MAHIUulEobVsxe58YbKko3z1lvLKaZnsOjVRVi1ahXyBbakPNcjRrRg4nbbYbcPfhC77DKlknvTWbu2Fb97/Hd4bdFrLHclCsUyY6Y6bLPNeOy1517YY48Pu3zvNEiXzRQ6FyL+5k3wVj2IcvvfEC+sBE3DWV2Zp7cUa0KyfjzKTbujvP2xyE48HEW6q/6vDkVcr3LTIHQVgrJuDNMF7mqHd+RdSCTTvEayP+1pIK4Z+tnx3E8H13N7laGBkmI3cu87FNkDznBCUzW0ealrGfzHboD3wv0Ilr6IRGeX+51o2b3azVI6hnLzeHjbTkX5A4ehbtrp/UINHzWpHEzu5n9D/SOXI2jUKBbX8mQ546exu9ErCUP3Sehjx5KVYV8F3zI0CiAcutV2/NDol365nbPuLUBOh3I4d338oIiCNxqp6XoBjAfsVFxZWcPmCuSNNxZj3smnYPSoUZUlIfl8AbvvNhXfPvecypINWfCbx3DttddhFQP6OoopHmdLyvOuU6mLU9b1KZfdkGucBnH83DmYNeuocOMIlvxtKc6/8CK8TGEMa6BryXLdfQ6WqVGgEo2qr68P9ZkUfvY/N+O4E0+Gz/1ECUT1UVte7FqI4PFDkex4k9dbboIMhg2re3paF505A0qIyS+xqcznUNx2DhKH/NSV0/3oaWh89kfhvTJeC40EyljRC/Ts+23U7fctfmG86s7CQHrXvIr4d3ZCMnyMz4UD+kMBhdVc+YO1SDa0uEubz/XA/97+yD7/LFAv+2N1qnaoG3dlCZDTIjd2aufxNo5E+obV/XutTFUzimD2pejrZt7KI+JhH+Qco8qUuI9atK0WcupK41RfVQkmpz/O6k75YG7PkCTuW3eXyh/5YaX6qpub2Tx4TOtzxdVXornJPe05gDUM5DXkuzFOOuVUXHTxpRRBgNGjR6GBgX06nXJ/GiLP3qdEdSRpgGrxJVoF/z/+yU8wb96/VEoYnDt+eQdmzz0ea1vbMW7MGJZbhwyFoNG5eCqFBFMmk8aIlmbOpzGX5aWSCoCjT4zEUVj1MGL3TUGqsAZePY0xXs+kFp8Z9FOX+XamDnh5/T5sHwVA26JtxOPJ/lY7+6lrkHONcJoNMK03kYWXqkMwjI3w73k+uCq2EXfDf+hsJJu4cTKFgMfDg3Jl+vv/M2IUhyh0roB3cgOybz2L2Eg2DFkem25069LnmJnhBLq5ly7WTT/uqcExiTW97s9viHCeW8VpxXU8+PJxlyLeytySpJouGXxJI87Mylkt0WkKnzXnrMtTQbPuDiG3lRHxvxuJUzeobd4TeALyReRaPoTs6Gk8kTX1fQdoMxmno8aIliz5G0774ul4/bU3kaRrqtKre2hta8O0gw/EB3bdtbJkHcoz7fAj2Gu0OiON63EbLisUCujp6sKnPrk/5s75HKYfOo29SQy5XjatRPePGptbsKajE3OPm+eWrc/dd91Nwc7H+PHjWCdZoVAz56G3tw9r2Rvm2XOoTM2XSjJHz/V2gwmkukS/bumisMcORjBczbd+KaMCe+hivA653Wn40x5F7tCnkD/oHuT3uBz5CYehwF34+a5QIEy0Hnh701vpo69TQ0D7yfT0IP/GY5yvLKygRkTuVeqPt9NzkT2GvRn7Q0iLqWNvdOWK8iV76aknejpylsKCdFM6R9PunfkfyJ/9AHovfBL5c+5F3wlXIbfP0fQwUii1rXbirBK6WBU0owPo/fIkNBQWw8uwEnqYUDcCuWe9pedaYz3Zq+BDb+/pbT7NJ+hSMa+eq9K86hTo4qgFV6yiId71j3hro33TdyzkW5E4gu5JnC0zF0uzG2NjLlaJrsdwd3ddvZLnjGptaxtKxQLdl3p6GRQHl0uARS5rbW3FYdOn49+/OvgjLcedcBI6OjvdfRThxEEXasLY0fjhD652y2r55jfPxZ9fXIhsJuPy6kyuXbMGX/nyGRTRIS6P6KFxHTL9cIzbZsN7PXITP/+5Y/GFz88OrxPpo0iu/tG1eOjhhynUDZ8AqHWxXGjR9id4j3wYCT3NXW0c9TtkPR0ozQn0UwD957eytn9abFuEVPOO/fXStShe2YB0ssj2mDbC81f2y9RaAcXmfZA9/nfMxK1dgXrIifV5/BrU3ftFdkEZum56CkPCo/u809FIzbvVxQ5F9lrBSXVINLNM7ZwNvPZWYsPf95/PoX67D/J7eA6FytW8Ui9jlLptdulfN8BWNAwq9aQuX4TutdyQviOd0tCjYAo473oC99ZeqF23sloaCfUWLlDlK5uGSQY7hEmUc63wPnq3E4eIEkcUGrLt7O5GR3cPOju7ne8ut6WJQorrBS2JpljEqpUrscOkSbhu/jUbFccfnn4Gby5Z0i8OoTvxPl2qwcQhzj//PHQxuBTV0z2c+7719l9UvoVcffXVaB45qvaSONYwUD/7G1/H8cfN7ReH0DD0Wazn7NnH8rjoHkWgc1emjeghCNdQ1jR4iXQC/hOz9AJqP1qrpO2U0jXiEMrqT7se6KbzX7MiQBaxxY8jRzdNT5K7xzDccs4+9g33KvU6GKPRo0vMvmHgCBgNuRIUkLBSATu9+PXH8dqxXH7XWiVtp/ppvr5GHGKgvdAVoleHtILE7z2PwlssuEj3SH/Qhs2HV6Ik3C8YsoigxP+asgj3nf4d9+rsUuNinDrtcO+1OxwKtD/t2+9pQ3GXc5Dc5nAKXxV7d+g+jlo53QiUSyR3RPtSKrCl3W2XKXj0kYdw6aUXY6f3v99tMxh33vmrAfGKaqbtjzrys+673KzaVNTfRiEjR410sUkVifbNNxkk1/DY/30a6RrhiRKFN2nidjjwU/tXlmzI8XPmuGOKepFMxqIRwKLOrQLw2nOabEDdsjsR/6mH3H0fQuGP30J+ze9dr6OcqvX6Jes9otTOx6J3+ARmoj1V9i1HNZ1h/kcvYg56LZXGLr/0z8i2dtLk9BYc0fnPl1DY+/OMHYa5zsaRzKIwdhRFor2vI0lPp27Fc0gd14TCmePR+9NT0feXh53bqLR+/cRAgThCc05PmArvO4+guIymVfDdMJwujvxQdxxqPZwVui+V//xw1sliWXmtUTes43OGpF5nK6dASfvqbUNux9OQ2eV8fmerx+XvBhmOT0OVG9TZ1Y22tvZ+Y9X+Uuk0nnv+ecz4zEwsfPllt3xjvPLKK4hr5KeGTDaLX9x5Jw4+5DBM/8xnB6RDZ8zEQYcezh0xEqwZYRK6HtX7L3L7Ojs7BuRR3VTnAyLEUWXcmLG8zhFNCfev1ra09x1ARwfz5WkGMn930dkU1/P/cKQ6X0bixfORvPNjKP84jvJjs1HMr3blOhH07yB8lS5+6C0o9uoJrOoKTiny4OkrnYHqZrPOtPfQ1xBT6OO+KRdjD3aq6Vk/cN/d+0NEZ9b76mMo6N5tnsfjLr2zQBcGyPXKdi5H5sH5SF9wMDCTbvhFB6Cw+M/K6My6yiACCesvdSd3PQD+xU+jsJJGTqXGSgx4NSTGJkQ/iqAKumCeJerAqy2Ar2G+ij06cXBea9Z3gbZsCsvXD/T6EsfO/4HM7j90dXRDhZX6bC5r6O/fcN18/OqO2/HA3b/Eld+/zAW1at1VtOKPVCZLQ6/DSSedgnvuvifccBAKhbzrfapUt0+y2ZTLpt5lsCQkympy55zLCpUbmMuWLWUvMFB4KrvM9ePHDBx+Hgz1js5n3xhcr31mx89EcTo9jPR4oLuDiqFr5od1UI1iXoZBdCNiDRRLKov4G7cicd1o9P7hHGfszigImzQ3jW+3L7xRe9Cm9JueQnkSSJfy6Fl4lzPSEtfFXnyQ1q+/6efOGGOVEkofO4bnrdEJrXojsczeLTFmZ8Tmt6J3273gr2XdKEC2INw1bVjHocef9Ks3jQkkeGrrX3gU8ZN2R+d5/1T16LSLSomDopEndkvbfwSFa1cg360In4XTyZS75ZxNToNyIuxVKIo4U1AJnNSzxJjnXTbcm44OnOL1ecFKe/4cmakXuoPb2FDhO0WH0clWs8qUyTvhrjtuo/EVXABfPUy5YQqQL/7+VXhkwaOVpQNxhlFjiG6W9dffNFEcUt7EVGLynWsStpxuJKzSSA0gQbdnvacABqO7r5c+/9tcMF1c7iPdOBWJaa+geNgiNkZfQz49GmXdiO2jCwQGBZUz4v7iV7wB8eENyD51IfILf9K/roquUHnmLSh38hrq1zicgJiytKnfnuvylBZchrT+ul+ll9B6jSgnj/5R5fs69AcvNJqVqG9G3Tfo5l23Gr1HXoD8uMkoslcJOmi4vbqRXYU14AaJcR4an7kHfVfMdT+/q4h8wCjWhujpSgUxXuinfX86Us/dj/hYLlGgpB9CkKuQYjud5h7iLFDDb+6H3LShlEpBaTRLEo/Y0+ai06XzGbA/LdaNQ3z/FxHLNOnAXEvxTnmnNwrzNLzph89Ay8iRrgXWIWqvmq5YtgzXc5vJOw2MR+b9y4no6OrhqQtbe+XN002aMf0QnHDC4EO3m8onPnUQJoxny95P4OKYKVN2xkXnfaeybEN0E3LaYTMwZszAJwEG3CjUydZopPMQZD46x7KOEOfxr1iA4OVrkHjzF+6egnsAlvlj6vXY4udTY5Cd84bL3w8bGKobPbcfgLrFv2UjwxhD57LoodTRA/9CegUXNjF05x4kEHdXO4euKccgPecW2jZ7BudYhYTXQL5D2KeENhxWX+tKb/wR5Ud/hOQDDOzZg7gYW6GC7knQS8qtZv4HQ3dS20cgHzG86HpPJHXmfSie9Rvk1JCu1m1HrmGBuhPpMU7xNOynLkM7kwumVr3yfUOXaEsk7rvUhVKuFaVd/hOY9hYS6SZ3UJsjjs1Bj8JffeX3sHz58sqSEO19LA31lNO+iD62zLXss88+7k29KsqrZ7Zu+/nAEanNYcL4Ce6u+zrouiXTePLJp1jHtyrLNuScs8927l0UvpdDoZRDmSdYPUOc4nDnupLUaifHHsBG6ufo/fiPqbp1Pa6aYffHjHLVx/9roDhEasavUOhhy65ry3+KKRhvo/joefD0GiGXC5/TPn7NHH2t26d7zqmGUqkPOdaoatxh6aGxaz7xvg8jPe965K96FeVW9sAaSarB7aasZ4vfViAhkogUqmKyu+6P9PwS+mZcgt41LHw1A7Uc/XAKxD1KTtU7V0fzOpMShxSvZ23C43vXKEgLip0o9rSjOGEWgs/mkZr8dffj7kPm0tWwy5Qp+NfTTkXr6lV06XRpK1CkI0eMxNGzjq0sCDnh+OPQ3U53pPZ8MO+w4U2YMfNIPPvMM5WFg/P666/j/AsuwhNPPVVZso6jZs5goB4OB1dRWzF69GjMnXcS7rnvAS5Zt+PFixfjtDO+jJcWvbHB6Nf6+IwtvBVPoPRLBrUvXYBCx0uu13CXer1pfCnFHnfm65ANxfw8/KYNb5pW0UhUcc/jGe/WPPTJuC77+/M4CYfSHYzhsNcsJFN6lktlD8TP9aE4y0Pv7acj98YzzvtRvao9iPK7Zb+9ER4FWH3f3cEMZf0lZtZd7f3buFgbRzvTTguPXYvYA19HqtAOr4U7q0sjyLIKuq2v851ijKJnseRqKYDcnBuGyq7Ngl6KL0cNch/bnwxv6mVIxMKLEL7BPLAl2Bw291kscc4538Sfn38B2YZhrsruYvD0ahSpubkJN95wncsnHn/iCXz9nHMxftx4XvfwfCi/7od0dnW5kahJ222HsXR5knRbu3p6sHLVGix7azkD9DJ7pRyuuPRifOQj4YOGtRx51DHu+tTeZxG61LqRKLdQj5kohlFvo+e0tE4u3/qjZOvfKMTKJxD/3Sfcz7kGObo+rLqf3pY7G8tj5r+eZUDXMsSSvC5eHY+JR8VjihUDFOkulT73J2RH7e7KXh9dQaXgOx5SwyhGfWFPJTctpsEhtfQMwAvyXr7bRW+hYdAWvpDvRuxEXoNhNLc+CpbllJvrkdBwMssrd7UjtmyFiw4U53hFlhIwnmP5wd/K6D3rOgybdqKr+yb1IIOhDWWamf1ORuqiNhTOfB75ySeip5cnZBU7uO4enl3WLk//sMgaVoYGpI0NXaX1kwIoXo6A25fZTedbGWQyxmg5CIWP3gXviBxSu12JJMWhUsOS37043i0XXHA+GmhsMjwnDqZwdCuDFavX4NxvnefyiU/Qzbr4wvOxYtUq9NEIq+2Ugvym4cOd0a6iKP/0l7/gD8/+CQtffhUdHR0Y3jjMiVfPVPW/4LYet/7sZhp+KIba9k9CVP1aKNa6bNa9AanRsa7ubvdEb119vRsdiyKM7XhcyUaKZATidGmTjHyTPS8g0flXxP02xBUDxup5/Mzr07ugweZZl9IRdyNDcWzsXkucspaky/t9C+WCepGqeYZX2KFBkT0/R5+U4thIOf0jcRnax/A4kowzMoVeJFa8gvhbC5HuojgaKeYM4w83iENb09/gX1ZGz5cucuIQTvA8gYPvZVPRRaIqVYgzCKZ8698QvHY7vGW/RqztKSRK7awsV/Do9XOgXkyjLeGFCFtPbqVhS4mDddUiP8mLNXwPeCP3RXnsYci0fLzmNDEfP3UAW5oHHnwI5513AZpGtLCOYfmqj4z11pv+GzvssL1btjH0qMSnP30oUmn20zUjQjKWtta1OPaYWTjjS6dXlvI4efovvez7eOSRBe4OdZKxiHpavV6grcIzqtPDoJPnqPreez0NXLHPxIkb79Euv+Iq3HvvfUgzr14RDnuHsEyVFd6IzGPe3NmYPXsODjn0cLdfxQpV8nR3dA/lnG98Xd4ycu2/R+zRjzlD5uViSSyT11JOuEYy9efvXByvy8trWczwPO44D7G9LqELzH3L3Nw1H4zwqmoEqXT5MNSVabVsBHWOYmxkS7Sb8qo+xC7uRCLJHiLMvgG9FFfp9CwybJf11FP/U/MyVdVZ29HH4qVCwJ35tM3iPrORmnsVksPChx2rxb57gayHHkdZ9865q1M47VzMDmER4n1LePQUTLHdnXC5Rl58JIXDLjX1PviNE+im7UQRhe6BKlptR4aCFStX4qWXXmILTTeuskz09eXx8Y/t6Z62fTuWLl2GRa+/wS58YK+mY9Gbh9OmTesfwarluef+jL88/zyWr1yF9vZ25/5omwSNu7GxESNaWrD99u/Dh3b7AJo5vylICL+m+F588SWsWbsGRbpXKm/UyJHYbeouOPDAAys5gcd+97h7MFK9XhXVQY/wT9l5Mi+uXKrwmEr51fA6XgS6/8rr2koD7lZu+DG6VZkRiNV/AMGID7nepL8f0AldV/RGkc30Xj8VDa0L2a2k+wUSUNB9k2ej7tibwowbwXlmTIUiXfIlz9KdehF+1yrWk96IYuEEbat+FLzRO6D8vr2Qah7v6jhY1ba4QAzj3dL3wm3I3DELgX5LWb2dE0gJpdYiyhf1IJ1SFD00DGXjbBgOudfqJaqp2kJrXu5V/J5Z8BrSjCXUFxC14bkicvt9CQm9MxIuHRJMIMaQEzAw9oM8en/zVXrar9Ld7oV+Erb00i0ofT9FF1BBg1y5inn6OfQk65CdcZW+hK7aEGEuljHkyGUqMc7xL/Lco1UazlU8Gqce3KP4fuXdGo0r+3nk9AjKuR1IpYf+F/mtBzHeA0Iz1yuuupcRr6+nUDKIZepQrjxsqYcKS3ndEU8hTnEknDjkhA0tJhBjyAkjENJLkWj0q9DDaQ5ljTrpEZyeHIqc+nv/BxJf60Oc4tB77e+FuZqLZQw5gV9CKZZA8OZ9KK3+KxJ9SxHLtaPs1cGv2xaxiXsjts0nw/c6wk3eM0wgxpATWpzuyG9o/lql5O6Gv9fqICYQw4jAYhDDiMAEYhgRmEAMIwITiGFEYAIxjAhMIIYRgQnEMCIwgRhGBCYQw4jABGIYEZhADCMCE4hhRGACMYwITCCGEYEJxDAiMIEYRgQmEMOIwARiGBGYQAwjAhOIYURgAjGMCEwghhGBCcQwIjCBGEYEJhDDiMAEYhgRmEAMIwITiGFEYAIxjAhMIIYRgQnEMCIwgRhGBCYQw4jABGIYEZhADCMCE4hhRGACMYwITCCGEYEJxDAiMIEYRgQmEMOIwARiGBGYQAwjAhOIYURgAjGMCEwghhGBCcQwIjCBGEYEJhDDiMAEYhgRmEAMIwITiGFEYAIxjAhMIIYRgQnEMCIwgRhGBCYQw4jABGIYEZhADCMCE4hhRGACMYwITCCGEYEJxDAiMIEYRgQmEMOIwARiGBGYQAwjAhOIYURgAjGMCEwghhGBCcQwIjCBGMZGAf4X7pBYYvHeubIAAAAASUVORK5CYII=",+        "keyProtection": [+          "hardware",+          "secure_element"+        ],+        "legalHeader": "https://fidoalliance.org/metadata/metadata-statement-legal-header/",+        "matcherProtection": [+          "on_chip"+        ],+        "protocolFamily": "u2f",+        "publicKeyAlgAndEncodings": [+          "ecc_x962_raw"+        ],+        "schema": 3,+        "tcDisplay": [],+        "upv": [+          {+            "major": 1,+            "minor": 0+          }+        ],+        "userVerificationDetails": [+          [+            {+              "userVerificationMethod": "presence_internal"+            }+          ]+        ]+      },+      "statusReports": [+        {+          "effectiveDate": "2018-10-11",+          "status": "NOT_FIDO_CERTIFIED"+        }+      ],+      "timeOfLastStatusChange": "2018-10-11"+    },+    {+      "attestationCertificateKeyIdentifiers": [+        "573402ae901e27c11438eb8a44e746ec7372dee3"+      ],+      "metadataStatement": {+        "attachmentHint": [+          "external",+          "wired"+        ],+        "attestationCertificateKeyIdentifiers": [+          "573402ae901e27c11438eb8a44e746ec7372dee3"+        ],+        "attestationRootCertificates": [+          "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"+        ],+        "attestationTypes": [+          "basic_full"+        ],+        "authenticationAlgorithms": [+          "secp256r1_ecdsa_sha256_raw"+        ],+        "authenticatorVersion": 1,+        "description": "SOLID webKey",+        "icon": "data:image/png;base64,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",+        "isFreshUserVerificationRequired": true,+        "keyProtection": [+          "hardware",+          "secure_element"+        ],+        "legalHeader": "https://fidoalliance.org/metadata/metadata-statement-legal-header/",+        "matcherProtection": [+          "on_chip"+        ],+        "protocolFamily": "u2f",+        "publicKeyAlgAndEncodings": [+          "ecc_x962_raw"+        ],+        "schema": 3,+        "tcDisplay": [],+        "upv": [+          {+            "major": 1,+            "minor": 1+          }+        ],+        "userVerificationDetails": [+          [+            {+              "userVerificationMethod": "presence_internal"+            }+          ]+        ]+      },+      "statusReports": [+        {+          "certificateNumber": "U2F110020190319004",+          "certificationDescriptor": "SOLID webKey",+          "certificationPolicyVersion": "1.3",+          "certificationRequirementsVersion": "1.1",+          "effectiveDate": "2019-04-11",+          "status": "FIDO_CERTIFIED_L1"+        }+      ],+      "timeOfLastStatusChange": "2019-04-11"+    },+    {+      "attestationCertificateKeyIdentifiers": [+        "4e29df05a59c17a73c7ea64a94fdfff1f9e9ae0f",+        "bf12365afcb14d3dd820be7ec4be163cb7c85de0",+        "16e77496450b20c32c0bdec2a24b2917bf1815f3",+        "ec9f709878dd14dbb676bbe49f1405ec770d02f0",+        "2cc1afbae08569a5de0889824e5c404d35721ad3",+        "8e900037d095ad7a8ada6c4c18143b7dbeb44674",+        "b88023f2545fdd6ea62060ab89d33294132b9bc9"+      ],+      "metadataStatement": {+        "attachmentHint": [+          "external",+          "wired"+        ],+        "attestationCertificateKeyIdentifiers": [+          "4e29df05a59c17a73c7ea64a94fdfff1f9e9ae0f",+          "bf12365afcb14d3dd820be7ec4be163cb7c85de0",+          "16e77496450b20c32c0bdec2a24b2917bf1815f3",+          "ec9f709878dd14dbb676bbe49f1405ec770d02f0",+          "2cc1afbae08569a5de0889824e5c404d35721ad3",+          "8e900037d095ad7a8ada6c4c18143b7dbeb44674",+          "b88023f2545fdd6ea62060ab89d33294132b9bc9"+        ],+        "attestationRootCertificates": [+          "MIIDHjCCAgagAwIBAgIEG0BT9zANBgkqhkiG9w0BAQsFADAuMSwwKgYDVQQDEyNZdWJpY28gVTJGIFJvb3QgQ0EgU2VyaWFsIDQ1NzIwMDYzMTAgFw0xNDA4MDEwMDAwMDBaGA8yMDUwMDkwNDAwMDAwMFowLjEsMCoGA1UEAxMjWXViaWNvIFUyRiBSb290IENBIFNlcmlhbCA0NTcyMDA2MzEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC/jwYuhBVlqaiYWEMsrWFisgJ+PtM91eSrpI4TK7U53mwCIawSDHy8vUmk5N2KAj9abvT9NP5SMS1hQi3usxoYGonXQgfO6ZXyUA9a+KAkqdFnBnlyugSeCOep8EdZFfsaRFtMjkwz5Gcz2Py4vIYvCdMHPtwaz0bVuzneueIEz6TnQjE63Rdt2zbwnebwTG5ZybeWSwbzy+BJ34ZHcUhPAY89yJQXuE0IzMZFcEBbPNRbWECRKgjq//qT9nmDOFVlSRCt2wiqPSzluwn+v+suQEBsUjTGMEd25tKXXTkNW21wIWbxeSyUoTXwLvGS6xlwQSgNpk2qXYwf8iXg7VWZAgMBAAGjQjBAMB0GA1UdDgQWBBQgIvz0bNGJhjgpToksyKpP9xv9oDAPBgNVHRMECDAGAQH/AgEAMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQsFAAOCAQEAjvjuOMDSa+JXFCLyBKsycXtBVZsJ4Ue3LbaEsPY4MYN/hIQ5ZM5p7EjfcnMG4CtYkNsfNHc0AhBLdq45rnT87q/6O3vUEtNMafbhU6kthX7Y+9XFN9NpmYxr+ekVY5xOxi8h9JDIgoMP4VB1uS0aunL1IGqrNooL9mmFnL2kLVVee6/VR6C5+KSTCMCWppMuJIZII2v9o4dkoZ8Y7QRjQlLfYzd3qGtKbw7xaF1UsG/5xUb/Btwb2X2g4InpiB/yt/3CpQXpiWX/K4mBvUKiGn05ZsqeY1gx4g0xLBqcU9psmyPzK+Vsgw2jeRQ5JlKDyqE0hebfC1tvFu0CCrJFcw=="+        ],+        "attestationTypes": [+          "basic_full"+        ],+        "authenticationAlgorithms": [+          "secp256r1_ecdsa_sha256_raw"+        ],+        "authenticatorVersion": 1,+        "cryptoStrength": 128,+        "description": "Security Key by Yubico",+        "icon": "data:image/png;base64,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",+        "keyProtection": [+          "hardware",+          "secure_element",+          "remote_handle"+        ],+        "legalHeader": "https://fidoalliance.org/metadata/metadata-statement-legal-header/",+        "matcherProtection": [+          "on_chip"+        ],+        "protocolFamily": "u2f",+        "publicKeyAlgAndEncodings": [+          "ecc_x962_raw"+        ],+        "schema": 3,+        "tcDisplay": [],+        "upv": [+          {+            "major": 1,+            "minor": 1+          }+        ],+        "userVerificationDetails": [+          [+            {+              "userVerificationMethod": "presence_internal"+            }+          ]+        ]+      },+      "statusReports": [+        {+          "certificateNumber": "U2F110020191017010",+          "certificationDescriptor": "Security Key by Yubico",+          "certificationPolicyVersion": "1.1.1",+          "certificationRequirementsVersion": "1.3",+          "effectiveDate": "2020-05-12",+          "status": "FIDO_CERTIFIED_L1"+        }+      ],+      "timeOfLastStatusChange": "2020-05-12"+    },+    {+      "attestationCertificateKeyIdentifiers": [+        "e55878ab0b0a584e4c1add5633e19c25f0899a2d",+        "43c0f809b1d75616aa152c3cba57d73465057f21",+        "11c0910a9782ba3d0bd8f86bba49e282365cc05c",+        "c936b68eec858230fe07464359c1b5c0d7efe47d",+        "d0d844edff117c979a05fa668a3296bce6965598",+        "ed5bdb96011e3d457d858af39e30ac57c5ac95e6"+      ],+      "metadataStatement": {+        "attachmentHint": [+          "external",+          "wired",+          "wireless",+          "nfc"+        ],+        "attestationCertificateKeyIdentifiers": [+          "e55878ab0b0a584e4c1add5633e19c25f0899a2d",+          "43c0f809b1d75616aa152c3cba57d73465057f21",+          "11c0910a9782ba3d0bd8f86bba49e282365cc05c",+          "c936b68eec858230fe07464359c1b5c0d7efe47d",+          "d0d844edff117c979a05fa668a3296bce6965598",+          "ed5bdb96011e3d457d858af39e30ac57c5ac95e6"+        ],+        "attestationRootCertificates": [+          "MIIDHjCCAgagAwIBAgIEG0BT9zANBgkqhkiG9w0BAQsFADAuMSwwKgYDVQQDEyNZdWJpY28gVTJGIFJvb3QgQ0EgU2VyaWFsIDQ1NzIwMDYzMTAgFw0xNDA4MDEwMDAwMDBaGA8yMDUwMDkwNDAwMDAwMFowLjEsMCoGA1UEAxMjWXViaWNvIFUyRiBSb290IENBIFNlcmlhbCA0NTcyMDA2MzEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC/jwYuhBVlqaiYWEMsrWFisgJ+PtM91eSrpI4TK7U53mwCIawSDHy8vUmk5N2KAj9abvT9NP5SMS1hQi3usxoYGonXQgfO6ZXyUA9a+KAkqdFnBnlyugSeCOep8EdZFfsaRFtMjkwz5Gcz2Py4vIYvCdMHPtwaz0bVuzneueIEz6TnQjE63Rdt2zbwnebwTG5ZybeWSwbzy+BJ34ZHcUhPAY89yJQXuE0IzMZFcEBbPNRbWECRKgjq//qT9nmDOFVlSRCt2wiqPSzluwn+v+suQEBsUjTGMEd25tKXXTkNW21wIWbxeSyUoTXwLvGS6xlwQSgNpk2qXYwf8iXg7VWZAgMBAAGjQjBAMB0GA1UdDgQWBBQgIvz0bNGJhjgpToksyKpP9xv9oDAPBgNVHRMECDAGAQH/AgEAMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQsFAAOCAQEAjvjuOMDSa+JXFCLyBKsycXtBVZsJ4Ue3LbaEsPY4MYN/hIQ5ZM5p7EjfcnMG4CtYkNsfNHc0AhBLdq45rnT87q/6O3vUEtNMafbhU6kthX7Y+9XFN9NpmYxr+ekVY5xOxi8h9JDIgoMP4VB1uS0aunL1IGqrNooL9mmFnL2kLVVee6/VR6C5+KSTCMCWppMuJIZII2v9o4dkoZ8Y7QRjQlLfYzd3qGtKbw7xaF1UsG/5xUb/Btwb2X2g4InpiB/yt/3CpQXpiWX/K4mBvUKiGn05ZsqeY1gx4g0xLBqcU9psmyPzK+Vsgw2jeRQ5JlKDyqE0hebfC1tvFu0CCrJFcw=="+        ],+        "attestationTypes": [+          "basic_full"+        ],+        "authenticationAlgorithms": [+          "secp256r1_ecdsa_sha256_raw"+        ],+        "authenticatorVersion": 2,+        "cryptoStrength": 128,+        "description": "Security Key by Yubico with NFC",+        "icon": "data:image/png;base64,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",+        "keyProtection": [+          "hardware",+          "secure_element",+          "remote_handle"+        ],+        "legalHeader": "https://fidoalliance.org/metadata/metadata-statement-legal-header/",+        "matcherProtection": [+          "on_chip"+        ],+        "protocolFamily": "u2f",+        "publicKeyAlgAndEncodings": [+          "ecc_x962_raw"+        ],+        "schema": 3,+        "tcDisplay": [],+        "upv": [+          {+            "major": 1,+            "minor": 1+          }+        ],+        "userVerificationDetails": [+          [+            {+              "userVerificationMethod": "presence_internal"+            }+          ]+        ]+      },+      "statusReports": [+        {+          "certificateNumber": "U2F110020191017010",+          "certificationDescriptor": "Security Key by Yubico",+          "certificationPolicyVersion": "1.1.1",+          "certificationRequirementsVersion": "1.3",+          "effectiveDate": "2020-05-12",+          "status": "FIDO_CERTIFIED_L1"+        }+      ],+      "timeOfLastStatusChange": "2020-05-12"+    },+    {+      "attestationCertificateKeyIdentifiers": [+        "a97b3319eecdb5993c4184276441b059b48506f1"+      ],+      "metadataStatement": {+        "attachmentHint": [+          "external"+        ],+        "attestationCertificateKeyIdentifiers": [+          "a97b3319eecdb5993c4184276441b059b48506f1"+        ],+        "attestationRootCertificates": [+          "MIICpTCCAkqgAwIBAgIBATAKBggqhkjOPQQDAjCBrzELMAkGA1UEBhMCS1IxETAPBgNVBAgMCFNlb3VsLVNpMRMwEQYDVQQHDApHYW5nbmFtLUd1MRcwFQYDVQQKDA5lV0JNIENvLiwgTHRkLjEiMCAGA1UECwwZQXV0aGVudGljYXRvciBBdHRlc3RhdGlvbjEcMBoGA1UEAwwTZVdCTSBDQSBDZXJ0aWZpY2F0ZTEdMBsGCSqGSIb3DQEJARYOaW5mb0BlLXdibS5jb20wHhcNMTgwNzAyMDUzMTM5WhcNMjMwNzAxMDUzMTM5WjCBrzELMAkGA1UEBhMCS1IxETAPBgNVBAgMCFNlb3VsLVNpMRMwEQYDVQQHDApHYW5nbmFtLUd1MRcwFQYDVQQKDA5lV0JNIENvLiwgTHRkLjEiMCAGA1UECwwZQXV0aGVudGljYXRvciBBdHRlc3RhdGlvbjEcMBoGA1UEAwwTZVdCTSBDQSBDZXJ0aWZpY2F0ZTEdMBsGCSqGSIb3DQEJARYOaW5mb0BlLXdibS5jb20wWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAAQIfqHisi0oO/eyOqSaDrr9itG2IymBkHnSDGQIIYmT+vqA8AgO81momc2Ld5PGpEN6muE54wPHQjvc/yCih8u2o1UwUzASBgNVHRMBAf8ECDAGAQH/AgEAMB0GA1UdDgQWBBS3J/fxiAv22irdBs98SODhF7kU/jALBgNVHQ8EBAMCAQYwEQYJYIZIAYb4QgEBBAQDAgAHMAoGCCqGSM49BAMCA0kAMEYCIQDc41LFK4LJCBU2VVKIz7Z6sxPhUEkh8nLSLK6IXdkP5wIhAIeKVOZchaVO5aF7fbdXoSrcyy1YYeUePLojcKI9fX84"+        ],+        "attestationTypes": [+          "basic_full"+        ],+        "authenticationAlgorithms": [+          "secp256r1_ecdsa_sha256_raw"+        ],+        "authenticatorVersion": 1,+        "cryptoStrength": 256,+        "description": "TrustKey G310 U2F Authenticator",+        "icon": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGYAAAA7CAYAAACJz/9LAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTExIDc5LjE1ODMyNSwgMjAxNS8wOS8xMC0wMToxMDoyMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjY1NDY3REZGNTAwQjExRTY5RjEzRjVBRjhGQjgzODMyIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjY1NDY3RTAwNTAwQjExRTY5RjEzRjVBRjhGQjgzODMyIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NjU0NjdERkQ1MDBCMTFFNjlGMTNGNUFGOEZCODM4MzIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NjU0NjdERkU1MDBCMTFFNjlGMTNGNUFGOEZCODM4MzIiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6XqASXAAAQc0lEQVR42uxc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",+        "keyProtection": [+          "hardware",+          "remote_handle"+        ],+        "legalHeader": "https://fidoalliance.org/metadata/metadata-statement-legal-header/",+        "matcherProtection": [+          "on_chip"+        ],+        "protocolFamily": "u2f",+        "publicKeyAlgAndEncodings": [+          "ecc_x962_raw"+        ],+        "schema": 3,+        "tcDisplay": [],+        "upv": [+          {+            "major": 1,+            "minor": 1+          }+        ],+        "userVerificationDetails": [+          [+            {+              "userVerificationMethod": "fingerprint_internal"+            },+            {+              "userVerificationMethod": "presence_internal"+            }+          ]+        ]+      },+      "statusReports": [+        {+          "effectiveDate": "2020-08-10",+          "status": "NOT_FIDO_CERTIFIED"+        },+        {+          "certificateNumber": "U2F110020200814003",+          "certificationDescriptor": "Trustkey Solutions T310 U2F Authenticator",+          "certificationPolicyVersion": "1.3.7",+          "certificationRequirementsVersion": "1.0.0",+          "effectiveDate": "2020-12-21",+          "status": "FIDO_CERTIFIED_L1"+        }+      ],+      "timeOfLastStatusChange": "2020-12-21"+    },+    {+      "attestationCertificateKeyIdentifiers": [+        "32526f73dfca12da9c1d87d6e0adb64e843f73da"+      ],+      "metadataStatement": {+        "attachmentHint": [+          "external"+        ],+        "attestationCertificateKeyIdentifiers": [+          "32526f73dfca12da9c1d87d6e0adb64e843f73da"+        ],+        "attestationRootCertificates": [+          "MIICpTCCAkqgAwIBAgIBATAKBggqhkjOPQQDAjCBrzELMAkGA1UEBhMCS1IxETAPBgNVBAgMCFNlb3VsLVNpMRMwEQYDVQQHDApHYW5nbmFtLUd1MRcwFQYDVQQKDA5lV0JNIENvLiwgTHRkLjEiMCAGA1UECwwZQXV0aGVudGljYXRvciBBdHRlc3RhdGlvbjEcMBoGA1UEAwwTZVdCTSBDQSBDZXJ0aWZpY2F0ZTEdMBsGCSqGSIb3DQEJARYOaW5mb0BlLXdibS5jb20wHhcNMTgwNzAyMDUzMTM5WhcNMjMwNzAxMDUzMTM5WjCBrzELMAkGA1UEBhMCS1IxETAPBgNVBAgMCFNlb3VsLVNpMRMwEQYDVQQHDApHYW5nbmFtLUd1MRcwFQYDVQQKDA5lV0JNIENvLiwgTHRkLjEiMCAGA1UECwwZQXV0aGVudGljYXRvciBBdHRlc3RhdGlvbjEcMBoGA1UEAwwTZVdCTSBDQSBDZXJ0aWZpY2F0ZTEdMBsGCSqGSIb3DQEJARYOaW5mb0BlLXdibS5jb20wWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAAQIfqHisi0oO/eyOqSaDrr9itG2IymBkHnSDGQIIYmT+vqA8AgO81momc2Ld5PGpEN6muE54wPHQjvc/yCih8u2o1UwUzASBgNVHRMBAf8ECDAGAQH/AgEAMB0GA1UdDgQWBBS3J/fxiAv22irdBs98SODhF7kU/jALBgNVHQ8EBAMCAQYwEQYJYIZIAYb4QgEBBAQDAgAHMAoGCCqGSM49BAMCA0kAMEYCIQDc41LFK4LJCBU2VVKIz7Z6sxPhUEkh8nLSLK6IXdkP5wIhAIeKVOZchaVO5aF7fbdXoSrcyy1YYeUePLojcKI9fX84"+        ],+        "attestationTypes": [+          "basic_full"+        ],+        "authenticationAlgorithms": [+          "secp256r1_ecdsa_sha256_raw"+        ],+        "authenticatorVersion": 1,+        "cryptoStrength": 256,+        "description": "TrustKey G320 U2F Authenticator",+        "icon": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGYAAAA7CAYAAACJz/9LAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTExIDc5LjE1ODMyNSwgMjAxNS8wOS8xMC0wMToxMDoyMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjY1NDY3REZGNTAwQjExRTY5RjEzRjVBRjhGQjgzODMyIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjY1NDY3RTAwNTAwQjExRTY5RjEzRjVBRjhGQjgzODMyIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NjU0NjdERkQ1MDBCMTFFNjlGMTNGNUFGOEZCODM4MzIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NjU0NjdERkU1MDBCMTFFNjlGMTNGNUFGOEZCODM4MzIiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6XqASXAAAQc0lEQVR42uxc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",+        "keyProtection": [+          "hardware",+          "remote_handle"+        ],+        "legalHeader": "https://fidoalliance.org/metadata/metadata-statement-legal-header/",+        "matcherProtection": [+          "on_chip"+        ],+        "protocolFamily": "u2f",+        "publicKeyAlgAndEncodings": [+          "ecc_x962_raw"+        ],+        "schema": 3,+        "tcDisplay": [],+        "upv": [+          {+            "major": 1,+            "minor": 1+          }+        ],+        "userVerificationDetails": [+          [+            {+              "userVerificationMethod": "presence_internal"+            },+            {+              "userVerificationMethod": "fingerprint_internal"+            }+          ]+        ]+      },+      "statusReports": [+        {+          "certificateNumber": "U2F110020200814004",+          "certificationDescriptor": "TrustKey Solutions T320 U2F Authenticator",+          "certificationPolicyVersion": "1.3.7",+          "certificationRequirementsVersion": "1.0.0",+          "effectiveDate": "2020-12-21",+          "status": "FIDO_CERTIFIED_L1"+        },+        {+          "effectiveDate": "2020-08-10",+          "status": "NOT_FIDO_CERTIFIED"+        }+      ],+      "timeOfLastStatusChange": "2020-12-21"+    },+    {+      "attestationCertificateKeyIdentifiers": [+        "cd9dd77cf580dfe05d9d089865a164dbb6432cd2"+      ],+      "metadataStatement": {+        "attachmentHint": [+          "external"+        ],+        "attestationCertificateKeyIdentifiers": [+          "cd9dd77cf580dfe05d9d089865a164dbb6432cd2"+        ],+        "attestationRootCertificates": [+          "MIICpTCCAkqgAwIBAgIBATAKBggqhkjOPQQDAjCBrzELMAkGA1UEBhMCS1IxETAPBgNVBAgMCFNlb3VsLVNpMRMwEQYDVQQHDApHYW5nbmFtLUd1MRcwFQYDVQQKDA5lV0JNIENvLiwgTHRkLjEiMCAGA1UECwwZQXV0aGVudGljYXRvciBBdHRlc3RhdGlvbjEcMBoGA1UEAwwTZVdCTSBDQSBDZXJ0aWZpY2F0ZTEdMBsGCSqGSIb3DQEJARYOaW5mb0BlLXdibS5jb20wHhcNMTgwNzAyMDUzMTM5WhcNMjMwNzAxMDUzMTM5WjCBrzELMAkGA1UEBhMCS1IxETAPBgNVBAgMCFNlb3VsLVNpMRMwEQYDVQQHDApHYW5nbmFtLUd1MRcwFQYDVQQKDA5lV0JNIENvLiwgTHRkLjEiMCAGA1UECwwZQXV0aGVudGljYXRvciBBdHRlc3RhdGlvbjEcMBoGA1UEAwwTZVdCTSBDQSBDZXJ0aWZpY2F0ZTEdMBsGCSqGSIb3DQEJARYOaW5mb0BlLXdibS5jb20wWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAAQIfqHisi0oO/eyOqSaDrr9itG2IymBkHnSDGQIIYmT+vqA8AgO81momc2Ld5PGpEN6muE54wPHQjvc/yCih8u2o1UwUzASBgNVHRMBAf8ECDAGAQH/AgEAMB0GA1UdDgQWBBS3J/fxiAv22irdBs98SODhF7kU/jALBgNVHQ8EBAMCAQYwEQYJYIZIAYb4QgEBBAQDAgAHMAoGCCqGSM49BAMCA0kAMEYCIQDc41LFK4LJCBU2VVKIz7Z6sxPhUEkh8nLSLK6IXdkP5wIhAIeKVOZchaVO5aF7fbdXoSrcyy1YYeUePLojcKI9fX84"+        ],+        "attestationTypes": [+          "basic_full"+        ],+        "authenticationAlgorithms": [+          "secp256r1_ecdsa_sha256_raw"+        ],+        "authenticatorVersion": 1,+        "cryptoStrength": 256,+        "description": "TrustKey T110 U2F Authenticator",+        "icon": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGYAAAA7CAYAAACJz/9LAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTExIDc5LjE1ODMyNSwgMjAxNS8wOS8xMC0wMToxMDoyMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjY1NDY3REZGNTAwQjExRTY5RjEzRjVBRjhGQjgzODMyIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjY1NDY3RTAwNTAwQjExRTY5RjEzRjVBRjhGQjgzODMyIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NjU0NjdERkQ1MDBCMTFFNjlGMTNGNUFGOEZCODM4MzIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NjU0NjdERkU1MDBCMTFFNjlGMTNGNUFGOEZCODM4MzIiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6XqASXAAAQc0lEQVR42uxc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",+        "keyProtection": [+          "hardware",+          "remote_handle"+        ],+        "legalHeader": "https://fidoalliance.org/metadata/metadata-statement-legal-header/",+        "matcherProtection": [+          "on_chip"+        ],+        "protocolFamily": "u2f",+        "publicKeyAlgAndEncodings": [+          "ecc_x962_raw"+        ],+        "schema": 3,+        "tcDisplay": [],+        "upv": [+          {+            "major": 1,+            "minor": 1+          }+        ],+        "userVerificationDetails": [+          [+            {+              "userVerificationMethod": "presence_internal"+            }+          ]+        ]+      },+      "statusReports": [+        {+          "effectiveDate": "2020-08-10",+          "status": "NOT_FIDO_CERTIFIED"+        },+        {+          "certificateNumber": "U2F110020200814001",+          "certificationDescriptor": "TrustKey Solutions T110 U2F Authenticator",+          "certificationPolicyVersion": "1.3.7",+          "certificationRequirementsVersion": "1.0.0",+          "effectiveDate": "2020-12-21",+          "status": "FIDO_CERTIFIED_L1"+        }+      ],+      "timeOfLastStatusChange": "2020-12-21"+    },+    {+      "attestationCertificateKeyIdentifiers": [+        "096bfc8bdbaaa740b9ed8f74b054b5e8a81841d2"+      ],+      "metadataStatement": {+        "attachmentHint": [+          "external"+        ],+        "attestationCertificateKeyIdentifiers": [+          "096bfc8bdbaaa740b9ed8f74b054b5e8a81841d2"+        ],+        "attestationRootCertificates": [+          "MIICpTCCAkqgAwIBAgIBATAKBggqhkjOPQQDAjCBrzELMAkGA1UEBhMCS1IxETAPBgNVBAgMCFNlb3VsLVNpMRMwEQYDVQQHDApHYW5nbmFtLUd1MRcwFQYDVQQKDA5lV0JNIENvLiwgTHRkLjEiMCAGA1UECwwZQXV0aGVudGljYXRvciBBdHRlc3RhdGlvbjEcMBoGA1UEAwwTZVdCTSBDQSBDZXJ0aWZpY2F0ZTEdMBsGCSqGSIb3DQEJARYOaW5mb0BlLXdibS5jb20wHhcNMTgwNzAyMDUzMTM5WhcNMjMwNzAxMDUzMTM5WjCBrzELMAkGA1UEBhMCS1IxETAPBgNVBAgMCFNlb3VsLVNpMRMwEQYDVQQHDApHYW5nbmFtLUd1MRcwFQYDVQQKDA5lV0JNIENvLiwgTHRkLjEiMCAGA1UECwwZQXV0aGVudGljYXRvciBBdHRlc3RhdGlvbjEcMBoGA1UEAwwTZVdCTSBDQSBDZXJ0aWZpY2F0ZTEdMBsGCSqGSIb3DQEJARYOaW5mb0BlLXdibS5jb20wWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAAQIfqHisi0oO/eyOqSaDrr9itG2IymBkHnSDGQIIYmT+vqA8AgO81momc2Ld5PGpEN6muE54wPHQjvc/yCih8u2o1UwUzASBgNVHRMBAf8ECDAGAQH/AgEAMB0GA1UdDgQWBBS3J/fxiAv22irdBs98SODhF7kU/jALBgNVHQ8EBAMCAQYwEQYJYIZIAYb4QgEBBAQDAgAHMAoGCCqGSM49BAMCA0kAMEYCIQDc41LFK4LJCBU2VVKIz7Z6sxPhUEkh8nLSLK6IXdkP5wIhAIeKVOZchaVO5aF7fbdXoSrcyy1YYeUePLojcKI9fX84"+        ],+        "attestationTypes": [+          "basic_full"+        ],+        "authenticationAlgorithms": [+          "secp256r1_ecdsa_sha256_raw"+        ],+        "authenticatorVersion": 1,+        "cryptoStrength": 256,+        "description": "TrustKey T120 U2F Authenticator",+        "icon": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGYAAAA7CAYAAACJz/9LAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTExIDc5LjE1ODMyNSwgMjAxNS8wOS8xMC0wMToxMDoyMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjY1NDY3REZGNTAwQjExRTY5RjEzRjVBRjhGQjgzODMyIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjY1NDY3RTAwNTAwQjExRTY5RjEzRjVBRjhGQjgzODMyIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NjU0NjdERkQ1MDBCMTFFNjlGMTNGNUFGOEZCODM4MzIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NjU0NjdERkU1MDBCMTFFNjlGMTNGNUFGOEZCODM4MzIiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6XqASXAAAQc0lEQVR42uxc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",+        "keyProtection": [+          "hardware",+          "remote_handle"+        ],+        "legalHeader": "https://fidoalliance.org/metadata/metadata-statement-legal-header/",+        "matcherProtection": [+          "on_chip"+        ],+        "protocolFamily": "u2f",+        "publicKeyAlgAndEncodings": [+          "ecc_x962_raw"+        ],+        "schema": 3,+        "tcDisplay": [],+        "upv": [+          {+            "major": 1,+            "minor": 1+          },+          {+            "major": 1,+            "minor": 0+          }+        ],+        "userVerificationDetails": [+          [+            {+              "userVerificationMethod": "presence_internal"+            }+          ]+        ]+      },+      "statusReports": [+        {+          "effectiveDate": "2020-08-15",+          "status": "NOT_FIDO_CERTIFIED"+        },+        {+          "certificateNumber": "U2F110020200814002",+          "certificationDescriptor": "TrustKey Solutions T120 U2F Authenticator",+          "certificationPolicyVersion": "1.3.7",+          "certificationRequirementsVersion": "1.0.0",+          "effectiveDate": "2020-12-21",+          "status": "FIDO_CERTIFIED_L1"+        }+      ],+      "timeOfLastStatusChange": "2020-12-21"+    },+    {+      "attestationCertificateKeyIdentifiers": [+        "bd79e8deafca17a472e4c37f2c7c861268e49fd5",+        "a72096772326b1b282b286c3e7d64089bd7aaad9",+        "00281250ba3fcf35d9512e0677135eec77a8fb7a",+        "88c7c34b0c9cbbbdbbd7d4c0de404e14a74b6c8a",+        "aa8ce6fdcd722f701ee0657e18fa9f2a685e81cd"+      ],+      "metadataStatement": {+        "attachmentHint": [+          "external",+          "wired"+        ],+        "attestationCertificateKeyIdentifiers": [+          "bd79e8deafca17a472e4c37f2c7c861268e49fd5",+          "a72096772326b1b282b286c3e7d64089bd7aaad9",+          "00281250ba3fcf35d9512e0677135eec77a8fb7a",+          "88c7c34b0c9cbbbdbbd7d4c0de404e14a74b6c8a",+          "aa8ce6fdcd722f701ee0657e18fa9f2a685e81cd"+        ],+        "attestationRootCertificates": [+          "MIIDHjCCAgagAwIBAgIEG0BT9zANBgkqhkiG9w0BAQsFADAuMSwwKgYDVQQDEyNZdWJpY28gVTJGIFJvb3QgQ0EgU2VyaWFsIDQ1NzIwMDYzMTAgFw0xNDA4MDEwMDAwMDBaGA8yMDUwMDkwNDAwMDAwMFowLjEsMCoGA1UEAxMjWXViaWNvIFUyRiBSb290IENBIFNlcmlhbCA0NTcyMDA2MzEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC/jwYuhBVlqaiYWEMsrWFisgJ+PtM91eSrpI4TK7U53mwCIawSDHy8vUmk5N2KAj9abvT9NP5SMS1hQi3usxoYGonXQgfO6ZXyUA9a+KAkqdFnBnlyugSeCOep8EdZFfsaRFtMjkwz5Gcz2Py4vIYvCdMHPtwaz0bVuzneueIEz6TnQjE63Rdt2zbwnebwTG5ZybeWSwbzy+BJ34ZHcUhPAY89yJQXuE0IzMZFcEBbPNRbWECRKgjq//qT9nmDOFVlSRCt2wiqPSzluwn+v+suQEBsUjTGMEd25tKXXTkNW21wIWbxeSyUoTXwLvGS6xlwQSgNpk2qXYwf8iXg7VWZAgMBAAGjQjBAMB0GA1UdDgQWBBQgIvz0bNGJhjgpToksyKpP9xv9oDAPBgNVHRMECDAGAQH/AgEAMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQsFAAOCAQEAjvjuOMDSa+JXFCLyBKsycXtBVZsJ4Ue3LbaEsPY4MYN/hIQ5ZM5p7EjfcnMG4CtYkNsfNHc0AhBLdq45rnT87q/6O3vUEtNMafbhU6kthX7Y+9XFN9NpmYxr+ekVY5xOxi8h9JDIgoMP4VB1uS0aunL1IGqrNooL9mmFnL2kLVVee6/VR6C5+KSTCMCWppMuJIZII2v9o4dkoZ8Y7QRjQlLfYzd3qGtKbw7xaF1UsG/5xUb/Btwb2X2g4InpiB/yt/3CpQXpiWX/K4mBvUKiGn05ZsqeY1gx4g0xLBqcU9psmyPzK+Vsgw2jeRQ5JlKDyqE0hebfC1tvFu0CCrJFcw=="+        ],+        "attestationTypes": [+          "basic_full"+        ],+        "authenticationAlgorithms": [+          "secp256r1_ecdsa_sha256_raw"+        ],+        "authenticatorVersion": 1,+        "cryptoStrength": 128,+        "description": "YK4 Series Key by Yubico",+        "icon": "data:image/png;base64,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",+        "keyProtection": [+          "hardware",+          "secure_element",+          "remote_handle"+        ],+        "legalHeader": "https://fidoalliance.org/metadata/metadata-statement-legal-header/",+        "matcherProtection": [+          "on_chip"+        ],+        "protocolFamily": "u2f",+        "publicKeyAlgAndEncodings": [+          "ecc_x962_raw"+        ],+        "schema": 3,+        "tcDisplay": [],+        "upv": [+          {+            "major": 1,+            "minor": 1+          }+        ],+        "userVerificationDetails": [+          [+            {+              "userVerificationMethod": "presence_internal"+            }+          ]+        ]+      },+      "statusReports": [+        {+          "certificateNumber": "U2F110020170324001",+          "certificationDescriptor": "Yubikey 4",+          "certificationPolicyVersion": "1.2.5",+          "effectiveDate": "2020-09-16",+          "status": "FIDO_CERTIFIED"+        }+      ],+      "timeOfLastStatusChange": "2020-09-16"+    },+    {+      "attestationCertificateKeyIdentifiers": [+        "57918bc33803503900ef15ae9b2aef0d547bd6f5",+        "c48b78caeae7af65c1cda4a3b9b9bfa46bbc065a",+        "bdeb7f015a66e4c8448b414ffd41ca669bba6b4a",+        "6849a4f8ccf79f1422497d779cdc901a81b60221",+        "e3e26f22e55a3ee1a4493d7f0200985eafee2572",+        "99b011819a9b1539b28b86f625547f173eb5d57b"+      ],+      "metadataStatement": {+        "attachmentHint": [+          "external",+          "wired"+        ],+        "attestationCertificateKeyIdentifiers": [+          "57918bc33803503900ef15ae9b2aef0d547bd6f5",+          "c48b78caeae7af65c1cda4a3b9b9bfa46bbc065a",+          "bdeb7f015a66e4c8448b414ffd41ca669bba6b4a",+          "6849a4f8ccf79f1422497d779cdc901a81b60221",+          "e3e26f22e55a3ee1a4493d7f0200985eafee2572",+          "99b011819a9b1539b28b86f625547f173eb5d57b"+        ],+        "attestationRootCertificates": [+          "MIIDHjCCAgagAwIBAgIEG0BT9zANBgkqhkiG9w0BAQsFADAuMSwwKgYDVQQDEyNZdWJpY28gVTJGIFJvb3QgQ0EgU2VyaWFsIDQ1NzIwMDYzMTAgFw0xNDA4MDEwMDAwMDBaGA8yMDUwMDkwNDAwMDAwMFowLjEsMCoGA1UEAxMjWXViaWNvIFUyRiBSb290IENBIFNlcmlhbCA0NTcyMDA2MzEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC/jwYuhBVlqaiYWEMsrWFisgJ+PtM91eSrpI4TK7U53mwCIawSDHy8vUmk5N2KAj9abvT9NP5SMS1hQi3usxoYGonXQgfO6ZXyUA9a+KAkqdFnBnlyugSeCOep8EdZFfsaRFtMjkwz5Gcz2Py4vIYvCdMHPtwaz0bVuzneueIEz6TnQjE63Rdt2zbwnebwTG5ZybeWSwbzy+BJ34ZHcUhPAY89yJQXuE0IzMZFcEBbPNRbWECRKgjq//qT9nmDOFVlSRCt2wiqPSzluwn+v+suQEBsUjTGMEd25tKXXTkNW21wIWbxeSyUoTXwLvGS6xlwQSgNpk2qXYwf8iXg7VWZAgMBAAGjQjBAMB0GA1UdDgQWBBQgIvz0bNGJhjgpToksyKpP9xv9oDAPBgNVHRMECDAGAQH/AgEAMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQsFAAOCAQEAjvjuOMDSa+JXFCLyBKsycXtBVZsJ4Ue3LbaEsPY4MYN/hIQ5ZM5p7EjfcnMG4CtYkNsfNHc0AhBLdq45rnT87q/6O3vUEtNMafbhU6kthX7Y+9XFN9NpmYxr+ekVY5xOxi8h9JDIgoMP4VB1uS0aunL1IGqrNooL9mmFnL2kLVVee6/VR6C5+KSTCMCWppMuJIZII2v9o4dkoZ8Y7QRjQlLfYzd3qGtKbw7xaF1UsG/5xUb/Btwb2X2g4InpiB/yt/3CpQXpiWX/K4mBvUKiGn05ZsqeY1gx4g0xLBqcU9psmyPzK+Vsgw2jeRQ5JlKDyqE0hebfC1tvFu0CCrJFcw=="+        ],+        "attestationTypes": [+          "basic_full"+        ],+        "authenticationAlgorithms": [+          "secp256r1_ecdsa_sha256_raw"+        ],+        "authenticatorVersion": 1,+        "cryptoStrength": 128,+        "description": "YubiKey 5 Series",+        "icon": "data:image/png;base64,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",+        "keyProtection": [+          "hardware",+          "secure_element",+          "remote_handle"+        ],+        "legalHeader": "https://fidoalliance.org/metadata/metadata-statement-legal-header/",+        "matcherProtection": [+          "on_chip"+        ],+        "protocolFamily": "u2f",+        "publicKeyAlgAndEncodings": [+          "ecc_x962_raw"+        ],+        "schema": 3,+        "tcDisplay": [],+        "upv": [+          {+            "major": 1,+            "minor": 1+          }+        ],+        "userVerificationDetails": [+          [+            {+              "userVerificationMethod": "presence_internal"+            }+          ]+        ]+      },+      "statusReports": [+        {+          "certificateNumber": "U2F110020191017008",+          "certificationDescriptor": "YubiKey 5 Series (USB)",+          "certificationPolicyVersion": "1.1.1",+          "certificationRequirementsVersion": "1.3",+          "effectiveDate": "2020-05-12",+          "status": "FIDO_CERTIFIED_L1"+        }+      ],+      "timeOfLastStatusChange": "2020-05-12"+    },+    {+      "attestationCertificateKeyIdentifiers": [+        "67ef0f4c36b51780a3facc0a92324593ab196685",+        "9be8c86f3b7da9f5026a56607b2b93f0ffd058ae",+        "7295499531c0fb059d6c88d1b29665547757c6c6",+        "ea5442c9cc56f6456db5344b369689c647a7a1e1",+        "07e44a7c2e7e0b6054c0292fba691eebfdb481bd",+        "75d9266a79599e9cac604ac2be3f03a0f0444d74"+      ],+      "metadataStatement": {+        "attachmentHint": [+          "external",+          "wired",+          "wireless",+          "nfc"+        ],+        "attestationCertificateKeyIdentifiers": [+          "67ef0f4c36b51780a3facc0a92324593ab196685",+          "9be8c86f3b7da9f5026a56607b2b93f0ffd058ae",+          "7295499531c0fb059d6c88d1b29665547757c6c6",+          "ea5442c9cc56f6456db5344b369689c647a7a1e1",+          "07e44a7c2e7e0b6054c0292fba691eebfdb481bd",+          "75d9266a79599e9cac604ac2be3f03a0f0444d74"+        ],+        "attestationRootCertificates": [+          "MIIDHjCCAgagAwIBAgIEG0BT9zANBgkqhkiG9w0BAQsFADAuMSwwKgYDVQQDEyNZdWJpY28gVTJGIFJvb3QgQ0EgU2VyaWFsIDQ1NzIwMDYzMTAgFw0xNDA4MDEwMDAwMDBaGA8yMDUwMDkwNDAwMDAwMFowLjEsMCoGA1UEAxMjWXViaWNvIFUyRiBSb290IENBIFNlcmlhbCA0NTcyMDA2MzEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC/jwYuhBVlqaiYWEMsrWFisgJ+PtM91eSrpI4TK7U53mwCIawSDHy8vUmk5N2KAj9abvT9NP5SMS1hQi3usxoYGonXQgfO6ZXyUA9a+KAkqdFnBnlyugSeCOep8EdZFfsaRFtMjkwz5Gcz2Py4vIYvCdMHPtwaz0bVuzneueIEz6TnQjE63Rdt2zbwnebwTG5ZybeWSwbzy+BJ34ZHcUhPAY89yJQXuE0IzMZFcEBbPNRbWECRKgjq//qT9nmDOFVlSRCt2wiqPSzluwn+v+suQEBsUjTGMEd25tKXXTkNW21wIWbxeSyUoTXwLvGS6xlwQSgNpk2qXYwf8iXg7VWZAgMBAAGjQjBAMB0GA1UdDgQWBBQgIvz0bNGJhjgpToksyKpP9xv9oDAPBgNVHRMECDAGAQH/AgEAMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQsFAAOCAQEAjvjuOMDSa+JXFCLyBKsycXtBVZsJ4Ue3LbaEsPY4MYN/hIQ5ZM5p7EjfcnMG4CtYkNsfNHc0AhBLdq45rnT87q/6O3vUEtNMafbhU6kthX7Y+9XFN9NpmYxr+ekVY5xOxi8h9JDIgoMP4VB1uS0aunL1IGqrNooL9mmFnL2kLVVee6/VR6C5+KSTCMCWppMuJIZII2v9o4dkoZ8Y7QRjQlLfYzd3qGtKbw7xaF1UsG/5xUb/Btwb2X2g4InpiB/yt/3CpQXpiWX/K4mBvUKiGn05ZsqeY1gx4g0xLBqcU9psmyPzK+Vsgw2jeRQ5JlKDyqE0hebfC1tvFu0CCrJFcw=="+        ],+        "attestationTypes": [+          "basic_full"+        ],+        "authenticationAlgorithms": [+          "secp256r1_ecdsa_sha256_raw"+        ],+        "authenticatorVersion": 2,+        "cryptoStrength": 128,+        "description": "YubiKey 5 Series with NFC",+        "icon": "data:image/png;base64,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",+        "keyProtection": [+          "hardware",+          "secure_element",+          "remote_handle"+        ],+        "legalHeader": "https://fidoalliance.org/metadata/metadata-statement-legal-header/",+        "matcherProtection": [+          "on_chip"+        ],+        "protocolFamily": "u2f",+        "publicKeyAlgAndEncodings": [+          "ecc_x962_raw"+        ],+        "schema": 3,+        "tcDisplay": [],+        "upv": [+          {+            "major": 1,+            "minor": 1+          }+        ],+        "userVerificationDetails": [+          [+            {+              "userVerificationMethod": "presence_internal"+            }+          ]+        ]+      },+      "statusReports": [+        {+          "certificateNumber": "U2F110020191017006",+          "certificationDescriptor": "YubiKey 5 NFC",+          "certificationPolicyVersion": "1.1.1",+          "certificationRequirementsVersion": "1.3",+          "effectiveDate": "2020-05-12",+          "status": "FIDO_CERTIFIED_L1"+        }+      ],+      "timeOfLastStatusChange": "2020-05-12"+    },+    {+      "attestationCertificateKeyIdentifiers": [+        "bf7bcaa0d0c6187a8c6abbdd16a15640e7c7bde2",+        "753300d65dcc73a39a7db31ef308db9fa0b566ae",+        "b753a0e460fb2dc7c7c487e35f24cf63b065347c",+        "b6d44a4b8d4b0407872969b1f6b2263021be627e",+        "6d491f223af73cdf81784a6c0890f8a1d527a12c"+      ],+      "metadataStatement": {+        "attachmentHint": [+          "external",+          "wired"+        ],+        "attestationCertificateKeyIdentifiers": [+          "bf7bcaa0d0c6187a8c6abbdd16a15640e7c7bde2",+          "753300d65dcc73a39a7db31ef308db9fa0b566ae",+          "b753a0e460fb2dc7c7c487e35f24cf63b065347c",+          "b6d44a4b8d4b0407872969b1f6b2263021be627e",+          "6d491f223af73cdf81784a6c0890f8a1d527a12c"+        ],+        "attestationRootCertificates": [+          "MIIDHjCCAgagAwIBAgIEG0BT9zANBgkqhkiG9w0BAQsFADAuMSwwKgYDVQQDEyNZdWJpY28gVTJGIFJvb3QgQ0EgU2VyaWFsIDQ1NzIwMDYzMTAgFw0xNDA4MDEwMDAwMDBaGA8yMDUwMDkwNDAwMDAwMFowLjEsMCoGA1UEAxMjWXViaWNvIFUyRiBSb290IENBIFNlcmlhbCA0NTcyMDA2MzEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC/jwYuhBVlqaiYWEMsrWFisgJ+PtM91eSrpI4TK7U53mwCIawSDHy8vUmk5N2KAj9abvT9NP5SMS1hQi3usxoYGonXQgfO6ZXyUA9a+KAkqdFnBnlyugSeCOep8EdZFfsaRFtMjkwz5Gcz2Py4vIYvCdMHPtwaz0bVuzneueIEz6TnQjE63Rdt2zbwnebwTG5ZybeWSwbzy+BJ34ZHcUhPAY89yJQXuE0IzMZFcEBbPNRbWECRKgjq//qT9nmDOFVlSRCt2wiqPSzluwn+v+suQEBsUjTGMEd25tKXXTkNW21wIWbxeSyUoTXwLvGS6xlwQSgNpk2qXYwf8iXg7VWZAgMBAAGjQjBAMB0GA1UdDgQWBBQgIvz0bNGJhjgpToksyKpP9xv9oDAPBgNVHRMECDAGAQH/AgEAMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQsFAAOCAQEAjvjuOMDSa+JXFCLyBKsycXtBVZsJ4Ue3LbaEsPY4MYN/hIQ5ZM5p7EjfcnMG4CtYkNsfNHc0AhBLdq45rnT87q/6O3vUEtNMafbhU6kthX7Y+9XFN9NpmYxr+ekVY5xOxi8h9JDIgoMP4VB1uS0aunL1IGqrNooL9mmFnL2kLVVee6/VR6C5+KSTCMCWppMuJIZII2v9o4dkoZ8Y7QRjQlLfYzd3qGtKbw7xaF1UsG/5xUb/Btwb2X2g4InpiB/yt/3CpQXpiWX/K4mBvUKiGn05ZsqeY1gx4g0xLBqcU9psmyPzK+Vsgw2jeRQ5JlKDyqE0hebfC1tvFu0CCrJFcw=="+        ],+        "attestationTypes": [+          "basic_full"+        ],+        "authenticationAlgorithms": [+          "secp256r1_ecdsa_sha256_raw"+        ],+        "authenticatorVersion": 2,+        "cryptoStrength": 128,+        "description": "YubiKey 5Ci",+        "icon": "data:image/png;base64,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",+        "keyProtection": [+          "hardware",+          "secure_element",+          "remote_handle"+        ],+        "legalHeader": "https://fidoalliance.org/metadata/metadata-statement-legal-header/",+        "matcherProtection": [+          "on_chip"+        ],+        "protocolFamily": "u2f",+        "publicKeyAlgAndEncodings": [+          "ecc_x962_raw"+        ],+        "schema": 3,+        "tcDisplay": [],+        "upv": [+          {+            "major": 1,+            "minor": 1+          }+        ],+        "userVerificationDetails": [+          [+            {+              "userVerificationMethod": "presence_internal"+            }+          ]+        ]+      },+      "statusReports": [+        {+          "certificateNumber": "U2F110020191017007",+          "certificationDescriptor": "YubiKey 5Ci",+          "certificationPolicyVersion": "1.1.1",+          "certificationRequirementsVersion": "1.3",+          "effectiveDate": "2020-05-12",+          "status": "FIDO_CERTIFIED_L1"+        }+      ],+      "timeOfLastStatusChange": "2020-05-12"+    },+    {+      "attestationCertificateKeyIdentifiers": [+        "786544772ecc9d3e85049222ae33226345b59c69"+      ],+      "metadataStatement": {+        "attachmentHint": [+          "external",+          "wired"+        ],+        "attestationCertificateKeyIdentifiers": [+          "786544772ecc9d3e85049222ae33226345b59c69"+        ],+        "attestationRootCertificates": [+          "MIIDHjCCAgagAwIBAgIEG0BT9zANBgkqhkiG9w0BAQsFADAuMSwwKgYDVQQDEyNZdWJpY28gVTJGIFJvb3QgQ0EgU2VyaWFsIDQ1NzIwMDYzMTAgFw0xNDA4MDEwMDAwMDBaGA8yMDUwMDkwNDAwMDAwMFowLjEsMCoGA1UEAxMjWXViaWNvIFUyRiBSb290IENBIFNlcmlhbCA0NTcyMDA2MzEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC/jwYuhBVlqaiYWEMsrWFisgJ+PtM91eSrpI4TK7U53mwCIawSDHy8vUmk5N2KAj9abvT9NP5SMS1hQi3usxoYGonXQgfO6ZXyUA9a+KAkqdFnBnlyugSeCOep8EdZFfsaRFtMjkwz5Gcz2Py4vIYvCdMHPtwaz0bVuzneueIEz6TnQjE63Rdt2zbwnebwTG5ZybeWSwbzy+BJ34ZHcUhPAY89yJQXuE0IzMZFcEBbPNRbWECRKgjq//qT9nmDOFVlSRCt2wiqPSzluwn+v+suQEBsUjTGMEd25tKXXTkNW21wIWbxeSyUoTXwLvGS6xlwQSgNpk2qXYwf8iXg7VWZAgMBAAGjQjBAMB0GA1UdDgQWBBQgIvz0bNGJhjgpToksyKpP9xv9oDAPBgNVHRMECDAGAQH/AgEAMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQsFAAOCAQEAjvjuOMDSa+JXFCLyBKsycXtBVZsJ4Ue3LbaEsPY4MYN/hIQ5ZM5p7EjfcnMG4CtYkNsfNHc0AhBLdq45rnT87q/6O3vUEtNMafbhU6kthX7Y+9XFN9NpmYxr+ekVY5xOxi8h9JDIgoMP4VB1uS0aunL1IGqrNooL9mmFnL2kLVVee6/VR6C5+KSTCMCWppMuJIZII2v9o4dkoZ8Y7QRjQlLfYzd3qGtKbw7xaF1UsG/5xUb/Btwb2X2g4InpiB/yt/3CpQXpiWX/K4mBvUKiGn05ZsqeY1gx4g0xLBqcU9psmyPzK+Vsgw2jeRQ5JlKDyqE0hebfC1tvFu0CCrJFcw=="+        ],+        "attestationTypes": [+          "basic_full"+        ],+        "authenticationAlgorithms": [+          "secp256r1_ecdsa_sha256_raw"+        ],+        "authenticatorVersion": 328965,+        "cryptoStrength": 128,+        "description": "YubiKey Bio Series",+        "icon": "data:image/png;base64,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",+        "keyProtection": [+          "hardware",+          "secure_element",+          "remote_handle"+        ],+        "legalHeader": "https://fidoalliance.org/metadata/metadata-statement-legal-header/",+        "matcherProtection": [+          "on_chip"+        ],+        "protocolFamily": "u2f",+        "publicKeyAlgAndEncodings": [+          "ecc_x962_raw"+        ],+        "schema": 3,+        "tcDisplay": [],+        "upv": [+          {+            "major": 1,+            "minor": 2+          },+          {+            "major": 1,+            "minor": 1+          }+        ],+        "userVerificationDetails": [+          [+            {+              "userVerificationMethod": "presence_internal"+            }+          ]+        ]+      },+      "statusReports": [+        {+          "effectiveDate": "2021-08-11",+          "status": "FIDO_CERTIFIED"+        },+        {+          "certificateNumber": "FIDO20020210811001",+          "certificationDescriptor": "YubiKey Bio",+          "certificationPolicyVersion": "1.3",+          "certificationRequirementsVersion": "1.4",+          "effectiveDate": "2021-08-11",+          "status": "FIDO_CERTIFIED_L1",+          "url": "www.yubico.com"+        }+      ],+      "timeOfLastStatusChange": "2021-08-18"+    },+    {+      "attestationCertificateKeyIdentifiers": [+        "85d28d8324e23ab50b028592bdbbf4e4ac8a1317"+      ],+      "metadataStatement": {+        "attachmentHint": [+          "external",+          "wired"+        ],+        "attestationCertificateKeyIdentifiers": [+          "85d28d8324e23ab50b028592bdbbf4e4ac8a1317"+        ],+        "attestationRootCertificates": [+          "MIIDHjCCAgagAwIBAgIEG0BT9zANBgkqhkiG9w0BAQsFADAuMSwwKgYDVQQDEyNZdWJpY28gVTJGIFJvb3QgQ0EgU2VyaWFsIDQ1NzIwMDYzMTAgFw0xNDA4MDEwMDAwMDBaGA8yMDUwMDkwNDAwMDAwMFowLjEsMCoGA1UEAxMjWXViaWNvIFUyRiBSb290IENBIFNlcmlhbCA0NTcyMDA2MzEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC/jwYuhBVlqaiYWEMsrWFisgJ+PtM91eSrpI4TK7U53mwCIawSDHy8vUmk5N2KAj9abvT9NP5SMS1hQi3usxoYGonXQgfO6ZXyUA9a+KAkqdFnBnlyugSeCOep8EdZFfsaRFtMjkwz5Gcz2Py4vIYvCdMHPtwaz0bVuzneueIEz6TnQjE63Rdt2zbwnebwTG5ZybeWSwbzy+BJ34ZHcUhPAY89yJQXuE0IzMZFcEBbPNRbWECRKgjq//qT9nmDOFVlSRCt2wiqPSzluwn+v+suQEBsUjTGMEd25tKXXTkNW21wIWbxeSyUoTXwLvGS6xlwQSgNpk2qXYwf8iXg7VWZAgMBAAGjQjBAMB0GA1UdDgQWBBQgIvz0bNGJhjgpToksyKpP9xv9oDAPBgNVHRMECDAGAQH/AgEAMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQsFAAOCAQEAjvjuOMDSa+JXFCLyBKsycXtBVZsJ4Ue3LbaEsPY4MYN/hIQ5ZM5p7EjfcnMG4CtYkNsfNHc0AhBLdq45rnT87q/6O3vUEtNMafbhU6kthX7Y+9XFN9NpmYxr+ekVY5xOxi8h9JDIgoMP4VB1uS0aunL1IGqrNooL9mmFnL2kLVVee6/VR6C5+KSTCMCWppMuJIZII2v9o4dkoZ8Y7QRjQlLfYzd3qGtKbw7xaF1UsG/5xUb/Btwb2X2g4InpiB/yt/3CpQXpiWX/K4mBvUKiGn05ZsqeY1gx4g0xLBqcU9psmyPzK+Vsgw2jeRQ5JlKDyqE0hebfC1tvFu0CCrJFcw==\n "+        ],+        "attestationTypes": [+          "basic_full"+        ],+        "authenticationAlgorithms": [+          "secp256r1_ecdsa_sha256_raw"+        ],+        "authenticatorVersion": 328965,+        "cryptoStrength": 128,+        "description": "YubiKey Bio Series (Enterprise Profile)",+        "icon": "data:image/png;base64,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",+        "keyProtection": [+          "hardware",+          "secure_element",+          "remote_handle"+        ],+        "legalHeader": "https://fidoalliance.org/metadata/metadata-statement-legal-header/",+        "matcherProtection": [+          "on_chip"+        ],+        "protocolFamily": "u2f",+        "publicKeyAlgAndEncodings": [+          "ecc_x962_raw"+        ],+        "schema": 3,+        "tcDisplay": [],+        "upv": [+          {+            "major": 1,+            "minor": 2+          },+          {+            "major": 1,+            "minor": 1+          }+        ],+        "userVerificationDetails": [+          [+            {+              "userVerificationMethod": "presence_internal"+            }+          ]+        ]+      },+      "statusReports": [+        {+          "certificateNumber": "FIDO20020210806001",+          "certificationDescriptor": "YubiKey Bio (Enterprise Profile)",+          "certificationPolicyVersion": "1.3",+          "certificationRequirementsVersion": "1.4",+          "effectiveDate": "2021-08-06",+          "status": "FIDO_CERTIFIED_L1",+          "url": "www.yubico.com"+        },+        {+          "effectiveDate": "2021-08-06",+          "status": "FIDO_CERTIFIED"+        }+      ],+      "timeOfLastStatusChange": "2021-08-18"+    },+    {+      "attestationCertificateKeyIdentifiers": [+        "6b96167157ed487760701bdf004907d1fe917ee1",+        "8bf7115763ea49b6549e083c9fe8dc7b4ef60e19",+        "80245f8e317cbc795c664bf84389e80a97c5e623"+      ],+      "metadataStatement": {+        "attachmentHint": [+          "external",+          "wired",+          "wireless",+          "nfc"+        ],+        "attestationCertificateKeyIdentifiers": [+          "6b96167157ed487760701bdf004907d1fe917ee1",+          "8bf7115763ea49b6549e083c9fe8dc7b4ef60e19",+          "80245f8e317cbc795c664bf84389e80a97c5e623"+        ],+        "attestationRootCertificates": [+          "MIIDHjCCAgagAwIBAgIEG0BT9zANBgkqhkiG9w0BAQsFADAuMSwwKgYDVQQDEyNZdWJpY28gVTJGIFJvb3QgQ0EgU2VyaWFsIDQ1NzIwMDYzMTAgFw0xNDA4MDEwMDAwMDBaGA8yMDUwMDkwNDAwMDAwMFowLjEsMCoGA1UEAxMjWXViaWNvIFUyRiBSb290IENBIFNlcmlhbCA0NTcyMDA2MzEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC/jwYuhBVlqaiYWEMsrWFisgJ+PtM91eSrpI4TK7U53mwCIawSDHy8vUmk5N2KAj9abvT9NP5SMS1hQi3usxoYGonXQgfO6ZXyUA9a+KAkqdFnBnlyugSeCOep8EdZFfsaRFtMjkwz5Gcz2Py4vIYvCdMHPtwaz0bVuzneueIEz6TnQjE63Rdt2zbwnebwTG5ZybeWSwbzy+BJ34ZHcUhPAY89yJQXuE0IzMZFcEBbPNRbWECRKgjq//qT9nmDOFVlSRCt2wiqPSzluwn+v+suQEBsUjTGMEd25tKXXTkNW21wIWbxeSyUoTXwLvGS6xlwQSgNpk2qXYwf8iXg7VWZAgMBAAGjQjBAMB0GA1UdDgQWBBQgIvz0bNGJhjgpToksyKpP9xv9oDAPBgNVHRMECDAGAQH/AgEAMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQsFAAOCAQEAjvjuOMDSa+JXFCLyBKsycXtBVZsJ4Ue3LbaEsPY4MYN/hIQ5ZM5p7EjfcnMG4CtYkNsfNHc0AhBLdq45rnT87q/6O3vUEtNMafbhU6kthX7Y+9XFN9NpmYxr+ekVY5xOxi8h9JDIgoMP4VB1uS0aunL1IGqrNooL9mmFnL2kLVVee6/VR6C5+KSTCMCWppMuJIZII2v9o4dkoZ8Y7QRjQlLfYzd3qGtKbw7xaF1UsG/5xUb/Btwb2X2g4InpiB/yt/3CpQXpiWX/K4mBvUKiGn05ZsqeY1gx4g0xLBqcU9psmyPzK+Vsgw2jeRQ5JlKDyqE0hebfC1tvFu0CCrJFcw=="+        ],+        "attestationTypes": [+          "basic_full"+        ],+        "authenticationAlgorithms": [+          "secp256r1_ecdsa_sha256_raw"+        ],+        "authenticatorVersion": 2,+        "cryptoStrength": 128,+        "description": "YubiKey NEO",+        "icon": "data:image/png;base64,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",+        "keyProtection": [+          "hardware",+          "secure_element",+          "remote_handle"+        ],+        "legalHeader": "https://fidoalliance.org/metadata/metadata-statement-legal-header/",+        "matcherProtection": [+          "on_chip"+        ],+        "protocolFamily": "u2f",+        "publicKeyAlgAndEncodings": [+          "ecc_x962_raw"+        ],+        "schema": 3,+        "tcDisplay": [],+        "upv": [+          {+            "major": 1,+            "minor": 0+          }+        ],+        "userVerificationDetails": [+          [+            {+              "userVerificationMethod": "presence_internal"+            }+          ]+        ]+      },+      "statusReports": [+        {+          "certificateNumber": "U2F100020151223006",+          "certificationDescriptor": "YubiKey NEO",+          "effectiveDate": "2020-09-16",+          "status": "FIDO_CERTIFIED"+        }+      ],+      "timeOfLastStatusChange": "2020-09-16"+    },+    {+      "attestationCertificateKeyIdentifiers": [+        "31116a647069d1493f58fc5b54e5449e2a52d43e"+      ],+      "metadataStatement": {+        "attachmentHint": [+          "external",+          "wired"+        ],+        "attestationCertificateKeyIdentifiers": [+          "31116a647069d1493f58fc5b54e5449e2a52d43e"+        ],+        "attestationRootCertificates": [+          "MIIDHjCCAgagAwIBAgIEG0BT9zANBgkqhkiG9w0BAQsFADAuMSwwKgYDVQQDEyNZdWJpY28gVTJGIFJvb3QgQ0EgU2VyaWFsIDQ1NzIwMDYzMTAgFw0xNDA4MDEwMDAwMDBaGA8yMDUwMDkwNDAwMDAwMFowLjEsMCoGA1UEAxMjWXViaWNvIFUyRiBSb290IENBIFNlcmlhbCA0NTcyMDA2MzEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC/jwYuhBVlqaiYWEMsrWFisgJ+PtM91eSrpI4TK7U53mwCIawSDHy8vUmk5N2KAj9abvT9NP5SMS1hQi3usxoYGonXQgfO6ZXyUA9a+KAkqdFnBnlyugSeCOep8EdZFfsaRFtMjkwz5Gcz2Py4vIYvCdMHPtwaz0bVuzneueIEz6TnQjE63Rdt2zbwnebwTG5ZybeWSwbzy+BJ34ZHcUhPAY89yJQXuE0IzMZFcEBbPNRbWECRKgjq//qT9nmDOFVlSRCt2wiqPSzluwn+v+suQEBsUjTGMEd25tKXXTkNW21wIWbxeSyUoTXwLvGS6xlwQSgNpk2qXYwf8iXg7VWZAgMBAAGjQjBAMB0GA1UdDgQWBBQgIvz0bNGJhjgpToksyKpP9xv9oDAPBgNVHRMECDAGAQH/AgEAMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQsFAAOCAQEAjvjuOMDSa+JXFCLyBKsycXtBVZsJ4Ue3LbaEsPY4MYN/hIQ5ZM5p7EjfcnMG4CtYkNsfNHc0AhBLdq45rnT87q/6O3vUEtNMafbhU6kthX7Y+9XFN9NpmYxr+ekVY5xOxi8h9JDIgoMP4VB1uS0aunL1IGqrNooL9mmFnL2kLVVee6/VR6C5+KSTCMCWppMuJIZII2v9o4dkoZ8Y7QRjQlLfYzd3qGtKbw7xaF1UsG/5xUb/Btwb2X2g4InpiB/yt/3CpQXpiWX/K4mBvUKiGn05ZsqeY1gx4g0xLBqcU9psmyPzK+Vsgw2jeRQ5JlKDyqE0hebfC1tvFu0CCrJFcw=="+        ],+        "attestationTypes": [+          "basic_full"+        ],+        "authenticationAlgorithms": [+          "secp256r1_ecdsa_sha256_raw"+        ],+        "authenticatorVersion": 1,+        "cryptoStrength": 128,+        "description": "Yubikey Edge",+        "icon": "data:image/png;base64,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",+        "keyProtection": [+          "hardware",+          "secure_element",+          "remote_handle"+        ],+        "legalHeader": "https://fidoalliance.org/metadata/metadata-statement-legal-header/",+        "matcherProtection": [+          "on_chip"+        ],+        "protocolFamily": "u2f",+        "publicKeyAlgAndEncodings": [+          "ecc_x962_raw"+        ],+        "schema": 3,+        "tcDisplay": [],+        "upv": [+          {+            "major": 1,+            "minor": 1+          }+        ],+        "userVerificationDetails": [+          [+            {+              "userVerificationMethod": "presence_internal"+            }+          ]+        ]+      },+      "statusReports": [+        {+          "certificateNumber": "U2F100020150520002",+          "certificationDescriptor": "Yubikey Edge (v4)",+          "certificationRequirementsVersion": "1.0",+          "effectiveDate": "2020-12-29",+          "status": "FIDO_CERTIFIED"+        }+      ],+      "timeOfLastStatusChange": "2020-12-29"+    },+    {+      "aaid": "4e4e#4010",+      "metadataStatement": {+        "aaid": "4e4e#4010",+        "attachmentHint": [+          "internal"+        ],+        "attestationRootCertificates": [],+        "attestationTypes": [+          "basic_surrogate"+        ],+        "authenticationAlgorithms": [+          "secp256r1_ecdsa_sha256_raw"+        ],+        "authenticatorVersion": 256,+        "description": "Android Fingerprint",+        "icon": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEgAAABICAYAAABV7bNHAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoTWFjaW50b3NoKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpBRkIzMTI2RkE4MUIxMUU1OUIxMUZFNjhCRjI3MjIyNCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpBRkIzMTI3MEE4MUIxMUU1OUIxMUZFNjhCRjI3MjIyNCI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkFGQjMxMjZEQTgxQjExRTU5QjExRkU2OEJGMjcyMjI0IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkFGQjMxMjZFQTgxQjExRTU5QjExRkU2OEJGMjcyMjI0Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+pD/zBgAADBBJREFUeNrsXAVw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",+        "keyProtection": [+          "hardware",+          "tee"+        ],+        "legalHeader": "https://fidoalliance.org/metadata/metadata-statement-legal-header/",+        "matcherProtection": [+          "tee"+        ],+        "protocolFamily": "uaf",+        "publicKeyAlgAndEncodings": [+          "ecc_x962_raw"+        ],+        "schema": 3,+        "supportedExtensions": [+          {+            "data": "{\"attestationRootCertificates\":[\"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\"]}",+            "fail_if_unknown": false,+            "id": "fido.uaf.android.key_attestation"+          }+        ],+        "tcDisplay": [+          "any"+        ],+        "tcDisplayContentType": "text/plain",+        "upv": [+          {+            "major": 1,+            "minor": 1+          },+          {+            "major": 1,+            "minor": 0+          }+        ],+        "userVerificationDetails": [+          [+            {+              "baDesc": {+                "blockSlowdown": 30,+                "maxRetries": 5,+                "maxTemplates": 0,+                "selfAttestedFAR": 0,+                "selfAttestedFRR": 0+              },+              "userVerificationMethod": "fingerprint_internal"+            }+          ]+        ]+      },+      "statusReports": [+        {+          "effectiveDate": "2018-05-19",+          "status": "NOT_FIDO_CERTIFIED"+        }+      ],+      "timeOfLastStatusChange": "2018-05-19"+    },+    {+      "aaid": "4e4e#4006",+      "metadataStatement": {+        "aaid": "4e4e#4006",+        "attachmentHint": [+          "internal"+        ],+        "attestationRootCertificates": [],+        "attestationTypes": [+          "basic_surrogate"+        ],+        "authenticationAlgorithms": [+          "secp256r1_ecdsa_sha256_raw"+        ],+        "authenticatorVersion": 256,+        "description": "Android PIN",+        "icon": "data:image/png;base64,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",+        "keyProtection": [+          "hardware",+          "tee"+        ],+        "legalHeader": "https://fidoalliance.org/metadata/metadata-statement-legal-header/",+        "matcherProtection": [+          "software"+        ],+        "protocolFamily": "uaf",+        "publicKeyAlgAndEncodings": [+          "ecc_x962_raw"+        ],+        "schema": 3,+        "supportedExtensions": [+          {+            "data": "{\"attestationRootCertificates\":[\"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\"]}",+            "fail_if_unknown": false,+            "id": "fido.uaf.android.key_attestation"+          }+        ],+        "tcDisplay": [+          "any"+        ],+        "tcDisplayContentType": "text/plain",+        "upv": [+          {+            "major": 1,+            "minor": 1+          },+          {+            "major": 1,+            "minor": 0+          }+        ],+        "userVerificationDetails": [+          [+            {+              "caDesc": {+                "base": 10,+                "blockSlowdown": 0,+                "maxRetries": 10,+                "minLength": 4+              },+              "userVerificationMethod": "passcode_internal"+            }+          ]+        ]+      },+      "statusReports": [+        {+          "effectiveDate": "2018-05-19",+          "status": "NOT_FIDO_CERTIFIED"+        }+      ],+      "timeOfLastStatusChange": "2018-05-19"+    },+    {+      "aaid": "0066#0002",+      "metadataStatement": {+        "aaid": "0066#0002",+        "attachmentHint": [+          "internal"+        ],+        "attestationRootCertificates": [],+        "attestationTypes": [+          "basic_surrogate"+        ],+        "authenticationAlgorithms": [+          "secp256r1_ecdsa_sha256_der"+        ],+        "authenticatorVersion": 1,+        "description": "CAPY UAF",+        "icon": "data:image/png;base64,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",+        "keyProtection": [+          "hardware",+          "tee"+        ],+        "legalHeader": "https://fidoalliance.org/metadata/metadata-statement-legal-header/",+        "matcherProtection": [+          "tee"+        ],+        "protocolFamily": "uaf",+        "publicKeyAlgAndEncodings": [+          "ecc_x962_raw"+        ],+        "schema": 3,+        "tcDisplay": [+          "any"+        ],+        "tcDisplayContentType": "text/plain",+        "tcDisplayPNGCharacteristics": [+          {+            "bitDepth": 1,+            "colorType": 3,+            "compression": 0,+            "filter": 0,+            "height": 32,+            "interlace": 0,+            "plte": [+              {+                "b": 255,+                "g": 255,+                "r": 255+              }+            ],+            "width": 32+          }+        ],+        "upv": [+          {+            "major": 1,+            "minor": 1+          }+        ],+        "userVerificationDetails": [+          [+            {+              "userVerificationMethod": "fingerprint_internal"+            }+          ]+        ]+      },+      "statusReports": [+        {+          "effectiveDate": "2018-08-17",+          "status": "NOT_FIDO_CERTIFIED"+        }+      ],+      "timeOfLastStatusChange": "2018-08-17"+    },+    {+      "aaid": "0066#0001",+      "metadataStatement": {+        "aaid": "0066#0001",+        "attachmentHint": [+          "internal"+        ],+        "attestationRootCertificates": [],+        "attestationTypes": [+          "basic_surrogate"+        ],+        "authenticationAlgorithms": [+          "secp256r1_ecdsa_sha256_der"+        ],+        "authenticatorVersion": 3,+        "description": "CAPY UAF",+        "icon": "data:image/png;base64,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",+        "keyProtection": [+          "hardware",+          "tee"+        ],+        "legalHeader": "https://fidoalliance.org/metadata/metadata-statement-legal-header/",+        "matcherProtection": [+          "tee"+        ],+        "protocolFamily": "uaf",+        "publicKeyAlgAndEncodings": [+          "ecc_x962_raw"+        ],+        "schema": 3,+        "tcDisplay": [+          "any"+        ],+        "tcDisplayContentType": "text/plain",+        "tcDisplayPNGCharacteristics": [+          {+            "bitDepth": 1,+            "colorType": 3,+            "compression": 0,+            "filter": 0,+            "height": 32,+            "interlace": 0,+            "plte": [+              {+                "b": 255,+                "g": 255,+                "r": 255+              }+            ],+            "width": 32+          }+        ],+        "upv": [+          {+            "major": 1,+            "minor": 1+          }+        ],+        "userVerificationDetails": [+          [+            {+              "userVerificationMethod": "fingerprint_internal"+            }+          ]+        ]+      },+      "statusReports": [+        {+          "effectiveDate": "2018-07-20",+          "status": "NOT_FIDO_CERTIFIED"+        }+      ],+      "timeOfLastStatusChange": "2018-07-20"+    },+    {+      "aaid": "006F#0001",+      "metadataStatement": {+        "aaid": "006F#0001",+        "attachmentHint": [+          "internal"+        ],+        "attestationRootCertificates": [],+        "attestationTypes": [+          "basic_surrogate"+        ],+        "authenticationAlgorithms": [+          "secp256r1_ecdsa_sha256_der"+        ],+        "authenticatorVersion": 1,+        "description": "Hanko UAF Client/Authenticator Combo for Android",+        "icon": "data:image/png;base64,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",+        "keyProtection": [+          "software"+        ],+        "legalHeader": "https://fidoalliance.org/metadata/metadata-statement-legal-header/",+        "matcherProtection": [+          "software"+        ],+        "protocolFamily": "uaf",+        "publicKeyAlgAndEncodings": [+          "ecc_x962_der"+        ],+        "schema": 3,+        "tcDisplay": [+          "any"+        ],+        "tcDisplayContentType": "text/plain",+        "upv": [+          {+            "major": 1,+            "minor": 1+          }+        ],+        "userVerificationDetails": [+          [+            {+              "userVerificationMethod": "handprint_internal"+            }+          ],+          [+            {+              "userVerificationMethod": "voiceprint_internal"+            }+          ],+          [+            {+              "userVerificationMethod": "eyeprint_internal"+            }+          ],+          [+            {+              "userVerificationMethod": "pattern_internal"+            }+          ],+          [+            {+              "userVerificationMethod": "faceprint_internal"+            }+          ],+          [+            {+              "userVerificationMethod": "passcode_internal"+            }+          ],+          [+            {+              "userVerificationMethod": "fingerprint_internal"+            }+          ]+        ]+      },+      "statusReports": [+        {+          "effectiveDate": "2020-10-14",+          "status": "NOT_FIDO_CERTIFIED"+        }+      ],+      "timeOfLastStatusChange": "2020-10-14"+    },+    {+      "aaid": "006F#0002",+      "metadataStatement": {+        "aaid": "006F#0002",+        "attachmentHint": [+          "internal"+        ],+        "attestationRootCertificates": [],+        "attestationTypes": [+          "basic_surrogate"+        ],+        "authenticationAlgorithms": [+          "secp256r1_ecdsa_sha256_der"+        ],+        "authenticatorVersion": 1,+        "description": "Hanko UAF Client/Authenticator Combo for iOS",+        "icon": "data:image/png;base64,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",+        "keyProtection": [+          "software"+        ],+        "legalHeader": "https://fidoalliance.org/metadata/metadata-statement-legal-header/",+        "matcherProtection": [+          "software"+        ],+        "protocolFamily": "uaf",+        "publicKeyAlgAndEncodings": [+          "ecc_x962_der"+        ],+        "schema": 3,+        "tcDisplay": [+          "any"+        ],+        "tcDisplayContentType": "text/plain",+        "upv": [+          {+            "major": 1,+            "minor": 1+          }+        ],+        "userVerificationDetails": [+          [+            {+              "userVerificationMethod": "fingerprint_internal"+            }+          ],+          [+            {+              "userVerificationMethod": "faceprint_internal"+            }+          ],+          [+            {+              "userVerificationMethod": "passcode_internal"+            }+          ]+        ]+      },+      "statusReports": [+        {+          "effectiveDate": "2020-10-21",+          "status": "NOT_FIDO_CERTIFIED"+        }+      ],+      "timeOfLastStatusChange": "2020-10-21"+    },+    {+      "aaid": "0022#0100",+      "metadataStatement": {+        "aaid": "0022#0100",+        "attachmentHint": [+          "internal"+        ],+        "attestationRootCertificates": [],+        "attestationTypes": [+          "basic_surrogate"+        ],+        "authenticationAlgorithms": [+          "secp256r1_ecdsa_sha256_der"+        ],+        "authenticatorVersion": 1,+        "description": "Movenda Egomet FIDO UAF Android Fingerprint Authenticator",+        "icon": "data:image/png;base64,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",+        "keyProtection": [+          "software"+        ],+        "legalHeader": "https://fidoalliance.org/metadata/metadata-statement-legal-header/",+        "matcherProtection": [+          "software"+        ],+        "protocolFamily": "uaf",+        "publicKeyAlgAndEncodings": [+          "ecc_x962_der"+        ],+        "schema": 3,+        "tcDisplay": [+          "any"+        ],+        "tcDisplayContentType": "image/png",+        "tcDisplayPNGCharacteristics": [+          {+            "bitDepth": 8,+            "colorType": 2,+            "compression": 0,+            "filter": 0,+            "height": 1736,+            "interlace": 0,+            "width": 1183+          },+          {+            "bitDepth": 8,+            "colorType": 2,+            "compression": 0,+            "filter": 0,+            "height": 868,+            "interlace": 0,+            "width": 592+          },+          {+            "bitDepth": 8,+            "colorType": 2,+            "compression": 0,+            "filter": 0,+            "height": 1240,+            "interlace": 0,+            "width": 845+          }+        ],+        "upv": [+          {+            "major": 1,+            "minor": 0+          }+        ],+        "userVerificationDetails": [+          [+            {+              "userVerificationMethod": "fingerprint_internal"+            }+          ]+        ]+      },+      "statusReports": [+        {+          "certificateNumber": "UAF100020190506001",+          "certificationDescriptor": "Client/Authenticator Combo Certification",+          "certificationPolicyVersion": "1.3.6",+          "certificationRequirementsVersion": "1.0.0",+          "effectiveDate": "2019-10-30",+          "status": "FIDO_CERTIFIED"+        }+      ],+      "timeOfLastStatusChange": "2019-10-30"+    },+    {+      "aaid": "0022#1100",+      "metadataStatement": {+        "aaid": "0022#1100",+        "attachmentHint": [+          "internal"+        ],+        "attestationRootCertificates": [],+        "attestationTypes": [+          "basic_surrogate"+        ],+        "authenticationAlgorithms": [+          "secp256r1_ecdsa_sha256_der"+        ],+        "authenticatorVersion": 1,+        "description": "Movenda Egomet FIDO UAF iOS Touch ID/Face ID Authenticator",+        "icon": "data:image/png;base64,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",+        "keyProtection": [+          "software"+        ],+        "legalHeader": "https://fidoalliance.org/metadata/metadata-statement-legal-header/",+        "matcherProtection": [+          "software"+        ],+        "protocolFamily": "uaf",+        "publicKeyAlgAndEncodings": [+          "ecc_x962_raw"+        ],+        "schema": 3,+        "tcDisplay": [+          "any"+        ],+        "tcDisplayContentType": "image/png",+        "tcDisplayPNGCharacteristics": [+          {+            "bitDepth": 8,+            "colorType": 2,+            "compression": 0,+            "filter": 0,+            "height": 840,+            "interlace": 0,+            "width": 540+          },+          {+            "bitDepth": 8,+            "colorType": 2,+            "compression": 0,+            "filter": 0,+            "height": 1260,+            "interlace": 0,+            "width": 810+          }+        ],+        "upv": [+          {+            "major": 1,+            "minor": 0+          }+        ],+        "userVerificationDetails": [+          [+            {+              "userVerificationMethod": "faceprint_internal"+            }+          ],+          [+            {+              "userVerificationMethod": "fingerprint_internal"+            }+          ]+        ]+      },+      "statusReports": [+        {+          "certificateNumber": "UAF100020190506002",+          "certificationDescriptor": "Client/Authenticator Combo Certification",+          "certificationPolicyVersion": "1.3.6",+          "certificationRequirementsVersion": "1.0.0",+          "effectiveDate": "2019-10-30",+          "status": "FIDO_CERTIFIED"+        }+      ],+      "timeOfLastStatusChange": "2019-10-30"+    },+    {+      "aaid": "0056#0002",+      "metadataStatement": {+        "aaid": "0056#0002",+        "attachmentHint": [+          "internal"+        ],+        "attestationRootCertificates": [],+        "attestationTypes": [+          "basic_surrogate"+        ],+        "authenticationAlgorithms": [+          "secp256r1_ecdsa_sha256_raw"+        ],+        "authenticatorVersion": 1,+        "description": "PixelPin - Picture Login",+        "icon": "data:image/png;base64,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",+        "isFreshUserVerificationRequired": true,+        "isKeyRestricted": true,+        "keyProtection": [+          "software"+        ],+        "legalHeader": "https://fidoalliance.org/metadata/metadata-statement-legal-header/",+        "matcherProtection": [+          "software"+        ],+        "protocolFamily": "uaf",+        "publicKeyAlgAndEncodings": [+          "ecc_x962_raw"+        ],+        "schema": 3,+        "tcDisplay": [+          "any"+        ],+        "tcDisplayContentType": "text/plain",+        "upv": [+          {+            "major": 1,+            "minor": 1+          }+        ],+        "userVerificationDetails": [+          [+            {+              "userVerificationMethod": "all"+            },+            {+              "paDesc": {+                "blockSlowdown": 900,+                "maxRetries": 5,+                "minComplexity": 34359738368+              },+              "userVerificationMethod": "pattern_internal"+            },+            {+              "userVerificationMethod": "presence_internal"+            }+          ]+        ]+      },+      "statusReports": [+        {+          "certificateNumber": "UAF110020180511001",+          "certificationDescriptor": "PixelPin iOS",+          "certificationPolicyVersion": "1.0.1",+          "certificationRequirementsVersion": "1.1.0",+          "effectiveDate": "2018-08-30",+          "status": "FIDO_CERTIFIED_L1"+        }+      ],+      "timeOfLastStatusChange": "2018-08-30"+    },+    {+      "aaid": "0042#0002",+      "metadataStatement": {+        "aaid": "0042#0002",+        "attachmentHint": [+          "internal"+        ],+        "attestationRootCertificates": [],+        "attestationTypes": [+          "basic_surrogate"+        ],+        "authenticationAlgorithms": [+          "secp256k1_ecdsa_sha256_raw"+        ],+        "authenticatorVersion": 1,+        "description": "SSenStone FIDO UAF Authenticator for iOS",+        "icon": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAE8AAAAvCAYAAACiwJfcAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAahSURBVGhD7Zr5bxRlGMf9KzTB8AM/YEhE2W7pQZcWKKBclSpHATlELARE7kNECCA3FkWK0CKKSCFIsKBcgVCDWGNESdAYidwgggJBiRiMhFc/4wy8884zu9NdlnGTfZJP2n3nO++88933fveBBx+PqCzJkTUvBbLmpUDWvBTImpcCSZvXLCdX9R05Sk19bb5atf599fG+/erA541q47aP1LLVa9SIyVNUi8Ii8d5kGTsi30NFv7ai9n7QZPMwbdys2erU2XMqUdy8+ZcaNmGimE8yXN3RUd3a18nF0fUlovZ+0CTzWpd2Vj+eOm1bEyy6Dx4i5pUMGWveo506q227dtuWBIuffr6oWpV0FPNLhow1751Nm21LvPH3rVtWjfz66Lfql8tX7FRl9YFSXsmSseb9ceOGbYk7MNUcGPg8ZsbMe9rfQUaaV/JMX9sqdzDCSvp0kZHmTZg9x7bLHcMnThb16eJ+mVfQq8yaUZQNG64iXZ+0/kq6uOZFO0QtatdWKfXnRQ99Bj91R5OIFnk54jN0mkUiqlO3XDW+Ml+98mKB6tW7rWpZcPc+0zg4tLrYlUc86E6eGDjIMubVpcusearfgIYGRk6brhZVr/JcHzooL7550jedLExopWcApi2ZUqhu7JLvrVsQU81zkzOPeemMRYvVuQsX7PbiDQY5JvZonftK+1VY8H9utx530h0ob+jmRYqj6ouaYvEenW/WlYjp8cwbMm682tPwqW1R4tj/2SH13IRJYl4moZvXpiSqDr7dXtQHxa/PK3/+BWsK1dTgHu6V8tQJ3bwFkwpFrUOQ50s1r3levm8zZcq17+BBaw7K8lEK5qzkYeark9A8p7P3GzDK+nd3DQow+6UC8SVN82iuv38im7NtaXtV1CVq6Rgw4pksmbdi3bu2De7YfaBBxcqfvqPrUjFQNTQ22lfdUVVT68rTJKF5DnSmUjgdqg4mSS9pmsfDJR3G6ToH0iW9aV7LWLHYXKllTDt0LTAtkYIaamp1QjVv++uyGUxVdJ0DNVXSm+b1qRxpl84ddfX1Lp1O/d69tsod0vs5hGre9xu8o+fpLR1cGhNTD6Z57C9KMWXefJdOZ94bb9oqd1ROnS7qITTzHimMqivbO3g0DdVyk3WQBhBztK35YKNdOnc8O3acS6fDZFgKaXLsEJp5rdrliBqp89cJcs/m7Tvs0rkjGfN4b0kPoZn3UJuIOrnZ22yP1fmvUx+O5gSqebV1m+zSuYNVhq7TWbDiLVvljplLlop6CLXP+2qtvGLIL/1vimISdMBgzSoFZyu6Tqd+jzxgsPaV9BCqee/NjYk6v6lK9cwiUc/STtf1HDpM3b592y7h3Thx5ozK69HLpYWuAwaqS5cv26q7ceb8efVYaReP3iFU8zj1knSwZXHMmnCjY0Ogalo7UQfSCM3qQQr2H/XFP7ssXx45Yl91ByeCep4moZoH+1fG3xD4tT7x8kwyj8nwb9ev26V0B6d+7H4zKvudAH537FjqyzOHdJnHEuzmXq/WjxObvNMbv7nhywsX2aVsWtC8+48aLeapE7p5wKZi0A2AQRV5nvR4E+uJc+b61kApqInxBgmd/4V5QP/mt18HDC7sRHftmeu5lmhV0rn/ALX232bqd4BFnDx7Vi1cWS2uff0IbB47qexxmUj9QutYjupd3tYD6abWBBMrh+apNbOKrNF1+ugCa4riXGfwMPPtViavhU3YMOAAnuUb/R07L0yOSeOadE88ApsXFGff30ynhlJgM51CU6vN9EzgnpvHBFUyiVraePiwJ53DF5ZTZnomENg85kNUd2oJi2Wpr4OmmkfN4x4zHfiVFc8Dv8NzuhNqOidilGvA6DGueZwO78AAQn6ciEk6+rw5VcvjvqNDYPOoIUwaKShrxAuXLlkH4aYuGfMYDc10WF5Ta31hPJOfcUhrU/JlINi6c6elRYdBpo6++Yfjx61lGNfRm4MD5rJ1j3FoGHnjDSBNarYUgMLyMszKpb7tXpoHfPs8h3Wp1LzNfNk54XxC1wDGUmYzXYefh6z/cKtVm4EBxa9VQGDzYr3LrUMRjHEKkk7zaFKYQA2hGQU1z+85NFWpXDrkz3vx10GqxQ6BzeNboBk5n8k4nebRh+k1hWfxTF0D1EyWUs5nv+dgQqKaxzuCdE0isHl02NQ8ah0mXr12La3m0f9wik9+wLNTMY/86MPo8yi31OfxmT6PWoqG9+DZukYna56mSZt5WWSy5qVA1rwUyJqXAlnzkiai/gHSD7RkTyihogAAAABJRU5ErkJggg==",+        "keyProtection": [+          "software"+        ],+        "legalHeader": "https://fidoalliance.org/metadata/metadata-statement-legal-header/",+        "matcherProtection": [+          "software"+        ],+        "protocolFamily": "uaf",+        "publicKeyAlgAndEncodings": [+          "ecc_x962_raw"+        ],+        "schema": 3,+        "tcDisplay": [+          "any"+        ],+        "tcDisplayContentType": "image/png",+        "tcDisplayPNGCharacteristics": [+          {+            "bitDepth": 1,+            "colorType": 3,+            "compression": 0,+            "filter": 0,+            "height": 400,+            "interlace": 0,+            "plte": [+              {+                "b": 216,+                "g": 216,+                "r": 216+              },+              {+                "b": 0,+                "g": 0,+                "r": 200+              }+            ],+            "width": 200+          },+          {+            "bitDepth": 8,+            "colorType": 6,+            "compression": 0,+            "filter": 0,+            "height": 500,+            "interlace": 0,+            "width": 300+          }+        ],+        "upv": [+          {+            "major": 1,+            "minor": 0+          }+        ],+        "userVerificationDetails": [+          [+            {+              "userVerificationMethod": "passcode_internal"+            }+          ]+        ]+      },+      "statusReports": [+        {+          "effectiveDate": "2018-09-13",+          "status": "FIDO_CERTIFIED"+        }+      ],+      "timeOfLastStatusChange": "2018-09-13"+    },+    {+      "aaid": "4e4e#4011",+      "metadataStatement": {+        "aaid": "4e4e#4011",+        "attachmentHint": [+          "internal"+        ],+        "attestationRootCertificates": [],+        "attestationTypes": [+          "basic_surrogate"+        ],+        "authenticationAlgorithms": [+          "secp256r1_ecdsa_sha256_raw"+        ],+        "authenticatorVersion": 256,+        "description": "Samsung Pass",+        "icon": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEgAAABICAYAAABV7bNHAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoTWFjaW50b3NoKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpBRkIzMTI2RkE4MUIxMUU1OUIxMUZFNjhCRjI3MjIyNCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpBRkIzMTI3MEE4MUIxMUU1OUIxMUZFNjhCRjI3MjIyNCI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkFGQjMxMjZEQTgxQjExRTU5QjExRkU2OEJGMjcyMjI0IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkFGQjMxMjZFQTgxQjExRTU5QjExRkU2OEJGMjcyMjI0Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+pD/zBgAADBBJREFUeNrsXAVw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",+        "keyProtection": [+          "hardware",+          "tee"+        ],+        "legalHeader": "https://fidoalliance.org/metadata/metadata-statement-legal-header/",+        "matcherProtection": [+          "software"+        ],+        "protocolFamily": "uaf",+        "publicKeyAlgAndEncodings": [+          "ecc_x962_raw"+        ],+        "schema": 3,+        "supportedExtensions": [+          {+            "data": "{\"attestationRootCertificates\":[\"MIICizCCAjKgAwIBAgIJAKIFntEOQ1tXMAoGCCqGSM49BAMCMIGYMQswCQYDVQQGEwJVUzETMBEG\\nA1UECAwKQ2FsaWZvcm5pYTEWMBQGA1UEBwwNTW91bnRhaW4gVmlldzEVMBMGA1UECgwMR29vZ2xl\\nLCBJbmMuMRAwDgYDVQQLDAdBbmRyb2lkMTMwMQYDVQQDDCpBbmRyb2lkIEtleXN0b3JlIFNvZnR3\\nYXJlIEF0dGVzdGF0aW9uIFJvb3QwHhcNMTYwMTExMDA0MzUwWhcNMzYwMTA2MDA0MzUwWjCBmDEL\\nMAkGA1UEBhMCVVMxEzARBgNVBAgMCkNhbGlmb3JuaWExFjAUBgNVBAcMDU1vdW50YWluIFZpZXcx\\nFTATBgNVBAoMDEdvb2dsZSwgSW5jLjEQMA4GA1UECwwHQW5kcm9pZDEzMDEGA1UEAwwqQW5kcm9p\\nZCBLZXlzdG9yZSBTb2Z0d2FyZSBBdHRlc3RhdGlvbiBSb290MFkwEwYHKoZIzj0CAQYIKoZIzj0D\\nAQcDQgAE7l1ex+HA220Dpn7mthvsTWpdamguD/9/SQ59dx9EIm29sa/6FsvHrcV30lacqrewLVQB\\nXT5DKyqO107sSHVBpKNjMGEwHQYDVR0OBBYEFMit6XdMRcOjzw0WEOR5QzohWjDPMB8GA1UdIwQY\\nMBaAFMit6XdMRcOjzw0WEOR5QzohWjDPMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgKE\\nMAoGCCqGSM49BAMCA0cAMEQCIDUho++LNEYenNVg8x1YiSBq3KNlQfYNns6KGYxmSGB7AiBNC/NR\\n2TB8fVvaNTQdqEcbY6WFZTytTySn502vQX3xvw==\"]}",+            "fail_if_unknown": false,+            "id": "fido.uaf.android.key_attestation"+          }+        ],+        "tcDisplay": [+          "any"+        ],+        "tcDisplayContentType": "text/plain",+        "upv": [+          {+            "major": 1,+            "minor": 0+          }+        ],+        "userVerificationDetails": [+          [+            {+              "baDesc": {+                "blockSlowdown": 30,+                "maxRetries": 5,+                "maxTemplates": 0,+                "selfAttestedFAR": 0,+                "selfAttestedFRR": 0+              },+              "userVerificationMethod": "fingerprint_internal"+            }+          ]+        ]+      },+      "statusReports": [+        {+          "effectiveDate": "2018-05-19",+          "status": "NOT_FIDO_CERTIFIED"+        }+      ],+      "timeOfLastStatusChange": "2018-05-19"+    },+    {+      "aaid": "4e4e#400b",+      "metadataStatement": {+        "aaid": "4e4e#400b",+        "attachmentHint": [+          "internal"+        ],+        "attestationRootCertificates": [],+        "attestationTypes": [+          "basic_surrogate"+        ],+        "authenticationAlgorithms": [+          "secp256r1_ecdsa_sha256_raw"+        ],+        "authenticatorVersion": 256,+        "description": "Touch ID or Face ID",+        "icon": "data:image/png;base64,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",+        "keyProtection": [+          "hardware"+        ],+        "legalHeader": "https://fidoalliance.org/metadata/metadata-statement-legal-header/",+        "matcherProtection": [+          "on_chip"+        ],+        "protocolFamily": "uaf",+        "publicKeyAlgAndEncodings": [+          "ecc_x962_raw"+        ],+        "schema": 3,+        "tcDisplay": [+          "any"+        ],+        "tcDisplayContentType": "text/plain",+        "upv": [+          {+            "major": 1,+            "minor": 0+          },+          {+            "major": 1,+            "minor": 1+          }+        ],+        "userVerificationDetails": [+          [+            {+              "baDesc": {+                "blockSlowdown": 0,+                "maxRetries": 5,+                "maxTemplates": 0,+                "selfAttestedFAR": 0,+                "selfAttestedFRR": 0+              },+              "userVerificationMethod": "fingerprint_internal"+            }+          ],+          [+            {+              "userVerificationMethod": "faceprint_internal"+            }+          ]+        ]+      },+      "statusReports": [+        {+          "effectiveDate": "2018-05-19",+          "status": "NOT_FIDO_CERTIFIED"+        }+      ],+      "timeOfLastStatusChange": "2018-05-19"+    },+    {+      "aaid": "4e4e#400a",+      "metadataStatement": {+        "aaid": "4e4e#400a",+        "attachmentHint": [+          "internal"+        ],+        "attestationRootCertificates": [],+        "attestationTypes": [+          "basic_surrogate"+        ],+        "authenticationAlgorithms": [+          "secp256r1_ecdsa_sha256_raw"+        ],+        "authenticatorVersion": 256,+        "description": "Touch ID or Face ID",+        "icon": "data:image/png;base64,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",+        "keyProtection": [+          "hardware"+        ],+        "legalHeader": "https://fidoalliance.org/metadata/metadata-statement-legal-header/",+        "matcherProtection": [+          "on_chip"+        ],+        "protocolFamily": "uaf",+        "publicKeyAlgAndEncodings": [+          "ecc_x962_raw"+        ],+        "schema": 3,+        "tcDisplay": [+          "any"+        ],+        "tcDisplayContentType": "text/plain",+        "upv": [+          {+            "major": 1,+            "minor": 1+          },+          {+            "major": 1,+            "minor": 0+          }+        ],+        "userVerificationDetails": [+          [+            {+              "userVerificationMethod": "faceprint_internal"+            }+          ],+          [+            {+              "baDesc": {+                "blockSlowdown": 0,+                "maxRetries": 5,+                "maxTemplates": 0,+                "selfAttestedFAR": 0,+                "selfAttestedFRR": 0+              },+              "userVerificationMethod": "fingerprint_internal"+            }+          ]+        ]+      },+      "statusReports": [+        {+          "effectiveDate": "2018-05-19",+          "status": "NOT_FIDO_CERTIFIED"+        }+      ],+      "timeOfLastStatusChange": "2018-05-19"+    },+    {+      "aaid": "4e4e#4005",+      "metadataStatement": {+        "aaid": "4e4e#4005",+        "attachmentHint": [+          "internal"+        ],+        "attestationRootCertificates": [],+        "attestationTypes": [+          "basic_surrogate"+        ],+        "authenticationAlgorithms": [+          "rsa_emsa_pkcs1_sha256_raw"+        ],+        "authenticatorVersion": 256,+        "description": "Touch ID, Face ID, or Passcode",+        "icon": "data:image/png;base64,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",+        "keyProtection": [+          "hardware",+          "tee"+        ],+        "legalHeader": "https://fidoalliance.org/metadata/metadata-statement-legal-header/",+        "matcherProtection": [+          "tee"+        ],+        "protocolFamily": "uaf",+        "publicKeyAlgAndEncodings": [+          "rsa_2048_raw"+        ],+        "schema": 3,+        "tcDisplay": [+          "any"+        ],+        "tcDisplayContentType": "text/plain",+        "upv": [+          {+            "major": 1,+            "minor": 0+          },+          {+            "major": 1,+            "minor": 1+          }+        ],+        "userVerificationDetails": [+          [+            {+              "caDesc": {+                "base": 10,+                "blockSlowdown": 60,+                "maxRetries": 5,+                "minLength": 4+              },+              "userVerificationMethod": "passcode_internal"+            }+          ],+          [+            {+              "baDesc": {+                "blockSlowdown": 0,+                "maxRetries": 5,+                "maxTemplates": 0,+                "selfAttestedFAR": 0,+                "selfAttestedFRR": 0+              },+              "userVerificationMethod": "fingerprint_internal"+            }+          ]+        ]+      },+      "statusReports": [+        {+          "effectiveDate": "2018-05-19",+          "status": "NOT_FIDO_CERTIFIED"+        }+      ],+      "timeOfLastStatusChange": "2018-05-19"+    },+    {+      "aaid": "0052#0002",+      "metadataStatement": {+        "aaid": "0052#0002",+        "attachmentHint": [+          "internal"+        ],+        "attestationRootCertificates": [],+        "attestationTypes": [+          "basic_surrogate"+        ],+        "authenticationAlgorithms": [+          "secp256r1_ecdsa_sha256_raw"+        ],+        "authenticatorVersion": 1,+        "description": "i-Sprint Android FingerPrint UAF Authenticator",+        "icon": "data:image/png;base64,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",+        "keyProtection": [+          "software"+        ],+        "legalHeader": "https://fidoalliance.org/metadata/metadata-statement-legal-header/",+        "matcherProtection": [+          "software"+        ],+        "protocolFamily": "uaf",+        "publicKeyAlgAndEncodings": [+          "ecc_x962_raw"+        ],+        "schema": 3,+        "tcDisplay": [+          "any"+        ],+        "tcDisplayContentType": "text/plain",+        "tcDisplayPNGCharacteristics": [+          {+            "bitDepth": 16,+            "colorType": 2,+            "compression": 0,+            "filter": 0,+            "height": 480,+            "interlace": 0,+            "width": 320+          }+        ],+        "upv": [+          {+            "major": 1,+            "minor": 0+          }+        ],+        "userVerificationDetails": [+          [+            {+              "userVerificationMethod": "fingerprint_internal"+            }+          ]+        ]+      },+      "statusReports": [+        {+          "certificateNumber": "UAF100020180221001",+          "certificationDescriptor": "FIDO L1 Client/Authenticator Combo",+          "certificationPolicyVersion": "1.3.2",+          "certificationRequirementsVersion": "1.0.0",+          "effectiveDate": "2018-08-01",+          "status": "FIDO_CERTIFIED_L1"+        }+      ],+      "timeOfLastStatusChange": "2018-08-01"+    },+    {+      "aaid": "0052#0001",+      "metadataStatement": {+        "aaid": "0052#0001",+        "attachmentHint": [+          "internal"+        ],+        "attestationRootCertificates": [],+        "attestationTypes": [+          "basic_surrogate"+        ],+        "authenticationAlgorithms": [+          "secp256r1_ecdsa_sha256_raw"+        ],+        "authenticatorVersion": 1,+        "description": "i-Sprint iOS FingerPrint UAF Authenticator",+        "icon": "data:image/png;base64,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",+        "keyProtection": [+          "software"+        ],+        "legalHeader": "https://fidoalliance.org/metadata/metadata-statement-legal-header/",+        "matcherProtection": [+          "software"+        ],+        "protocolFamily": "uaf",+        "publicKeyAlgAndEncodings": [+          "ecc_x962_raw"+        ],+        "schema": 3,+        "tcDisplay": [+          "any"+        ],+        "tcDisplayContentType": "text/plain",+        "tcDisplayPNGCharacteristics": [+          {+            "bitDepth": 16,+            "colorType": 3,+            "compression": 0,+            "filter": 0,+            "height": 480,+            "interlace": 0,+            "width": 320+          }+        ],+        "upv": [+          {+            "major": 1,+            "minor": 0+          }+        ],+        "userVerificationDetails": [+          [+            {+              "userVerificationMethod": "fingerprint_internal"+            }+          ]+        ]+      },+      "statusReports": [+        {+          "certificateNumber": "UAF100020180221004",+          "certificationDescriptor": "FIDO L1 Client/Authenticator Combo",+          "certificationPolicyVersion": "1.3.2",+          "certificationRequirementsVersion": "1.0.0",+          "effectiveDate": "2018-08-01",+          "status": "FIDO_CERTIFIED_L1"+        }+      ],+      "timeOfLastStatusChange": "2018-08-01"+    },+    {+      "aaid": "4e4e#4009",+      "metadataStatement": {+        "aaid": "4e4e#4009",+        "attachmentHint": [+          "internal"+        ],+        "attestationRootCertificates": [],+        "attestationTypes": [+          "basic_surrogate"+        ],+        "authenticationAlgorithms": [+          "secp256r1_ecdsa_sha256_raw"+        ],+        "authenticatorVersion": 256,+        "description": "iOS Passcode",+        "icon": "data:image/png;base64,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",+        "keyProtection": [+          "hardware",+          "tee"+        ],+        "legalHeader": "https://fidoalliance.org/metadata/metadata-statement-legal-header/",+        "matcherProtection": [+          "on_chip"+        ],+        "protocolFamily": "uaf",+        "publicKeyAlgAndEncodings": [+          "ecc_x962_raw"+        ],+        "schema": 3,+        "tcDisplay": [+          "any"+        ],+        "tcDisplayContentType": "text/plain",+        "upv": [+          {+            "major": 1,+            "minor": 1+          },+          {+            "major": 1,+            "minor": 0+          }+        ],+        "userVerificationDetails": [+          [+            {+              "caDesc": {+                "base": 10,+                "blockSlowdown": 60,+                "maxRetries": 5,+                "minLength": 4+              },+              "userVerificationMethod": "passcode_internal"+            }+          ]+        ]+      },+      "statusReports": [+        {+          "effectiveDate": "2018-05-19",+          "status": "NOT_FIDO_CERTIFIED"+        }+      ],+      "timeOfLastStatusChange": "2018-05-19"+    }+  ]+}
+ tests/golden-metadata/big/root.crt view
@@ -0,0 +1,21 @@+-----BEGIN CERTIFICATE-----+MIIDXzCCAkegAwIBAgILBAAAAAABIVhTCKIwDQYJKoZIhvcNAQELBQAwTDEgMB4G+A1UECxMXR2xvYmFsU2lnbiBSb290IENBIC0gUjMxEzARBgNVBAoTCkdsb2JhbFNp+Z24xEzARBgNVBAMTCkdsb2JhbFNpZ24wHhcNMDkwMzE4MTAwMDAwWhcNMjkwMzE4+MTAwMDAwWjBMMSAwHgYDVQQLExdHbG9iYWxTaWduIFJvb3QgQ0EgLSBSMzETMBEG+A1UEChMKR2xvYmFsU2lnbjETMBEGA1UEAxMKR2xvYmFsU2lnbjCCASIwDQYJKoZI+hvcNAQEBBQADggEPADCCAQoCggEBAMwldpB5BngiFvXAg7aEyiie/QV2EcWtiHL8+RgJDx7KKnQRfJMsuS+FggkbhUqsMgUdwbN1k0ev1LKMPgj0MK66X17YUhhB5uzsT+gHeMCOFJ0mpiLx9e+pZo34knlTifBtc+ycsmWQ1z3rDI6SYOgxXG71uL0gRgykmm+KPZpO/bLyCiR5Z2KYVc3rHQU3HTgOu5yLy6c+9C7v/U9AOEGM+iCK65TpjoWc4zd+QQ4gOsC0p6Hpsk+QLjJg6VfLuQSSaGjlOCZgdbKfd/+RFO+uIEn8rUAVSNECMWEZ+XriX7613t2Saer9fwRPvm2L7DWzgVGkWqQPabumDk3F2xmmFghcCAwEAAaNCMEAw+DgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFI/wS3+o+LkUkrk1Q+mOai97i3Ru8MA0GCSqGSIb3DQEBCwUAA4IBAQBLQNvAUKr+yAzv95ZU+RUm7lgAJQayzE4aGKAczymvmdLm6AC2upArT9fHxD4q/c2dKg8dEe3jgr25sbwMp+jjM5RcOO5LlXbKr8EpbsU8Yt5CRsuZRj+9xTaGdWPoO4zzUhw8lo/s7awlOqzJCK+6fBdRoyV3XpYKBovHd7NADdBj+1EbddTKJd+82cEHhXXipa0095MJ6RMG3NzdvQX+mcIfeg7jLQitChws/zyrVQ4PkX4268NXSb7hLi18YIvDQVETI53O9zJrlAGomecs+Mx86OyXShkDOOyyGeMlhLxS67ttVb9+E7gUJTb0o2HLO02JQZR7rkpeDMdmztcpH+WD9f+-----END CERTIFICATE-----
+ tests/golden-metadata/small/blob.jwt view
@@ -0,0 +1,1 @@+eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCIsIng1YyI6WyJNSUlDWlRDQ0FndWdBd0lCQWdJQkFUQUtCZ2dxaGtqT1BRUURBakNCb3pFbk1DVUdBMVVFQXd3ZVJWaEJUVkJNUlNCTlJGTXpJRlJGVTFRZ1NVNVVSVkpOUlVSSlFWUkZNU0l3SUFZSktvWklodmNOQVFrQkZoTmxlR0Z0Y0d4bFFHVjRZVzF3YkdVdVkyOXRNUlF3RWdZRFZRUUtEQXRGZUdGdGNHeGxJRTlTUnpFUU1BNEdBMVVFQ3d3SFJYaGhiWEJzWlRFTE1Ba0dBMVVFQmhNQ1ZWTXhDekFKQmdOVkJBZ01BazFaTVJJd0VBWURWUVFIREFsWFlXdGxabWxsYkdRd0hoY05NakV3TkRFNU1URXpOVEEzV2hjTk16RXdOREUzTVRFek5UQTNXakNCcFRFcE1DY0dBMVVFQXd3Z1JWaEJUVkJNUlNCTlJGTXpJRk5KUjA1SlRrY2dRMFZTVkVsR1NVTkJWRVV4SWpBZ0Jna3Foa2lHOXcwQkNRRVdFMlY0WVcxd2JHVkFaWGhoYlhCc1pTNWpiMjB4RkRBU0JnTlZCQW9NQzBWNFlXMXdiR1VnVDFKSE1SQXdEZ1lEVlFRTERBZEZlR0Z0Y0d4bE1Rc3dDUVlEVlFRR0V3SlZVekVMTUFrR0ExVUVDQXdDVFZreEVqQVFCZ05WQkFjTUNWZGhhMlZtYVdWc1pEQlpNQk1HQnlxR1NNNDlBZ0VHQ0NxR1NNNDlBd0VIQTBJQUJOUUpzNndUcWl4YytTK1ZEQWFqRmxQTmF0MTBLRVdKRTVqY1dPdm02cXBPOVNEQUFNWnZiNEhIcnZzK1A1WVJwSHJTbFVQZHZLK3VFUWJkV2czMVA5dWpMREFxTUFrR0ExVWRFd1FDTUFBd0hRWURWUjBPQkJZRUZMcXNhcGNYVjRab1ZIQW5ScFBad1FlN1l5MjBNQW9HQ0NxR1NNNDlCQU1DQTBnQU1FVUNJUUM2N3phOEVJdXlSaUtnTkRYSVAxczFhTHIzanpIOVdWWGZIeDRiSit6Q3NnSWdHL3RWQnV0T0pVVSt2dm9ISW8vb3RBVUFjSDViTkhQM3VJemlEUytQVFVjPSIsIk1JSUVIekNDQWdlZ0F3SUJBZ0lCQWpBTkJna3Foa2lHOXcwQkFRc0ZBRENCbXpFZk1CMEdBMVVFQXd3V1JWaEJUVkJNUlNCTlJGTXpJRlJGVTFRZ1VrOVBWREVpTUNBR0NTcUdTSWIzRFFFSkFSWVRaWGhoYlhCc1pVQmxlR0Z0Y0d4bExtTnZiVEVVTUJJR0ExVUVDZ3dMUlhoaGJYQnNaU0JQVWtjeEVEQU9CZ05WQkFzTUIwVjRZVzF3YkdVeEN6QUpCZ05WQkFZVEFsVlRNUXN3Q1FZRFZRUUlEQUpOV1RFU01CQUdBMVVFQnd3SlYyRnJaV1pwWld4a01CNFhEVEl4TURReE9URXhNelV3TjFvWERUUTRNRGt3TkRFeE16VXdOMW93Z2FNeEp6QWxCZ05WQkFNTUhrVllRVTFRVEVVZ1RVUlRNeUJVUlZOVUlFbE9WRVZTVFVWRVNVRlVSVEVpTUNBR0NTcUdTSWIzRFFFSkFSWVRaWGhoYlhCc1pVQmxlR0Z0Y0d4bExtTnZiVEVVTUJJR0ExVUVDZ3dMUlhoaGJYQnNaU0JQVWtjeEVEQU9CZ05WQkFzTUIwVjRZVzF3YkdVeEN6QUpCZ05WQkFZVEFsVlRNUXN3Q1FZRFZRUUlEQUpOV1RFU01CQUdBMVVFQnd3SlYyRnJaV1pwWld4a01Ga3dFd1lIS29aSXpqMENBUVlJS29aSXpqMERBUWNEUWdBRU5HdW1CYlluRlFuVGpQMVJTZmM3MGhzaGdiaUkxWnRwd1E1bjZ4UkxBL1dxMFBTQ2ZMbDVxUStyN2RsY0sxZDNyM3ZMYSt2bTZHNnZLSEdDUEVlVXpxTXZNQzB3REFZRFZSMFRCQVV3QXdFQi96QWRCZ05WSFE0RUZnUVVOazZGNFJKbkdHVkZlKzAvY2Jad2ZyWmQ3WlV3RFFZSktvWklodmNOQVFFTEJRQURnZ0lCQUNucDFmbTBGS2xXbVV0VHBsTHVZZzdtcHM0eFAvQ091OGRuYjM4dTFuTURWdU9UNCtDWmFpTTlBR3ozMTNHRDIyaGpMR3JtUHVZbjg2d0dPS0kzSE9yRXBzR2RNbWZ5N3RUbUtYL2VNL2VTM0ZFRFhabkU4MlBuNW9GSXlCVC9mOHNHdVh5T3NGWnFXQnZWZEJJSURsZENwRDRteE1RWlpPWnRUcmx2M1d2QlFNQy9kc2ljT3hlM1FLWHZXSGk2UWIvUmh1YWlwM3JQbXdNZis0SnBuSk8rSk1QcUFhVTFjQUg4SFZzZnJMQU1vS3MxNDhqMitjdmJwYVdtc1Q1cklvSC9lelZyUGFHL01PaUlncTc5dy9lZnV2U2k1QVg4SitrRG9MU0VmM2Q1d09na0pZQXFVcWNSeFhURUV0S0l6RE02aHphQlFGaUFXdlRuOUlsVldnbnRRYW1TWHZIK3R4YVRGOWlFbEh4VWY1SU5ZRlZjaUNwenRTcnlkZUh2L09DTlJmNy9MVnJpY01TbG84UmgrTzN5UDlWKzJ1TmYzWDhzUUpOdHVmclFOYXFxMTh3aVhsaVRMdWZTbjAyL2crbWtoSVVpTktmVE9KcHZDaktlQ25DRmN4UVUyL1hUM0toM0c4Z0RKd3NPNkVWUmpNVUp0NEFZS3plL2hFVUN3RjU1SUYybTNqSElvQ3U4alZmajI0Q2VFWDVkbmZ2U3IrU1Z2TjVRQjB1WjA1TTRybXlaWHlxQm0wekszZlIraUUwL1pwSW51d0xDN1grVzgyelhsbk1rcGxJM1ErSnhkN2pmUTE1U1lORTJLNnJ2UklUMDF3MFA5WnF5REY3a25HS3BSbHA3T3F4ZDM3YkQvVlViV3BRN2dJQWZzSk5INUtCTG93SEpGRmpXIl19.eyJsZWdhbEhlYWRlciI6IlJldHJpZXZhbCBhbmQgdXNlIG9mIHRoaXMgQkxPQiBpbmRpY2F0ZXMgYWNjZXB0YW5jZSBvZiB0aGUgYXBwcm9wcmlhdGUgYWdyZWVtZW50IGxvY2F0ZWQgYXQgaHR0cHM6Ly9maWRvYWxsaWFuY2Uub3JnL21ldGFkYXRhL21ldGFkYXRhLWxlZ2FsLXRlcm1zLyIsIm5vIjoxNSwibmV4dFVwZGF0ZSI6IjIwMjAtMDMtMzAiLCJlbnRyaWVzIjpbeyJhYWlkIjoiMTIzNCM1Njc4IiwibWV0YWRhdGFTdGF0ZW1lbnQiOnsibGVnYWxIZWFkZXIiOiJodHRwczovL2ZpZG9hbGxpYW5jZS5vcmcvbWV0YWRhdGEvbWV0YWRhdGEtc3RhdGVtZW50LWxlZ2FsLWhlYWRlci8iLCJkZXNjcmlwdGlvbiI6IkZJRE8gQWxsaWFuY2UgU2FtcGxlIFVBRiBBdXRoZW50aWNhdG9yIiwiYWFpZCI6IjEyMzQjNTY3OCIsImFsdGVybmF0aXZlRGVzY3JpcHRpb25zIjp7InJ1LVJVIjoi0J_RgNC40LzQtdGAIFVBRiDQsNGD0YLQtdC90YLQuNGE0LjQutCw0YLQvtGA0LAg0L7RgiBGSURPIEFsbGlhbmNlIiwiZnItRlIiOiJFeGVtcGxlIFVBRiBhdXRoZW50aWNhdG9yIGRlIEZJRE8gQWxsaWFuY2UifSwiYXV0aGVudGljYXRvclZlcnNpb24iOjIsInByb3RvY29sRmFtaWx5IjoidWFmIiwic2NoZW1hIjozLCJ1cHYiOlt7Im1ham9yIjoxLCJtaW5vciI6MH0seyJtYWpvciI6MSwibWlub3IiOjF9XSwiYXV0aGVudGljYXRpb25BbGdvcml0aG1zIjpbInNlY3AyNTZyMV9lY2RzYV9zaGEyNTZfcmF3Il0sInB1YmxpY0tleUFsZ0FuZEVuY29kaW5ncyI6WyJlY2NfeDk2Ml9yYXciXSwiYXR0ZXN0YXRpb25UeXBlcyI6WyJiYXNpY19mdWxsIl0sInVzZXJWZXJpZmljYXRpb25EZXRhaWxzIjpbW3sidXNlclZlcmlmaWNhdGlvbk1ldGhvZCI6ImZpbmdlcnByaW50X2ludGVybmFsIiwiYmFEZXNjIjp7InNlbGZBdHRlc3RlZEZBUiI6MC4wMDAwMiwibWF4UmV0cmllcyI6NSwiYmxvY2tTbG93ZG93biI6MzAsIm1heFRlbXBsYXRlcyI6NX19XV0sImtleVByb3RlY3Rpb24iOlsiaGFyZHdhcmUiLCJ0ZWUiXSwiaXNLZXlSZXN0cmljdGVkIjp0cnVlLCJtYXRjaGVyUHJvdGVjdGlvbiI6WyJ0ZWUiXSwiY3J5cHRvU3RyZW5ndGgiOjEyOCwiYXR0YWNobWVudEhpbnQiOlsiaW50ZXJuYWwiXSwidGNEaXNwbGF5IjpbImFueSIsInRlZSJdLCJ0Y0Rpc3BsYXlDb250ZW50VHlwZSI6ImltYWdlL3BuZyIsInRjRGlzcGxheVBOR0NoYXJhY3RlcmlzdGljcyI6W3sid2lkdGgiOjMyMCwiaGVpZ2h0Ijo0ODAsImJpdERlcHRoIjoxNiwiY29sb3JUeXBlIjoyLCJjb21wcmVzc2lvbiI6MCwiZmlsdGVyIjowLCJpbnRlcmxhY2UiOjB9XSwiYXR0ZXN0YXRpb25Sb290Q2VydGlmaWNhdGVzIjpbIk1JSUNQVENDQWVPZ0F3SUJBZ0lKQU91ZXh2VTNPeTJ3TUFvR0NDcUdTTTQ5QkFNQ01Ic3hJREFlQmdOVkJBTU1GMU5oYlhCc1pTQkJkSFJsYzNSaGRHbHZiaUJTYjI5ME1SWXdGQVlEVlFRS0RBMUdTVVJQSUVGc2JHbGhibU5sTVJFd0R3WURWUVFMREFoVlFVWWdWRmRITERFU01CQUdBMVVFQnd3SlVHRnNieUJCYkhSdk1Rc3dDUVlEVlFRSURBSkRRVEVMTUFrR0ExVUVCaE1DVlZNd0hoY05NVFF3TmpFNE1UTXpNek15V2hjTk5ERXhNVEF6TVRNek16TXlXakI3TVNBd0hnWURWUVFEREJkVFlXMXdiR1VnUVhSMFpYTjBZWFJwYjI0Z1VtOXZkREVXTUJRR0ExVUVDZ3dOUmtsRVR5QkJiR3hwWVc1alpURVJNQThHQTFVRUN3d0lWVUZHSUZSWFJ5d3hFakFRQmdOVkJBY01DVkJoYkc4Z1FXeDBiekVMTUFrR0ExVUVDQXdDUTBFeEN6QUpCZ05WQkFZVEFsVlRNRmt3RXdZSEtvWkl6ajBDQVFZSUtvWkl6ajBEQVFjRFFnQUVIOGh2MkQwSFhhNTkvQm1wUTdSWmVoTC9GTUd6RmQxUUJnOXZBVXBPWjNham51UTk0UFI3YU16SDMzblVTQnI4ZkhZRHJxT0JiNThweEdxSEpSeVgvNk5RTUU0d0hRWURWUjBPQkJZRUZQb0hBM0NMaHhGYkMwSXQ3ekU0dzhoazVFSi9NQjhHQTFVZEl3UVlNQmFBRlBvSEEzQ0xoeEZiQzBJdDd6RTR3OGhrNUVKL01Bd0dBMVVkRXdRRk1BTUJBZjh3Q2dZSUtvWkl6ajBFQXdJRFNBQXdSUUloQUowNlFTWHQ5aWhJYkVLWUtJanNQa3JpVmRMSWd0ZnNiRFN1N0VySmZ6cjRBaUJxb1lDWmYwK3pJNTVhUWVBSGpJekE5WG02M3JydUF4Qlo5cHM5ejJYTmxRPT0iXSwiaWNvbiI6ImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBRThBQUFBdkNBWUFBQUNpd0pmY0FBQUFBWE5TUjBJQXJzNGM2UUFBQUFSblFVMUJBQUN4and2OFlRVUFBQUFKY0VoWmN3QUFEc01BQUE3REFjZHZxR1FBQUFhaFNVUkJWR2hEN1pyNWJ4UmxHTWY5S3pUQjhBTS9ZRWhFMlc3cFFaY1dLS0JjbFNwSEFUbEVMQVJFN2tORUNDQTNGa1dLMENLS1NDRklzS0JjZ1ZDRFdHTkVTZEFZaWR3Z2dnSkJpUmlNaEZjLzR3eTg4ODR6dTlOZGxuR1RmWkpQMm4zbk8rKzg4OTMzZnZlQkJ4K1BxQ3pKa1RVdkJiTG1wVURXdkJUSW1wY0NTWnZYTENkWDlSMDVTazE5YmI1YXRmNTk5ZkcrL2VyQTU0MXE0N2FQMUxMVmE5U0l5Vk5VaThJaThkNWtHVHNpMzBORnY3YWk5bjdRWlBNd2JkeXMyZXJVMlhNcVVkeTgrWmNhTm1HaW1FOHlYTjNSVWQzYTE4bkYwZlVsb3ZaKzBDVHpXcGQyVmorZU9tMWJFeXk2RHg0aTVwVU1HV3ZlbzUwNnEyMjdkdHVXQkl1ZmZyNm9XcFYwRlBOTGhvdzE3NTFObTIxTHZQSDNyVnRXamZ6NjZMZnFsOHRYN0ZSbDlZRlNYc21Tc2ViOWNlT0diWWs3TU5VY0dQZzhac2JNZTlyZlFVYWFWL0pNWDlzcWR6RENTdnAwa1pIbVRaZzl4N2JMSGNNblRoYjE2ZUorbVZmUXE4eWFVWlFORzY0aVhaKzAva3E2dU9aRk8wUXRhdGRXS2ZYblJROTlCajkxUjVPSUZuazU0ak4wbWtVaXFsTzNYRFcrTWwrOThtS0I2dFc3cldwWmNQYyswemc0dExyWWxVYzg2RTZlR0RqSU11YlZwY3VzZWFyZmdJWUdSazZicmhaVnIvSmNIem9vTDc1NTBqZWRMRXhvcFdjQXBpMlpVcWh1N0pMdnJWc1FVODF6a3pPUGVlbU1SWXZWdVFzWDdQYmlEUVk1SnZab25mdEsrMVZZOEg5dXR4NTMwaDBvYitqbVJZcWo2b3VhWXZFZW5XL1dsWWpwOGN3Yk1tNjgydFB3cVcxUjR0ai8yU0gxM0lSSllsNG1vWnZYcGlTcURyN2RYdFFIeGEvUEszLytCV3NLMWRUZ0h1NlY4dFFKM2J3Rmt3cEZyVU9RNTBzMXIzbGV2bTh6WmNxMTcrQkJhdzdLOGxFSzVxemtZZWFyazlBOHA3UDNHekRLK25kM0RRb3crNlVDOFNWTjgyaXV2MzhpbTdOdGFYdFYxQ1ZxNlJndzRwa3NtYmRpM2J1MkRlN1lmYUJCeGNxZnZxUHJVakZRTlRRMjJsZmRVVlZUNjhyVEpLRjVEblNtVWpnZHFnNG1TUzlwbXNmREpSM0c2VG9IMGlXOWFWN0xXTEhZWEtsbFREdDBMVEF0a1lJYWFtcDFRalZ2Kyt1eUdVeFZkSjBETlZYU20rYjFxUnhwbDg0ZGRmWDFMcDFPL2Q2OXRzb2QwdnM1aEdyZTl4dThvK2ZwTFIxY0doTlRENlo1N0M5S01XWGVmSmRPWjk0YmI5b3FkMVJPblM3cUlUVHpIaW1NcWl2Yk8zZzBEZFZ5azNXUUJoQnp0SzM1WUtOZE9uYzhPM2FjUzZmRFpGZ0thWExzRUpwNXJkcmxpQnFwODljSmNzL203VHZzMHJrakdmTjRiMGtQb1puM1VKdUlPcm5aMjJ5UDFmbXZVeCtPNWdTcWViVjFtK3pTdVlOVmhxN1RXYkRpTFZ2bGpwbExsb3A2Q0xYUCsycXR2R0xJTC8xdmltSVNkTUJnelNvRlp5dTZUcWQranp4Z3NQYVY5QkNxZWUvTmpZazZ2NmxLOWN3aVVjL1NUdGYxSERwTTNiNTkyeTdoM1RoeDVveks2OUhMcFlXdUF3YXFTNWN2MjZxN2NlYjhlZlZZYVJlUDNpRlU4emoxa25Td1pYSE1tbkNqWTBPZ2FsbzdVUWZTQ00zcVFRcjJIL1hGUDdzc1h4NDVZbDkxQnllQ2VwNG1vWm9IKzFmRzN4RDR0VDd4OGt3eWo4bndiOWV2MjZWMEI2ZCs3SDR6S3Z1ZEFINTM3RmpxeXpPSGRKbkhFdXptWHEvV2p4T2J2Tk1idjduaHl3c1gyYVZzV3RDOCs0OGFMZWFwRTdwNXdLWmkwQTJBUVJWNW52UjRFK3VKYytiNjFrQXBxSW54QmdtZC80VjVRUC9tdDE4SERDN3NSSGZ0bWV1NWxtaFYwcm4vQUxYMjMyYnFkNEJGbkR4N1ZpMWNXUzJ1ZmYwSWJCNDdxZXh4bVVqOVF1dFlqdXBkM3RZRDZhYldCQk1yaCthcE5iT0tyTkYxK3VnQ2E0cmlYR2Z3TVBQdFZpYXZoVTNZTU9BQW51VWIvUjA3TDB5T1NlT2FkRTg4QXBzWEZHZmYzMHluaGxKZ001MUNVNnZOOUV6Z25wdkhCRlV5aVZyYWVQaXdKNTNERjVaVFpub21FTmc4NWtOVWQyb0ppMldwcjRPbW1rZk40eDR6SGZpVkZjOER2OE56dWhOcU9pZGlsR3ZBNkRHdWVad083OEFBUW42Y2lFazYrcnc1VmN2anZxTkRZUE9vSVV3YUtTaHJ4QXVYTGxrSDRhWXVHZk1ZRGMxMFdGNVRhMzFoUEpPZmNVaHJVL0psSU5pNmM2ZWxSWWRCcG82KytZZmp4NjFsR05mUm00TUQ1ckoxajNGb0dIbmpEU0JOYXJZVWdNTHlNc3pLcGI3dFhwb0hmUHM4aDNXcDFMek5mTms1NFh4QzF3REdVbVl6WFllZmg2ei9jS3RWbTRFQnhhOVZRR0R6WXIzTHJVTVJqSEVLa2s3emFGS1lRQTJoR1FVMXorODVORldwWERya3ozdngxMEdxeFE2QnplTmJvQms1bjhrNG5lYlJoK2sxaFdmeFRGMEQxRXlXVXM1bnYrZGdRcUtheHp1Q2RFMGlzSGwwMk5ROGFoMG1YcjEyTGEzbTBmOXdpazkrd0xOVE1ZLzg2TVBvOHlpMzFPZnhtVDZQV29xRzkrRFp1a1luYTU2bVNadDVXV1N5NXFWQTFyd1V5SnFYQWxuemtpYWkvZ0hTRDdSa1R5aWhvZ0FBQUFCSlJVNUVya0pnZ2c9PSJ9LCJzdGF0dXNSZXBvcnRzIjpbeyJzdGF0dXMiOiJGSURPX0NFUlRJRklFRCIsImVmZmVjdGl2ZURhdGUiOiIyMDE0LTAxLTA0In1dLCJ0aW1lT2ZMYXN0U3RhdHVzQ2hhbmdlIjoiMjAxNC0wMS0wNCJ9LHsiYWFndWlkIjoiMDEzMmQxMTAtYmY0ZS00MjA4LWE0MDMtYWI0ZjVmMTJlZmU1IiwibWV0YWRhdGFTdGF0ZW1lbnQiOnsibGVnYWxIZWFkZXIiOiJodHRwczovL2ZpZG9hbGxpYW5jZS5vcmcvbWV0YWRhdGEvbWV0YWRhdGEtc3RhdGVtZW50LWxlZ2FsLWhlYWRlci8iLCJkZXNjcmlwdGlvbiI6IkZJRE8gQWxsaWFuY2UgU2FtcGxlIEZJRE8yIEF1dGhlbnRpY2F0b3IiLCJhYWd1aWQiOiIwMTMyZDExMC1iZjRlLTQyMDgtYTQwMy1hYjRmNWYxMmVmZTUiLCJhbHRlcm5hdGl2ZURlc2NyaXB0aW9ucyI6eyJydS1SVSI6ItCf0YDQuNC80LXRgCBGSURPMiDQsNGD0YLQtdC90YLQuNGE0LjQutCw0YLQvtGA0LAg0L7RgiBGSURPIEFsbGlhbmNlIiwiZnItRlIiOiJFeGVtcGxlIEZJRE8yIGF1dGhlbnRpY2F0b3IgZGUgRklETyBBbGxpYW5jZSIsInpoLUNOIjoi5L6G6IeqRklETyBBbGxpYW5jZeeahOekuuS-i0ZJRE8y6Lqr5Lu96amX6K2J5ZmoIn0sInByb3RvY29sRmFtaWx5IjoiZmlkbzIiLCJzY2hlbWEiOjMsImF1dGhlbnRpY2F0b3JWZXJzaW9uIjo1LCJ1cHYiOlt7Im1ham9yIjoxLCJtaW5vciI6MH1dLCJhdXRoZW50aWNhdGlvbkFsZ29yaXRobXMiOlsic2VjcDI1NnIxX2VjZHNhX3NoYTI1Nl9yYXciLCJyc2Fzc2FfcGtjc3YxNV9zaGEyNTZfcmF3Il0sInB1YmxpY0tleUFsZ0FuZEVuY29kaW5ncyI6WyJjb3NlIl0sImF0dGVzdGF0aW9uVHlwZXMiOlsiYmFzaWNfZnVsbCJdLCJ1c2VyVmVyaWZpY2F0aW9uRGV0YWlscyI6W1t7InVzZXJWZXJpZmljYXRpb25NZXRob2QiOiJub25lIn1dLFt7InVzZXJWZXJpZmljYXRpb25NZXRob2QiOiJwcmVzZW5jZV9pbnRlcm5hbCJ9XSxbeyJ1c2VyVmVyaWZpY2F0aW9uTWV0aG9kIjoicGFzc2NvZGVfZXh0ZXJuYWwiLCJjYURlc2MiOnsiYmFzZSI6MTAsIm1pbkxlbmd0aCI6NH19XSxbeyJ1c2VyVmVyaWZpY2F0aW9uTWV0aG9kIjoicGFzc2NvZGVfZXh0ZXJuYWwiLCJjYURlc2MiOnsiYmFzZSI6MTAsIm1pbkxlbmd0aCI6NH19LHsidXNlclZlcmlmaWNhdGlvbk1ldGhvZCI6InByZXNlbmNlX2ludGVybmFsIn1dXSwia2V5UHJvdGVjdGlvbiI6WyJoYXJkd2FyZSIsInNlY3VyZV9lbGVtZW50Il0sIm1hdGNoZXJQcm90ZWN0aW9uIjpbIm9uX2NoaXAiXSwiY3J5cHRvU3RyZW5ndGgiOjEyOCwiYXR0YWNobWVudEhpbnQiOlsiZXh0ZXJuYWwiLCJ3aXJlZCIsIndpcmVsZXNzIiwibmZjIl0sInRjRGlzcGxheSI6W10sImF0dGVzdGF0aW9uUm9vdENlcnRpZmljYXRlcyI6WyJNSUlDUFRDQ0FlT2dBd0lCQWdJSkFPdWV4dlUzT3kyd01Bb0dDQ3FHU000OUJBTUNNSHN4SURBZUJnTlZCQU1NRjFOaGJYQnNaU0JCZEhSbGMzUmhkR2x2YmlCU2IyOTBNUll3RkFZRFZRUUtEQTFHU1VSUElFRnNiR2xoYm1ObE1SRXdEd1lEVlFRTERBaFZRVVlnVkZkSExERVNNQkFHQTFVRUJ3d0pVR0ZzYnlCQmJIUnZNUXN3Q1FZRFZRUUlEQUpEUVRFTE1Ba0dBMVVFQmhNQ1ZWTXdIaGNOTVRRd05qRTRNVE16TXpNeVdoY05OREV4TVRBek1UTXpNek15V2pCN01TQXdIZ1lEVlFRRERCZFRZVzF3YkdVZ1FYUjBaWE4wWVhScGIyNGdVbTl2ZERFV01CUUdBMVVFQ2d3TlJrbEVUeUJCYkd4cFlXNWpaVEVSTUE4R0ExVUVDd3dJVlVGR0lGUlhSeXd4RWpBUUJnTlZCQWNNQ1ZCaGJHOGdRV3gwYnpFTE1Ba0dBMVVFQ0F3Q1EwRXhDekFKQmdOVkJBWVRBbFZUTUZrd0V3WUhLb1pJemowQ0FRWUlLb1pJemowREFRY0RRZ0FFSDhodjJEMEhYYTU5L0JtcFE3UlplaEwvRk1HekZkMVFCZzl2QVVwT1ozYWpudVE5NFBSN2FNekgzM25VU0JyOGZIWURycU9CYjU4cHhHcUhKUnlYLzZOUU1FNHdIUVlEVlIwT0JCWUVGUG9IQTNDTGh4RmJDMEl0N3pFNHc4aGs1RUovTUI4R0ExVWRJd1FZTUJhQUZQb0hBM0NMaHhGYkMwSXQ3ekU0dzhoazVFSi9NQXdHQTFVZEV3UUZNQU1CQWY4d0NnWUlLb1pJemowRUF3SURTQUF3UlFJaEFKMDZRU1h0OWloSWJFS1lLSWpzUGtyaVZkTElndGZzYkRTdTdFckpmenI0QWlCcW9ZQ1pmMCt6STU1YVFlQUhqSXpBOVhtNjNycnVBeEJaOXBzOXoyWE5sUT09Il0sImljb24iOiJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUU4QUFBQXZDQVlBQUFDaXdKZmNBQUFBQVhOU1IwSUFyczRjNlFBQUFBUm5RVTFCQUFDeGp3djhZUVVBQUFBSmNFaFpjd0FBRHNNQUFBN0RBY2R2cUdRQUFBYWhTVVJCVkdoRDdacjVieFJsR01mOUt6VEI4QU0vWUVoRTJXN3BRWmNXS0tCY2xTcEhBVGxFTEFSRTdrTkVDQ0EzRmtXSzBDS0tTQ0ZJc0tCY2dWQ0RXR05FU2RBWWlkd2dnZ0pCaVJpTWhGYy80d3k4ODg0enU5TmRsbkdUZlpKUDJuM25PKys4ODkzM2Z2ZUJCeCtQcUN6SmtUVXZCYkxtcFVEV3ZCVEltcGNDU1p2WExDZFg5UjA1U2sxOWJiNWF0ZjU5OWZHKy9lckE1NDFxNDdhUDFMTFZhOVNJeVZOVWk4SWk4ZDVrR1RzaTMwTkZ2N2FpOW43UVpQTXdiZHlzMmVyVTJYTXFVZHk4K1pjYU5tR2ltRTh5WE4zUlVkM2ExOG5GMGZVbG92WiswQ1R6V3BkMlZqK2VPbTFiRXl5NkR4NGk1cFVNR1d2ZW81MDZxMjI3ZHR1V0JJdWZmcjZvV3BWMEZQTkxob3cxNzUxTm0yMUx2UEgzclZ0V2pmejY2TGZxbDh0WDdGUmw5WUZTWHNtU3NlYjljZU9HYllrN01OVWNHUGc4WnNiTWU5cmZRVWFhVi9KTVg5c3FkekRDU3ZwMGtaSG1UWmc5eDdiTEhjTW5UaGIxNmVKK21WZlFxOHlhVVpRTkc2NGlYWiswL2txNnVPWkZPMFF0YXRkV0tmWG5SUTk5Qmo5MVI1T0lGbms1NGpOMG1rVWlxbE8zWERXK01sKzk4bUtCNnRXN3JXcFpjUGMrMHpnNHRMcllsVWM4NkU2ZUdEaklNdWJWcGN1c2VhcmZnSVlHUms2YnJoWlZyL0pjSHpvb0w3NTUwamVkTEV4b3BXY0FwaTJaVXFodTdKTHZyVnNRVTgxemt6T1BlZW1NUll2VnVRc1g3UGJpRFFZNUp2Wm9uZnRLKzFWWThIOXV0eDUzMGgwb2Iram1SWXFqNm91YVl2RWVuVy9XbFlqcDhjd2JNbTY4MnRQd3FXMVI0dGovMlNIMTNJUkpZbDRtb1p2WHBpU3FEcjdkWHRRSHhhL1BLMy8rQldzSzFkVGdIdTZWOHRRSjNid0Zrd3BGclVPUTUwczFyM2xldm04elpjcTE3K0JCYXc3SzhsRUs1cXprWWVhcms5QThwN1AzR3pESytuZDNEUW93KzZVQzhTVk44Mml1djM4aW03TnRhWHRWMUNWcTZSZ3c0cGtzbWJkaTNidTJEZTdZZmFCQnhjcWZ2cVByVWpGUU5UUTIybGZkVVZWVDY4clRKS0Y1RG5TbVVqZ2RxZzRtU1M5cG1zZkRKUjNHNlRvSDBpVzlhVjdMV0xIWVhLbGxURHQwTFRBdGtZSWFhbXAxUWpWdisrdXlHVXhWZEowRE5WWFNtK2IxcVJ4cGw4NGRkZlgxTHAxTy9kNjl0c29kMHZzNWhHcmU5eHU4bytmcExSMWNHaE5URDZaNTdDOUtNV1hlZkpkT1o5NGJiOW9xZDFST25TN3FJVFR6SGltTXFpdmJPM2cwRGRWeWszV1FCaEJ6dEszNVlLTmRPbmM4TzNhY1M2ZkRaRmdLYVhMc0VKcDVyZHJsaUJxcDg5Y0pjcy9tN1R2czBya2pHZk40YjBrUG9abjNVSnVJT3JuWjIyeVAxZm12VXgrTzVnU3FlYlYxbSt6U3VZTlZocTdUV2JEaUxWdmxqcGxMbG9wNkNMWFArMnF0dkdMSUwvMXZpbUlTZE1CZ3pTb0ZaeXU2VHFkK2p6eGdzUGFWOUJDcWVlL05qWWs2djZsSzljd2lVYy9TVHRmMUhEcE0zYjU5Mnk3aDNUaHg1b3pLNjlITHBZV3VBd2FxUzVjdjI2cTdjZWI4ZWZWWWFSZVAzaUZVOHpqMWtuU3daWEhNbW5DalkwT2dhbG83VVFmU0NNM3FRUXIySC9YRlA3c3NYeDQ1WWw5MUJ5ZUNlcDRtb1pvSCsxZkczeEQ0dFQ3eDhrd3lqOG53YjlldjI2VjBCNmQrN0g0ekt2dWRBSDUzN0ZqcXl6T0hkSm5IRXV6bVhxL1dqeE9idk5NYnY3bmh5d3NYMmFWc1d0QzgrNDhhTGVhcEU3cDV3S1ppMEEyQVFSVjVudlI0RSt1SmMrYjYxa0FwcUlueEJnbWQvNFY1UVAvbXQxOEhEQzdzUkhmdG1ldTVsbWhWMHJuL0FMWDIzMmJxZDRCRm5EeDdWaTFjV1MydWZmMEliQjQ3cWV4eG1VajlRdXRZanVwZDN0WUQ2YWJXQkJNcmgrYXBOYk9Lck5GMSt1Z0NhNHJpWEdmd01QUHRWaWF2aFUzWU1PQUFudVViL1IwN0wweU9TZU9hZEU4OEFwc1hGR2ZmMzB5bmhsSmdNNTFDVTZ2TjlFemducHZIQkZVeWlWcmFlUGl3SjUzREY1WlRabm9tRU5nODVrTlVkMm9KaTJXcHI0T21ta2ZONHg0ekhmaVZGYzhEdjhOenVoTnFPaWRpbEd2QTZER3VlWndPNzhBQVFuNmNpRWs2K3J3NVZjdmp2cU5EWVBPb0lVd2FLU2hyeEF1WExsa0g0YVl1R2ZNWURjMTBXRjVUYTMxaFBKT2ZjVWhyVS9KbElOaTZjNmVsUllkQnBvNisrWWZqeDYxbEdOZlJtNE1ENXJKMWozRm9HSG5qRFNCTmFyWVVnTUx5TXN6S3BiN3RYcG9IZlBzOGgzV3AxTHpOZk5rNTRYeEMxd0RHVW1ZelhZZWZoNnovY0t0Vm00RUJ4YTlWUUdEellyM0xyVU1SakhFS2trN3phRktZUUEyaEdRVTF6Kzg1TkZXcFhEcmt6M3Z4MTBHcXhRNkJ6ZU5ib0JrNW44azRuZWJSaCtrMWhXZnhURjBEMUV5V1VzNW52K2RnUXFLYXh6dUNkRTBpc0hsMDJOUThhaDBtWHIxMkxhM20wZjl3aWs5K3dMTlRNWS84Nk1Qbzh5aTMxT2Z4bVQ2UFdvcUc5K0RadWtZbmE1Nm1TWnQ1V1dTeTVxVkExcndVeUpxWEFsbnpraWFpL2dIU0Q3UmtUeWlob2dBQUFBQkpSVTVFcmtKZ2dnPT0iLCJzdXBwb3J0ZWRFeHRlbnNpb25zIjpbeyJpZCI6ImhtYWMtc2VjcmV0IiwiZmFpbF9pZl91bmtub3duIjpmYWxzZX0seyJpZCI6ImNyZWRQcm90ZWN0IiwiZmFpbF9pZl91bmtub3duIjpmYWxzZX1dLCJhdXRoZW50aWNhdG9yR2V0SW5mbyI6eyJ2ZXJzaW9ucyI6WyJVMkZfVjIiLCJGSURPXzJfMCJdLCJleHRlbnNpb25zIjpbImNyZWRQcm90ZWN0IiwiaG1hYy1zZWNyZXQiXSwiYWFndWlkIjoiMDEzMmQxMTBiZjRlNDIwOGE0MDNhYjRmNWYxMmVmZTUiLCJvcHRpb25zIjp7InBsYXQiOiJmYWxzZSIsInJrIjoidHJ1ZSIsImNsaWVudFBpbiI6InRydWUiLCJ1cCI6InRydWUiLCJ1diI6InRydWUiLCJ1dlRva2VuIjoiZmFsc2UiLCJjb25maWciOiJmYWxzZSJ9LCJtYXhNc2dTaXplIjoxMjAwLCJwaW5VdkF1dGhQcm90b2NvbHMiOlsxXSwibWF4Q3JlZGVudGlhbENvdW50SW5MaXN0IjoxNiwibWF4Q3JlZGVudGlhbElkTGVuZ3RoIjoxMjgsInRyYW5zcG9ydHMiOlsidXNiIiwibmZjIl0sImFsZ29yaXRobXMiOlt7InR5cGUiOiJwdWJsaWMta2V5IiwiYWxnIjotN30seyJ0eXBlIjoicHVibGljLWtleSIsImFsZyI6LTI1N31dLCJtYXhBdXRoZW50aWNhdG9yQ29uZmlnTGVuZ3RoIjoxMDI0LCJkZWZhdWx0Q3JlZFByb3RlY3QiOjIsImZpcm13YXJlVmVyc2lvbiI6NX19LCJzdGF0dXNSZXBvcnRzIjpbeyJzdGF0dXMiOiJGSURPX0NFUlRJRklFRCIsImVmZmVjdGl2ZURhdGUiOiIyMDE5LTAxLTA0In0seyJzdGF0dXMiOiJGSURPX0NFUlRJRklFRF9MMSIsImVmZmVjdGl2ZURhdGUiOiIyMDIwLTExLTE5IiwiY2VydGlmaWNhdGlvbkRlc2NyaXB0b3IiOiJGSURPIEFsbGlhbmNlIFNhbXBsZSBGSURPMiBBdXRoZW50aWNhdG9yIiwiY2VydGlmaWNhdGVOdW1iZXIiOiJGSURPMjEwMDAyMDE1MTIyMTAwMSIsImNlcnRpZmljYXRpb25Qb2xpY3lWZXJzaW9uIjoiMS4wLjEiLCJjZXJ0aWZpY2F0aW9uUmVxdWlyZW1lbnRzVmVyc2lvbiI6IjEuMC4xIn1dLCJ0aW1lT2ZMYXN0U3RhdHVzQ2hhbmdlIjoiMjAxOS0wMS0wNCJ9XX0.-kc1wrorJA16bxLXXzeDkFEOCsbKAy2WDEzoCY-Aej_N0bWIOAmhpHGxSa3CXgmwFwgAuy230Eq_BHTO_RshsA
+ tests/golden-metadata/small/origin view
@@ -0,0 +1,1 @@+EXAMPLE MDS3 SIGNING CERTIFICATE
+ tests/golden-metadata/small/payload.json view
@@ -0,0 +1,245 @@+{+  "no": 15,+  "legalHeader": "Retrieval and use of this BLOB indicates acceptance of the appropriate agreement located at https://fidoalliance.org/metadata/metadata-legal-terms/",+  "nextUpdate": "2020-03-30",+  "entries": [+    {+      "timeOfLastStatusChange": "2014-01-04",+      "statusReports": [+        {+          "status": "FIDO_CERTIFIED",+          "effectiveDate": "2014-01-04"+        }+      ],+      "metadataStatement": {+        "keyProtection": [+          "hardware",+          "tee"+        ],+        "schema": 3,+        "attestationRootCertificates": [+          "MIICPTCCAeOgAwIBAgIJAOuexvU3Oy2wMAoGCCqGSM49BAMCMHsxIDAeBgNVBAMMF1NhbXBsZSBBdHRlc3RhdGlvbiBSb290MRYwFAYDVQQKDA1GSURPIEFsbGlhbmNlMREwDwYDVQQLDAhVQUYgVFdHLDESMBAGA1UEBwwJUGFsbyBBbHRvMQswCQYDVQQIDAJDQTELMAkGA1UEBhMCVVMwHhcNMTQwNjE4MTMzMzMyWhcNNDExMTAzMTMzMzMyWjB7MSAwHgYDVQQDDBdTYW1wbGUgQXR0ZXN0YXRpb24gUm9vdDEWMBQGA1UECgwNRklETyBBbGxpYW5jZTERMA8GA1UECwwIVUFGIFRXRywxEjAQBgNVBAcMCVBhbG8gQWx0bzELMAkGA1UECAwCQ0ExCzAJBgNVBAYTAlVTMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEH8hv2D0HXa59/BmpQ7RZehL/FMGzFd1QBg9vAUpOZ3ajnuQ94PR7aMzH33nUSBr8fHYDrqOBb58pxGqHJRyX/6NQME4wHQYDVR0OBBYEFPoHA3CLhxFbC0It7zE4w8hk5EJ/MB8GA1UdIwQYMBaAFPoHA3CLhxFbC0It7zE4w8hk5EJ/MAwGA1UdEwQFMAMBAf8wCgYIKoZIzj0EAwIDSAAwRQIhAJ06QSXt9ihIbEKYKIjsPkriVdLIgtfsbDSu7ErJfzr4AiBqoYCZf0+zI55aQeAHjIzA9Xm63rruAxBZ9ps9z2XNlQ=="+        ],+        "upv": [+          {+            "minor": 0,+            "major": 1+          },+          {+            "minor": 1,+            "major": 1+          }+        ],+        "icon": "data:image/png;base64,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",+        "isKeyRestricted": true,+        "protocolFamily": "uaf",+        "attestationTypes": [+          "basic_full"+        ],+        "attachmentHint": [+          "internal"+        ],+        "alternativeDescriptions": {+          "fr-FR": "Exemple UAF authenticator de FIDO Alliance",+          "ru-RU": "Пример UAF аутентификатора от FIDO Alliance"+        },+        "matcherProtection": [+          "tee"+        ],+        "publicKeyAlgAndEncodings": [+          "ecc_x962_raw"+        ],+        "authenticatorVersion": 2,+        "legalHeader": "https://fidoalliance.org/metadata/metadata-statement-legal-header/",+        "authenticationAlgorithms": [+          "secp256r1_ecdsa_sha256_raw"+        ],+        "tcDisplayContentType": "image/png",+        "cryptoStrength": 128,+        "description": "FIDO Alliance Sample UAF Authenticator",+        "aaid": "1234#5678",+        "tcDisplay": [+          "any",+          "tee"+        ],+        "tcDisplayPNGCharacteristics": [+          {+            "interlace": 0,+            "height": 480,+            "compression": 0,+            "width": 320,+            "bitDepth": 16,+            "filter": 0,+            "colorType": 2+          }+        ],+        "userVerificationDetails": [+          [+            {+              "userVerificationMethod": "fingerprint_internal",+              "baDesc": {+                "maxTemplates": 5,+                "selfAttestedFAR": 2e-05,+                "blockSlowdown": 30,+                "maxRetries": 5+              }+            }+          ]+        ]+      },+      "aaid": "1234#5678"+    },+    {+      "aaguid": "0132d110-bf4e-4208-a403-ab4f5f12efe5",+      "timeOfLastStatusChange": "2019-01-04",+      "statusReports": [+        {+          "status": "FIDO_CERTIFIED",+          "effectiveDate": "2019-01-04"+        },+        {+          "status": "FIDO_CERTIFIED_L1",+          "certificationDescriptor": "FIDO Alliance Sample FIDO2 Authenticator",+          "certificationPolicyVersion": "1.0.1",+          "effectiveDate": "2020-11-19",+          "certificationRequirementsVersion": "1.0.1",+          "certificateNumber": "FIDO2100020151221001"+        }+      ],+      "metadataStatement": {+        "aaguid": "0132d110-bf4e-4208-a403-ab4f5f12efe5",+        "keyProtection": [+          "hardware",+          "secure_element"+        ],+        "supportedExtensions": [+          {+            "id": "hmac-secret",+            "fail_if_unknown": false+          },+          {+            "id": "credProtect",+            "fail_if_unknown": false+          }+        ],+        "schema": 3,+        "attestationRootCertificates": [+          "MIICPTCCAeOgAwIBAgIJAOuexvU3Oy2wMAoGCCqGSM49BAMCMHsxIDAeBgNVBAMMF1NhbXBsZSBBdHRlc3RhdGlvbiBSb290MRYwFAYDVQQKDA1GSURPIEFsbGlhbmNlMREwDwYDVQQLDAhVQUYgVFdHLDESMBAGA1UEBwwJUGFsbyBBbHRvMQswCQYDVQQIDAJDQTELMAkGA1UEBhMCVVMwHhcNMTQwNjE4MTMzMzMyWhcNNDExMTAzMTMzMzMyWjB7MSAwHgYDVQQDDBdTYW1wbGUgQXR0ZXN0YXRpb24gUm9vdDEWMBQGA1UECgwNRklETyBBbGxpYW5jZTERMA8GA1UECwwIVUFGIFRXRywxEjAQBgNVBAcMCVBhbG8gQWx0bzELMAkGA1UECAwCQ0ExCzAJBgNVBAYTAlVTMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEH8hv2D0HXa59/BmpQ7RZehL/FMGzFd1QBg9vAUpOZ3ajnuQ94PR7aMzH33nUSBr8fHYDrqOBb58pxGqHJRyX/6NQME4wHQYDVR0OBBYEFPoHA3CLhxFbC0It7zE4w8hk5EJ/MB8GA1UdIwQYMBaAFPoHA3CLhxFbC0It7zE4w8hk5EJ/MAwGA1UdEwQFMAMBAf8wCgYIKoZIzj0EAwIDSAAwRQIhAJ06QSXt9ihIbEKYKIjsPkriVdLIgtfsbDSu7ErJfzr4AiBqoYCZf0+zI55aQeAHjIzA9Xm63rruAxBZ9ps9z2XNlQ=="+        ],+        "upv": [+          {+            "minor": 0,+            "major": 1+          }+        ],+        "icon": "data:image/png;base64,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",+        "protocolFamily": "fido2",+        "authenticatorGetInfo": {+          "aaguid": "0132d110bf4e4208a403ab4f5f12efe5",+          "versions": [+            "U2F_V2",+            "FIDO_2_0"+          ],+          "maxCredentialCountInList": 16,+          "maxCredentialIdLength": 128,+          "firmwareVersion": 5,+          "maxMsgSize": 1200,+          "defaultCredProtect": 2,+          "options": {+            "plat": "false",+            "clientPin": "true",+            "uv": "true",+            "uvToken": "false",+            "config": "false",+            "rk": "true",+            "up": "true"+          },+          "extensions": [+            "credProtect",+            "hmac-secret"+          ],+          "maxAuthenticatorConfigLength": 1024,+          "algorithms": [+            {+              "type": "public-key",+              "alg": -7+            },+            {+              "type": "public-key",+              "alg": -257+            }+          ],+          "pinUvAuthProtocols": [+            1+          ],+          "transports": [+            "usb",+            "nfc"+          ]+        },+        "attestationTypes": [+          "basic_full"+        ],+        "attachmentHint": [+          "external",+          "wired",+          "wireless",+          "nfc"+        ],+        "alternativeDescriptions": {+          "fr-FR": "Exemple FIDO2 authenticator de FIDO Alliance",+          "ru-RU": "Пример FIDO2 аутентификатора от FIDO Alliance",+          "zh-CN": "來自FIDO Alliance的示例FIDO2身份驗證器"+        },+        "matcherProtection": [+          "on_chip"+        ],+        "publicKeyAlgAndEncodings": [+          "cose"+        ],+        "authenticatorVersion": 5,+        "legalHeader": "https://fidoalliance.org/metadata/metadata-statement-legal-header/",+        "authenticationAlgorithms": [+          "secp256r1_ecdsa_sha256_raw",+          "rsassa_pkcsv15_sha256_raw"+        ],+        "cryptoStrength": 128,+        "description": "FIDO Alliance Sample FIDO2 Authenticator",+        "tcDisplay": [],+        "userVerificationDetails": [+          [+            {+              "userVerificationMethod": "none"+            }+          ],+          [+            {+              "userVerificationMethod": "presence_internal"+            }+          ],+          [+            {+              "userVerificationMethod": "passcode_external",+              "caDesc": {+                "minLength": 4,+                "base": 10+              }+            }+          ],+          [+            {+              "userVerificationMethod": "passcode_external",+              "caDesc": {+                "minLength": 4,+                "base": 10+              }+            },+            {+              "userVerificationMethod": "presence_internal"+            }+          ]+        ]+      }+    }+  ]+}
+ tests/golden-metadata/small/root.crt view
@@ -0,0 +1,35 @@+-----BEGIN CERTIFICATE-----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+-----END CERTIFICATE-----
+ tests/responses/assertion/01-none.json view
@@ -0,0 +1,12 @@+{+  "type": "public-key",+  "id": "KbeXjEj6HgsT_opADhRF46CXsWRR7Y8UndF03-f2sF8XRaimojYz950Mi2fN2S3DSDGyI5I3S_IZyGJbT85E6w",+  "rawId": "KbeXjEj6HgsT_opADhRF46CXsWRR7Y8UndF03-f2sF8XRaimojYz950Mi2fN2S3DSDGyI5I3S_IZyGJbT85E6w",+  "response": {+    "clientDataJSON": "eyJ0eXBlIjoid2ViYXV0aG4uZ2V0IiwiY2hhbGxlbmdlIjoiTDVtQWl0MEhqdFFlQkRPVE9xTTdjUSIsIm9yaWdpbiI6Imh0dHA6Ly9sb2NhbGhvc3Q6ODA4MCIsImNyb3NzT3JpZ2luIjpmYWxzZX0",+    "authenticatorData": "SZYN5YgOjGh0NBcPZHZgW4_krrmihjLHmVzzuoMdl2MFAAAABQ",+    "signature": "MEQCIAZn3HxWTEEJrpbxG2TT7eIg2ue2AmIj1cwiMEA5a0Z1AiBUkDUkOh0B8PGYKStIaJJS2xKC9LwBfOCtoLbSOldYkg",+    "userHandle": null+  },+  "clientExtensionResults": {}+}
+ tests/responses/attestation/01-none.json view
@@ -0,0 +1,10 @@+{+  "type": "public-key",+  "id": "KbeXjEj6HgsT_opADhRF46CXsWRR7Y8UndF03-f2sF8XRaimojYz950Mi2fN2S3DSDGyI5I3S_IZyGJbT85E6w",+  "rawId": "KbeXjEj6HgsT_opADhRF46CXsWRR7Y8UndF03-f2sF8XRaimojYz950Mi2fN2S3DSDGyI5I3S_IZyGJbT85E6w",+  "response": {+    "clientDataJSON": "eyJ0eXBlIjoid2ViYXV0aG4uY3JlYXRlIiwiY2hhbGxlbmdlIjoiaUxXVlU3bTJjWV9HQjR3SVN1Q3JKUSIsIm9yaWdpbiI6Imh0dHA6Ly9sb2NhbGhvc3Q6ODA4MCIsImNyb3NzT3JpZ2luIjpmYWxzZX0",+    "attestationObject": "o2NmbXRkbm9uZWdhdHRTdG10oGhhdXRoRGF0YVjESZYN5YgOjGh0NBcPZHZgW4_krrmihjLHmVzzuoMdl2NFAAAABAAAAAAAAAAAAAAAAAAAAAAAQCm3l4xI-h4LE_6KQA4UReOgl7FkUe2PFJ3RdN_n9rBfF0WopqI2M_edDItnzdktw0gxsiOSN0vyGchiW0_OROulAQIDJiABIVggd6q1rL84dPlHqncwa69sOrqfs300BAp1lYv9pRlqIOgiWCA8sAhHyFxsiqy4HpSRVwIG5ZMcUU3iT8evBl7DHFh-9g"+  },+  "clientExtensionResults": {}+}
+ tests/responses/attestation/android-key-01.json view
@@ -0,0 +1,10 @@+{+  "rawId": "U5cxFNxLbU9-SAi1K7k9atYwXhghkAMbxpL__VPtBlw",+  "id": "U5cxFNxLbU9-SAi1K7k9atYwXhghkAMbxpL__VPtBlw",+  "response": {+    "clientDataJSON": "eyJvcmlnaW4iOiJodHRwczovL2xvY2FsaG9zdDo0NDMyOSIsImNoYWxsZW5nZSI6IjlNNWY3bGp5MVl2UWNzOE9pV1FWQ3ciLCJ0eXBlIjoid2ViYXV0aG4uY3JlYXRlIn0",+    "attestationObject": "o2NmbXRrYW5kcm9pZC1rZXlnYXR0U3RtdKNjYWxnJmNzaWdYSDBGAiEAlbQ-jtl8o9GtEstcEFH1Z_NlYsTYSn96lilEF17oEsMCIQDza5_axjn2jKZO63RlVf47DDFZbceW9b_tsh1nwOYQbmN4NWOCWQMFMIIDATCCAqegAwIBAgIBATAKBggqhkjOPQQDAjCBzjFFMEMGA1UEAww8RkFLRSBBbmRyb2lkIEtleXN0b3JlIFNvZnR3YXJlIEF0dGVzdGF0aW9uIEludGVybWVkaWF0ZSBGQUtFMTEwLwYJKoZIhvcNAQkBFiJjb25mb3JtYW5jZS10b29sc0BmaWRvYWxsaWFuY2Uub3JnMRYwFAYDVQQKDA1GSURPIEFsbGlhbmNlMQwwCgYDVQQLDANDV0cxCzAJBgNVBAYTAlVTMQswCQYDVQQIDAJNWTESMBAGA1UEBwwJV2FrZWZpZWxkMCAXDTcwMDIwMTAwMDAwMFoYDzIwOTkwMTMxMjM1OTU5WjApMScwJQYDVQQDDB5GQUtFIEFuZHJvaWQgS2V5c3RvcmUgS2V5IEZBS0UwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAAQbh-BQBJz7JeQ27dVvu3tyRieiEeXyDYoaWatRdy_D7q3TK96jumKlwIl5ZA2zHmKNLz4K2zsANq1X4tHp8MNZo4IBFjCCARIwCwYDVR0PBAQDAgeAMIHhBgorBgEEAdZ5AgERBIHSMIHPAgECCgEAAgEBCgEABCDc0UoXtU1CwwItW3ne2faKDcFCabFI31BufXEFVK_ENwQAMGm_hT0IAgYBXtPjz6C_hUVZBFcwVTEvMC0EKGNvbS5hbmRyb2lkLmtleXN0b3JlLmFuZHJvaWRrZXlzdG9yZWRlbW8CAQExIgQgdM_LUHSI9SkQhZHHpQWRnzJ3MvvB2ANSauqYAAbS2JgwMqEFMQMCAQKiAwIBA6MEAgIBAKUFMQMCAQSqAwIBAb-DeAMCAQK_hT4DAgEAv4U_AgUAMB8GA1UdIwQYMBaAFFKaGzLgVqrNUQ_vX4A3BovykSMdMAoGCCqGSM49BAMCA0gAMEUCIQDAPV7eQIWfL5BCmj82NszDlQ2IJsOZq_WxidwxD7On_QIgFipplgUF6OHvmHiDdaHJfFweeo60OtCDGDftjQEmF7FZAu4wggLqMIICkaADAgECAgECMAoGCCqGSM49BAMCMIHGMT0wOwYDVQQDDDRGQUtFIEFuZHJvaWQgS2V5c3RvcmUgU29mdHdhcmUgQXR0ZXN0YXRpb24gUm9vdCBGQUtFMTEwLwYJKoZIhvcNAQkBFiJjb25mb3JtYW5jZS10b29sc0BmaWRvYWxsaWFuY2Uub3JnMRYwFAYDVQQKDA1GSURPIEFsbGlhbmNlMQwwCgYDVQQLDANDV0cxCzAJBgNVBAYTAlVTMQswCQYDVQQIDAJNWTESMBAGA1UEBwwJV2FrZWZpZWxkMB4XDTE4MDUwOTEyMzE0NFoXDTQ1MDkyNDEyMzE0NFowgc4xRTBDBgNVBAMMPEZBS0UgQW5kcm9pZCBLZXlzdG9yZSBTb2Z0d2FyZSBBdHRlc3RhdGlvbiBJbnRlcm1lZGlhdGUgRkFLRTExMC8GCSqGSIb3DQEJARYiY29uZm9ybWFuY2UtdG9vbHNAZmlkb2FsbGlhbmNlLm9yZzEWMBQGA1UECgwNRklETyBBbGxpYW5jZTEMMAoGA1UECwwDQ1dHMQswCQYDVQQGEwJVUzELMAkGA1UECAwCTVkxEjAQBgNVBAcMCVdha2VmaWVsZDBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABKtQYStiTRe7w7UbBEk7BUkLjB-LnbzzebLe3KB8UqHXtg3TIXXcK37dvCbbCNVfhvZxtpTcME2kooqMTgOm9cejZjBkMBIGA1UdEwEB_wQIMAYBAf8CAQAwDgYDVR0PAQH_BAQDAgKEMB0GA1UdDgQWBBSj0qos7w2M8iQC1Ry0YLy_alskFDAfBgNVHSMEGDAWgBRSmhsy4FaqzVEP71-ANwaL8pEjHTAKBggqhkjOPQQDAgNHADBEAiBp3Z6j8YH7Qko5rRoK37nS4zPXhv65RWBV-j3MmXi50gIgPtMPpvcGtVbpFCQqsGbyhxPdkji8ltcYXQVfMhdUpRZoYXV0aERhdGFYpEmWDeWIDoxodDQXD2R2YFuP5K65ooYyx5lc87qDHZdjQQAAAFpVDktUqkdAn5qVGrdsEwExACBTlzEU3EttT35ICLUruT1q1jBeGCGQAxvGkv_9U-0GXKUBAgMmIAEhWCAbh-BQBJz7JeQ27dVvu3tyRieiEeXyDYoaWatRdy_D7iJYIK3TK96jumKlwIl5ZA2zHmKNLz4K2zsANq1X4tHp8MNZ"+  },+  "type": "public-key",+  "clientExtensionResults": {}+}
+ tests/responses/attestation/android-key-02.json view
@@ -0,0 +1,10 @@+{+  "id": "V51GE29tGbhby7sbg1cZ_qL8V8njqEsXpAnwQBobvgw",+  "rawId": "V51GE29tGbhby7sbg1cZ_qL8V8njqEsXpAnwQBobvgw",+  "response": {+    "attestationObject": "o2NmbXRrYW5kcm9pZC1rZXlnYXR0U3RtdKNjYWxnJmNzaWdYRzBFAiAbZhfcF0KSXj5rdEevvnBcC8ZfRQlNl9XYWRTiIGKSHwIhAIerc7jWjOF_lJ71n_GAcaHwDUtPxkjAAdYugnZ4QxkmY3g1Y4JZAxowggMWMIICvaADAgECAgEBMAoGCCqGSM49BAMCMIHkMUUwQwYDVQQDDDxGQUtFIEFuZHJvaWQgS2V5c3RvcmUgU29mdHdhcmUgQXR0ZXN0YXRpb24gSW50ZXJtZWRpYXRlIEZBS0UxMTAvBgkqhkiG9w0BCQEWImNvbmZvcm1hbmNlLXRvb2xzQGZpZG9hbGxpYW5jZS5vcmcxFjAUBgNVBAoMDUZJRE8gQWxsaWFuY2UxIjAgBgNVBAsMGUF1dGhlbnRpY2F0b3IgQXR0ZXN0YXRpb24xCzAJBgNVBAYTAlVTMQswCQYDVQQIDAJNWTESMBAGA1UEBwwJV2FrZWZpZWxkMCAXDTcwMDIwMTAwMDAwMFoYDzIwOTkwMTMxMjM1OTU5WjApMScwJQYDVQQDDB5GQUtFIEFuZHJvaWQgS2V5c3RvcmUgS2V5IEZBS0UwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAARuowgSu5AoRj8Vi_ZNSFBbGUZJXFG9MkDT6jADlr7tOK9NEgjVX53-ergXpyPaFZrAR9py-xnzfjILn_Kzb8Iqo4IBFjCCARIwCwYDVR0PBAQDAgeAMIHhBgorBgEEAdZ5AgERBIHSMIHPAgECCgEAAgEBCgEABCCfVEl83pSDSerk9I3pcICNTdzc5N3u4jt21cXdzBuJjgQAMGm_hT0IAgYBXtPjz6C_hUVZBFcwVTEvMC0EKGNvbS5hbmRyb2lkLmtleXN0b3JlLmFuZHJvaWRrZXlzdG9yZWRlbW8CAQExIgQgdM_LUHSI9SkQhZHHpQWRnzJ3MvvB2ANSauqYAAbS2JgwMqEFMQMCAQKiAwIBA6MEAgIBAKUFMQMCAQSqAwIBAb-DeAMCAQK_hT4DAgEAv4U_AgUAMB8GA1UdIwQYMBaAFKPSqizvDYzyJALVHLRgvL9qWyQUMAoGCCqGSM49BAMCA0cAMEQCIC7WHb2PyULnjp1M1TVI3Wti_eDhe6sFweuQAdecXtHhAiAS_eZkFsx_VNsrTu3XfZ2D7wIt-vT6nTljfHZ4zqU5xlkDGDCCAxQwggK6oAMCAQICAQIwCgYIKoZIzj0EAwIwgdwxPTA7BgNVBAMMNEZBS0UgQW5kcm9pZCBLZXlzdG9yZSBTb2Z0d2FyZSBBdHRlc3RhdGlvbiBSb290IEZBS0UxMTAvBgkqhkiG9w0BCQEWImNvbmZvcm1hbmNlLXRvb2xzQGZpZG9hbGxpYW5jZS5vcmcxFjAUBgNVBAoMDUZJRE8gQWxsaWFuY2UxIjAgBgNVBAsMGUF1dGhlbnRpY2F0b3IgQXR0ZXN0YXRpb24xCzAJBgNVBAYTAlVTMQswCQYDVQQIDAJNWTESMBAGA1UEBwwJV2FrZWZpZWxkMB4XDTE5MDQyNTA1NDkzMloXDTQ2MDkxMDA1NDkzMlowgeQxRTBDBgNVBAMMPEZBS0UgQW5kcm9pZCBLZXlzdG9yZSBTb2Z0d2FyZSBBdHRlc3RhdGlvbiBJbnRlcm1lZGlhdGUgRkFLRTExMC8GCSqGSIb3DQEJARYiY29uZm9ybWFuY2UtdG9vbHNAZmlkb2FsbGlhbmNlLm9yZzEWMBQGA1UECgwNRklETyBBbGxpYW5jZTEiMCAGA1UECwwZQXV0aGVudGljYXRvciBBdHRlc3RhdGlvbjELMAkGA1UEBhMCVVMxCzAJBgNVBAgMAk1ZMRIwEAYDVQQHDAlXYWtlZmllbGQwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAASrUGErYk0Xu8O1GwRJOwVJC4wfi52883my3tygfFKh17YN0yF13Ct-3bwm2wjVX4b2cbaU3DBNpKKKjE4DpvXHo2MwYTAPBgNVHRMBAf8EBTADAQH_MA4GA1UdDwEB_wQEAwIChDAdBgNVHQ4EFgQUo9KqLO8NjPIkAtUctGC8v2pbJBQwHwYDVR0jBBgwFoAUUpobMuBWqs1RD-9fgDcGi_KRIx0wCgYIKoZIzj0EAwIDSAAwRQIhALFvLkAvtHrObTmN8P0-yLIT496P_weSEEbB6vCJWSh9AiBu-UOorCeLcF4WixOG9E5Li2nXe4uM2q6mbKGkll8u-WhhdXRoRGF0YVikPdxHEOnAiLIp26idVjIguzn3Ipr_RlsKZWsa-5qK-KBBAAAAYFUOS1SqR0CfmpUat2wTATEAIFedRhNvbRm4W8u7G4NXGf6i_FfJ46hLF6QJ8EAaG74MpQECAyYgASFYIG6jCBK7kChGPxWL9k1IUFsZRklcUb0yQNPqMAOWvu04Ilggr00SCNVfnf56uBenI9oVmsBH2nL7GfN-Mguf8rNvwio",+    "clientDataJSON": "eyJvcmlnaW4iOiJodHRwczovL2Rldi5kb250bmVlZGEucHciLCJjaGFsbGVuZ2UiOiI0YWI3ZGZkMS1hNjk1LTQ3NzctOTg1Zi1hZDI5OTM4MjhlOTkiLCJ0eXBlIjoid2ViYXV0aG4uY3JlYXRlIn0"+  },+  "type": "public-key",+  "clientExtensionResults": {}+}
+ tests/responses/attestation/android-safetynet-01.json view
@@ -0,0 +1,10 @@+{+    "id": "AePltP2wAoNYwG5XGc9sfleGgDxQRHdkX8vphNIHv3HylIj_nZo9ncs7bLL65AGmVAc69pS4l64hgOBJU9o2jCQ",+    "rawId": "AePltP2wAoNYwG5XGc9sfleGgDxQRHdkX8vphNIHv3HylIj_nZo9ncs7bLL65AGmVAc69pS4l64hgOBJU9o2jCQ",+    "response": {+        "attestationObject": "o2NmbXRxYW5kcm9pZC1zYWZldHluZXRnYXR0U3RtdKJjdmVyaTIxMjYyMTAzN2hyZXNwb25zZVkgXGV5SmhiR2NpT2lKU1V6STFOaUlzSW5nMVl5STZXeUpOU1VsR1dIcERRMEpGWldkQmQwbENRV2RKVVdadE9HbFpXbnAxY1RCRlNrRkJRVUZCU0RkMVVsUkJUa0puYTNGb2EybEhPWGN3UWtGUmMwWkJSRUpIVFZGemQwTlJXVVJXVVZGSFJYZEtWbFY2UldsTlEwRkhRVEZWUlVOb1RWcFNNamwyV2pKNGJFbEdVbmxrV0U0d1NVWk9iR051V25CWk1sWjZTVVY0VFZGNlJWUk5Ra1ZIUVRGVlJVRjRUVXRTTVZKVVNVVk9Ra2xFUmtWT1JFRmxSbmN3ZVUxVVFUTk5WR3Q0VFhwRmVrNUVTbUZHZHpCNVRWUkZkMDFVWTNoTmVrVjZUa1JHWVUxQ01IaEhla0ZhUW1kT1ZrSkJUVlJGYlVZd1pFZFdlbVJETldoaWJWSjVZakpzYTB4dFRuWmlWRU5EUVZOSmQwUlJXVXBMYjFwSmFIWmpUa0ZSUlVKQ1VVRkVaMmRGVUVGRVEwTkJVVzlEWjJkRlFrRkxaazVUUWxsNE0wMDJTbkpKYVRCTVVVUkdORlZhYUhSemVUZ3lRMjgwVG5aM2NpOUdTVzQzTHpsbkszaHpWM3BEV1dkU04xRnpSMjF5ZVVjNWRsQkdja2Q1VVhKRlpHcERVWFZDVTFGVGQyOXZOR2R3YVVocGR6RllibkZHWm5KT1l6SjNURkpQTDFCVWRTdGhhMFpFU1UwMlozVXpaR1JuZDFGWFIwZGFjbFpRZWt0RmFrOTVUbE5HVFVKTU1GZEJTMmwxZFZsQ2RqRTBVWFp1YmxjeFJXdFpZbkZLWkZSb05reFhabVYyWTFkU1N5dFVkRlpoT1hwelIyNUZibWMzYTAxUVYxQkNTekJPTUdKUVozaGlOR3B1ZUdGSWNXeE1lSEV2UTJwRWJreHJSRVZrZFdabFZEVlZaM0pzVkc1M09WVnRXbTFOZUdGUWRHRXZkbm93WTJnMlpteERkM2xwZG1wSGFqSjRWRWhMVmxsMmJWbHdORlJtVEdjd1kxVk9VRVV4WkV0cVRrbGlTMWxEZUZGSlZucHVlSFY0WlhCVVUxWnBXWFZqVUVZMFZuZHVLelpFT1ZwNFVVcEtLeTlsTmt0TVNXdERRWGRGUVVGaFQwTkJia0YzWjJkS2MwMUJORWRCTVZWa1JIZEZRaTkzVVVWQmQwbEdiMFJCVkVKblRsWklVMVZGUkVSQlMwSm5aM0pDWjBWR1FsRmpSRUZVUVUxQ1owNVdTRkpOUWtGbU9FVkJha0ZCVFVJd1IwRXhWV1JFWjFGWFFrSlVUWE5VU1RWeFowRlBVbXRCWkROTlVFd3dOV2cwTm1KdlZsaEVRV1pDWjA1V1NGTk5SVWRFUVZkblFsRnNOR2huVDNOc1pWSnNRM0pzTVVZeVIydEpVR1ZWTjA4MGEycENkRUpuWjNKQ1owVkdRbEZqUWtGUlVtaE5SamgzUzJkWlNVdDNXVUpDVVZWSVRVRkhSMGh0YURCa1NFRTJUSGs1ZGxrelRuZE1ia0p5WVZNMWJtSXlPVzVNTW1Rd1kzcEdhMDVIYkhWa1JFRjRRbWRuY2tKblJVWkNVV04zUVc5WmJHRklVakJqUkc5MlRETkNjbUZUTlc1aU1qbHVURE5LYkdOSE9IWlpNbFo1WkVoTmRsb3pVbnBOVjFFd1RHMVNiR05xUVdSQ1owNVdTRkpGUlVacVFWVm5hRXBvWkVoU2JHTXpVWFZaVnpWclkyMDVjRnBETldwaU1qQjNTVkZaUkZaU01HZENRbTkzUjBSQlNVSm5XbTVuVVhkQ1FXZEZkMFJCV1V0TGQxbENRa0ZJVjJWUlNVWkJla0V2UW1kT1ZraFNPRVZQUkVFeVRVUlRaMDF4UVhkb2FUVnZaRWhTZDA5cE9IWlpNMHB6WTNrMWQyRXlhM1ZhTWpsMlduazVibVJJVFhoYVJGSndZbTVSZGxnd1dsRmpXRVpLVTBka1dVNXFaM1ZaTTBwelRVbEpRa0YzV1V0TGQxbENRa0ZJVjJWUlNVVkJaMU5DT1VGVFFqaFJSSFpCU0ZWQldFNTRSR3QyTjIxeE1GWkZjMVkyWVRGR1ltMUZSR1kzTVdad1NETkxSbnBzVEVwbE5YWmlTRVJ6YjBGQlFVWTJkbmd5VHpGblFVRkNRVTFCVW1wQ1JVRnBRa3AxVjFCU2JWSk5kbXBqVkZWd1NXSnlUa3RvT0hONFlrZDRUbEJOWm14aWNuWXhaSGhVYWtwM1EyZEpaMU01ZDJkTVZVcGxVWEZNVFZJNFdHVnVSMDVtZVZsb1lYRnNjbEo0ZUUwNGMxQTRWa2x3VVVkVFV6QkJaR2RDT1ZCMlREUnFMeXRKVmxkbmEzZHpSRXR1YkV0S1pWTjJSa1J1WjBwbWVUVnhiREpwV21acFRIY3hkMEZCUVZoeEwwaFpLMHRCUVVGRlFYZENTRTFGVlVOSlJESk1NbkpJUW14S2FUbFNSbTlQWmtWQ00yUjRTR1ZJVjFSS2QzTndORFpKWmtscU5tOUxTM0JZWWtGcFJVRXlOVk5aUmswNFp6RlVLMGRKVlhKVlRUQjRZMDVVZDJrdmJISnhhRmxyVVUxSEswWnpNbVp0Um1SSmQwUlJXVXBMYjFwSmFIWmpUa0ZSUlV4Q1VVRkVaMmRGUWtGRU5qaG1lRWhNZUU5REsxWnNUakZTVGtONVMyUlVjV1pJWWxKQlFXUk9XVmczTjBoWEwyMVFRbTVWUXpGb2NtVlVSM2hIZUZOT01VUm9hazF4Tkhwb09GQkRiVEI2TDNKQ00zQkVkMmxuYldsTmRtRllVRVZFYXpaRWJHbE5VMFY1WkRCak5ua3dPV2cxVjA1WFRpOWplR3BITDNWUk1ESjZSRU12UldrdlptUkZaM1V5TVVobmVITTNRMFZVZFROMFpUWkNiekZTZUM5NFIxRnRLMnRvTlhZd2NIWXJhVmw2Y25oVmJFOHZUV1J2YjJsa2VqbENRMWhYT0haeVRVbzJVbk5SVmxKUWVUUjVSbGN2TXpjeU4yeDFSRnBaTUVoME5XMUZSa2xLUTNCV1EybENUSE5wZURCd2JWUnNhMXBhZFhSRWFDOHZUV1JOTlVFME56RldRVU14VTBsNGVrTXpUMkYwZEZoV1RGTnRTWFpuZDFoWFlsbzVhekpzZWtwcGVrRnNiRkpMVld0TlRGUmtjMDlFY0RVek0yNVBhMlJXVTFvMlppdEljbkZKYzFSTVRuTTFVVk5MWWtVMGNuaHlkbFpPS3pROUlpd2lUVWxKUm1wRVEwTkJNMU5uUVhkSlFrRm5TVTVCWjBOUGMyZEplazV0VjB4YVRUTmliWHBCVGtKbmEzRm9hMmxIT1hjd1FrRlJjMFpCUkVKSVRWRnpkME5SV1VSV1VWRkhSWGRLVmxWNlJXbE5RMEZIUVRGVlJVTm9UVnBTTWpsMldqSjRiRWxHVW5sa1dFNHdTVVpPYkdOdVduQlpNbFo2U1VWNFRWRjZSVlZOUWtsSFFURlZSVUY0VFV4U01WSlVTVVpLZG1JelVXZFZha1YzU0doalRrMXFRWGRQUkVWNlRVUkJkMDFFVVhsWGFHTk9UV3BqZDA5VVRYZE5SRUYzVFVSUmVWZHFRa2ROVVhOM1ExRlpSRlpSVVVkRmQwcFdWWHBGYVUxRFFVZEJNVlZGUTJoTldsSXlPWFphTW5oc1NVWlNlV1JZVGpCSlJrNXNZMjVhY0ZreVZucEpSWGhOVVhwRlZFMUNSVWRCTVZWRlFYaE5TMUl4VWxSSlJVNUNTVVJHUlU1RVEwTkJVMGwzUkZGWlNrdHZXa2xvZG1OT1FWRkZRa0pSUVVSblowVlFRVVJEUTBGUmIwTm5aMFZDUVV0MlFYRnhVRU5GTWpkc01IYzVla000WkZSUVNVVTRPV0pCSzNoVWJVUmhSemQ1TjFabVVUUmpLMjFQVjJoc1ZXVmlWVkZ3U3pCNWRqSnlOamM0VWtwRmVFc3dTRmRFYW1WeEsyNU1TVWhPTVVWdE5XbzJja0ZTV21sNGJYbFNVMnBvU1ZJd1MwOVJVRWRDVFZWc1pITmhlblJKU1VvM1R6Qm5Memd5Y1dvdmRrZEViQzh2TTNRMGRGUnhlR2xTYUV4UmJsUk1XRXBrWlVJck1rUm9hMlJWTmtsSlozZzJkMDQzUlRWT1kxVklNMUpqYzJWcVkzRnFPSEExVTJveE9YWkNiVFpwTVVab2NVeEhlVzFvVFVaeWIxZFdWVWRQTTNoMFNVZzVNV1J6WjNrMFpVWkxZMlpMVmt4WFN6TnZNakU1TUZFd1RHMHZVMmxMYlV4aVVrbzFRWFUwZVRGbGRVWktiVEpLVFRsbFFqZzBSbXR4WVROcGRuSllWMVZsVm5SNVpUQkRVV1JMZG5OWk1rWnJZWHAyZUhSNGRuVnpURXA2VEZkWlNHczFOWHBqVWtGaFkwUkJNbE5sUlhSQ1lsRm1SREZ4YzBOQmQwVkJRV0ZQUTBGWVdYZG5aMFo1VFVFMFIwRXhWV1JFZDBWQ0wzZFJSVUYzU1VKb2FrRmtRbWRPVmtoVFZVVkdha0ZWUW1kbmNrSm5SVVpDVVdORVFWRlpTVXQzV1VKQ1VWVklRWGRKZDBWbldVUldVakJVUVZGSUwwSkJaM2RDWjBWQ0wzZEpRa0ZFUVdSQ1owNVdTRkUwUlVablVWVktaVWxaUkhKS1dHdGFVWEUxWkZKa2FIQkRSRE5zVDNwMVNrbDNTSGRaUkZaU01HcENRbWQzUm05QlZUVkxPSEpLYmtWaFN6Qm5ibWhUT1ZOYWFYcDJPRWxyVkdOVU5IZGhRVmxKUzNkWlFrSlJWVWhCVVVWRldFUkNZVTFEV1VkRFEzTkhRVkZWUmtKNlFVSm9hSEJ2WkVoU2QwOXBPSFppTWs1NlkwTTFkMkV5YTNWYU1qbDJXbms1Ym1SSVRubE5WRUYzUW1kbmNrSm5SVVpDVVdOM1FXOVphMkZJVWpCalJHOTJURE5DY21GVE5XNWlNamx1VEROS2JHTkhPSFpaTWxaNVpFaE5kbG96VW5wamFrVjFXa2RXZVUxRVVVZEJNVlZrU0hkUmRFMURjM2RMWVVGdWIwTlhSMGt5YURCa1NFRTJUSGs1YW1OdGQzVmpSM1J3VEcxa2RtSXlZM1phTTFKNlkycEZkbG96VW5wamFrVjFXVE5LYzAxRk1FZEJNVlZrU1VGU1IwMUZVWGREUVZsSFdqUkZUVUZSU1VKTlJHZEhRMmx6UjBGUlVVSXhibXREUWxGTmQwdHFRVzlDWjJkeVFtZEZSa0pSWTBOQlVsbGpZVWhTTUdOSVRUWk1lVGwzWVRKcmRWb3lPWFphZVRsNVdsaENkbU15YkRCaU0wbzFUSHBCVGtKbmEzRm9hMmxIT1hjd1FrRlJjMFpCUVU5RFFXZEZRVWxXVkc5NU1qUnFkMWhWY2pCeVFWQmpPVEkwZG5WVFZtSkxVWFZaZHpOdVRHWnNUR1pNYURWQldWZEZaVlpzTDBSMU1UaFJRVmRWVFdSalNqWnZMM0ZHV21Kb1dHdENTREJRVG1OM09UZDBhR0ZtTWtKbGIwUlpXVGxEYXk5aUsxVkhiSFZvZURBMmVtUTBSVUptTjBnNVVEZzBibTV5ZDNCU0t6UkhRa1JhU3l0WWFETkpNSFJ4U25reWNtZFBjVTVFWm14eU5VbE5VVGhhVkZkQk0zbHNkR0ZyZWxOQ1MxbzJXSEJHTUZCd2NYbERVblp3TDA1RFIzWXlTMWd5VkhWUVEwcDJjMk53TVM5dE1uQldWSFI1UW1wWlVGSlJLMUYxUTFGSFFVcExhblJPTjFJMVJFWnlabFJ4VFZkMldXZFdiSEJEU2tKcmQyeDFOeXMzUzFrelkxUkpabnBGTjJOdFFVeHphMDFMVGt4MVJIb3JVbnBEWTNOWlZITldZVlUzVm5BemVFdzJNRTlaYUhGR2EzVkJUMDk0UkZvMmNFaFBhamtyVDBwdFdXZFFiVTlVTkZnekt6ZE1OVEZtV0VwNVVrZzVTMlpNVWxBMmJsUXpNVVExYm0xelIwRlBaMW95Tmk4NFZEbG9jMEpYTVhWdk9XcDFOV1phVEZwWVZsWlROVWd3U0hsSlFrMUZTM2xIVFVsUWFFWlhjbXgwTDJoR1V6STRUakY2WVV0Sk1GcENSMFF6WjFsblJFeGlhVVJVT1daSFdITjBjR3NyUm0xak5HOXNWbXhYVUhwWVpUZ3hkbVJ2Ulc1R1luSTFUVEkzTWtoa1owcFhieXRYYUZRNVFsbE5NRXBwSzNka1ZtMXVVbVptV0dkc2IwVnZiSFZVVG1OWGVtTTBNV1JHY0dkS2RUaG1Sak5NUnpCbmJESnBZbE5aYVVOcE9XRTJhSFpWTUZSd2NHcEtlVWxYV0doclNsUmpUVXBzVUhKWGVERldlWFJGVlVkeVdESnNNRXBFZDFKcVZ5ODJOVFp5TUV0V1FqQXllRWhTUzNadE1scExTVEF6Vkdkc1RFbHdiVlpEU3pOclFrdHJTMDV3UWs1clJuUTRjbWhoWm1ORFMwOWlPVXA0THpsMGNFNUdiRkZVYkRkQ016bHlTbXhLVjJ0U01UZFJibHB4Vm5CMFJtVlFSazlTYjFwdFJucE5QU0lzSWsxSlNVWlpha05EUWtWeFowRjNTVUpCWjBsUlpEY3dUbUpPY3pJclVuSnhTVkV2UlRoR2FsUkVWRUZPUW1kcmNXaHJhVWM1ZHpCQ1FWRnpSa0ZFUWxoTlVYTjNRMUZaUkZaUlVVZEZkMHBEVWxSRldrMUNZMGRCTVZWRlEyaE5VVkl5ZUhaWmJVWnpWVEpzYm1KcFFuVmthVEY2V1ZSRlVVMUJORWRCTVZWRlEzaE5TRlZ0T1haa1EwSkVVVlJGWWsxQ2EwZEJNVlZGUVhoTlUxSXllSFpaYlVaelZUSnNibUpwUWxOaU1qa3dTVVZPUWsxQ05GaEVWRWwzVFVSWmVFOVVRWGROUkVFd1RXeHZXRVJVU1RSTlJFVjVUMFJCZDAxRVFUQk5iRzkzVW5wRlRFMUJhMGRCTVZWRlFtaE5RMVpXVFhoSmFrRm5RbWRPVmtKQmIxUkhWV1IyWWpKa2MxcFRRbFZqYmxaNlpFTkNWRnBZU2pKaFYwNXNZM2xDVFZSRlRYaEdSRUZUUW1kT1ZrSkJUVlJETUdSVlZYbENVMkl5T1RCSlJrbDRUVWxKUTBscVFVNUNaMnR4YUd0cFJ6bDNNRUpCVVVWR1FVRlBRMEZuT0VGTlNVbERRMmRMUTBGblJVRjBhRVZEYVhnM2FtOVlaV0pQT1hrdmJFUTJNMnhoWkVGUVMwZzVaM1pzT1UxbllVTmpabUl5YWtndk56Wk9kVGhoYVRaWWJEWlBUVk12YTNJNWNrZzFlbTlSWkhObWJrWnNPVGQyZFdaTGFqWmlkMU5wVmpadWNXeExjaXREVFc1NU5sTjRia2RRWWpFMWJDczRRWEJsTmpKcGJUbE5XbUZTZHpGT1JVUlFhbFJ5UlZSdk9HZFpZa1YyY3k5QmJWRXpOVEZyUzFOVmFrSTJSekF3YWpCMVdVOUVVREJuYlVoMU9ERkpPRVV6UTNkdWNVbHBjblUyZWpGcldqRnhLMUJ6UVdWM2JtcEllR2R6U0VFemVUWnRZbGQzV2tSeVdGbG1hVmxoVWxGTk9YTkliV3RzUTJsMFJETTRiVFZoWjBrdmNHSnZVRWRwVlZVck5rUlBiMmR5UmxwWlNuTjFRalpxUXpVeE1YQjZjbkF4V210cU5WcFFZVXMwT1d3NFMwVnFPRU00VVUxQlRGaE1NekpvTjAweFlrdDNXVlZJSzBVMFJYcE9hM1JOWnpaVVR6aFZjRzEyVFhKVmNITjVWWEYwUldvMVkzVklTMXBRWm0xbmFFTk9Oa296UTJsdmFqWlBSMkZMTDBkUU5VRm1iRFF2V0hSalpDOXdNbWd2Y25Nek4wVlBaVnBXV0hSTU1HMDNPVmxDTUdWelYwTnlkVTlETjFoR2VGbHdWbkU1VDNNMmNFWk1TMk4zV25CRVNXeFVhWEo0V2xWVVVVRnpObkY2YTIwd05uQTVPR2MzUWtGbEsyUkVjVFprYzI4ME9UbHBXVWcyVkV0WUx6RlpOMFI2YTNabmRHUnBlbXByV0ZCa2MwUjBVVU4yT1ZWM0szZHdPVlUzUkdKSFMyOW5VR1ZOWVROTlpDdHdkbVY2TjFjek5VVnBSWFZoS3l0MFoza3ZRa0pxUmtaR2VUTnNNMWRHY0U4NVMxZG5lamQ2Y0cwM1FXVkxTblE0VkRFeFpHeGxRMlpsV0d0clZVRkxTVUZtTlhGdlNXSmhjSE5hVjNkd1ltdE9SbWhJWVhneWVFbFFSVVJuWm1jeFlYcFdXVGd3V21OR2RXTjBURGRVYkV4dVRWRXZNR3hWVkdKcFUzY3hia2cyT1UxSE5ucFBNR0k1WmpaQ1VXUm5RVzFFTURaNVN6VTJiVVJqV1VKYVZVTkJkMFZCUVdGUFEwRlVaM2RuWjBVd1RVRTBSMEV4VldSRWQwVkNMM2RSUlVGM1NVSm9ha0ZRUW1kT1ZraFNUVUpCWmpoRlFsUkJSRUZSU0M5TlFqQkhRVEZWWkVSblVWZENRbFJyY25semJXTlNiM0pUUTJWR1RERktiVXhQTDNkcFVrNTRVR3BCWmtKblRsWklVMDFGUjBSQlYyZENVbWRsTWxsaFVsRXlXSGx2YkZGTU16QkZlbFJUYnk4dmVqbFRla0puUW1kbmNrSm5SVVpDVVdOQ1FWRlNWVTFHU1hkS1VWbEpTM2RaUWtKUlZVaE5RVWRIUjFkb01HUklRVFpNZVRsMldUTk9kMHh1UW5KaFV6VnVZakk1Ymt3eVpIcGpha1YzUzFGWlNVdDNXVUpDVVZWSVRVRkxSMGhYYURCa1NFRTJUSGs1ZDJFeWEzVmFNamwyV25rNWJtTXpTWGhNTW1SNlkycEZkVmt6U2pCTlJFbEhRVEZWWkVoM1VYSk5RMnQzU2paQmJHOURUMGRKVjJnd1pFaEJOa3g1T1dwamJYZDFZMGQwY0V4dFpIWmlNbU4yV2pOT2VVMVRPVzVqTTBsNFRHMU9lV0pFUVRkQ1owNVdTRk5CUlU1RVFYbE5RV2RIUW0xbFFrUkJSVU5CVkVGSlFtZGFibWRSZDBKQlowbDNSRkZaVEV0M1dVSkNRVWhYWlZGSlJrRjNTWGRFVVZsTVMzZFpRa0pCU0ZkbFVVbEdRWGROZDBSUldVcExiMXBKYUhaalRrRlJSVXhDVVVGRVoyZEZRa0ZFVTJ0SWNrVnZiemxETUdSb1pXMU5XRzlvTm1SR1UxQnphbUprUWxwQ2FVeG5PVTVTTTNRMVVDdFVORlo0Wm5FM2RuRm1UUzlpTlVFelVta3habmxLYlRsaWRtaGtSMkZLVVROaU1uUTJlVTFCV1U0dmIyeFZZWHB6WVV3cmVYbEZiamxYY0hKTFFWTlBjMmhKUVhKQmIzbGFiQ3QwU21GdmVERXhPR1psYzNOdFdHNHhhRWxXZHpReGIyVlJZVEYyTVhabk5FWjJOelI2VUd3MkwwRm9VM0ozT1ZVMWNFTmFSWFEwVjJrMGQxTjBlalprVkZvdlEweEJUbmc0VEZwb01VbzNVVXBXYWpKbWFFMTBabFJLY2psM05Ib3pNRm95TURsbVQxVXdhVTlOZVN0eFpIVkNiWEIyZGxsMVVqZG9Xa3cyUkhWd2MzcG1ibmN3VTJ0bWRHaHpNVGhrUnpsYVMySTFPVlZvZG0xaFUwZGFVbFppVGxGd2MyY3pRbHBzZG1sa01HeEpTMDh5WkRGNGIzcGpiRTk2WjJwWVVGbHZka3BLU1hWc2RIcHJUWFV6TkhGUllqbFRlaTk1YVd4eVlrTm5hamc5SWwxOS5leUp1YjI1alpTSTZJakp5TlZWak5EQXhieTkxWW5WNWVGbzJUVk4wVGtGa1pXMUlkVGg0UVZReWNXOVFXR2c1WldoeVdUZzlJaXdpZEdsdFpYTjBZVzF3VFhNaU9qRTJNekEzTURNeU5EQXdOVGNzSW1Gd2ExQmhZMnRoWjJWT1lXMWxJam9pWTI5dExtZHZiMmRzWlM1aGJtUnliMmxrTG1kdGN5SXNJbUZ3YTBScFoyVnpkRk5vWVRJMU5pSTZJbXhHVVhkSFYwRklkekZaTkdKNVNsUjRSVWQ0T0hsQmFsVkJlVUZFUW10NFJqTlNaa0pIVHpSMVFUZzlJaXdpWTNSelVISnZabWxzWlUxaGRHTm9JanAwY25WbExDSmhjR3REWlhKMGFXWnBZMkYwWlVScFoyVnpkRk5vWVRJMU5pSTZXeUk0VURGelZ6QkZVRXBqYzJ4M04xVjZVbk5wV0V3Mk5IY3JUelV3UldRclVrSkpRM1JoZVRGbk1qUk5QU0pkTENKaVlYTnBZMGx1ZEdWbmNtbDBlU0k2ZEhKMVpTd2laWFpoYkhWaGRHbHZibFI1Y0dVaU9pSkNRVk5KUXlKOS5NUFlueXVkY3lOQTB1bHM1R0NidXpkTmhvNVhReDkyY2NfUWwyVXdSa1hWdTdPVE5SRVdRTTdHRkN4Wl9TcEJ4ZzBqS1lRd21FX2Z3Rll2U1BqaXlZbmpocENKejFZQjY5bVAwMG9VaHJzTUR2MmgxblQwTjdxd045U2tUTno4WFdnN0VPRDhmcUI0US1NMUNoemdRelNla2RxQXBfSXlrQXdYRjBFM3pqV0xuN2h1WTNjV3FPeFQzNGRSWFBFWkNIMlR1RDRQSUdHcmVJMlkxczlrckY1NjZjZGtfaXRKcGQ3ZlZ4OVVHaEtkNkg3bi02NGtQUzF2VE10WkhkMXRtRExuM3p4aUhTLVJmWFBxT3JEY0NacWcxcXFPdTRnQWpCb1pZbW03RF9oM2gzUVh6aW9ob0ZoeFNpNHVYMjc3NDU1ZHlRSXY2VW02RkpVZWFNOXE4ZEFoYXV0aERhdGFYxUM-aBZp-t3K2T8SiJsc0tHiVg5EKhu4zSaRsspfcKDIRQAAAAC5P9lh8uZGL7EiggAiR954AEEB4-W0_bACg1jAblcZz2x-V4aAPFBEd2Rfy-mE0ge_cfKUiP-dmj2dyztssvrkAaZUBzr2lLiXriGA4ElT2jaMJKUBAgMmIAEhWCCRXy7I5ieefvztqGsBuhKzrZ791MIGmTh9EvllVMBLzyJYIEUi7k0WWjywJtUaxQkA-0zRgEPQCYTP9hkDWi_BTH4j",+        "clientDataJSON": "eyJ0eXBlIjoid2ViYXV0aG4uY3JlYXRlIiwiY2hhbGxlbmdlIjoiczh4cnFMc3hnZXdqdG80c3gzbjFqVFlJUlFCcEhXbjMiLCJvcmlnaW4iOiJodHRwczpcL1wvZGV2aWNlbWFuYWdlbWVudC1kdW8xLnB3bC5uZ3Jvay5pbyIsImFuZHJvaWRQYWNrYWdlTmFtZSI6ImNvbS5hbmRyb2lkLmNocm9tZSJ9"+    },+    "type": "public-key",+    "clientExtensionResults": {}+}
+ tests/responses/attestation/apple-01.json view
@@ -0,0 +1,10 @@+{+  "rawId": "U5cxFNxLbU9-SAi1K7k9atYwXhghkAMbxpL__VPtBlw",+  "id": "U5cxFNxLbU9-SAi1K7k9atYwXhghkAMbxpL__VPtBlw",+  "response": {+    "clientDataJSON": "eyJ0eXBlIjoid2ViYXV0aG4uY3JlYXRlIiwiY2hhbGxlbmdlIjoia093TXZFMm1RTzZvdTBCMGpqRDBWQSIsIm9yaWdpbiI6Imh0dHBzOi8vNmNjM2M5ZTc5NjdhLm5ncm9rLmlvIn0",+    "attestationObject": "o2NmbXRlYXBwbGVnYXR0U3RtdKJjYWxnJmN4NWOCWQJIMIICRDCCAcmgAwIBAgIGAXUCfWGDMAoGCCqGSM49BAMCMEgxHDAaBgNVBAMME0FwcGxlIFdlYkF1dGhuIENBIDExEzARBgNVBAoMCkFwcGxlIEluYy4xEzARBgNVBAgMCkNhbGlmb3JuaWEwHhcNMjAxMDA3MDk0NjEyWhcNMjAxMDA4MDk1NjEyWjCBkTFJMEcGA1UEAwxANjEyNzZmYzAyZDNmZThkMTZiMzNiNTU0OWQ4MTkyMzZjODE3NDZhODNmMmU5NGE2ZTRiZWUxYzcwZjgxYjViYzEaMBgGA1UECwwRQUFBIENlcnRpZmljYXRpb24xEzARBgNVBAoMCkFwcGxlIEluYy4xEzARBgNVBAgMCkNhbGlmb3JuaWEwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAAR5_lkIu1EpyAk4t1TATSs0DvpmFbmHaYv1naTlPqPm_vsD2qEnDVgE6KthwVqsokNcfb82nXHKFcUjsABKG3W3o1UwUzAMBgNVHRMBAf8EAjAAMA4GA1UdDwEB_wQEAwIE8DAzBgkqhkiG92NkCAIEJjAkoSIEIJxgAhVAs-GYNN_jfsYkRcieGylPeSzka5QTwyMO84aBMAoGCCqGSM49BAMCA2kAMGYCMQDaHBjrI75xAF7SXzyF5zSQB_Lg9PjTdyye-w7stiqy84K6lmo8d3fIptYjLQx81bsCMQCvC8MSN-aewiaU0bMsdxRbdDerCJJj3xJb3KZwloevJ3daCmCcrZrAPYfLp2kDOshZAjgwggI0MIIBuqADAgECAhBWJVOVx6f7QOviKNgmCFO2MAoGCCqGSM49BAMDMEsxHzAdBgNVBAMMFkFwcGxlIFdlYkF1dGhuIFJvb3QgQ0ExEzARBgNVBAoMCkFwcGxlIEluYy4xEzARBgNVBAgMCkNhbGlmb3JuaWEwHhcNMjAwMzE4MTgzODAxWhcNMzAwMzEzMDAwMDAwWjBIMRwwGgYDVQQDDBNBcHBsZSBXZWJBdXRobiBDQSAxMRMwEQYDVQQKDApBcHBsZSBJbmMuMRMwEQYDVQQIDApDYWxpZm9ybmlhMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEgy6HLyYUkYECJbn1_Na7Y3i19V8_ywRbxzWZNHX9VJBE35v-GSEXZcaaHdoFCzjUUINAGkNPsk0RLVbD4c-_y5iR_sBpYIG--Wy8d8iN3a9Gpa7h3VFbWvqrk76cCyaRo2YwZDASBgNVHRMBAf8ECDAGAQH_AgEAMB8GA1UdIwQYMBaAFCbXZNnFeMJaZ9Gn3msS0Btj8cbXMB0GA1UdDgQWBBTrroLE_6GsW1HUzyRhBQC-Y713iDAOBgNVHQ8BAf8EBAMCAQYwCgYIKoZIzj0EAwMDaAAwZQIxAN2LGjSBpfrZ27TnZXuEHhRMJ7dbh2pBhsKxR1dQM3In7-VURX72SJUMYy5cSD5wwQIwLIpgRNwgH8_lm8NNKTDBSHhR2WDtanXx60rKvjjNJbiX0MgFvvDH94sHpXHG6A4HaGF1dGhEYXRhWJhWHo8_bWPQzAMKYRIrGXu__PkMUfuqHM4RH7Jea4WDgkUAAAAAAAAAAAAAAAAAAAAAAAAAAAAUomGfdaNI-cYgWrq2klNk97zkcg-lAQIDJiABIVggef5ZCLtRKcgJOLdUwE0rNA76ZhW5h2mL9Z2k5T6j5v4iWCD7A9qhJw1YBOirYcFarKJDXH2_Np1xyhXFI7AASht1tw"+  },+  "type": "public-key",+  "clientExtensionResults": {}+}
+ tests/responses/attestation/apple-02.json view
@@ -0,0 +1,10 @@+{+  "id": "0yhsKG_gCzynIgNbvXWkqJKL8Uc",+  "rawId": "0yhsKG_gCzynIgNbvXWkqJKL8Uc",+  "response": {+    "attestationObject": "o2NmbXRlYXBwbGVnYXR0U3RtdKFjeDVjglkCRzCCAkMwggHJoAMCAQICBgF7o5kiITAKBggqhkjOPQQDAjBIMRwwGgYDVQQDDBNBcHBsZSBXZWJBdXRobiBDQSAxMRMwEQYDVQQKDApBcHBsZSBJbmMuMRMwEQYDVQQIDApDYWxpZm9ybmlhMB4XDTIxMDgzMTIzMDIwN1oXDTIxMDkwMzIzMDIwN1owgZExSTBHBgNVBAMMQGIxMGY3MThiYzVkZDc1ODg4NmExZDhjZmI1YjhiNjMxNzI5ZjRkN2U0YmEwNjlhYjBhOTkyYzFjMDg0NzhhZjkxGjAYBgNVBAsMEUFBQSBDZXJ0aWZpY2F0aW9uMRMwEQYDVQQKDApBcHBsZSBJbmMuMRMwEQYDVQQIDApDYWxpZm9ybmlhMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE0SSw6f-BknI8nuL6T4Fw03PgMobPiAruxwCKFM3qZHJJY-BbuMRKn5gN7RKqijN5XPgdMedBFs7W8fTF6ww1j6NVMFMwDAYDVR0TAQH_BAIwADAOBgNVHQ8BAf8EBAMCBPAwMwYJKoZIhvdjZAgCBCYwJKEiBCDkV-W8KS8WNSECSO0ud2uhKcfMRpUkp1NWg2yu8vBYoDAKBggqhkjOPQQDAgNoADBlAjBlxucHXdrLUIeahBKQR1kBPQ2nhyZAh1mgHxmUwXlaacLB0RMGwtG8l75hQWJ7hncCMQCrC559l8orYDse224mTEm_GXE4DCr6XTf4xP9aXebUV6GcuAwCsu35SwhT4EgvhoZZAjgwggI0MIIBuqADAgECAhBWJVOVx6f7QOviKNgmCFO2MAoGCCqGSM49BAMDMEsxHzAdBgNVBAMMFkFwcGxlIFdlYkF1dGhuIFJvb3QgQ0ExEzARBgNVBAoMCkFwcGxlIEluYy4xEzARBgNVBAgMCkNhbGlmb3JuaWEwHhcNMjAwMzE4MTgzODAxWhcNMzAwMzEzMDAwMDAwWjBIMRwwGgYDVQQDDBNBcHBsZSBXZWJBdXRobiBDQSAxMRMwEQYDVQQKDApBcHBsZSBJbmMuMRMwEQYDVQQIDApDYWxpZm9ybmlhMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEgy6HLyYUkYECJbn1_Na7Y3i19V8_ywRbxzWZNHX9VJBE35v-GSEXZcaaHdoFCzjUUINAGkNPsk0RLVbD4c-_y5iR_sBpYIG--Wy8d8iN3a9Gpa7h3VFbWvqrk76cCyaRo2YwZDASBgNVHRMBAf8ECDAGAQH_AgEAMB8GA1UdIwQYMBaAFCbXZNnFeMJaZ9Gn3msS0Btj8cbXMB0GA1UdDgQWBBTrroLE_6GsW1HUzyRhBQC-Y713iDAOBgNVHQ8BAf8EBAMCAQYwCgYIKoZIzj0EAwMDaAAwZQIxAN2LGjSBpfrZ27TnZXuEHhRMJ7dbh2pBhsKxR1dQM3In7-VURX72SJUMYy5cSD5wwQIwLIpgRNwgH8_lm8NNKTDBSHhR2WDtanXx60rKvjjNJbiX0MgFvvDH94sHpXHG6A4HaGF1dGhEYXRhWJiPh6BZvowZk4E0cyGRAQ-e4LvoufWAcLD1j4UMTOIowUUAAAAA8kqOcNDT-CwpNzJSPMTeWgAU0yhsKG_gCzynIgNbvXWkqJKL8UelAQIDJiABIVgg0SSw6f-BknI8nuL6T4Fw03PgMobPiAruxwCKFM3qZHIiWCBJY-BbuMRKn5gN7RKqijN5XPgdMedBFs7W8fTF6ww1jw",+    "clientDataJSON": "eyJ0eXBlIjoid2ViYXV0aG4uY3JlYXRlIiwiY2hhbGxlbmdlIjoiMW5ocXlNa2ZHQVFMLXRUY3NmcHVveXE4aHFlb0hyMGQ5dERtanYxQnVKOTdZVEEzRkxXUzVFZFk0cVVnLU16cnVjMnNpQmR5VmxuRklQQjFnMEhoMkEiLCJvcmlnaW4iOiJodHRwczovL2RldjIuZG9udG5lZWRhLnB3OjUwMDAifQ"+  },+  "type": "public-key",+  "clientExtensionResults": {}+}
+ tests/responses/attestation/packed-01.json view
@@ -0,0 +1,10 @@+{+  "rawId": "hUf7WI3IZmoLOzYhHFe7U-df4QD17lQBMi9iS-z3dWFlr79MXOoTR8dJzb_Y7sAstHBrcC1nv8pOr6aFz50K65juYXWt8k26bKu-Hu4CulPo53bIStJ4kpOr2Dlr6Z4D",+  "id": "hUf7WI3IZmoLOzYhHFe7U-df4QD17lQBMi9iS-z3dWFlr79MXOoTR8dJzb_Y7sAstHBrcC1nv8pOr6aFz50K65juYXWt8k26bKu-Hu4CulPo53bIStJ4kpOr2Dlr6Z4D",+  "response": {+    "clientDataJSON": "ew0KCSJ0eXBlIiA6ICJ3ZWJhdXRobi5jcmVhdGUiLA0KCSJjaGFsbGVuZ2UiIDogIlBfSktRaWQxdHZzNEJsdGlaMUNzRWZYbDNHWjBJcG1MUFVRRmxZLW8weDlzZ3ZDS3lXNXpQUkpjTzc3M2VpOE93WEN5Rjl1Wk42X3B5elhOT0FKUjdBIiwNCgkib3JpZ2luIiA6ICJodHRwczovL2xvY2FsaG9zdDo0NDMyOSIsDQoJInRva2VuQmluZGluZyIgOiANCgl7DQoJCSJzdGF0dXMiIDogInN1cHBvcnRlZCINCgl9DQp9",+    "attestationObject": "o2NmbXRmcGFja2VkaGF1dGhEYXRhWORJlg3liA6MaHQ0Fw9kdmBbj-SuuaKGMseZXPO6gx2XY0UAAChiQjgyRUQ3M0M4RkI0RTVBMgBghUf7WI3IZmoLOzYhHFe7U-df4QD17lQBMi9iS-z3dWFlr79MXOoTR8dJzb_Y7sAstHBrcC1nv8pOr6aFz50K65juYXWt8k26bKu-Hu4CulPo53bIStJ4kpOr2Dlr6Z4DpQECAyYgASFYIA9RHvpjfWoWN_Im7eYwG1Y8kA77s7QH9uf9TePknT3mIlggJ8tNsMrPPrewstqf65ItALMxBIi4VUoTIZEyAkXN6U1nYXR0U3RtdKNjYWxnJmNzaWdYRzBFAiBsbcx3U1xgYinrnczLOUDOlYGvYENDGzv77WdM1W3FTQIhAJ16HUK8XyG83cOVQFKkijdgHyDV97XylRMU_rWHAkP_Y3g1Y4NZAkUwggJBMIIB6KADAgECAhAVn3vCzYkY8Shrk0j6nzPiMAoGCCqGSM49BAMCMEkxCzAJBgNVBAYTAkNOMR0wGwYDVQQKDBRGZWl0aWFuIFRlY2hub2xvZ2llczEbMBkGA1UEAwwSRmVpdGlhbiBGSURPMiBDQS0xMCAXDTE4MDQxMTAwMDAwMFoYDzIwMzMwNDEwMjM1OTU5WjBvMQswCQYDVQQGEwJDTjEdMBsGA1UECgwURmVpdGlhbiBUZWNobm9sb2dpZXMxIjAgBgNVBAsMGUF1dGhlbnRpY2F0b3IgQXR0ZXN0YXRpb24xHTAbBgNVBAMMFEZUIEJpb1Bhc3MgRklETzIgVVNCMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEgAZ1XFn7yUmwFajSCpJYl76DCrLv6Cz4j-2gkJZj5UjHHxEnBTO0JEZ4nUz-4QFDipTpgz3iACwvKh3Xb03bXaOBiTCBhjAdBgNVHQ4EFgQUelSCQoBi2Irnr4SYJcSvkak0mPIwHwYDVR0jBBgwFoAUTTvYxGcVG7sT6POE2DBPnWkVwIMwDAYDVR0TAQH_BAIwADATBgsrBgEEAYLlHAIBAQQEAwIFIDAhBgsrBgEEAYLlHAEBBAQSBBBCODJFRDczQzhGQjRFNUEyMAoGCCqGSM49BAMCA0cAMEQCICRLRaO-iNy34CWixqMSz_uG7bwnSiLBBS4xSFHw6LCHAiA0Gr9OHCTyCxpz1T2swqn5FbQbsjprAW8f7_jg5_iQwFkB_zCCAfswggGgoAMCAQICEBWfe8LNiRjxKGuTSPqfM-EwCgYIKoZIzj0EAwIwSzELMAkGA1UEBhMCQ04xHTAbBgNVBAoMFEZlaXRpYW4gVGVjaG5vbG9naWVzMR0wGwYDVQQDDBRGZWl0aWFuIEZJRE8gUm9vdCBDQTAgFw0xODA0MTAwMDAwMDBaGA8yMDM4MDQwOTIzNTk1OVowSTELMAkGA1UEBhMCQ04xHTAbBgNVBAoMFEZlaXRpYW4gVGVjaG5vbG9naWVzMRswGQYDVQQDDBJGZWl0aWFuIEZJRE8yIENBLTEwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAASOfmAJ7MEWZcyg-sPpb-UIO5VtVyUR61sy9NZnOVfdZ9i2FzUd_0u5gOYLqbkzuZo0MPMX6iETB1a9agd03nWPo2YwZDAdBgNVHQ4EFgQUTTvYxGcVG7sT6POE2DBPnWkVwIMwHwYDVR0jBBgwFoAU0aGYTYF_w7lr9gdnvVAS_pBF8VQwEgYDVR0TAQH_BAgwBgEB_wIBADAOBgNVHQ8BAf8EBAMCAQYwCgYIKoZIzj0EAwIDSQAwRgIhAPt_o9JAR6ERUMJ4Vm0hzJAWmOyhf087SDRTecpg5MJlAiEA6wpDwYjB172IPpEkYFbCsLlbWKJ0bwufPKkcKS0rWexZAdwwggHYMIIBfqADAgECAhAVn3vCzYkY8Shrk0j6nzPWMAoGCCqGSM49BAMCMEsxCzAJBgNVBAYTAkNOMR0wGwYDVQQKDBRGZWl0aWFuIFRlY2hub2xvZ2llczEdMBsGA1UEAwwURmVpdGlhbiBGSURPIFJvb3QgQ0EwIBcNMTgwNDAxMDAwMDAwWhgPMjA0ODAzMzEyMzU5NTlaMEsxCzAJBgNVBAYTAkNOMR0wGwYDVQQKDBRGZWl0aWFuIFRlY2hub2xvZ2llczEdMBsGA1UEAwwURmVpdGlhbiBGSURPIFJvb3QgQ0EwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAASd8ApuO8xfUTLVvqT5ZBB01Uy30mAZbInc-8zgFIrlepN-j77SgCP_i2fDIgvQcUFH1K36S2OpJcN-OJcC6uzzo0IwQDAdBgNVHQ4EFgQU0aGYTYF_w7lr9gdnvVAS_pBF8VQwDwYDVR0TAQH_BAUwAwEB_zAOBgNVHQ8BAf8EBAMCAQYwCgYIKoZIzj0EAwIDSAAwRQIhALexPWUGMZ4X7EpOnNXUphTZyRqFN3iYsnLNg6Foe_iKAiAPYliR_IflDgGmjyuug7Qi3uhiMXaSDL95JndT0aVqrA"+  },+  "type": "public-key",+  "clientExtensionResults": {}+}
+ tests/responses/attestation/packed-02.json view
@@ -0,0 +1,14 @@+{+  "id": "syGQPDZRUYdb4m3rdWeyPaIMYlbmydGp1TP_33vE_lqJ3PHNyTd0iKsnKr5WjnCcBzcesZrDEfB_RBLFzU3k4w",+  "rawId": "syGQPDZRUYdb4m3rdWeyPaIMYlbmydGp1TP_33vE_lqJ3PHNyTd0iKsnKr5WjnCcBzcesZrDEfB_RBLFzU3k4w",+  "response": {+    "attestationObject": "o2NmbXRmcGFja2VkZ2F0dFN0bXSjY2FsZyZjc2lnWEcwRQIhAOfrFlQpbavT6dJeTDJSCDzYSYPjBDHli2-syT2c1IiKAiAx5gQ2z5cHjdQX-jEHTb7JcjfQoVSW8fXszF5ihSgeOGN4NWOBWQLBMIICvTCCAaWgAwIBAgIEKudiYzANBgkqhkiG9w0BAQsFADAuMSwwKgYDVQQDEyNZdWJpY28gVTJGIFJvb3QgQ0EgU2VyaWFsIDQ1NzIwMDYzMTAgFw0xNDA4MDEwMDAwMDBaGA8yMDUwMDkwNDAwMDAwMFowbjELMAkGA1UEBhMCU0UxEjAQBgNVBAoMCVl1YmljbyBBQjEiMCAGA1UECwwZQXV0aGVudGljYXRvciBBdHRlc3RhdGlvbjEnMCUGA1UEAwweWXViaWNvIFUyRiBFRSBTZXJpYWwgNzE5ODA3MDc1MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEKgOGXmBD2Z4R_xCqJVRXhL8Jr45rHjsyFykhb1USGozZENOZ3cdovf5Ke8fj2rxi5tJGn_VnW4_6iQzKdIaeP6NsMGowIgYJKwYBBAGCxAoCBBUxLjMuNi4xLjQuMS40MTQ4Mi4xLjEwEwYLKwYBBAGC5RwCAQEEBAMCBDAwIQYLKwYBBAGC5RwBAQQEEgQQbUS6m_bsLkm5MAyP6SDLczAMBgNVHRMBAf8EAjAAMA0GCSqGSIb3DQEBCwUAA4IBAQByV9A83MPhFWmEkNb4DvlbUwcjc9nmRzJjKxHc3HeK7GvVkm0H4XucVDB4jeMvTke0WHb_jFUiApvpOHh5VyMx5ydwFoKKcRs5x0_WwSWL0eTZ5WbVcHkDR9pSNcA_D_5AsUKOBcbpF5nkdVRxaQHuuIuwV4k1iK2IqtMNcU8vL6w21U261xCcWwJ6sMq4zzVO8QCKCQhsoIaWrwz828GDmPzfAjFsJiLJXuYivdHACkeJ5KHMt0mjVLpfJ2BCML7_rgbmvwL7wBW80VHfNdcKmKjkLcpEiPzwcQQhiN_qHV90t-p4iyr5xRSpurlP5zic2hlRkLKxMH2_kRjhqSn4aGF1dGhEYXRhWMRJlg3liA6MaHQ0Fw9kdmBbj-SuuaKGMseZXPO6gx2XY0UAAAA0bUS6m_bsLkm5MAyP6SDLcwBAsyGQPDZRUYdb4m3rdWeyPaIMYlbmydGp1TP_33vE_lqJ3PHNyTd0iKsnKr5WjnCcBzcesZrDEfB_RBLFzU3k46UBAgMmIAEhWCBAX_i3O3DvBnkGq_uLNk_PeAX5WwO_MIxBp0mhX6Lw7yJYIOW-1-Fch829McWvRUYAHTWZTx5IycKSGECL1UzUaK_8",+    "clientDataJSON": "eyJ0eXBlIjoid2ViYXV0aG4uY3JlYXRlIiwiY2hhbGxlbmdlIjoiOExCQ2lPWTNxMWNCWkhGQVd0UzRBWlpDaHpHcGh5NjdsSzdJNzB6S2k0eUM3cGdyUTJQY2g3bkFqTGsxd3E5Z3Jlc2hJQXNXMkFqaWJoWGpqSTBUbVEiLCJvcmlnaW4iOiJodHRwOi8vbG9jYWxob3N0OjUwMDAiLCJjcm9zc09yaWdpbiI6ZmFsc2V9"+  },+  "type": "public-key",+  "clientExtensionResults": {},+  "transports": [+    "nfc",+    "usb"+  ]+}
+ tests/responses/attestation/packed-03.json view
@@ -0,0 +1,13 @@+{+  "id": "WlHiMqH6UhUs-d43z-aGlE3nsXuEOQpa9P9pwpqb4tmvtBMBfGvAV2wUrqBCDENjkkxd6kIRzZQKcluyOFlyW_vXVZSAEgod1xj-1QmFpuwyBVnlkQGefRbmUjbEt5iE4q3tdjy65EWIekO0SNjCQx3LxIJMzi25fgUkI9Y-gg0",+  "rawId": "WlHiMqH6UhUs-d43z-aGlE3nsXuEOQpa9P9pwpqb4tmvtBMBfGvAV2wUrqBCDENjkkxd6kIRzZQKcluyOFlyW_vXVZSAEgod1xj-1QmFpuwyBVnlkQGefRbmUjbEt5iE4q3tdjy65EWIekO0SNjCQx3LxIJMzi25fgUkI9Y-gg0",+  "response": {+    "attestationObject": "o2NmbXRmcGFja2VkZ2F0dFN0bXSjY2FsZyZjc2lnWEcwRQIgB3c0BvOsyJut14wj4XVWxXliicWZMZLDNF621Zz7h_8CIQCIOqRyWOazVhqlBrD-HL-83KWAvGZRgvW-4A9SE8BLFWN4NWOBWQLBMIICvTCCAaWgAwIBAgIEK_F8eDANBgkqhkiG9w0BAQsFADAuMSwwKgYDVQQDEyNZdWJpY28gVTJGIFJvb3QgQ0EgU2VyaWFsIDQ1NzIwMDYzMTAgFw0xNDA4MDEwMDAwMDBaGA8yMDUwMDkwNDAwMDAwMFowbjELMAkGA1UEBhMCU0UxEjAQBgNVBAoMCVl1YmljbyBBQjEiMCAGA1UECwwZQXV0aGVudGljYXRvciBBdHRlc3RhdGlvbjEnMCUGA1UEAwweWXViaWNvIFUyRiBFRSBTZXJpYWwgNzM3MjQ2MzI4MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEdMLHhCPIcS6bSPJZWGb8cECuTN8H13fVha8Ek5nt-pI8vrSflxb59Vp4bDQlH8jzXj3oW1ZwUDjHC6EnGWB5i6NsMGowIgYJKwYBBAGCxAoCBBUxLjMuNi4xLjQuMS40MTQ4Mi4xLjcwEwYLKwYBBAGC5RwCAQEEBAMCAiQwIQYLKwYBBAGC5RwBAQQEEgQQxe9V_62aS5-1gK3rr-Am0DAMBgNVHRMBAf8EAjAAMA0GCSqGSIb3DQEBCwUAA4IBAQCLbpN2nXhNbunZANJxAn_Cd-S4JuZsObnUiLnLLS0FPWa01TY8F7oJ8bE-aFa4kTe6NQQfi8-yiZrQ8N-JL4f7gNdQPSrH-r3iFd4SvroDe1jaJO4J9LeiFjmRdcVa-5cqNF4G1fPCofvw9W4lKnObuPakr0x_icdVq1MXhYdUtQk6Zr5mBnc4FhN9qi7DXqLHD5G7ZFUmGwfIcD2-0m1f1mwQS8yRD5-_aDCf3vutwddoi3crtivzyromwbKklR4qHunJ75LGZLZA8pJ_mXnUQ6TTsgRqPvPXgQPbSyGMf2z_DIPbQqCD_Bmc4dj9o6LozheBdDtcZCAjSPTAd_uiaGF1dGhEYXRhWOFJlg3liA6MaHQ0Fw9kdmBbj-SuuaKGMseZXPO6gx2XY0EAAAACxe9V_62aS5-1gK3rr-Am0ACAWlHiMqH6UhUs-d43z-aGlE3nsXuEOQpa9P9pwpqb4tmvtBMBfGvAV2wUrqBCDENjkkxd6kIRzZQKcluyOFlyW_vXVZSAEgod1xj-1QmFpuwyBVnlkQGefRbmUjbEt5iE4q3tdjy65EWIekO0SNjCQx3LxIJMzi25fgUkI9Y-gg2kAQEDJyAGIVggnB_oUZDQU0esRlNPmjEO96aMDTgs34D8Dv31tAwhUZo",+    "clientDataJSON": "eyJ0eXBlIjoid2ViYXV0aG4uY3JlYXRlIiwiY2hhbGxlbmdlIjoiN0pVQmpXWkZkRm96dWx4YjcxRHZIa2gzUDZXS1VHNEVsVW83d0VrS2ljMkpFVEpNQUlLQ2Y3ckJFOVlrc0k1b05qRHpRNkhxaDZFNzNPeTZTUGNNbnciLCJvcmlnaW4iOiJodHRwOi8vbG9jYWxob3N0OjUwMDAiLCJjcm9zc09yaWdpbiI6ZmFsc2V9"+  },+  "type": "public-key",+  "clientExtensionResults": {},+  "transports": [+    "usb"+  ]+}
+ tests/responses/attestation/tpm-es256-01.json view
@@ -0,0 +1,10 @@+{+  "rawId": "h9XMhkVePN1Prq9Ks_VfwIsVZvt-jmSRTEnevTc-KB8",+  "id": "h9XMhkVePN1Prq9Ks_VfwIsVZvt-jmSRTEnevTc-KB8",+  "response": {+    "clientDataJSON": "eyJvcmlnaW4iOiJodHRwczovL2xvY2FsaG9zdDo0NDMyOSIsImNoYWxsZW5nZSI6ImdIckFrNHBOZTJWbEIwSExlS2NsSTJQNlFFYTgzUHVHZWlqVEhNdHBiaFk5S2x5YnlobHdGX1Z6UmU3eWhhYlhhZ1d1WTZya0RXZnZ2aE5xZ2gybzdBIiwidHlwZSI6IndlYmF1dGhuLmNyZWF0ZSJ9",+    "attestationObject": "o2NmbXRjdHBtZ2F0dFN0bXSmY2FsZzkBAGNzaWdZAQA6Gh1Oa3-8vCY8bTrpUHA4zp4UCsbuh36tH09G-qWlvQdoqEQsJJQu1Rz61_mFes9CXE2cxiJV8pEwxtUUTSZQWnamVU1x9bBk07qcHqAuamP_NDAahHhZ9D46q9JklT3aVdhbaZVh0y5b8NZB2eUfKqcUmM0JCxLP9ZfSe7XcVguhQVEduM6Qnl9R1zRh7cquOa8UOEpdXkt1-drsOtrA9c0UJPYzkI8qscCDc-xfzo2xv12tLXjRq395JnynHhjzJIz8Ch2IYQUiMSM6TQDcnvzDEvRgril9NC0aIkHd79omIZNnBjEDfjyqOZbBffjGyvt1Eikz4M0EE8e7N4uRY3ZlcmMyLjBjeDVjglkEXzCCBFswggNDoAMCAQICDwQ_ozlil_l5hh6NlMsLzzANBgkqhkiG9w0BAQsFADBBMT8wPQYDVQQDEzZOQ1UtTlRDLUtFWUlELTM2MTA0Q0U0MEJCQ0MxRjQwRDg0QTRCQkQ1MEJFOTkwMjREOTU3RDQwHhcNMTgwMjAxMDAwMDAwWhcNMjUwMTMxMjM1OTU5WjAAMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAor_6-4WYizZdOQ9Ia_offaIdL2BVGtGDq8jQxo16ymBSOWCP15gZt9QAkqowS3ayqEh48Pg5SdA7F5kcjD_FqKaZDBOqkjvJivdo7FKv7EaUI2al9B7h0pXIRb97jn2z0zPlXz6RV_RmBe3CCljyxrhav7bTkCXEJUnkNgxsWgLGBIW6VSVct0z42xBB6_6mYekWIej5vXLqB8AuzsqnLbU5jOohfJiI5urFso12j6YCWZ_kXK4j8e4IoHUOjWgtHXdb3kP8PvI948hcJpIEpuuLDZDDOCOPI1wAlryGwz_tJLarODZzD1XhG3BMlXi1TG7x1s-AriC3A7B89wuSpwIDAQABo4IBjzCCAYswDgYDVR0PAQH_BAQDAgeAMAwGA1UdEwEB_wQCMAAwUwYDVR0gAQH_BEkwRzBFBgkrBgEEAYI3FR8wODA2BggrBgEFBQcCAjAqEyhGQUtFIEZJRE8gVENQQSBUcnVzdGVkIFBsYXRmb3JtIElkZW50aXR5MBAGA1UdJQQJMAcGBWeBBQgDMEoGA1UdEQEB_wRAMD6kPDA6MTgwDgYFZ4EFAgMMBWlkOjEzMBAGBWeBBQICDAdOUENUNnh4MBQGBWeBBQIBDAtpZDpGRkZGRjFEMDAfBgNVHSMEGDAWoBRRfyLI5lOlfNVM3TBYfjD_ZzaMXTAdBgNVHQ4EFgQUS1ZtGu6ZoewTH3mq04Ytxa4kOQcweAYIKwYBBQUHAQEEbDBqMGgGCCsGAQUFBzAChlxodHRwczovL2ZpZG9hbGxpYW5jZS5jby5uei90cG1wa2kvTkNVLU5UQy1LRVlJRC0zNjEwNENFNDBCQkNDMUY0MEQ4NEE0QkJENTBCRTk5MDI0RDk1N0Q0LmNydDANBgkqhkiG9w0BAQsFAAOCAQEAbp-Xp9W0vyY08YUHxerc6FnFdXZ6KFuQTZ4hze60BWexCSQOee25gqOoQaQr9ufS3ImLAoV4Ifc3vKVBQvBRwMjG3pJINoWr0p2McI0F2SNclH4M0sXFYHRlmHQ2phZB6Ddd-XL8PsGyiXRI6gVacVw5ZiVEBsRrekLH-Zy25EeqS3SxaBVnEd-HZ6BGGgbflgFtyGP9fQ5YSORC-Btno_uJbmRiZm4iHiEULp9wWEWOJIOXv9tVQKsYpPg58L1_Dgc8oml1YG5a8qK3jaR77tcUgZyYy5GOk1zIsXv36f0SkmLcNTiTjrhdGVcKs2KpW5fQgm_llQ5cvhR1jlY6dFkGCDCCBgQwggPsoAMCAQICENBTpEeEh5lpTgeR7VT9oQcwDQYJKoZIhvcNAQELBQAwgb8xCzAJBgNVBAYTAlVTMQswCQYDVQQIDAJNWTESMBAGA1UEBwwJV2FrZWZpZWxkMRYwFAYDVQQKDA1GSURPIEFsbGlhbmNlMQwwCgYDVQQLDANDV0cxNjA0BgNVBAMMLUZJRE8gRmFrZSBUUE0gUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkgMjAxODExMC8GCSqGSIb3DQEJARYiY29uZm9ybWFuY2UtdG9vbHNAZmlkb2FsbGlhbmNlLm9yZzAeFw0xNzAyMDEwMDAwMDBaFw0zNTAxMzEyMzU5NTlaMEExPzA9BgNVBAMTNk5DVS1OVEMtS0VZSUQtMzYxMDRDRTQwQkJDQzFGNDBEODRBNEJCRDUwQkU5OTAyNEQ5NTdENDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANc-c30RpQd-_LCoiLJbXz3t_vqciOIovwjez79_DtVgi8G9Ph-tPL-lC0ueFGBMSPcKd_RDdSFe2QCYQd9e0DtiFxra-uWGa0olI1hHI7bK2GzNAZSTKEbwgqpf8vXMQ-7SPajg6PfxSOLH_Nj2yd6tkNkUSdlGtWfY8XGB3n-q--nt3UHdUQWEtgUoTe5abBXsG7MQSuTNoad3v6vk-tLd0W44ivM6pbFqFUHchx8mGLApCpjlVXrfROaCoc9E91hG9B-WNvekJ0dM6kJ658Hy7yscQ6JdqIEolYojCtWaWNmwcfv--OE1Ax_4Ub24gl3hpB9EOcBCzpb4UFmLYUECAwEAAaOCAXcwggFzMAsGA1UdDwQEAwIBhjAWBgNVHSAEDzANMAsGCSsGAQQBgjcVHzAbBgNVHSUEFDASBgkrBgEEAYI3FSQGBWeBBQgDMBIGA1UdEwEB_wQIMAYBAf8CAQAwHwYDVR0OBBgEFsIUUX8iyOZTpXzVTN0wWH4w_2c2jF0wHwYDVR0jBBgwFqAUXH82LZCtWry6jnXa3jqg7cFOAoswaAYDVR0fBGEwXzBdoFugWYZXaHR0cHM6Ly9maWRvYWxsaWFuY2UuY28ubnovdHBtcGtpL2NybC9GSURPIEZha2UgVFBNIFJvb3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5IDIwMTguY3JsMG8GCCsGAQUFBwEBBGMwYTBfBggrBgEFBQcwAoZTaHR0cHM6Ly9maWRvYWxsaWFuY2UuY28ubnovdHBtcGtpL0ZJRE8gRmFrZSBUUE0gUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkgMjAxOC5jcnQwDQYJKoZIhvcNAQELBQADggIBAG138t55DF9nPJbvbPQZOypmyTPpNne0A5fh69P1fHZ5qdE2PDz3cf5Tl-8OPI4xQniEFNPcXMb7KlhMM6zCl4GkZtNN4MxygdFjQ1gTZOBDpt7Dwziij0MakmwyC0RYTNtbSyVhHUevgw9rnu13EzqxPyL5JD-UqADh2Y51MS0qy7IOgegLQv-eJzSNUgHxFJreUzz4PU6yzSsTyyYDW-H4ZjAQKienVp8ewZf8oHGWHGQFGa5E9m1P8vxCMZ7pIzeQweCVYrs3q7unu4nzBAIXLPI092kYFUgyz3lIaSB3XEiPBokpupX6Zmgrfphb-XX3tbenH5hkxfumueA5RMHTMu5TVjhJXiV0yM3q5W5xrQHdJlF5nOdJDEE-Kb7nm6xaT1DDpafqBc5vEDMkJmBA4AXHUY7JPGqEEzEenT7k6Wn5IQLZg4qc8Irnj__yM7xUhJWJam47KVbLA4WFu-IKvJrkP5GSglZ9qASOCxBHaOL2UcTAg50uvhUSwur2KSak2vlENdmAijwdAL4LLQWrkFd-9NBwcNwTdfK4ekEHP1l4BwJtkNwW6etUgeA5rkW2JLocXoBq5v7GSk4_CBoKhyiahQGQQ9SZFGeBJhzzkK9yN-yKskcVjjjInSHPl-ZpeOK3sI08sEyTH0gxlTtRoX0MKDsMAHEVToe5o1u9Z3B1YkFyZWFZATYAAQALAAYEcgAgnf_L82w4OuaZ-5ho3G3LidcVOIS-KAOSLBJBWL-tIq4AEAAQCAAAAAAAAQDPtSggWlsjcFiQO61-hUF8i-3FPcyvuARcy3p1seZ-_B4ClhNh5U-T0v0flMU5p6nsNDWj4f6-soe-2vVJMTm2d26uKYD2zwdrkrYYXRu5IFqUXqF-kY99v8RcrAF7DQKDo-E4XhiMz6uECvnjEloGfTYZrVuQ1mdjQ8Qki7U-9SQHMW_IsaI8ZKHtupXNhM5YPQyFbDHHXSE_iyPGh2mY4SR466ouesIuG0NccCUk5UDIvS__OUmNaX7aBrKTlnkMFjkCA1ZDFC99ZQoLFCJQHqnOU7m8zSvTJpUyG2feWgAL2Gl05V3I_lb_v5yELXcihFoA33QIOSpDmKqKV3SXaGNlcnRJbmZvWK3_VENHgBcAIgALEeaO1E21Ny4UKW4vhKzHg5h1GIGSHjD8IqBvi3PHlFMAIBo8rAwJFDGsmQjauX_FCBQenvBa2ApBcR_gOx2qW2QAAAAAAUdwF0hVaXtLxoVgpQFzfvmNNFZV-wAiAAsXPoJSq0uhvU6VLf0uIelHBNFHEanasKAoTp-lQ2dRGAAiAAuO1HPzTRRabZhwPvHQh0b1MnLIG8EVGNfpshASWSfjQWhhdXRoRGF0YVkBZ0mWDeWIDoxodDQXD2R2YFuP5K65ooYyx5lc87qDHZdjQQAAAEOn1tk6ig0R6JqUps9xBy9zACCH1cyGRV483U-ur0qz9V_AixVm-36OZJFMSd69Nz4oH6QBAwM5AQAgWQEAz7UoIFpbI3BYkDutfoVBfIvtxT3Mr7gEXMt6dbHmfvweApYTYeVPk9L9H5TFOaep7DQ1o-H-vrKHvtr1STE5tndurimA9s8Ha5K2GF0buSBalF6hfpGPfb_EXKwBew0Cg6PhOF4YjM-rhAr54xJaBn02Ga1bkNZnY0PEJIu1PvUkBzFvyLGiPGSh7bqVzYTOWD0MhWwxx10hP4sjxodpmOEkeOuqLnrCLhtDXHAlJOVAyL0v_zlJjWl-2gayk5Z5DBY5AgNWQxQvfWUKCxQiUB6pzlO5vM0r0yaVMhtn3loAC9hpdOVdyP5W_7-chC13IoRaAN90CDkqQ5iqild0lyFDAQAB"+  },+  "type": "public-key",+  "clientExtensionResults": {}+}
+ tests/responses/attestation/tpm-rs1-01.json view
@@ -0,0 +1,10 @@+{+  "id": "56iW7RC7YLiknnNU70kO5Bb-jip9-WTUbohh_Aqq1q4",+  "rawId": "56iW7RC7YLiknnNU70kO5Bb-jip9-WTUbohh_Aqq1q4",+  "response": {+    "clientDataJSON": "eyJ0eXBlIjoid2ViYXV0aG4uY3JlYXRlIiwiY2hhbGxlbmdlIjoiWlhsS2FHSkhZMmxQYVVwSlZYcEpNVTVwU1hOSmJsSTFZME5KTmtscmNGaFdRMG81TG1WNVNuQlpXRkZwVDJwRk1rMXFVVEJPYWswMFRWUnJjMGx0VmpSalEwazJUVlJaZVU1RVZUUk5lbWQ0VDFOM2FXTXpWbWxKYW05cFdXMDVhVWx1TUM1UmFIVnJaMWsxZEV3eVpITTRkWGRCY25STFVHRnJTemRFYW5wa1ptMDRPWGx2VTNnMFpsOURWMDlGIiwib3JpZ2luIjoiaHR0cHM6Ly93ZWJhdXRobnRlc3QuYXp1cmV3ZWJzaXRlcy5uZXQiLCJjcm9zc09yaWdpbiI6ZmFsc2V9",+    "attestationObject": "o2NmbXRjdHBtZ2F0dFN0bXSmY2FsZzn__mNzaWdZAQB3sjVkad71PLRQCe71PxT2tqD1bhmhLVenpDYCX9btDVE820cfPKEtblWLiD_T4qJuqCU5RvhYHvURF7w4xP6A29gyry0w-0Xr4hywvN2FjeJJRpFHmcGo-5YdyxNEKWSyyBm1eTosu8OMKbn3risVPa1q2t3OMIrRIfD1VX2rCcQ3E6j68AbQU0aLyKwwe44jyDZ4gwuXfuiDP7xnHLoXQTeBu88wPO0kJmcj5c8Yn0O53pKYdhEopIZ0595vuUxIC82TGm4nB96H9JqiE7BgPFODTLjCTWqSu0p3_x--Kk_ejPLawC0HEOcbkdeTt9avrYUtjLGJP_5SUfrU8n86Y3ZlcmMyLjBjeDVjglkFtTCCBbEwggOZoAMCAQICEDjcB1a-TEKnlCxgEo5FnxcwDQYJKoZIhvcNAQELBQAwQTE_MD0GA1UEAxM2RVVTLU5UQy1LRVlJRC05RkJCNzlBQTBGNTI2Mjc4QkVEMTUwOTI5QTcxNzFFOTZBMzVCRUY3MB4XDTIxMDYyMTIyNTM0MFoXDTI1MDMyMTIwMjk1OVowADCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANXcBvyBeHpXOet2tBLshN3WrJSMeVy2-iKLQFbhUUEvdByiTr2ak5vwzEoeH3NvMRlSER86DTGQ8lYnWnMlG3TQHqcvkDmqVfuX4sbgFzA7a5CpO8ECkW0FRT3qJIgyT8yZdxMBANnbz1VLWdLgsuoxSBCdv0lEpciOd0sqk3oj6la4cv6C93DJPvw13TQr7CfTGQ2eX-oSH-Jk3lGe1iYWcbYA6hpU9Fku44OhbSelHj1aiUH-s3bz95vYHDwjDoNZW8N8QKKKXPVOrCMteyCl8VBIk6PIRSjjJumUMFCfibDOasFg7i0HaI9LNEArqMNYrB-8ldIq_xpGwK23KAkCAwEAAaOCAeQwggHgMA4GA1UdDwEB_wQEAwIHgDAMBgNVHRMBAf8EAjAAMG0GA1UdIAEB_wRjMGEwXwYJKwYBBAGCNxUfMFIwUAYIKwYBBQUHAgIwRB5CAFQAQwBQAEEAIAAgAFQAcgB1AHMAdABlAGQAIAAgAFAAbABhAHQAZgBvAHIAbQAgACAASQBkAGUAbgB0AGkAdAB5MBAGA1UdJQQJMAcGBWeBBQgDMEoGA1UdEQEB_wRAMD6kPDA6MTgwDgYFZ4EFAgMMBWlkOjEzMBAGBWeBBQICDAdOUENUNnh4MBQGBWeBBQIBDAtpZDo0RTU0NDMwMDAfBgNVHSMEGDAWgBTi_ac6Qo2SkulUIB-srFhcNO6SPTAdBgNVHQ4EFgQUuiYcjdQypfz03n3Y6VMpu2DQ-twwgbIGCCsGAQUFBwEBBIGlMIGiMIGfBggrBgEFBQcwAoaBkmh0dHA6Ly9hemNzcHJvZGV1c2Fpa3B1Ymxpc2guYmxvYi5jb3JlLndpbmRvd3MubmV0L2V1cy1udGMta2V5aWQtOWZiYjc5YWEwZjUyNjI3OGJlZDE1MDkyOWE3MTcxZTk2YTM1YmVmNy9mYTYyNGYyMC0wZTRkLTQ4MzQtOGMxZS1iYjA5OWYwMTgxYzEuY2VyMA0GCSqGSIb3DQEBCwUAA4ICAQBxnJR8FvJeCjXFlSTjO5yTSJTVM8NOX0q2O5w0N65jAn0z5Atxr6NH01yBbTSjtCOhjIcuTwlR6u5LqQDE_uxmeXsN1xaERikD-x6dygjNj09ECmjhga2hjvYgEgw49P-RERJv9GK9gvfgIsgpbedieKKVwVv5y2qxsCZe4gdEMsa8meErPKuiTT3HhphBKf8D-6GA7mHrfSWD7HblUd3ymwAJUefpai_GXyxfx8myZR4jcqoUH3LyFNrrtUl4euw9IdT0KzDF1VfrWXeCNWeIuc3TcfwFhgQlCPn64cqmBBs676oPpp__Al0tfEfRGfTSH7cgJs1htlEdxmFi67BPp8bBOx8Wl6FltN_FHPkT-P4jIAIGwU2lg7_RZxUVNxMijXYDsvwiGEVwPPsfZ4ljoB-0knt8iMe0vhbv8TDop_vxSOR9w9dHg4kptwf-X5uI9-px9T4vMU3nhqYT1V8F0Bj6P9AkT86Y0bTh2V31emVe7MoPlDmIXMI-tIkfo5FrANxAI2aZ5MSAgof0QdWZI0LS8CuYN955gu_i-ZaF6DHMcJ4fzjfIfMEPCOTY_QNn091fcO9XVkbLFbrbWag11BXMVI0B9bXcFv8qT_t0_tXquMbjSKGr7PSVdPGtuhcmBA-sdcKE52viu1UX6iY6nTRoKlXne4b8DB8NKsavKFkG7zCCBuswggTToAMCAQICEzMAAAJuDyBFUK0XLToAAAAAAm4wDQYJKoZIhvcNAQELBQAwgYwxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xNjA0BgNVBAMTLU1pY3Jvc29mdCBUUE0gUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkgMjAxNDAeFw0xOTAzMjEyMDI5NTlaFw0yNTAzMjEyMDI5NTlaMEExPzA9BgNVBAMTNkVVUy1OVEMtS0VZSUQtOUZCQjc5QUEwRjUyNjI3OEJFRDE1MDkyOUE3MTcxRTk2QTM1QkVGNzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAK_3kJL1eroc6Y9m0gAbRpHLJuhOMu--qhq4gYLwBwnoyhB8JYEqw2_9D_baLUnLg4DQomwdAlARSxY0nVqa9rT2lKeO7-2C6foX3TkrMgp_7JyrXdv9Pz9LNvfKRmeuCCzoAF4k0pCXzeXdgCWVRaQR6MAhRc9nV6128GRsXpy6e8TL6B3B7qllURWTh3v2Lsr6cpEBAzhi3l0gVKh5YU8WktlNygLUfilrR60cUDlpE8WeP1kBTklKEySmNzVQz-O4ekwvgb9U2ZbNqvcM70PujHPTcLCMZwy7MVYSt1k7WauIDeHSqdryjFXSF_sWrzFTMkAWbDCDxLJ-RxNohF59tNBUleIiboxvYoga9TaWeE8b62a8sUAvxgTEQjs09C_DRsAOv9sI2IDQkLm5uiltoW4DDAC8sSjm9MtrkR_UUyQlFR7wGUaz9L8RlnwtEACP8O1Oo2vFhufpjSyjseRtVI9UfIY_SAukbUKyrKBnKoVogGh68GKCTfFWF6jEZOeU0v4WIW0l8mCTMK2h1iFv3iom4lLv037ESj4RJc0sX4VbFZe-TY_ylWmT9fjiumLx-YRdo_kd5N2QnyTWIVLrlvAzoJbRF3mk3Zcnm0fXBYw1p7ebA21VfTLX_X30M0LNzT_aIvWo7CQRDa821W58jbVYEcWWGvbANHETqt0rAgMBAAGjggGOMIIBijAOBgNVHQ8BAf8EBAMCAoQwGwYDVR0lBBQwEgYJKwYBBAGCNxUkBgVngQUIAzAWBgNVHSAEDzANMAsGCSsGAQQBgjcVHzASBgNVHRMBAf8ECDAGAQH_AgEAMB0GA1UdDgQWBBTi_ac6Qo2SkulUIB-srFhcNO6SPTAfBgNVHSMEGDAWgBR6jArOL0hiF-KU0a5VwVLscXSkVjBwBgNVHR8EaTBnMGWgY6Bhhl9odHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtpb3BzL2NybC9NaWNyb3NvZnQlMjBUUE0lMjBSb290JTIwQ2VydGlmaWNhdGUlMjBBdXRob3JpdHklMjAyMDE0LmNybDB9BggrBgEFBQcBAQRxMG8wbQYIKwYBBQUHMAKGYWh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS9wa2lvcHMvY2VydHMvTWljcm9zb2Z0JTIwVFBNJTIwUm9vdCUyMENlcnRpZmljYXRlJTIwQXV0aG9yaXR5JTIwMjAxNC5jcnQwDQYJKoZIhvcNAQELBQADggIBAAtrPmUf7ZrsYrEDhR9ANAHVRkd-G06CWP6FgI8qxY7RWVfMABhaR_2NO5flJxcU2_YL6rg9RthnP3bQke4HD-JBZUc_9aOlr2d-cARq1e1lu5Ek0TjZekhWVrNn7x01-XmylauoQxr49Hcr7aYWX_ojqi6bCBAPkEprnGNhVg1qlqD-j-zjzn_2fFd794swOZuKDQc6hJ5yTNWpBf8XbaPqriLu9LnKpgIG85XDqzh1z4bWFzJOzsc37lRJr-aE69eLSnvKSg5LZ7HyJ6EQem9kJQR-tVQYQ23Vpru_v8FeTZTrOk_2wa-YBHmnzoymfE09HQe1Ou6Lj8AyO0y4EZcoZHeVqhqYVT2yz0Szscmgr0rE5jxF5jCZk8jlqQhhdBTCt6m5sXc04yRP3FPRQz1iGTDE6Lnf2QbgXN28lrv8PxY4OmD2v5izp3LY_T0-hdtw2YvPe6bB9WUbbqKFXKmqDMY_QrWUycMmCvM1APssLOnGY0Gvf7FmaFT0tJSMQ1SOx7PpB7H1PIFp1QYEaOOxbQnL5uAreXZb33HeKUFQcFkqz7Vxh5GP1RkXekt68FcGdxE3SylR-DKFq9cZKzbtHNhzUoTXvg3Pi2VN6ZnefWWZ0BgoHLTj5AalWx7DVCHntZUJlbVEMNc2pxgHPIerdOgRcm9gG0X6xkGYmUU4Z3B1YkFyZWFZATYAAQALAAYEcgAgnf_L82w4OuaZ-5ho3G3LidcVOIS-KAOSLBJBWL-tIq4AEAAQCAAAAAAAAQDRSxMlctSC4GKQCo_WMxIB0z9PGnTf9hqR6qwgxPX3gCeMyMO1lKSZSn9XFynOVbkL_0cli4o9PNYsbSmMvzRib2Q-CSW9ifGtUGO-F6wb4q6uGFM9mrHnsuP3EePI39i3v3wbQ_nI-EWRnZmvwhFl0jbI2t94_ZHh2EtUSldKa6qdf04ix65ZyamDIkDZUrHUE6yTQmwq2JdWBvNMHYtrkMTfcDY4F0fmBfi3r_XrwItsvcVmacMHEa_KhjxuqDrm40jU9WktmIB8PYq-0fQJP3Fa9MWVp9NvpP9WKJkkJbEhWAcf4QWxExmRbzLznAiumcx7-tcJAz8K_uKVdqj1aGNlcnRJbmZvWKH_VENHgBcAIgALB4pyA0jhOY-h3wBVxNfkTwhCQGZY9EekCR5errAEeZwAFCqZ9Vq_c49Bp8wP4cxMFC0fVa6NAAAABS-iWsK-VbntJXxXIQHn-f2DCwyHjgAiAAuZnP9vYa9pJD9Sn3Tksy9gpWbS3cZN6JpimSGuMbbqyAAiAAsg6l2XD6uaV-3Q3-QlOi0aHjwgdTzGWdDYGa4Y-2MENGhhdXRoRGF0YVkBZ-RTKdA6IGjRyvf3uwrpVOaw5iWXRfMvSCn3UPBQEfnCRQAAAAAImHBYytxLgbbhMN5Q3L6WACDnqJbtELtguKSec1TvSQ7kFv6OKn35ZNRuiGH8CqrWrqQBAwM5AQAgWQEA0UsTJXLUguBikAqP1jMSAdM_Txp03_YakeqsIMT194AnjMjDtZSkmUp_VxcpzlW5C_9HJYuKPTzWLG0pjL80Ym9kPgklvYnxrVBjvhesG-KurhhTPZqx57Lj9xHjyN_Yt798G0P5yPhFkZ2Zr8IRZdI2yNrfeP2R4dhLVEpXSmuqnX9OIseuWcmpgyJA2VKx1BOsk0JsKtiXVgbzTB2La5DE33A2OBdH5gX4t6_168CLbL3FZmnDBxGvyoY8bqg65uNI1PVpLZiAfD2KvtH0CT9xWvTFlafTb6T_ViiZJCWxIVgHH-EFsRMZkW8y85wIrpnMe_rXCQM_Cv7ilXao9SFDAQAB"+  },+  "type": "public-key",+  "clientExtensionResults": {}+}
+ tests/responses/attestation/u2f-01.json view
@@ -0,0 +1,10 @@+{+  "rawId": "7nJsttr4dLSsmrWnaHB3espJ0ua9rsJ2ws-93BFcNOP64g_s_4wLFDvklrNYcg0BCN6ddUjJLxDfDSBreKQLAw",+  "id": "7nJsttr4dLSsmrWnaHB3espJ0ua9rsJ2ws-93BFcNOP64g_s_4wLFDvklrNYcg0BCN6ddUjJLxDfDSBreKQLAw",+  "response": {+    "clientDataJSON": "eyJjaGFsbGVuZ2UiOiJhTDJ1d0FwZ3d1bUJ6VFlDY29MMF80RFJ2X21mWXlremdxSkJGb0pqX1dDS05aT3B2VVFueWpkd01XSVdLY1k4NDR0eUROTE81cFFQQk1KckhQel8zZyIsImNsaWVudEV4dGVuc2lvbnMiOnt9LCJoYXNoQWxnb3JpdGhtIjoiU0hBLTI1NiIsIm9yaWdpbiI6Imh0dHBzOi8vbG9jYWxob3N0OjQ0MzI5IiwidHlwZSI6IndlYmF1dGhuLmNyZWF0ZSJ9",+    "attestationObject": "o2NmbXRoZmlkby11MmZnYXR0U3RtdKJjc2lnWEcwRQIgRMxowC__Z-mgVR6netL6C7Q15weqiTCPwwq1EaeJVqMCIQCHb9cCad1VloGhQ60mw7KTJhkx61mfgKKwHUVZf1wR6mN4NWOBWQLCMIICvjCCAaagAwIBAgIEdIb9wjANBgkqhkiG9w0BAQsFADAuMSwwKgYDVQQDEyNZdWJpY28gVTJGIFJvb3QgQ0EgU2VyaWFsIDQ1NzIwMDYzMTAgFw0xNDA4MDEwMDAwMDBaGA8yMDUwMDkwNDAwMDAwMFowbzELMAkGA1UEBhMCU0UxEjAQBgNVBAoMCVl1YmljbyBBQjEiMCAGA1UECwwZQXV0aGVudGljYXRvciBBdHRlc3RhdGlvbjEoMCYGA1UEAwwfWXViaWNvIFUyRiBFRSBTZXJpYWwgMTk1NTAwMzg0MjBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABJVd8633JH0xde_9nMTzGk6HjrrhgQlWYVD7OIsuX2Unv1dAmqWBpQ0KxS8YRFwKE1SKE1PIpOWacE5SO8BN6-2jbDBqMCIGCSsGAQQBgsQKAgQVMS4zLjYuMS40LjEuNDE0ODIuMS4xMBMGCysGAQQBguUcAgEBBAQDAgUgMCEGCysGAQQBguUcAQEEBBIEEPigEfOMCk0VgAYXER-e3H0wDAYDVR0TAQH_BAIwADANBgkqhkiG9w0BAQsFAAOCAQEAMVxIgOaaUn44Zom9af0KqG9J655OhUVBVW-q0As6AIod3AH5bHb2aDYakeIyyBCnnGMHTJtuekbrHbXYXERIn4aKdkPSKlyGLsA_A-WEi-OAfXrNVfjhrh7iE6xzq0sg4_vVJoywe4eAJx0fS-Dl3axzTTpYl71Nc7p_NX6iCMmdik0pAuYJegBcTckE3AoYEg4K99AM_JaaKIblsbFh8-3LxnemeNf7UwOczaGGvjS6UzGVI0Odf9lKcPIwYhuTxM5CaNMXTZQ7xq4_yTfC3kPWtE4hFT34UJJflZBiLrxG4OsYxkHw_n5vKgmpspB3GfYuYTWhkDKiE8CYtyg87mhhdXRoRGF0YVjESZYN5YgOjGh0NBcPZHZgW4_krrmihjLHmVzzuoMdl2NBAAAAAAAAAAAAAAAAAAAAAAAAAAAAQO5ybLba-HS0rJq1p2hwd3rKSdLmva7CdsLPvdwRXDTj-uIP7P-MCxQ75JazWHINAQjenXVIyS8Q3w0ga3ikCwOlAQIDJiABIVggUOAo5xqsJoPfJWsU50h7c2S7_llP0KwGI6vJkEj1N48iWCA2TMSeBfhJ84HyMQQgjJvBiA6JnHA0chxSlmuZeT9Xgg"+  },+  "type": "public-key",+  "clientExtensionResults": {}+}
+ tests/responses/attestation/u2f-02.json view
@@ -0,0 +1,10 @@+{+  "id": "lrjqbPdLbWXTJ2sFIreka9aWd2ED-SDx_VAgBAh4XmCJgjCjudEjoi42pGQd-_Bi6nNPQ3T7-xOEgty2I3m7cw",+  "rawId": "lrjqbPdLbWXTJ2sFIreka9aWd2ED-SDx_VAgBAh4XmCJgjCjudEjoi42pGQd-_Bi6nNPQ3T7-xOEgty2I3m7cw",+  "response": {+    "attestationObject": "o2NmbXRoZmlkby11MmZnYXR0U3RtdKJjc2lnWEcwRQIhAIJO_x-FicMO0XDFwnVfXWyF-Dp7GW7oL43QfZyUjKU0AiAxQBUFu17l9rmKmqAWnHL6F1dDaIu54WYc9Mi_jtdNL2N4NWOBWQLBMIICvTCCAaWgAwIBAgIEKudiYzANBgkqhkiG9w0BAQsFADAuMSwwKgYDVQQDEyNZdWJpY28gVTJGIFJvb3QgQ0EgU2VyaWFsIDQ1NzIwMDYzMTAgFw0xNDA4MDEwMDAwMDBaGA8yMDUwMDkwNDAwMDAwMFowbjELMAkGA1UEBhMCU0UxEjAQBgNVBAoMCVl1YmljbyBBQjEiMCAGA1UECwwZQXV0aGVudGljYXRvciBBdHRlc3RhdGlvbjEnMCUGA1UEAwweWXViaWNvIFUyRiBFRSBTZXJpYWwgNzE5ODA3MDc1MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEKgOGXmBD2Z4R_xCqJVRXhL8Jr45rHjsyFykhb1USGozZENOZ3cdovf5Ke8fj2rxi5tJGn_VnW4_6iQzKdIaeP6NsMGowIgYJKwYBBAGCxAoCBBUxLjMuNi4xLjQuMS40MTQ4Mi4xLjEwEwYLKwYBBAGC5RwCAQEEBAMCBDAwIQYLKwYBBAGC5RwBAQQEEgQQbUS6m_bsLkm5MAyP6SDLczAMBgNVHRMBAf8EAjAAMA0GCSqGSIb3DQEBCwUAA4IBAQByV9A83MPhFWmEkNb4DvlbUwcjc9nmRzJjKxHc3HeK7GvVkm0H4XucVDB4jeMvTke0WHb_jFUiApvpOHh5VyMx5ydwFoKKcRs5x0_WwSWL0eTZ5WbVcHkDR9pSNcA_D_5AsUKOBcbpF5nkdVRxaQHuuIuwV4k1iK2IqtMNcU8vL6w21U261xCcWwJ6sMq4zzVO8QCKCQhsoIaWrwz828GDmPzfAjFsJiLJXuYivdHACkeJ5KHMt0mjVLpfJ2BCML7_rgbmvwL7wBW80VHfNdcKmKjkLcpEiPzwcQQhiN_qHV90t-p4iyr5xRSpurlP5zic2hlRkLKxMH2_kRjhqSn4aGF1dGhEYXRhWMRJlg3liA6MaHQ0Fw9kdmBbj-SuuaKGMseZXPO6gx2XY0EAAAAAAAAAAAAAAAAAAAAAAAAAAABAlrjqbPdLbWXTJ2sFIreka9aWd2ED-SDx_VAgBAh4XmCJgjCjudEjoi42pGQd-_Bi6nNPQ3T7-xOEgty2I3m7c6UBAgMmIAEhWCDpQmUwrGnn3mk-T27A6awwL4HJG62Plj8Hz-lL0KltuiJYILwFIu48iEB8Ov6mEAqtCxn3mQOoaGIG4eidiWyLRg05",+    "clientDataJSON": "eyJjaGFsbGVuZ2UiOiJaSlZObG1Pclh3d2dRa2QxZ0RNbHk4QklpSU1WNElRRERzQ3I2S1BiQ0lIY09aNXdhS0htLU1adHVZNzQ4U0NxZy1OWlZwUnJZRnlGcmMzNmdRb0Z0dyIsImNsaWVudEV4dGVuc2lvbnMiOnt9LCJoYXNoQWxnb3JpdGhtIjoiU0hBLTI1NiIsIm9yaWdpbiI6Imh0dHA6Ly9sb2NhbGhvc3Q6NTAwMCIsInR5cGUiOiJ3ZWJhdXRobi5jcmVhdGUifQ"+  },+  "type": "public-key",+  "clientExtensionResults": {}+}
+ tests/responses/attestation/u2f-03.json view
@@ -0,0 +1,10 @@+{+  "id": "2i53XtAuBVv2ztu9hdTkG_I4_zc-MhmYOjM2HWDCIlk",+  "rawId": "2i53XtAuBVv2ztu9hdTkG_I4_zc-MhmYOjM2HWDCIlk",+  "response": {+    "clientDataJSON": "eyJvcmlnaW4iOiJodHRwOi8vbG9jYWxob3N0OjUwMDAiLCJjaGFsbGVuZ2UiOiJjMFd4b3JXd0VUb094bGJiNU1zRFpQV0tkTmlVaHlPSkw4cy1NSWNqSS1RNVNGSk9ub1dlX3EyWmhnWUtIeWt2NFBHdzNMLV9wbGdOQm5LZ3d3M2RBdyIsInR5cGUiOiJ3ZWJhdXRobi5jcmVhdGUifQ",+    "attestationObject": "o2NmbXRoZmlkby11MmZnYXR0U3RtdKJjc2lnWEcwRQIgYCbOYmJrEQy_oJqbBpgT_V8DhOUA-Kt3578zKalWyPkCIQDkyAm3YO98SF3AFi5Px1LChUDMLfPzL_p7um8sqxel0GN4NWOBWQQvMIIEKzCCAhOgAwIBAgIBATANBgkqhkiG9w0BAQUFADCBoTEYMBYGA1UEAwwPRklETzIgVEVTVCBST09UMTEwLwYJKoZIhvcNAQkBFiJjb25mb3JtYW5jZS10b29sc0BmaWRvYWxsaWFuY2Uub3JnMRYwFAYDVQQKDA1GSURPIEFsbGlhbmNlMQwwCgYDVQQLDANDV0cxCzAJBgNVBAYTAlVTMQswCQYDVQQIDAJNWTESMBAGA1UEBwwJV2FrZWZpZWxkMB4XDTE4MDMxNjE0MzUyN1oXDTI4MDMxMzE0MzUyN1owgawxIzAhBgNVBAMMGkZJRE8yIEJBVENIIEtFWSBwcmltZTI1NnYxMTEwLwYJKoZIhvcNAQkBFiJjb25mb3JtYW5jZS10b29sc0BmaWRvYWxsaWFuY2Uub3JnMRYwFAYDVQQKDA1GSURPIEFsbGlhbmNlMQwwCgYDVQQLDANDV0cxCzAJBgNVBAYTAlVTMQswCQYDVQQIDAJNWTESMBAGA1UEBwwJV2FrZWZpZWxkMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAETzpeXqtsH7yul_bfZEmWdix773IAQCp2xvIw9lVvF6qZm1l_xL9Qiq-OnvDNAT9aub0nkUvwgEN4y8yxG4m1RqMsMCowCQYDVR0TBAIwADAdBgNVHQ4EFgQUVk33wPjGVbahH2xNGfO_QeL9AXkwDQYJKoZIhvcNAQEFBQADggIBAI-_jI31FB-8J2XxzBXMuI4Yg-vAtq07ABHJqnQpUmt8lpOzmvJ0COKcwtq_7bpsgSVBJ26zhnyWcm1q8V0ZbxUvN2kH8N7nteIGn-CJOJkHDII-IbiH4-TUQCJjuCB52duUWL0fGVw2R13J6V-K7U5r0OWBzmtmwwiRVTggVbjDpbx2oqGAwzupG3RmBFDX1M92s3tgywnLr-e6NZal5yZdS8VblJGjswDZbdY-Qobo2DCN6vxvn5TVkukAHiArjpBBpAmuQfKa52vqSCYRpTCm57fQUZ1c1n29OsvDw1x9ckyH8j_9Xgk0AG-MlQ9Rdg3hCb7LkSPvC_zYDeS2Cj_yFw6OWahnnIRwO6t4UtLuRAkLrjP1T7nk0zu1whwj7YEwtva45niWWh6rdyg_SZlfsph3o_MZN5DwKaSrUaEO6b-numELH5GWjjiPgfgPKkIof-D40xaKUFBpNJzorQkAZCJWuHvXRpBZWFVh_UhNlGhX0mhz2yFlBrujYa9BgvIkdJ8Keok6qfAn-r5EEFXcSI8vGY7OEF01QKXVpu8-FW0uSxtQ991AcFD6KjvR51l7e61visUgduhZRIq9bYzeCIxnK5Jhm3o_NJE2bOp2NmVwVe4kjuJX87wo3Ba41bXgwIpdiLWyWJhSHPmJI_1ibRTZ5XO92xbPPSnnkXrFaGF1dGhEYXRhWKRJlg3liA6MaHQ0Fw9kdmBbj-SuuaKGMseZXPO6gx2XY0EAAAACAAAAAAAAAAAAAAAAAAAAAAAg2i53XtAuBVv2ztu9hdTkG_I4_zc-MhmYOjM2HWDCIlmlAQIDJiABIVggFgD81bv3uFCOrjw3DfHTIuscQkA7gikvjGdE6ltNPjoiWCA_7nP-fPzwp30E4kLjh4nyMyHQ2tfPJR8lA0h7SQ1dfA"+  },+  "type": "public-key",+  "clientExtensionResults": {}+}
+ tests/responses/attestation/u2f-04.json view
@@ -0,0 +1,10 @@+{+  "id": "JeC3qgQjIVysq88GxhGUYyDl4oZeW8mLWd7luJWQvnrm-wxGZ5mzf2bBCaUDq7D2qr4aQezvzfoFIF880ciAsQ",+  "rawId": "JeC3qgQjIVysq88GxhGUYyDl4oZeW8mLWd7luJWQvnrm-wxGZ5mzf2bBCaUDq7D2qr4aQezvzfoFIF880ciAsQ",+  "response": {+    "clientDataJSON": "eyJjaGFsbGVuZ2UiOiJhR0ZHQ2JMMFZrUGYxRmNDVm5TQVpwNFpVSlRjZkY5diIsIm9yaWdpbiI6Imh0dHBzOi8vYXBpLWR1bzEuZHVvLnRlc3QiLCJ0b2tlbkJpbmRpbmciOnsic3RhdHVzIjoibm90LXN1cHBvcnRlZCJ9LCJ0eXBlIjoid2ViYXV0aG4uY3JlYXRlIn0",+    "attestationObject": "o2NmbXRoZmlkby11MmZnYXR0U3RtdKJjc2lnWEgwRgIhAJB-eYnY106PNDhEVM8QLuZnVCxBX0Khp9vzdj-kjw1CAiEA0PlEdDtH4GKG3eY_1YC4sIZR2ZPg-9SsLgODDWUDYnRjeDVjgVkCUzCCAk8wggE3oAMCAQICBDxoKU0wDQYJKoZIhvcNAQELBQAwLjEsMCoGA1UEAxMjWXViaWNvIFUyRiBSb290IENBIFNlcmlhbCA0NTcyMDA2MzEwIBcNMTQwODAxMDAwMDAwWhgPMjA1MDA5MDQwMDAwMDBaMDExLzAtBgNVBAMMJll1YmljbyBVMkYgRUUgU2VyaWFsIDIzOTI1NzM0ODExMTE3OTAxMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEvd9nk9t3lMNQMXHtLE1FStlzZnUaSLql2fm1ajoggXlrTt8rzXuSehSTEPvEaEdv_FeSqX22L6Aoa8ajIAIOY6M7MDkwIgYJKwYBBAGCxAoCBBUxLjMuNi4xLjQuMS40MTQ4Mi4xLjUwEwYLKwYBBAGC5RwCAQEEBAMCBSAwDQYJKoZIhvcNAQELBQADggEBAKrADVEJfuwVpIazebzEg0D4Z9OXLs5qZ_ukcONgxkRZ8K04QtP_CB5x6olTlxsj-SXArQDCRzEYUgbws6kZKfuRt2a1P-EzUiqDWLjRILSr-3_o7yR7ZP_GpiFKwdm-czb94POoGD-TS1IYdfXj94mAr5cKWx4EKjh210uovu_pLdLjc8xkQciUrXzZpPR9rT2k_q9HkZhHU-NaCJzky-PTyDbq0KKnzqVhWtfkSBCGw3ezZkTS-5lrvOKbIa24lfeTgu7FST5OwTPCFn8HcfWZMXMSD_KNU-iBqJdAwTLPPDRoLLvPTl29weCAIh-HUpmBQd0UltcPOrA_LFvAf61oYXV0aERhdGFYxEvYNAXQphWPDADgZiwL4n_m5OggKcxKctshspIdTVKXQQAAAAAAAAAAAAAAAAAAAAAAAAAAAEAl4LeqBCMhXKyrzwbGEZRjIOXihl5byYtZ3uW4lZC-eub7DEZnmbN_ZsEJpQOrsPaqvhpB7O_N-gUgXzzRyICxpQECAyYgASFYIJH525xGEk1oYXXxejoHvYcBrIwDbwcC_Kptwg6m5hArIlggvPFJ43EBPjkPK7aCIkiA3mtk_b6mkmzR8C_Fgjq3-xQ"+  },+  "type": "public-key",+  "clientExtensionResults": {}+}
+ tests/responses/attestation/u2f-05.json view
@@ -0,0 +1,10 @@+{+  "id": "jXFBv0gxr-DvGP58Oz3qfxMydiZM2RFlRoItoHyeAhdLNbmR7aPkzPVSKWO9VOZ4A2EEUQz8nsLtsP5EOqeNiQ",+  "rawId": "jXFBv0gxr-DvGP58Oz3qfxMydiZM2RFlRoItoHyeAhdLNbmR7aPkzPVSKWO9VOZ4A2EEUQz8nsLtsP5EOqeNiQ",+  "response": {+    "clientDataJSON": "eyJjaGFsbGVuZ2UiOiJCMjBMWlFBNnZtb2hXMnB2Q1RpM3lsVU5HZXQ4NTZwbyIsImhhc2hBbGdvcml0aG0iOiJTSEEtMjU2Iiwib3JpZ2luIjoiaHR0cHM6Ly9hcGktZHVvMS5kdW8udGVzdCIsInRva2VuQmluZGluZyI6InVudXNlZCIsInR5cGUiOiJ3ZWJhdXRobi5jcmVhdGUifQ",+    "attestationObject": "o2NmbXRoZmlkby11MmZnYXR0U3RtdKJjc2lnWEYwRAIgZNXeJymCt3MaODbi40dqksHQmfjvOajH4Th3qHK4nboCIEemlbhtg6g549fk5f6xU901qYeowKQ4lDOxwBisVo-RY3g1Y4FZAlMwggJPMIIBN6ADAgECAgQ8aClNMA0GCSqGSIb3DQEBCwUAMC4xLDAqBgNVBAMTI1l1YmljbyBVMkYgUm9vdCBDQSBTZXJpYWwgNDU3MjAwNjMxMCAXDTE0MDgwMTAwMDAwMFoYDzIwNTAwOTA0MDAwMDAwWjAxMS8wLQYDVQQDDCZZdWJpY28gVTJGIEVFIFNlcmlhbCAyMzkyNTczNDgxMTExNzkwMTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABL3fZ5Pbd5TDUDFx7SxNRUrZc2Z1Gki6pdn5tWo6IIF5a07fK817knoUkxD7xGhHb_xXkql9ti-gKGvGoyACDmOjOzA5MCIGCSsGAQQBgsQKAgQVMS4zLjYuMS40LjEuNDE0ODIuMS41MBMGCysGAQQBguUcAgEBBAQDAgUgMA0GCSqGSIb3DQEBCwUAA4IBAQCqwA1RCX7sFaSGs3m8xINA-GfTly7Oamf7pHDjYMZEWfCtOELT_wgeceqJU5cbI_klwK0AwkcxGFIG8LOpGSn7kbdmtT_hM1Iqg1i40SC0q_t_6O8ke2T_xqYhSsHZvnM2_eDzqBg_k0tSGHX14_eJgK-XClseBCo4dtdLqL7v6S3S43PMZEHIlK182aT0fa09pP6vR5GYR1PjWgic5Mvj08g26tCip86lYVrX5EgQhsN3s2ZE0vuZa7zimyGtuJX3k4LuxUk-TsEzwhZ_B3H1mTFzEg_yjVPogaiXQMEyzzw0aCy7z05dvcHggCIfh1KZgUHdFJbXDzqwPyxbwH-taGF1dGhEYXRhWMRL2DQF0KYVjwwA4GYsC-J_5uToICnMSnLbIbKSHU1Sl0EAAAAAAAAAAAAAAAAAAAAAAAAAAABAjXFBv0gxr-DvGP58Oz3qfxMydiZM2RFlRoItoHyeAhdLNbmR7aPkzPVSKWO9VOZ4A2EEUQz8nsLtsP5EOqeNiaUBAgMmIAEhWCD2BOHjcogovRtFtYbJpxctnRdgL-GL_Dwh0Pje7wUJ7yJYIACvXapVQbM5vEurQkI4096yU5dXv6CA-PftVTiTj-LT"+  },+  "type": "public-key",+  "clientExtensionResults": {}+}
webauthn.cabal view
@@ -1,46 +1,182 @@-cabal-version:       2.4--- Initial package description 'webauthn.cabal' generated by 'cabal init'.---   For further documentation, see http://haskell.org/cabal/users-guide/+cabal-version: 2.4+name: webauthn+version: 0.1.0.0+license: Apache-2.0+license-file: LICENSE+copyright:+  2020 - 2021: Arian van Putten,+  2021 -     : Tweag I/O+author:+  Silvan Mosberger <contact@infinisil.com>,+  Erin van der Veen <erin@erinvanderveen.nl>,+  Arian van Putten <arian.vanputten@gmail.com>,+  Laurens Duijvesteijn <git@duijf.io>+maintainer: Silvan Mosberger <contact@infinisil.com>+stability: provisional+homepage: https://github.com/tweag/webauthn+bug-reports: https://github.com/tweag/webauthn/issues+synopsis: Relying party (server) implementation of the WebAuthn 2 specification+description:+  Implements the [Relying Party conformance class](https://www.w3.org/TR/webauthn-2/#sctn-conforming-relying-parties)+  of the [Web Authentication Level 2](https://www.w3.org/TR/webauthn-2/) specification.+  This allows web applications to create strong, attested, scoped, public key-based+  credentials for the purpose of strongly authenticating users.+category: Web, Authentication+tested-with: GHC == 8.10.7+extra-source-files:+  README.md,+  root-certs/**/*.crt,+  tests/golden-metadata/big/blob.jwt,+  tests/golden-metadata/big/payload.json,+  tests/golden-metadata/big/origin,+  tests/golden-metadata/big/root.crt,+  tests/golden-metadata/small/blob.jwt,+  tests/golden-metadata/small/payload.json,+  tests/golden-metadata/small/origin,+  tests/golden-metadata/small/root.crt,+  tests/responses/**/*.json -name:                webauthn-version:             0-synopsis:            Web Authentication API--- description:-homepage:            https://github.com/fumieval/webauthn--- bug-reports:-license:             BSD-3-Clause-license-file:        LICENSE-author:              Fumiaki Kinoshita-maintainer:          fumiexcel@gmail.com--- copyright:-category:            Web-extra-source-files:  CHANGELOG.md+common sanity+  default-language: Haskell2010+  ghc-options:+    -Wall+    -Wmissing-export-lists+    -Wmissing-import-lists+    -Wno-name-shadowing+    -Wcompat+    -Wincomplete-uni-patterns+  default-extensions:+    DerivingStrategies+    DerivingVia+    DeriveAnyClass+    DeriveGeneric+    GeneralizedNewtypeDeriving+    LambdaCase+    OverloadedStrings+    TypeApplications  library+  import: sanity+  hs-source-dirs: src+  build-depends:+    base                  >= 4.14.3 && < 4.15,+    -- deriving-aeson has compilation performance problems with aeson >= 2.0,+    -- see https://github.com/fumieval/deriving-aeson/issues/16+    aeson                 >= 1.5.6 && < 2.0,+    asn1-encoding         >= 0.9.6 && < 0.10,+    asn1-parse            >= 0.9.5 && < 0.10,+    asn1-types            >= 0.3.4 && < 0.4,+    base16-bytestring     >= 1.0.2 && < 1.1,+    base64-bytestring     >= 1.2.1 && < 1.3,+    binary                >= 0.8.8 && < 0.9,+    bytestring            >= 0.10.12 && < 0.11,+    cborg                 >= 0.2.6 && < 0.3,+    containers            >= 0.6.5 && < 0.7,+    cryptonite            >= 0.29 && < 0.30,+    deriving-aeson        >= 0.2.8 && < 0.3,+    file-embed            >= 0.0.15 && < 0.1,+    hashable              >= 1.3.0 && < 1.4,+    hourglass             >= 0.2.12 && < 0.3,+    jose                  >= 0.8.5 && < 0.9,+    lens                  >= 4.19.2 && < 4.20,+    memory                >= 0.15.0 && < 0.16,+    monad-time            >= 0.3.1 && < 0.4,+    mtl                   >= 2.2.2 && < 2.3,+    serialise             >= 0.2.4 && < 0.3,+    singletons            >= 2.7 && < 2.8,+    text                  >= 1.2.4 && < 1.3,+    time                  >= 1.9.3 && < 1.10,+    unordered-containers  >= 0.2.16 && < 0.3,+    uuid                  >= 1.3.15 && < 1.4,+    validation            >= 1.1.2 && < 1.2,+    x509                  >= 1.7.5 && < 1.8,+    x509-store            >= 1.6.7 && < 1.7,+    x509-validation       >= 1.6.12 && < 1.7   exposed-modules:-    WebAuthn-    WebAuthn.Types-    WebAuthn.FIDOU2F-    WebAuthn.Packed-    WebAuthn.Signature-    WebAuthn.TPM-  build-depends:       base == 4.*-    , containers-    , cryptonite-    , cborg-    , cereal-    , bytestring-    , hashable-    , aeson-    , asn1-types-    , asn1-encoding-    , text-    , x509-    , x509-validation-    , memory-    , serialise-    , base16-bytestring-    , base64-bytestring-  hs-source-dirs:      src-  ghc-options: -Wall-  default-language:    Haskell2010+    Crypto.WebAuthn,+    Crypto.WebAuthn.AttestationStatementFormat,+    Crypto.WebAuthn.AttestationStatementFormat.AndroidKey,+    Crypto.WebAuthn.AttestationStatementFormat.AndroidSafetyNet,+    Crypto.WebAuthn.AttestationStatementFormat.Apple,+    Crypto.WebAuthn.AttestationStatementFormat.FidoU2F,+    Crypto.WebAuthn.AttestationStatementFormat.None,+    Crypto.WebAuthn.AttestationStatementFormat.Packed,+    Crypto.WebAuthn.AttestationStatementFormat.TPM,+    Crypto.WebAuthn.Operation,+    Crypto.WebAuthn.Operation.Authentication,+    Crypto.WebAuthn.Operation.CredentialEntry,+    Crypto.WebAuthn.Operation.Registration,+    Crypto.WebAuthn.Cose.Algorithm,+    Crypto.WebAuthn.Cose.Internal.Registry,+    Crypto.WebAuthn.Cose.Internal.Verify,+    Crypto.WebAuthn.Cose.Key,+    Crypto.WebAuthn.Internal.DateOrphans,+    Crypto.WebAuthn.Internal.ToJSONOrphans,+    Crypto.WebAuthn.Internal.Utils,+    Crypto.WebAuthn.Metadata,+    Crypto.WebAuthn.Metadata.FidoRegistry,+    Crypto.WebAuthn.Metadata.Service.Decode,+    Crypto.WebAuthn.Metadata.Service.Processing,+    Crypto.WebAuthn.Metadata.Service.Types,+    Crypto.WebAuthn.Metadata.Service.WebIDL,+    Crypto.WebAuthn.Metadata.Statement.Decode,+    Crypto.WebAuthn.Metadata.Statement.Types,+    Crypto.WebAuthn.Metadata.Statement.WebIDL,+    Crypto.WebAuthn.Metadata.UAF,+    Crypto.WebAuthn.Model,+    Crypto.WebAuthn.Model.Identifier,+    Crypto.WebAuthn.Model.Kinds,+    Crypto.WebAuthn.Model.Types,+    Crypto.WebAuthn.Model.WebIDL,+    Crypto.WebAuthn.Model.WebIDL.Internal.Binary.Decoding,+    Crypto.WebAuthn.Model.WebIDL.Internal.Binary.Encoding,+    Crypto.WebAuthn.Model.WebIDL.Internal.Decoding,+    Crypto.WebAuthn.Model.WebIDL.Internal.Encoding,+    Crypto.WebAuthn.Model.WebIDL.Internal.Convert,+    Crypto.WebAuthn.Model.WebIDL.Types,+    Crypto.WebAuthn.WebIDL++test-suite tests+  import: sanity+  type: exitcode-stdio-1.0+  hs-source-dirs: tests+  main-is: Main.hs+  ghc-options:+    -Wno-incomplete-uni-patterns+  other-modules:+    PublicKeySpec,+    MetadataSpec,+    Spec.Key,+    Spec.Types,+    Spec.Util,+    Encoding,+    Emulation,+    Emulation.Client,+    Emulation.Client.Arbitrary,+    Emulation.Authenticator,+    Emulation.Authenticator.Arbitrary+  build-depends:+    base,+    QuickCheck,+    aeson,+    asn1-encoding,+    bytestring,+    containers,+    cryptonite,+    directory,+    filepath,+    hourglass,+    hspec,+    hspec-expectations-json,+    memory,+    mtl,+    pem,+    quickcheck-instances,+    serialise,+    singletons,+    text,+    uuid,+    validation,+    webauthn,+    x509,+    x509-store