diff --git a/sdk/storage/azure-storage-blob/CHANGELOG.md b/sdk/storage/azure-storage-blob/CHANGELOG.md
index 68be0b607aee..957ce02f7e49 100644
--- a/sdk/storage/azure-storage-blob/CHANGELOG.md
+++ b/sdk/storage/azure-storage-blob/CHANGELOG.md
@@ -1,7 +1,6 @@
# Release History
-## 12.8.1b1 (Unreleased)
-
+## 12.9.0b1 (Unreleased)
## 12.8.0 (2021-03-01)
**Stable release of preview features**
diff --git a/sdk/storage/azure-storage-blob/azure/storage/blob/__init__.py b/sdk/storage/azure-storage-blob/azure/storage/blob/__init__.py
index 9164961ea10a..99075baf1ea1 100644
--- a/sdk/storage/azure-storage-blob/azure/storage/blob/__init__.py
+++ b/sdk/storage/azure-storage-blob/azure/storage/blob/__init__.py
@@ -54,8 +54,10 @@
BlobQueryError,
DelimitedJsonDialect,
DelimitedTextDialect,
+ ParquetDialect,
ArrowDialect,
ArrowType,
+ QuickQueryDialect,
ObjectReplicationPolicy,
ObjectReplicationRule
)
@@ -225,8 +227,10 @@ def download_blob_from_url(
'BlobQueryError',
'DelimitedJsonDialect',
'DelimitedTextDialect',
+ 'ParquetDialect',
'ArrowDialect',
'ArrowType',
+ 'QuickQueryDialect',
'BlobQueryReader',
'ObjectReplicationPolicy',
'ObjectReplicationRule'
diff --git a/sdk/storage/azure-storage-blob/azure/storage/blob/_blob_client.py b/sdk/storage/azure-storage-blob/azure/storage/blob/_blob_client.py
index 1b3203c5170a..12912f50df4e 100644
--- a/sdk/storage/azure-storage-blob/azure/storage/blob/_blob_client.py
+++ b/sdk/storage/azure-storage-blob/azure/storage/blob/_blob_client.py
@@ -55,7 +55,8 @@
upload_block_blob,
upload_append_blob,
upload_page_blob, _any_conditions)
-from ._models import BlobType, BlobBlock, BlobProperties, BlobQueryError
+from ._models import BlobType, BlobBlock, BlobProperties, BlobQueryError, ParquetDialect, QuickQueryDialect, \
+ DelimitedJsonDialect, DelimitedTextDialect
from ._download import StorageStreamDownloader
from ._lease import BlobLeaseClient
@@ -832,16 +833,32 @@ def _quick_query_options(self, query_expression,
# type: (str, **Any) -> Dict[str, Any]
delimiter = '\n'
input_format = kwargs.pop('blob_format', None)
- if input_format:
+ if input_format == QuickQueryDialect.ParquetDialect:
+ input_format = ParquetDialect()
+ if input_format == QuickQueryDialect.DelimitedJsonDialect:
+ input_format = DelimitedJsonDialect()
+ if input_format == QuickQueryDialect.DelimitedTextDialect:
+ input_format = DelimitedTextDialect()
+ input_parquet_format = isinstance(input_format, ParquetDialect)
+ if input_format and not input_parquet_format:
try:
delimiter = input_format.lineterminator
except AttributeError:
try:
delimiter = input_format.delimiter
except AttributeError:
- raise ValueError("The Type of blob_format can only be DelimitedTextDialect or DelimitedJsonDialect")
+ raise ValueError("The Type of blob_format can only be DelimitedTextDialect or "
+ "DelimitedJsonDialect or ParquetDialect")
output_format = kwargs.pop('output_format', None)
+ if output_format == QuickQueryDialect.ParquetDialect:
+ output_format = ParquetDialect()
+ if output_format == QuickQueryDialect.DelimitedJsonDialect:
+ output_format = DelimitedJsonDialect()
+ if output_format == QuickQueryDialect.DelimitedTextDialect:
+ output_format = DelimitedTextDialect()
if output_format:
+ if isinstance(output_format, ParquetDialect):
+ raise ValueError("ParquetDialect is invalid as an output format.")
try:
delimiter = output_format.lineterminator
except AttributeError:
@@ -850,7 +867,7 @@ def _quick_query_options(self, query_expression,
except AttributeError:
pass
else:
- output_format = input_format
+ output_format = input_format if not input_parquet_format else None
query_request = QueryRequest(
expression=query_expression,
input_serialization=serialize_query_format(input_format),
@@ -894,14 +911,18 @@ def query_blob(self, query_expression, **kwargs):
:keyword blob_format:
Optional. Defines the serialization of the data currently stored in the blob. The default is to
treat the blob data as CSV data formatted in the default dialect. This can be overridden with
- a custom DelimitedTextDialect, or alternatively a DelimitedJsonDialect.
+ a custom DelimitedTextDialect, or alternatively a DelimitedJsonDialect or ParquetDialect.
+ These dialects can be passed through their respective classes, the QuickQueryDialect enum or as a string
:paramtype blob_format: ~azure.storage.blob.DelimitedTextDialect or ~azure.storage.blob.DelimitedJsonDialect
+ or ~azure.storage.blob.ParquetDialect or ~azure.storage.blob.QuickQueryDialect or str
:keyword output_format:
Optional. Defines the output serialization for the data stream. By default the data will be returned
- as it is represented in the blob. By providing an output format, the blob data will be reformatted
- according to that profile. This value can be a DelimitedTextDialect or a DelimitedJsonDialect.
- :paramtype output_format: ~azure.storage.blob.DelimitedTextDialect, ~azure.storage.blob.DelimitedJsonDialect
- or list[~azure.storage.blob.ArrowDialect]
+ as it is represented in the blob (Parquet formats default to DelimitedTextDialect).
+ By providing an output format, the blob data will be reformatted according to that profile.
+ This value can be a DelimitedTextDialect or a DelimitedJsonDialect or ArrowDialect.
+ These dialects can be passed through their respective classes, the QuickQueryDialect enum or as a string
+ :paramtype output_format: ~azure.storage.blob.DelimitedTextDialect or ~azure.storage.blob.DelimitedJsonDialect
+ or list[~azure.storage.blob.ArrowDialect] or ~azure.storage.blob.QuickQueryDialect or str
:keyword lease:
Required if the blob has an active lease. Value can be a BlobLeaseClient object
or the lease ID as a string.
diff --git a/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/_azure_blob_storage.py b/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/_azure_blob_storage.py
index dff7e12276c2..eed3bbde964c 100644
--- a/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/_azure_blob_storage.py
+++ b/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/_azure_blob_storage.py
@@ -15,6 +15,8 @@
# pylint: disable=unused-import,ungrouped-imports
from typing import Any
+ from azure.core.pipeline.transport import HttpRequest, HttpResponse
+
from ._configuration import AzureBlobStorageConfiguration
from .operations import ServiceOperations
from .operations import ContainerOperations
@@ -77,6 +79,24 @@ def __init__(
self.block_blob = BlockBlobOperations(
self._client, self._config, self._serialize, self._deserialize)
+ def _send_request(self, http_request, **kwargs):
+ # type: (HttpRequest, Any) -> HttpResponse
+ """Runs the network request through the client's chained policies.
+
+ :param http_request: The network request you want to make. Required.
+ :type http_request: ~azure.core.pipeline.transport.HttpRequest
+ :keyword bool stream: Whether the response payload will be streamed. Defaults to True.
+ :return: The response of your network call. Does not do error handling on your response.
+ :rtype: ~azure.core.pipeline.transport.HttpResponse
+ """
+ path_format_arguments = {
+ 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True),
+ }
+ http_request.url = self._client.format_url(http_request.url, **path_format_arguments)
+ stream = kwargs.pop("stream", True)
+ pipeline_response = self._client._pipeline.run(http_request, stream=stream, **kwargs)
+ return pipeline_response.http_response
+
def close(self):
# type: () -> None
self._client.close()
diff --git a/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/_configuration.py b/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/_configuration.py
index fb74f9ee4f8b..0e0d578e8aa6 100644
--- a/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/_configuration.py
+++ b/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/_configuration.py
@@ -38,7 +38,7 @@ def __init__(
super(AzureBlobStorageConfiguration, self).__init__(**kwargs)
self.url = url
- self.version = "2020-06-12"
+ self.version = "2020-08-04"
kwargs.setdefault('sdk_moniker', 'azureblobstorage/{}'.format(VERSION))
self._configure(**kwargs)
diff --git a/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/aio/_azure_blob_storage.py b/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/aio/_azure_blob_storage.py
index b53703478e99..77935aaf1e03 100644
--- a/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/aio/_azure_blob_storage.py
+++ b/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/aio/_azure_blob_storage.py
@@ -9,6 +9,7 @@
from typing import Any
from azure.core import AsyncPipelineClient
+from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest
from msrest import Deserializer, Serializer
from ._configuration import AzureBlobStorageConfiguration
@@ -72,6 +73,23 @@ def __init__(
self.block_blob = BlockBlobOperations(
self._client, self._config, self._serialize, self._deserialize)
+ async def _send_request(self, http_request: HttpRequest, **kwargs: Any) -> AsyncHttpResponse:
+ """Runs the network request through the client's chained policies.
+
+ :param http_request: The network request you want to make. Required.
+ :type http_request: ~azure.core.pipeline.transport.HttpRequest
+ :keyword bool stream: Whether the response payload will be streamed. Defaults to True.
+ :return: The response of your network call. Does not do error handling on your response.
+ :rtype: ~azure.core.pipeline.transport.AsyncHttpResponse
+ """
+ path_format_arguments = {
+ 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True),
+ }
+ http_request.url = self._client.format_url(http_request.url, **path_format_arguments)
+ stream = kwargs.pop("stream", True)
+ pipeline_response = await self._client._pipeline.run(http_request, stream=stream, **kwargs)
+ return pipeline_response.http_response
+
async def close(self) -> None:
await self._client.close()
diff --git a/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/aio/_configuration.py b/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/aio/_configuration.py
index 1924efa17196..c230fe87c2d9 100644
--- a/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/aio/_configuration.py
+++ b/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/aio/_configuration.py
@@ -33,7 +33,7 @@ def __init__(
super(AzureBlobStorageConfiguration, self).__init__(**kwargs)
self.url = url
- self.version = "2020-06-12"
+ self.version = "2020-08-04"
kwargs.setdefault('sdk_moniker', 'azureblobstorage/{}'.format(VERSION))
self._configure(**kwargs)
diff --git a/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/aio/operations/_append_blob_operations.py b/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/aio/operations/_append_blob_operations.py
index 333cb9f0e5aa..ec776d1a475b 100644
--- a/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/aio/operations/_append_blob_operations.py
+++ b/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/aio/operations/_append_blob_operations.py
@@ -6,7 +6,7 @@
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------
import datetime
-from typing import Any, Callable, Dict, Generic, IO, Optional, TypeVar
+from typing import Any, Callable, Dict, Generic, IO, Optional, TypeVar, Union
import warnings
from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error
@@ -48,6 +48,9 @@ async def create(
encryption_algorithm: Optional[str] = "AES256",
request_id_parameter: Optional[str] = None,
blob_tags_string: Optional[str] = None,
+ immutability_policy_expiry: Optional[datetime.datetime] = None,
+ immutability_policy_mode: Optional[Union[str, "_models.BlobImmutabilityPolicyMode"]] = None,
+ legal_hold: Optional[bool] = None,
blob_http_headers: Optional["_models.BlobHTTPHeaders"] = None,
lease_access_conditions: Optional["_models.LeaseAccessConditions"] = None,
cpk_info: Optional["_models.CpkInfo"] = None,
@@ -80,6 +83,13 @@ async def create(
:type request_id_parameter: str
:param blob_tags_string: Optional. Used to set blob tags in various blob operations.
:type blob_tags_string: str
+ :param immutability_policy_expiry: Specifies the date time when the blobs immutability policy
+ is set to expire.
+ :type immutability_policy_expiry: ~datetime.datetime
+ :param immutability_policy_mode: Specifies the immutability policy mode to set on the blob.
+ :type immutability_policy_mode: str or ~azure.storage.blob.models.BlobImmutabilityPolicyMode
+ :param legal_hold: Specified if a legal hold should be set on the blob.
+ :type legal_hold: bool
:param blob_http_headers: Parameter group.
:type blob_http_headers: ~azure.storage.blob.models.BlobHTTPHeaders
:param lease_access_conditions: Parameter group.
@@ -194,6 +204,12 @@ async def create(
header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id_parameter", request_id_parameter, 'str')
if blob_tags_string is not None:
header_parameters['x-ms-tags'] = self._serialize.header("blob_tags_string", blob_tags_string, 'str')
+ if immutability_policy_expiry is not None:
+ header_parameters['x-ms-immutability-policy-until-date'] = self._serialize.header("immutability_policy_expiry", immutability_policy_expiry, 'rfc-1123')
+ if immutability_policy_mode is not None:
+ header_parameters['x-ms-immutability-policy-mode'] = self._serialize.header("immutability_policy_mode", immutability_policy_mode, 'str')
+ if legal_hold is not None:
+ header_parameters['x-ms-legal-hold'] = self._serialize.header("legal_hold", legal_hold, 'bool')
header_parameters['Accept'] = self._serialize.header("accept", accept, 'str')
request = self._client.put(url, query_parameters, header_parameters)
@@ -202,7 +218,7 @@ async def create(
if response.status_code not in [201]:
map_error(status_code=response.status_code, response=response, error_map=error_map)
- error = self._deserialize(_models.StorageError, response)
+ error = self._deserialize.failsafe_deserialize(_models.StorageError, response)
raise HttpResponseError(response=response, model=error)
response_headers = {}
@@ -374,7 +390,7 @@ async def append_block(
if response.status_code not in [201]:
map_error(status_code=response.status_code, response=response, error_map=error_map)
- error = self._deserialize(_models.StorageError, response)
+ error = self._deserialize.failsafe_deserialize(_models.StorageError, response)
raise HttpResponseError(response=response, model=error)
response_headers = {}
@@ -577,7 +593,7 @@ async def append_block_from_url(
if response.status_code not in [201]:
map_error(status_code=response.status_code, response=response, error_map=error_map)
- error = self._deserialize(_models.StorageError, response)
+ error = self._deserialize.failsafe_deserialize(_models.StorageError, response)
raise HttpResponseError(response=response, model=error)
response_headers = {}
@@ -691,7 +707,7 @@ async def seal(
if response.status_code not in [200]:
map_error(status_code=response.status_code, response=response, error_map=error_map)
- error = self._deserialize(_models.StorageError, response)
+ error = self._deserialize.failsafe_deserialize(_models.StorageError, response)
raise HttpResponseError(response=response, model=error)
response_headers = {}
diff --git a/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/aio/operations/_blob_operations.py b/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/aio/operations/_blob_operations.py
index af2d12e92779..0d2ff8349bb7 100644
--- a/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/aio/operations/_blob_operations.py
+++ b/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/aio/operations/_blob_operations.py
@@ -179,7 +179,7 @@ async def download(
if response.status_code not in [200, 206]:
map_error(status_code=response.status_code, response=response, error_map=error_map)
- error = self._deserialize(_models.StorageError, response)
+ error = self._deserialize.failsafe_deserialize(_models.StorageError, response)
raise HttpResponseError(response=response, model=error)
response_headers = {}
@@ -223,6 +223,9 @@ async def download(
response_headers['x-ms-tag-count']=self._deserialize('long', response.headers.get('x-ms-tag-count'))
response_headers['x-ms-blob-sealed']=self._deserialize('bool', response.headers.get('x-ms-blob-sealed'))
response_headers['x-ms-last-access-time']=self._deserialize('rfc-1123', response.headers.get('x-ms-last-access-time'))
+ response_headers['x-ms-immutability-policy-until-date']=self._deserialize('rfc-1123', response.headers.get('x-ms-immutability-policy-until-date'))
+ response_headers['x-ms-immutability-policy-mode']=self._deserialize('str', response.headers.get('x-ms-immutability-policy-mode'))
+ response_headers['x-ms-legal-hold']=self._deserialize('bool', response.headers.get('x-ms-legal-hold'))
deserialized = response.stream_download(self._client._pipeline)
if response.status_code == 206:
@@ -266,6 +269,9 @@ async def download(
response_headers['x-ms-tag-count']=self._deserialize('long', response.headers.get('x-ms-tag-count'))
response_headers['x-ms-blob-sealed']=self._deserialize('bool', response.headers.get('x-ms-blob-sealed'))
response_headers['x-ms-last-access-time']=self._deserialize('rfc-1123', response.headers.get('x-ms-last-access-time'))
+ response_headers['x-ms-immutability-policy-until-date']=self._deserialize('rfc-1123', response.headers.get('x-ms-immutability-policy-until-date'))
+ response_headers['x-ms-immutability-policy-mode']=self._deserialize('str', response.headers.get('x-ms-immutability-policy-mode'))
+ response_headers['x-ms-legal-hold']=self._deserialize('bool', response.headers.get('x-ms-legal-hold'))
deserialized = response.stream_download(self._client._pipeline)
if cls:
@@ -394,7 +400,7 @@ async def get_properties(
if response.status_code not in [200]:
map_error(status_code=response.status_code, response=response, error_map=error_map)
- error = self._deserialize(_models.StorageError, response)
+ error = self._deserialize.failsafe_deserialize(_models.StorageError, response)
raise HttpResponseError(response=response, model=error)
response_headers = {}
@@ -444,6 +450,9 @@ async def get_properties(
response_headers['x-ms-blob-sealed']=self._deserialize('bool', response.headers.get('x-ms-blob-sealed'))
response_headers['x-ms-rehydrate-priority']=self._deserialize('str', response.headers.get('x-ms-rehydrate-priority'))
response_headers['x-ms-last-access-time']=self._deserialize('rfc-1123', response.headers.get('x-ms-last-access-time'))
+ response_headers['x-ms-immutability-policy-until-date']=self._deserialize('rfc-1123', response.headers.get('x-ms-immutability-policy-until-date'))
+ response_headers['x-ms-immutability-policy-mode']=self._deserialize('str', response.headers.get('x-ms-immutability-policy-mode'))
+ response_headers['x-ms-legal-hold']=self._deserialize('bool', response.headers.get('x-ms-legal-hold'))
if cls:
return cls(pipeline_response, None, response_headers)
@@ -574,7 +583,7 @@ async def delete(
if response.status_code not in [202]:
map_error(status_code=response.status_code, response=response, error_map=error_map)
- error = self._deserialize(_models.StorageError, response)
+ error = self._deserialize.failsafe_deserialize(_models.StorageError, response)
raise HttpResponseError(response=response, model=error)
response_headers = {}
@@ -697,7 +706,7 @@ async def set_access_control(
if response.status_code not in [200]:
map_error(status_code=response.status_code, response=response, error_map=error_map)
- error = self._deserialize(_models.DataLakeStorageError, response)
+ error = self._deserialize.failsafe_deserialize(_models.DataLakeStorageError, response)
raise HttpResponseError(response=response, model=error)
response_headers = {}
@@ -804,7 +813,7 @@ async def get_access_control(
if response.status_code not in [200]:
map_error(status_code=response.status_code, response=response, error_map=error_map)
- error = self._deserialize(_models.DataLakeStorageError, response)
+ error = self._deserialize.failsafe_deserialize(_models.DataLakeStorageError, response)
raise HttpResponseError(response=response, model=error)
response_headers = {}
@@ -995,7 +1004,7 @@ async def rename(
if response.status_code not in [201]:
map_error(status_code=response.status_code, response=response, error_map=error_map)
- error = self._deserialize(_models.DataLakeStorageError, response)
+ error = self._deserialize.failsafe_deserialize(_models.DataLakeStorageError, response)
raise HttpResponseError(response=response, model=error)
response_headers = {}
@@ -1066,7 +1075,7 @@ async def undelete(
if response.status_code not in [200]:
map_error(status_code=response.status_code, response=response, error_map=error_map)
- error = self._deserialize(_models.StorageError, response)
+ error = self._deserialize.failsafe_deserialize(_models.StorageError, response)
raise HttpResponseError(response=response, model=error)
response_headers = {}
@@ -1143,7 +1152,7 @@ async def set_expiry(
if response.status_code not in [200]:
map_error(status_code=response.status_code, response=response, error_map=error_map)
- error = self._deserialize(_models.StorageError, response)
+ error = self._deserialize.failsafe_deserialize(_models.StorageError, response)
raise HttpResponseError(response=response, model=error)
response_headers = {}
@@ -1274,7 +1283,7 @@ async def set_http_headers(
if response.status_code not in [200]:
map_error(status_code=response.status_code, response=response, error_map=error_map)
- error = self._deserialize(_models.StorageError, response)
+ error = self._deserialize.failsafe_deserialize(_models.StorageError, response)
raise HttpResponseError(response=response, model=error)
response_headers = {}
@@ -1291,6 +1300,237 @@ async def set_http_headers(
set_http_headers.metadata = {'url': '/{containerName}/{blob}'} # type: ignore
+ async def set_immutability_policy(
+ self,
+ timeout: Optional[int] = None,
+ request_id_parameter: Optional[str] = None,
+ immutability_policy_expiry: Optional[datetime.datetime] = None,
+ immutability_policy_mode: Optional[Union[str, "_models.BlobImmutabilityPolicyMode"]] = None,
+ modified_access_conditions: Optional["_models.ModifiedAccessConditions"] = None,
+ **kwargs
+ ) -> None:
+ """The Set Immutability Policy operation sets the immutability policy on the blob.
+
+ :param timeout: The timeout parameter is expressed in seconds. For more information, see
+ :code:`Setting Timeouts for Blob Service Operations.`.
+ :type timeout: int
+ :param request_id_parameter: Provides a client-generated, opaque value with a 1 KB character
+ limit that is recorded in the analytics logs when storage analytics logging is enabled.
+ :type request_id_parameter: str
+ :param immutability_policy_expiry: Specifies the date time when the blobs immutability policy
+ is set to expire.
+ :type immutability_policy_expiry: ~datetime.datetime
+ :param immutability_policy_mode: Specifies the immutability policy mode to set on the blob.
+ :type immutability_policy_mode: str or ~azure.storage.blob.models.BlobImmutabilityPolicyMode
+ :param modified_access_conditions: Parameter group.
+ :type modified_access_conditions: ~azure.storage.blob.models.ModifiedAccessConditions
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: None, or the result of cls(response)
+ :rtype: None
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ cls = kwargs.pop('cls', None) # type: ClsType[None]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ _if_unmodified_since = None
+ if modified_access_conditions is not None:
+ _if_unmodified_since = modified_access_conditions.if_unmodified_since
+ comp = "immutabilityPolicies"
+ accept = "application/xml"
+
+ # Construct URL
+ url = self.set_immutability_policy.metadata['url'] # type: ignore
+ path_format_arguments = {
+ 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True),
+ }
+ url = self._client.format_url(url, **path_format_arguments)
+
+ # Construct parameters
+ query_parameters = {} # type: Dict[str, Any]
+ query_parameters['comp'] = self._serialize.query("comp", comp, 'str')
+ if timeout is not None:
+ query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0)
+
+ # Construct headers
+ header_parameters = {} # type: Dict[str, Any]
+ header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str')
+ if request_id_parameter is not None:
+ header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id_parameter", request_id_parameter, 'str')
+ if _if_unmodified_since is not None:
+ header_parameters['If-Unmodified-Since'] = self._serialize.header("if_unmodified_since", _if_unmodified_since, 'rfc-1123')
+ if immutability_policy_expiry is not None:
+ header_parameters['x-ms-immutability-policy-until-date'] = self._serialize.header("immutability_policy_expiry", immutability_policy_expiry, 'rfc-1123')
+ if immutability_policy_mode is not None:
+ header_parameters['x-ms-immutability-policy-mode'] = self._serialize.header("immutability_policy_mode", immutability_policy_mode, 'str')
+ header_parameters['Accept'] = self._serialize.header("accept", accept, 'str')
+
+ request = self._client.put(url, query_parameters, header_parameters)
+ pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs)
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.StorageError, response)
+ raise HttpResponseError(response=response, model=error)
+
+ response_headers = {}
+ response_headers['x-ms-client-request-id']=self._deserialize('str', response.headers.get('x-ms-client-request-id'))
+ response_headers['x-ms-request-id']=self._deserialize('str', response.headers.get('x-ms-request-id'))
+ response_headers['x-ms-version']=self._deserialize('str', response.headers.get('x-ms-version'))
+ response_headers['Date']=self._deserialize('rfc-1123', response.headers.get('Date'))
+ response_headers['x-ms-immutability-policy-until-date']=self._deserialize('rfc-1123', response.headers.get('x-ms-immutability-policy-until-date'))
+ response_headers['x-ms-immutability-policy-mode']=self._deserialize('str', response.headers.get('x-ms-immutability-policy-mode'))
+
+ if cls:
+ return cls(pipeline_response, None, response_headers)
+
+ set_immutability_policy.metadata = {'url': '/{containerName}/{blob}'} # type: ignore
+
+ async def delete_immutability_policy(
+ self,
+ timeout: Optional[int] = None,
+ request_id_parameter: Optional[str] = None,
+ **kwargs
+ ) -> None:
+ """The Delete Immutability Policy operation deletes the immutability policy on the blob.
+
+ :param timeout: The timeout parameter is expressed in seconds. For more information, see
+ :code:`Setting Timeouts for Blob Service Operations.`.
+ :type timeout: int
+ :param request_id_parameter: Provides a client-generated, opaque value with a 1 KB character
+ limit that is recorded in the analytics logs when storage analytics logging is enabled.
+ :type request_id_parameter: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: None, or the result of cls(response)
+ :rtype: None
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ cls = kwargs.pop('cls', None) # type: ClsType[None]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+ comp = "immutabilityPolicies"
+ accept = "application/xml"
+
+ # Construct URL
+ url = self.delete_immutability_policy.metadata['url'] # type: ignore
+ path_format_arguments = {
+ 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True),
+ }
+ url = self._client.format_url(url, **path_format_arguments)
+
+ # Construct parameters
+ query_parameters = {} # type: Dict[str, Any]
+ query_parameters['comp'] = self._serialize.query("comp", comp, 'str')
+ if timeout is not None:
+ query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0)
+
+ # Construct headers
+ header_parameters = {} # type: Dict[str, Any]
+ header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str')
+ if request_id_parameter is not None:
+ header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id_parameter", request_id_parameter, 'str')
+ header_parameters['Accept'] = self._serialize.header("accept", accept, 'str')
+
+ request = self._client.delete(url, query_parameters, header_parameters)
+ pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs)
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.StorageError, response)
+ raise HttpResponseError(response=response, model=error)
+
+ response_headers = {}
+ response_headers['x-ms-client-request-id']=self._deserialize('str', response.headers.get('x-ms-client-request-id'))
+ response_headers['x-ms-request-id']=self._deserialize('str', response.headers.get('x-ms-request-id'))
+ response_headers['x-ms-version']=self._deserialize('str', response.headers.get('x-ms-version'))
+ response_headers['Date']=self._deserialize('rfc-1123', response.headers.get('Date'))
+
+ if cls:
+ return cls(pipeline_response, None, response_headers)
+
+ delete_immutability_policy.metadata = {'url': '/{containerName}/{blob}'} # type: ignore
+
+ async def set_legal_hold(
+ self,
+ legal_hold: bool,
+ timeout: Optional[int] = None,
+ request_id_parameter: Optional[str] = None,
+ **kwargs
+ ) -> None:
+ """The Set Legal Hold operation sets a legal hold on the blob.
+
+ :param legal_hold: Specified if a legal hold should be set on the blob.
+ :type legal_hold: bool
+ :param timeout: The timeout parameter is expressed in seconds. For more information, see
+ :code:`Setting Timeouts for Blob Service Operations.`.
+ :type timeout: int
+ :param request_id_parameter: Provides a client-generated, opaque value with a 1 KB character
+ limit that is recorded in the analytics logs when storage analytics logging is enabled.
+ :type request_id_parameter: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: None, or the result of cls(response)
+ :rtype: None
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ cls = kwargs.pop('cls', None) # type: ClsType[None]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+ comp = "legalhold"
+ accept = "application/xml"
+
+ # Construct URL
+ url = self.set_legal_hold.metadata['url'] # type: ignore
+ path_format_arguments = {
+ 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True),
+ }
+ url = self._client.format_url(url, **path_format_arguments)
+
+ # Construct parameters
+ query_parameters = {} # type: Dict[str, Any]
+ query_parameters['comp'] = self._serialize.query("comp", comp, 'str')
+ if timeout is not None:
+ query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0)
+
+ # Construct headers
+ header_parameters = {} # type: Dict[str, Any]
+ header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str')
+ if request_id_parameter is not None:
+ header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id_parameter", request_id_parameter, 'str')
+ header_parameters['x-ms-legal-hold'] = self._serialize.header("legal_hold", legal_hold, 'bool')
+ header_parameters['Accept'] = self._serialize.header("accept", accept, 'str')
+
+ request = self._client.put(url, query_parameters, header_parameters)
+ pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs)
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.StorageError, response)
+ raise HttpResponseError(response=response, model=error)
+
+ response_headers = {}
+ response_headers['x-ms-client-request-id']=self._deserialize('str', response.headers.get('x-ms-client-request-id'))
+ response_headers['x-ms-request-id']=self._deserialize('str', response.headers.get('x-ms-request-id'))
+ response_headers['x-ms-version']=self._deserialize('str', response.headers.get('x-ms-version'))
+ response_headers['Date']=self._deserialize('rfc-1123', response.headers.get('Date'))
+ response_headers['x-ms-legal-hold']=self._deserialize('bool', response.headers.get('x-ms-legal-hold'))
+
+ if cls:
+ return cls(pipeline_response, None, response_headers)
+
+ set_legal_hold.metadata = {'url': '/{containerName}/{blob}'} # type: ignore
+
async def set_metadata(
self,
timeout: Optional[int] = None,
@@ -1417,7 +1657,7 @@ async def set_metadata(
if response.status_code not in [200]:
map_error(status_code=response.status_code, response=response, error_map=error_map)
- error = self._deserialize(_models.StorageError, response)
+ error = self._deserialize.failsafe_deserialize(_models.StorageError, response)
raise HttpResponseError(response=response, model=error)
response_headers = {}
@@ -1533,7 +1773,7 @@ async def acquire_lease(
if response.status_code not in [201]:
map_error(status_code=response.status_code, response=response, error_map=error_map)
- error = self._deserialize(_models.StorageError, response)
+ error = self._deserialize.failsafe_deserialize(_models.StorageError, response)
raise HttpResponseError(response=response, model=error)
response_headers = {}
@@ -1636,7 +1876,7 @@ async def release_lease(
if response.status_code not in [200]:
map_error(status_code=response.status_code, response=response, error_map=error_map)
- error = self._deserialize(_models.StorageError, response)
+ error = self._deserialize.failsafe_deserialize(_models.StorageError, response)
raise HttpResponseError(response=response, model=error)
response_headers = {}
@@ -1738,7 +1978,7 @@ async def renew_lease(
if response.status_code not in [200]:
map_error(status_code=response.status_code, response=response, error_map=error_map)
- error = self._deserialize(_models.StorageError, response)
+ error = self._deserialize.failsafe_deserialize(_models.StorageError, response)
raise HttpResponseError(response=response, model=error)
response_headers = {}
@@ -1847,7 +2087,7 @@ async def change_lease(
if response.status_code not in [200]:
map_error(status_code=response.status_code, response=response, error_map=error_map)
- error = self._deserialize(_models.StorageError, response)
+ error = self._deserialize.failsafe_deserialize(_models.StorageError, response)
raise HttpResponseError(response=response, model=error)
response_headers = {}
@@ -1957,7 +2197,7 @@ async def break_lease(
if response.status_code not in [202]:
map_error(status_code=response.status_code, response=response, error_map=error_map)
- error = self._deserialize(_models.StorageError, response)
+ error = self._deserialize.failsafe_deserialize(_models.StorageError, response)
raise HttpResponseError(response=response, model=error)
response_headers = {}
@@ -2099,7 +2339,7 @@ async def create_snapshot(
if response.status_code not in [201]:
map_error(status_code=response.status_code, response=response, error_map=error_map)
- error = self._deserialize(_models.StorageError, response)
+ error = self._deserialize.failsafe_deserialize(_models.StorageError, response)
raise HttpResponseError(response=response, model=error)
response_headers = {}
@@ -2128,6 +2368,9 @@ async def start_copy_from_url(
request_id_parameter: Optional[str] = None,
blob_tags_string: Optional[str] = None,
seal_blob: Optional[bool] = None,
+ immutability_policy_expiry: Optional[datetime.datetime] = None,
+ immutability_policy_mode: Optional[Union[str, "_models.BlobImmutabilityPolicyMode"]] = None,
+ legal_hold: Optional[bool] = None,
source_modified_access_conditions: Optional["_models.SourceModifiedAccessConditions"] = None,
modified_access_conditions: Optional["_models.ModifiedAccessConditions"] = None,
lease_access_conditions: Optional["_models.LeaseAccessConditions"] = None,
@@ -2165,6 +2408,13 @@ async def start_copy_from_url(
:param seal_blob: Overrides the sealed state of the destination blob. Service version
2019-12-12 and newer.
:type seal_blob: bool
+ :param immutability_policy_expiry: Specifies the date time when the blobs immutability policy
+ is set to expire.
+ :type immutability_policy_expiry: ~datetime.datetime
+ :param immutability_policy_mode: Specifies the immutability policy mode to set on the blob.
+ :type immutability_policy_mode: str or ~azure.storage.blob.models.BlobImmutabilityPolicyMode
+ :param legal_hold: Specified if a legal hold should be set on the blob.
+ :type legal_hold: bool
:param source_modified_access_conditions: Parameter group.
:type source_modified_access_conditions: ~azure.storage.blob.models.SourceModifiedAccessConditions
:param modified_access_conditions: Parameter group.
@@ -2259,6 +2509,12 @@ async def start_copy_from_url(
header_parameters['x-ms-tags'] = self._serialize.header("blob_tags_string", blob_tags_string, 'str')
if seal_blob is not None:
header_parameters['x-ms-seal-blob'] = self._serialize.header("seal_blob", seal_blob, 'bool')
+ if immutability_policy_expiry is not None:
+ header_parameters['x-ms-immutability-policy-until-date'] = self._serialize.header("immutability_policy_expiry", immutability_policy_expiry, 'rfc-1123')
+ if immutability_policy_mode is not None:
+ header_parameters['x-ms-immutability-policy-mode'] = self._serialize.header("immutability_policy_mode", immutability_policy_mode, 'str')
+ if legal_hold is not None:
+ header_parameters['x-ms-legal-hold'] = self._serialize.header("legal_hold", legal_hold, 'bool')
header_parameters['Accept'] = self._serialize.header("accept", accept, 'str')
request = self._client.put(url, query_parameters, header_parameters)
@@ -2267,7 +2523,7 @@ async def start_copy_from_url(
if response.status_code not in [202]:
map_error(status_code=response.status_code, response=response, error_map=error_map)
- error = self._deserialize(_models.StorageError, response)
+ error = self._deserialize.failsafe_deserialize(_models.StorageError, response)
raise HttpResponseError(response=response, model=error)
response_headers = {}
@@ -2295,6 +2551,9 @@ async def copy_from_url(
request_id_parameter: Optional[str] = None,
source_content_md5: Optional[bytearray] = None,
blob_tags_string: Optional[str] = None,
+ immutability_policy_expiry: Optional[datetime.datetime] = None,
+ immutability_policy_mode: Optional[Union[str, "_models.BlobImmutabilityPolicyMode"]] = None,
+ legal_hold: Optional[bool] = None,
source_modified_access_conditions: Optional["_models.SourceModifiedAccessConditions"] = None,
modified_access_conditions: Optional["_models.ModifiedAccessConditions"] = None,
lease_access_conditions: Optional["_models.LeaseAccessConditions"] = None,
@@ -2330,6 +2589,13 @@ async def copy_from_url(
:type source_content_md5: bytearray
:param blob_tags_string: Optional. Used to set blob tags in various blob operations.
:type blob_tags_string: str
+ :param immutability_policy_expiry: Specifies the date time when the blobs immutability policy
+ is set to expire.
+ :type immutability_policy_expiry: ~datetime.datetime
+ :param immutability_policy_mode: Specifies the immutability policy mode to set on the blob.
+ :type immutability_policy_mode: str or ~azure.storage.blob.models.BlobImmutabilityPolicyMode
+ :param legal_hold: Specified if a legal hold should be set on the blob.
+ :type legal_hold: bool
:param source_modified_access_conditions: Parameter group.
:type source_modified_access_conditions: ~azure.storage.blob.models.SourceModifiedAccessConditions
:param modified_access_conditions: Parameter group.
@@ -2420,6 +2686,12 @@ async def copy_from_url(
header_parameters['x-ms-source-content-md5'] = self._serialize.header("source_content_md5", source_content_md5, 'bytearray')
if blob_tags_string is not None:
header_parameters['x-ms-tags'] = self._serialize.header("blob_tags_string", blob_tags_string, 'str')
+ if immutability_policy_expiry is not None:
+ header_parameters['x-ms-immutability-policy-until-date'] = self._serialize.header("immutability_policy_expiry", immutability_policy_expiry, 'rfc-1123')
+ if immutability_policy_mode is not None:
+ header_parameters['x-ms-immutability-policy-mode'] = self._serialize.header("immutability_policy_mode", immutability_policy_mode, 'str')
+ if legal_hold is not None:
+ header_parameters['x-ms-legal-hold'] = self._serialize.header("legal_hold", legal_hold, 'bool')
header_parameters['Accept'] = self._serialize.header("accept", accept, 'str')
request = self._client.put(url, query_parameters, header_parameters)
@@ -2428,7 +2700,7 @@ async def copy_from_url(
if response.status_code not in [202]:
map_error(status_code=response.status_code, response=response, error_map=error_map)
- error = self._deserialize(_models.StorageError, response)
+ error = self._deserialize.failsafe_deserialize(_models.StorageError, response)
raise HttpResponseError(response=response, model=error)
response_headers = {}
@@ -2520,7 +2792,7 @@ async def abort_copy_from_url(
if response.status_code not in [204]:
map_error(status_code=response.status_code, response=response, error_map=error_map)
- error = self._deserialize(_models.StorageError, response)
+ error = self._deserialize.failsafe_deserialize(_models.StorageError, response)
raise HttpResponseError(response=response, model=error)
response_headers = {}
@@ -2634,7 +2906,7 @@ async def set_tier(
if response.status_code not in [200, 202]:
map_error(status_code=response.status_code, response=response, error_map=error_map)
- error = self._deserialize(_models.StorageError, response)
+ error = self._deserialize.failsafe_deserialize(_models.StorageError, response)
raise HttpResponseError(response=response, model=error)
response_headers = {}
@@ -2696,7 +2968,7 @@ async def get_account_info(
if response.status_code not in [200]:
map_error(status_code=response.status_code, response=response, error_map=error_map)
- error = self._deserialize(_models.StorageError, response)
+ error = self._deserialize.failsafe_deserialize(_models.StorageError, response)
raise HttpResponseError(response=response, model=error)
response_headers = {}
@@ -2839,7 +3111,7 @@ async def query(
if response.status_code not in [200, 206]:
map_error(status_code=response.status_code, response=response, error_map=error_map)
- error = self._deserialize(_models.StorageError, response)
+ error = self._deserialize.failsafe_deserialize(_models.StorageError, response)
raise HttpResponseError(response=response, model=error)
response_headers = {}
@@ -3006,7 +3278,7 @@ async def get_tags(
if response.status_code not in [200]:
map_error(status_code=response.status_code, response=response, error_map=error_map)
- error = self._deserialize(_models.StorageError, response)
+ error = self._deserialize.failsafe_deserialize(_models.StorageError, response)
raise HttpResponseError(response=response, model=error)
response_headers = {}
@@ -3122,7 +3394,7 @@ async def set_tags(
if response.status_code not in [204]:
map_error(status_code=response.status_code, response=response, error_map=error_map)
- error = self._deserialize(_models.StorageError, response)
+ error = self._deserialize.failsafe_deserialize(_models.StorageError, response)
raise HttpResponseError(response=response, model=error)
response_headers = {}
diff --git a/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/aio/operations/_block_blob_operations.py b/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/aio/operations/_block_blob_operations.py
index 67c90b0bf9d4..0e0ddab5ba35 100644
--- a/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/aio/operations/_block_blob_operations.py
+++ b/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/aio/operations/_block_blob_operations.py
@@ -51,6 +51,9 @@ async def upload(
tier: Optional[Union[str, "_models.AccessTierOptional"]] = None,
request_id_parameter: Optional[str] = None,
blob_tags_string: Optional[str] = None,
+ immutability_policy_expiry: Optional[datetime.datetime] = None,
+ immutability_policy_mode: Optional[Union[str, "_models.BlobImmutabilityPolicyMode"]] = None,
+ legal_hold: Optional[bool] = None,
blob_http_headers: Optional["_models.BlobHTTPHeaders"] = None,
lease_access_conditions: Optional["_models.LeaseAccessConditions"] = None,
cpk_info: Optional["_models.CpkInfo"] = None,
@@ -94,6 +97,13 @@ async def upload(
:type request_id_parameter: str
:param blob_tags_string: Optional. Used to set blob tags in various blob operations.
:type blob_tags_string: str
+ :param immutability_policy_expiry: Specifies the date time when the blobs immutability policy
+ is set to expire.
+ :type immutability_policy_expiry: ~datetime.datetime
+ :param immutability_policy_mode: Specifies the immutability policy mode to set on the blob.
+ :type immutability_policy_mode: str or ~azure.storage.blob.models.BlobImmutabilityPolicyMode
+ :param legal_hold: Specified if a legal hold should be set on the blob.
+ :type legal_hold: bool
:param blob_http_headers: Parameter group.
:type blob_http_headers: ~azure.storage.blob.models.BlobHTTPHeaders
:param lease_access_conditions: Parameter group.
@@ -213,6 +223,12 @@ async def upload(
header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id_parameter", request_id_parameter, 'str')
if blob_tags_string is not None:
header_parameters['x-ms-tags'] = self._serialize.header("blob_tags_string", blob_tags_string, 'str')
+ if immutability_policy_expiry is not None:
+ header_parameters['x-ms-immutability-policy-until-date'] = self._serialize.header("immutability_policy_expiry", immutability_policy_expiry, 'rfc-1123')
+ if immutability_policy_mode is not None:
+ header_parameters['x-ms-immutability-policy-mode'] = self._serialize.header("immutability_policy_mode", immutability_policy_mode, 'str')
+ if legal_hold is not None:
+ header_parameters['x-ms-legal-hold'] = self._serialize.header("legal_hold", legal_hold, 'bool')
header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str')
header_parameters['Accept'] = self._serialize.header("accept", accept, 'str')
@@ -224,7 +240,7 @@ async def upload(
if response.status_code not in [201]:
map_error(status_code=response.status_code, response=response, error_map=error_map)
- error = self._deserialize(_models.StorageError, response)
+ error = self._deserialize.failsafe_deserialize(_models.StorageError, response)
raise HttpResponseError(response=response, model=error)
response_headers = {}
@@ -465,7 +481,7 @@ async def put_blob_from_url(
if response.status_code not in [201]:
map_error(status_code=response.status_code, response=response, error_map=error_map)
- error = self._deserialize(_models.StorageError, response)
+ error = self._deserialize.failsafe_deserialize(_models.StorageError, response)
raise HttpResponseError(response=response, model=error)
response_headers = {}
@@ -605,7 +621,7 @@ async def stage_block(
if response.status_code not in [201]:
map_error(status_code=response.status_code, response=response, error_map=error_map)
- error = self._deserialize(_models.StorageError, response)
+ error = self._deserialize.failsafe_deserialize(_models.StorageError, response)
raise HttpResponseError(response=response, model=error)
response_headers = {}
@@ -766,7 +782,7 @@ async def stage_block_from_url(
if response.status_code not in [201]:
map_error(status_code=response.status_code, response=response, error_map=error_map)
- error = self._deserialize(_models.StorageError, response)
+ error = self._deserialize.failsafe_deserialize(_models.StorageError, response)
raise HttpResponseError(response=response, model=error)
response_headers = {}
@@ -796,6 +812,9 @@ async def commit_block_list(
tier: Optional[Union[str, "_models.AccessTierOptional"]] = None,
request_id_parameter: Optional[str] = None,
blob_tags_string: Optional[str] = None,
+ immutability_policy_expiry: Optional[datetime.datetime] = None,
+ immutability_policy_mode: Optional[Union[str, "_models.BlobImmutabilityPolicyMode"]] = None,
+ legal_hold: Optional[bool] = None,
blob_http_headers: Optional["_models.BlobHTTPHeaders"] = None,
lease_access_conditions: Optional["_models.LeaseAccessConditions"] = None,
cpk_info: Optional["_models.CpkInfo"] = None,
@@ -842,6 +861,13 @@ async def commit_block_list(
:type request_id_parameter: str
:param blob_tags_string: Optional. Used to set blob tags in various blob operations.
:type blob_tags_string: str
+ :param immutability_policy_expiry: Specifies the date time when the blobs immutability policy
+ is set to expire.
+ :type immutability_policy_expiry: ~datetime.datetime
+ :param immutability_policy_mode: Specifies the immutability policy mode to set on the blob.
+ :type immutability_policy_mode: str or ~azure.storage.blob.models.BlobImmutabilityPolicyMode
+ :param legal_hold: Specified if a legal hold should be set on the blob.
+ :type legal_hold: bool
:param blob_http_headers: Parameter group.
:type blob_http_headers: ~azure.storage.blob.models.BlobHTTPHeaders
:param lease_access_conditions: Parameter group.
@@ -962,6 +988,12 @@ async def commit_block_list(
header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id_parameter", request_id_parameter, 'str')
if blob_tags_string is not None:
header_parameters['x-ms-tags'] = self._serialize.header("blob_tags_string", blob_tags_string, 'str')
+ if immutability_policy_expiry is not None:
+ header_parameters['x-ms-immutability-policy-until-date'] = self._serialize.header("immutability_policy_expiry", immutability_policy_expiry, 'rfc-1123')
+ if immutability_policy_mode is not None:
+ header_parameters['x-ms-immutability-policy-mode'] = self._serialize.header("immutability_policy_mode", immutability_policy_mode, 'str')
+ if legal_hold is not None:
+ header_parameters['x-ms-legal-hold'] = self._serialize.header("legal_hold", legal_hold, 'bool')
header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str')
header_parameters['Accept'] = self._serialize.header("accept", accept, 'str')
@@ -974,7 +1006,7 @@ async def commit_block_list(
if response.status_code not in [201]:
map_error(status_code=response.status_code, response=response, error_map=error_map)
- error = self._deserialize(_models.StorageError, response)
+ error = self._deserialize.failsafe_deserialize(_models.StorageError, response)
raise HttpResponseError(response=response, model=error)
response_headers = {}
@@ -1082,7 +1114,7 @@ async def get_block_list(
if response.status_code not in [200]:
map_error(status_code=response.status_code, response=response, error_map=error_map)
- error = self._deserialize(_models.StorageError, response)
+ error = self._deserialize.failsafe_deserialize(_models.StorageError, response)
raise HttpResponseError(response=response, model=error)
response_headers = {}
diff --git a/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/aio/operations/_container_operations.py b/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/aio/operations/_container_operations.py
index 904fea36f6a3..bec837429209 100644
--- a/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/aio/operations/_container_operations.py
+++ b/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/aio/operations/_container_operations.py
@@ -125,7 +125,7 @@ async def create(
if response.status_code not in [201]:
map_error(status_code=response.status_code, response=response, error_map=error_map)
- error = self._deserialize(_models.StorageError, response)
+ error = self._deserialize.failsafe_deserialize(_models.StorageError, response)
raise HttpResponseError(response=response, model=error)
response_headers = {}
@@ -205,7 +205,7 @@ async def get_properties(
if response.status_code not in [200]:
map_error(status_code=response.status_code, response=response, error_map=error_map)
- error = self._deserialize(_models.StorageError, response)
+ error = self._deserialize.failsafe_deserialize(_models.StorageError, response)
raise HttpResponseError(response=response, model=error)
response_headers = {}
@@ -224,6 +224,7 @@ async def get_properties(
response_headers['x-ms-has-legal-hold']=self._deserialize('bool', response.headers.get('x-ms-has-legal-hold'))
response_headers['x-ms-default-encryption-scope']=self._deserialize('str', response.headers.get('x-ms-default-encryption-scope'))
response_headers['x-ms-deny-encryption-scope-override']=self._deserialize('bool', response.headers.get('x-ms-deny-encryption-scope-override'))
+ response_headers['x-ms-version-level-worm-enabled']=self._deserialize('bool', response.headers.get('x-ms-version-level-worm-enabled'))
if cls:
return cls(pipeline_response, None, response_headers)
@@ -306,7 +307,7 @@ async def delete(
if response.status_code not in [202]:
map_error(status_code=response.status_code, response=response, error_map=error_map)
- error = self._deserialize(_models.StorageError, response)
+ error = self._deserialize.failsafe_deserialize(_models.StorageError, response)
raise HttpResponseError(response=response, model=error)
response_headers = {}
@@ -404,7 +405,7 @@ async def set_metadata(
if response.status_code not in [200]:
map_error(status_code=response.status_code, response=response, error_map=error_map)
- error = self._deserialize(_models.StorageError, response)
+ error = self._deserialize.failsafe_deserialize(_models.StorageError, response)
raise HttpResponseError(response=response, model=error)
response_headers = {}
@@ -486,7 +487,7 @@ async def get_access_policy(
if response.status_code not in [200]:
map_error(status_code=response.status_code, response=response, error_map=error_map)
- error = self._deserialize(_models.StorageError, response)
+ error = self._deserialize.failsafe_deserialize(_models.StorageError, response)
raise HttpResponseError(response=response, model=error)
response_headers = {}
@@ -601,7 +602,7 @@ async def set_access_policy(
if response.status_code not in [200]:
map_error(status_code=response.status_code, response=response, error_map=error_map)
- error = self._deserialize(_models.StorageError, response)
+ error = self._deserialize.failsafe_deserialize(_models.StorageError, response)
raise HttpResponseError(response=response, model=error)
response_headers = {}
@@ -685,7 +686,7 @@ async def restore(
if response.status_code not in [201]:
map_error(status_code=response.status_code, response=response, error_map=error_map)
- error = self._deserialize(_models.StorageError, response)
+ error = self._deserialize.failsafe_deserialize(_models.StorageError, response)
raise HttpResponseError(response=response, model=error)
response_headers = {}
@@ -765,7 +766,7 @@ async def rename(
if response.status_code not in [200]:
map_error(status_code=response.status_code, response=response, error_map=error_map)
- error = self._deserialize(_models.StorageError, response)
+ error = self._deserialize.failsafe_deserialize(_models.StorageError, response)
raise HttpResponseError(response=response, model=error)
response_headers = {}
@@ -852,7 +853,7 @@ async def submit_batch(
if response.status_code not in [202]:
map_error(status_code=response.status_code, response=response, error_map=error_map)
- error = self._deserialize(_models.StorageError, response)
+ error = self._deserialize.failsafe_deserialize(_models.StorageError, response)
raise HttpResponseError(response=response, model=error)
response_headers = {}
@@ -953,7 +954,7 @@ async def acquire_lease(
if response.status_code not in [201]:
map_error(status_code=response.status_code, response=response, error_map=error_map)
- error = self._deserialize(_models.StorageError, response)
+ error = self._deserialize.failsafe_deserialize(_models.StorageError, response)
raise HttpResponseError(response=response, model=error)
response_headers = {}
@@ -1046,7 +1047,7 @@ async def release_lease(
if response.status_code not in [200]:
map_error(status_code=response.status_code, response=response, error_map=error_map)
- error = self._deserialize(_models.StorageError, response)
+ error = self._deserialize.failsafe_deserialize(_models.StorageError, response)
raise HttpResponseError(response=response, model=error)
response_headers = {}
@@ -1138,7 +1139,7 @@ async def renew_lease(
if response.status_code not in [200]:
map_error(status_code=response.status_code, response=response, error_map=error_map)
- error = self._deserialize(_models.StorageError, response)
+ error = self._deserialize.failsafe_deserialize(_models.StorageError, response)
raise HttpResponseError(response=response, model=error)
response_headers = {}
@@ -1238,7 +1239,7 @@ async def break_lease(
if response.status_code not in [202]:
map_error(status_code=response.status_code, response=response, error_map=error_map)
- error = self._deserialize(_models.StorageError, response)
+ error = self._deserialize.failsafe_deserialize(_models.StorageError, response)
raise HttpResponseError(response=response, model=error)
response_headers = {}
@@ -1337,7 +1338,7 @@ async def change_lease(
if response.status_code not in [200]:
map_error(status_code=response.status_code, response=response, error_map=error_map)
- error = self._deserialize(_models.StorageError, response)
+ error = self._deserialize.failsafe_deserialize(_models.StorageError, response)
raise HttpResponseError(response=response, model=error)
response_headers = {}
@@ -1442,7 +1443,7 @@ async def list_blob_flat_segment(
if response.status_code not in [200]:
map_error(status_code=response.status_code, response=response, error_map=error_map)
- error = self._deserialize(_models.StorageError, response)
+ error = self._deserialize.failsafe_deserialize(_models.StorageError, response)
raise HttpResponseError(response=response, model=error)
response_headers = {}
@@ -1554,7 +1555,7 @@ async def list_blob_hierarchy_segment(
if response.status_code not in [200]:
map_error(status_code=response.status_code, response=response, error_map=error_map)
- error = self._deserialize(_models.StorageError, response)
+ error = self._deserialize.failsafe_deserialize(_models.StorageError, response)
raise HttpResponseError(response=response, model=error)
response_headers = {}
@@ -1614,7 +1615,7 @@ async def get_account_info(
if response.status_code not in [200]:
map_error(status_code=response.status_code, response=response, error_map=error_map)
- error = self._deserialize(_models.StorageError, response)
+ error = self._deserialize.failsafe_deserialize(_models.StorageError, response)
raise HttpResponseError(response=response, model=error)
response_headers = {}
diff --git a/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/aio/operations/_directory_operations.py b/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/aio/operations/_directory_operations.py
index 338ff69e3adc..bd18d797d8bd 100644
--- a/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/aio/operations/_directory_operations.py
+++ b/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/aio/operations/_directory_operations.py
@@ -177,7 +177,7 @@ async def create(
if response.status_code not in [201]:
map_error(status_code=response.status_code, response=response, error_map=error_map)
- error = self._deserialize(_models.DataLakeStorageError, response)
+ error = self._deserialize.failsafe_deserialize(_models.DataLakeStorageError, response)
raise HttpResponseError(response=response, model=error)
response_headers = {}
@@ -375,7 +375,7 @@ async def rename(
if response.status_code not in [201]:
map_error(status_code=response.status_code, response=response, error_map=error_map)
- error = self._deserialize(_models.DataLakeStorageError, response)
+ error = self._deserialize.failsafe_deserialize(_models.DataLakeStorageError, response)
raise HttpResponseError(response=response, model=error)
response_headers = {}
@@ -488,7 +488,7 @@ async def delete(
if response.status_code not in [200]:
map_error(status_code=response.status_code, response=response, error_map=error_map)
- error = self._deserialize(_models.DataLakeStorageError, response)
+ error = self._deserialize.failsafe_deserialize(_models.DataLakeStorageError, response)
raise HttpResponseError(response=response, model=error)
response_headers = {}
@@ -612,7 +612,7 @@ async def set_access_control(
if response.status_code not in [200]:
map_error(status_code=response.status_code, response=response, error_map=error_map)
- error = self._deserialize(_models.DataLakeStorageError, response)
+ error = self._deserialize.failsafe_deserialize(_models.DataLakeStorageError, response)
raise HttpResponseError(response=response, model=error)
response_headers = {}
@@ -719,7 +719,7 @@ async def get_access_control(
if response.status_code not in [200]:
map_error(status_code=response.status_code, response=response, error_map=error_map)
- error = self._deserialize(_models.DataLakeStorageError, response)
+ error = self._deserialize.failsafe_deserialize(_models.DataLakeStorageError, response)
raise HttpResponseError(response=response, model=error)
response_headers = {}
diff --git a/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/aio/operations/_page_blob_operations.py b/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/aio/operations/_page_blob_operations.py
index 100f730254ed..8a6e272594c0 100644
--- a/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/aio/operations/_page_blob_operations.py
+++ b/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/aio/operations/_page_blob_operations.py
@@ -51,6 +51,9 @@ async def create(
blob_sequence_number: Optional[int] = 0,
request_id_parameter: Optional[str] = None,
blob_tags_string: Optional[str] = None,
+ immutability_policy_expiry: Optional[datetime.datetime] = None,
+ immutability_policy_mode: Optional[Union[str, "_models.BlobImmutabilityPolicyMode"]] = None,
+ legal_hold: Optional[bool] = None,
blob_http_headers: Optional["_models.BlobHTTPHeaders"] = None,
lease_access_conditions: Optional["_models.LeaseAccessConditions"] = None,
cpk_info: Optional["_models.CpkInfo"] = None,
@@ -92,6 +95,13 @@ async def create(
:type request_id_parameter: str
:param blob_tags_string: Optional. Used to set blob tags in various blob operations.
:type blob_tags_string: str
+ :param immutability_policy_expiry: Specifies the date time when the blobs immutability policy
+ is set to expire.
+ :type immutability_policy_expiry: ~datetime.datetime
+ :param immutability_policy_mode: Specifies the immutability policy mode to set on the blob.
+ :type immutability_policy_mode: str or ~azure.storage.blob.models.BlobImmutabilityPolicyMode
+ :param legal_hold: Specified if a legal hold should be set on the blob.
+ :type legal_hold: bool
:param blob_http_headers: Parameter group.
:type blob_http_headers: ~azure.storage.blob.models.BlobHTTPHeaders
:param lease_access_conditions: Parameter group.
@@ -211,6 +221,12 @@ async def create(
header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id_parameter", request_id_parameter, 'str')
if blob_tags_string is not None:
header_parameters['x-ms-tags'] = self._serialize.header("blob_tags_string", blob_tags_string, 'str')
+ if immutability_policy_expiry is not None:
+ header_parameters['x-ms-immutability-policy-until-date'] = self._serialize.header("immutability_policy_expiry", immutability_policy_expiry, 'rfc-1123')
+ if immutability_policy_mode is not None:
+ header_parameters['x-ms-immutability-policy-mode'] = self._serialize.header("immutability_policy_mode", immutability_policy_mode, 'str')
+ if legal_hold is not None:
+ header_parameters['x-ms-legal-hold'] = self._serialize.header("legal_hold", legal_hold, 'bool')
header_parameters['Accept'] = self._serialize.header("accept", accept, 'str')
request = self._client.put(url, query_parameters, header_parameters)
@@ -219,7 +235,7 @@ async def create(
if response.status_code not in [201]:
map_error(status_code=response.status_code, response=response, error_map=error_map)
- error = self._deserialize(_models.StorageError, response)
+ error = self._deserialize.failsafe_deserialize(_models.StorageError, response)
raise HttpResponseError(response=response, model=error)
response_headers = {}
@@ -400,7 +416,7 @@ async def upload_pages(
if response.status_code not in [201]:
map_error(status_code=response.status_code, response=response, error_map=error_map)
- error = self._deserialize(_models.StorageError, response)
+ error = self._deserialize.failsafe_deserialize(_models.StorageError, response)
raise HttpResponseError(response=response, model=error)
response_headers = {}
@@ -563,7 +579,7 @@ async def clear_pages(
if response.status_code not in [201]:
map_error(status_code=response.status_code, response=response, error_map=error_map)
- error = self._deserialize(_models.StorageError, response)
+ error = self._deserialize.failsafe_deserialize(_models.StorageError, response)
raise HttpResponseError(response=response, model=error)
response_headers = {}
@@ -765,7 +781,7 @@ async def upload_pages_from_url(
if response.status_code not in [201]:
map_error(status_code=response.status_code, response=response, error_map=error_map)
- error = self._deserialize(_models.StorageError, response)
+ error = self._deserialize.failsafe_deserialize(_models.StorageError, response)
raise HttpResponseError(response=response, model=error)
response_headers = {}
@@ -888,7 +904,7 @@ async def get_page_ranges(
if response.status_code not in [200]:
map_error(status_code=response.status_code, response=response, error_map=error_map)
- error = self._deserialize(_models.StorageError, response)
+ error = self._deserialize.failsafe_deserialize(_models.StorageError, response)
raise HttpResponseError(response=response, model=error)
response_headers = {}
@@ -1027,7 +1043,7 @@ async def get_page_ranges_diff(
if response.status_code not in [200]:
map_error(status_code=response.status_code, response=response, error_map=error_map)
- error = self._deserialize(_models.StorageError, response)
+ error = self._deserialize.failsafe_deserialize(_models.StorageError, response)
raise HttpResponseError(response=response, model=error)
response_headers = {}
@@ -1165,7 +1181,7 @@ async def resize(
if response.status_code not in [200]:
map_error(status_code=response.status_code, response=response, error_map=error_map)
- error = self._deserialize(_models.StorageError, response)
+ error = self._deserialize.failsafe_deserialize(_models.StorageError, response)
raise HttpResponseError(response=response, model=error)
response_headers = {}
@@ -1282,7 +1298,7 @@ async def update_sequence_number(
if response.status_code not in [200]:
map_error(status_code=response.status_code, response=response, error_map=error_map)
- error = self._deserialize(_models.StorageError, response)
+ error = self._deserialize.failsafe_deserialize(_models.StorageError, response)
raise HttpResponseError(response=response, model=error)
response_headers = {}
@@ -1389,7 +1405,7 @@ async def copy_incremental(
if response.status_code not in [202]:
map_error(status_code=response.status_code, response=response, error_map=error_map)
- error = self._deserialize(_models.StorageError, response)
+ error = self._deserialize.failsafe_deserialize(_models.StorageError, response)
raise HttpResponseError(response=response, model=error)
response_headers = {}
diff --git a/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/aio/operations/_service_operations.py b/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/aio/operations/_service_operations.py
index 91a064680562..f293d00b5b8b 100644
--- a/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/aio/operations/_service_operations.py
+++ b/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/aio/operations/_service_operations.py
@@ -104,7 +104,7 @@ async def set_properties(
if response.status_code not in [202]:
map_error(status_code=response.status_code, response=response, error_map=error_map)
- error = self._deserialize(_models.StorageError, response)
+ error = self._deserialize.failsafe_deserialize(_models.StorageError, response)
raise HttpResponseError(response=response, model=error)
response_headers = {}
@@ -174,7 +174,7 @@ async def get_properties(
if response.status_code not in [200]:
map_error(status_code=response.status_code, response=response, error_map=error_map)
- error = self._deserialize(_models.StorageError, response)
+ error = self._deserialize.failsafe_deserialize(_models.StorageError, response)
raise HttpResponseError(response=response, model=error)
response_headers = {}
@@ -247,7 +247,7 @@ async def get_statistics(
if response.status_code not in [200]:
map_error(status_code=response.status_code, response=response, error_map=error_map)
- error = self._deserialize(_models.StorageError, response)
+ error = self._deserialize.failsafe_deserialize(_models.StorageError, response)
raise HttpResponseError(response=response, model=error)
response_headers = {}
@@ -350,7 +350,7 @@ async def list_containers_segment(
if response.status_code not in [200]:
map_error(status_code=response.status_code, response=response, error_map=error_map)
- error = self._deserialize(_models.StorageError, response)
+ error = self._deserialize.failsafe_deserialize(_models.StorageError, response)
raise HttpResponseError(response=response, model=error)
response_headers = {}
@@ -430,7 +430,7 @@ async def get_user_delegation_key(
if response.status_code not in [200]:
map_error(status_code=response.status_code, response=response, error_map=error_map)
- error = self._deserialize(_models.StorageError, response)
+ error = self._deserialize.failsafe_deserialize(_models.StorageError, response)
raise HttpResponseError(response=response, model=error)
response_headers = {}
@@ -489,7 +489,7 @@ async def get_account_info(
if response.status_code not in [200]:
map_error(status_code=response.status_code, response=response, error_map=error_map)
- error = self._deserialize(_models.StorageError, response)
+ error = self._deserialize.failsafe_deserialize(_models.StorageError, response)
raise HttpResponseError(response=response, model=error)
response_headers = {}
@@ -577,7 +577,7 @@ async def submit_batch(
if response.status_code not in [200]:
map_error(status_code=response.status_code, response=response, error_map=error_map)
- error = self._deserialize(_models.StorageError, response)
+ error = self._deserialize.failsafe_deserialize(_models.StorageError, response)
raise HttpResponseError(response=response, model=error)
response_headers = {}
@@ -674,7 +674,7 @@ async def filter_blobs(
if response.status_code not in [200]:
map_error(status_code=response.status_code, response=response, error_map=error_map)
- error = self._deserialize(_models.StorageError, response)
+ error = self._deserialize.failsafe_deserialize(_models.StorageError, response)
raise HttpResponseError(response=response, model=error)
response_headers = {}
diff --git a/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/models/__init__.py b/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/models/__init__.py
index 831bfa90ca91..a3a275e8ae25 100644
--- a/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/models/__init__.py
+++ b/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/models/__init__.py
@@ -31,7 +31,7 @@
from ._models_py3 import CpkInfo
from ._models_py3 import CpkScopeInfo
from ._models_py3 import DataLakeStorageError
- from ._models_py3 import DataLakeStorageErrorAutoGenerated
+ from ._models_py3 import DataLakeStorageErrorError
from ._models_py3 import DelimitedTextConfiguration
from ._models_py3 import DirectoryHttpHeaders
from ._models_py3 import FilterBlobItem
@@ -85,7 +85,7 @@
from ._models import CpkInfo # type: ignore
from ._models import CpkScopeInfo # type: ignore
from ._models import DataLakeStorageError # type: ignore
- from ._models import DataLakeStorageErrorAutoGenerated # type: ignore
+ from ._models import DataLakeStorageErrorError # type: ignore
from ._models import DelimitedTextConfiguration # type: ignore
from ._models import DirectoryHttpHeaders # type: ignore
from ._models import FilterBlobItem # type: ignore
@@ -122,6 +122,7 @@
AccountKind,
ArchiveStatus,
BlobExpiryOptions,
+ BlobImmutabilityPolicyMode,
BlobType,
BlockListType,
CopyStatusType,
@@ -167,7 +168,7 @@
'CpkInfo',
'CpkScopeInfo',
'DataLakeStorageError',
- 'DataLakeStorageErrorAutoGenerated',
+ 'DataLakeStorageErrorError',
'DelimitedTextConfiguration',
'DirectoryHttpHeaders',
'FilterBlobItem',
@@ -202,6 +203,7 @@
'AccountKind',
'ArchiveStatus',
'BlobExpiryOptions',
+ 'BlobImmutabilityPolicyMode',
'BlobType',
'BlockListType',
'CopyStatusType',
diff --git a/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/models/_azure_blob_storage_enums.py b/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/models/_azure_blob_storage_enums.py
index 2df7b1ad6219..d41f32296e87 100644
--- a/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/models/_azure_blob_storage_enums.py
+++ b/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/models/_azure_blob_storage_enums.py
@@ -97,6 +97,12 @@ class BlobExpiryOptions(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
RELATIVE_TO_NOW = "RelativeToNow"
ABSOLUTE = "Absolute"
+class BlobImmutabilityPolicyMode(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
+
+ UNLOCKED = "Unlocked"
+ LOCKED = "Locked"
+ MUTABLE = "Mutable"
+
class BlobType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
BLOCK_BLOB = "BlockBlob"
@@ -156,6 +162,8 @@ class ListBlobsIncludeItem(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
UNCOMMITTEDBLOBS = "uncommittedblobs"
VERSIONS = "versions"
TAGS = "tags"
+ IMMUTABILITYPOLICY = "immutabilitypolicy"
+ LEGALHOLD = "legalhold"
class ListContainersIncludeType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
@@ -193,6 +201,7 @@ class QueryFormatType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
DELIMITED = "delimited"
JSON = "json"
ARROW = "arrow"
+ PARQUET = "parquet"
class RehydratePriority(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
"""If an object is in rehydrate pending state then this header is returned with priority of
diff --git a/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/models/_models.py b/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/models/_models.py
index dd31ba1fbc92..de8a5f0a30de 100644
--- a/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/models/_models.py
+++ b/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/models/_models.py
@@ -437,6 +437,12 @@ class BlobPropertiesInternal(msrest.serialization.Model):
:type rehydrate_priority: str or ~azure.storage.blob.models.RehydratePriority
:param last_accessed_on:
:type last_accessed_on: ~datetime.datetime
+ :param immutability_policy_expires_on:
+ :type immutability_policy_expires_on: ~datetime.datetime
+ :param immutability_policy_mode: Possible values include: "Unlocked", "Locked", "Mutable".
+ :type immutability_policy_mode: str or ~azure.storage.blob.models.BlobImmutabilityPolicyMode
+ :param legal_hold:
+ :type legal_hold: bool
"""
_validation = {
@@ -482,6 +488,9 @@ class BlobPropertiesInternal(msrest.serialization.Model):
'is_sealed': {'key': 'Sealed', 'type': 'bool'},
'rehydrate_priority': {'key': 'RehydratePriority', 'type': 'str'},
'last_accessed_on': {'key': 'LastAccessTime', 'type': 'rfc-1123'},
+ 'immutability_policy_expires_on': {'key': 'ImmutabilityPolicyUntilDate', 'type': 'rfc-1123'},
+ 'immutability_policy_mode': {'key': 'ImmutabilityPolicyMode', 'type': 'str'},
+ 'legal_hold': {'key': 'LegalHold', 'type': 'bool'},
}
_xml_map = {
'name': 'Properties'
@@ -529,6 +538,9 @@ def __init__(
self.is_sealed = kwargs.get('is_sealed', None)
self.rehydrate_priority = kwargs.get('rehydrate_priority', None)
self.last_accessed_on = kwargs.get('last_accessed_on', None)
+ self.immutability_policy_expires_on = kwargs.get('immutability_policy_expires_on', None)
+ self.immutability_policy_mode = kwargs.get('immutability_policy_mode', None)
+ self.legal_hold = kwargs.get('legal_hold', None)
class BlobTag(msrest.serialization.Model):
@@ -600,7 +612,7 @@ class Block(msrest.serialization.Model):
:param name: Required. The base64 encoded block ID.
:type name: str
:param size: Required. The block size in bytes.
- :type size: int
+ :type size: long
"""
_validation = {
@@ -610,7 +622,7 @@ class Block(msrest.serialization.Model):
_attribute_map = {
'name': {'key': 'Name', 'type': 'str'},
- 'size': {'key': 'Size', 'type': 'int'},
+ 'size': {'key': 'Size', 'type': 'long'},
}
def __init__(
@@ -809,6 +821,9 @@ class ContainerProperties(msrest.serialization.Model):
:type deleted_time: ~datetime.datetime
:param remaining_retention_days:
:type remaining_retention_days: int
+ :param is_version_level_worm_enabled: Indicates if version level worm is enabled on this
+ container.
+ :type is_version_level_worm_enabled: bool
"""
_validation = {
@@ -829,6 +844,7 @@ class ContainerProperties(msrest.serialization.Model):
'prevent_encryption_scope_override': {'key': 'DenyEncryptionScopeOverride', 'type': 'bool'},
'deleted_time': {'key': 'DeletedTime', 'type': 'rfc-1123'},
'remaining_retention_days': {'key': 'RemainingRetentionDays', 'type': 'int'},
+ 'is_version_level_worm_enabled': {'key': 'VersionLevelWormEnabled', 'type': 'bool'},
}
def __init__(
@@ -848,6 +864,7 @@ def __init__(
self.prevent_encryption_scope_override = kwargs.get('prevent_encryption_scope_override', None)
self.deleted_time = kwargs.get('deleted_time', None)
self.remaining_retention_days = kwargs.get('remaining_retention_days', None)
+ self.is_version_level_worm_enabled = kwargs.get('is_version_level_worm_enabled', None)
class CorsRule(msrest.serialization.Model):
@@ -955,12 +972,11 @@ class DataLakeStorageError(msrest.serialization.Model):
"""DataLakeStorageError.
:param data_lake_storage_error_details: The service error response object.
- :type data_lake_storage_error_details:
- ~azure.storage.blob.models.DataLakeStorageErrorAutoGenerated
+ :type data_lake_storage_error_details: ~azure.storage.blob.models.DataLakeStorageErrorError
"""
_attribute_map = {
- 'data_lake_storage_error_details': {'key': 'error', 'type': 'DataLakeStorageErrorAutoGenerated'},
+ 'data_lake_storage_error_details': {'key': 'error', 'type': 'DataLakeStorageErrorError'},
}
def __init__(
@@ -971,7 +987,7 @@ def __init__(
self.data_lake_storage_error_details = kwargs.get('data_lake_storage_error_details', None)
-class DataLakeStorageErrorAutoGenerated(msrest.serialization.Model):
+class DataLakeStorageErrorError(msrest.serialization.Model):
"""The service error response object.
:param code: The service error code.
@@ -989,7 +1005,7 @@ def __init__(
self,
**kwargs
):
- super(DataLakeStorageErrorAutoGenerated, self).__init__(**kwargs)
+ super(DataLakeStorageErrorError, self).__init__(**kwargs)
self.code = kwargs.get('code', None)
self.message = kwargs.get('message', None)
@@ -1611,7 +1627,7 @@ class QueryFormat(msrest.serialization.Model):
"""QueryFormat.
:param type: The quick query format type. Possible values include: "delimited", "json",
- "arrow".
+ "arrow", "parquet".
:type type: str or ~azure.storage.blob.models.QueryFormatType
:param delimited_text_configuration: delimited text configuration.
:type delimited_text_configuration: ~azure.storage.blob.models.DelimitedTextConfiguration
@@ -1619,6 +1635,8 @@ class QueryFormat(msrest.serialization.Model):
:type json_text_configuration: ~azure.storage.blob.models.JsonTextConfiguration
:param arrow_configuration: arrow configuration.
:type arrow_configuration: ~azure.storage.blob.models.ArrowConfiguration
+ :param parquet_text_configuration: Any object.
+ :type parquet_text_configuration: object
"""
_attribute_map = {
@@ -1626,6 +1644,7 @@ class QueryFormat(msrest.serialization.Model):
'delimited_text_configuration': {'key': 'DelimitedTextConfiguration', 'type': 'DelimitedTextConfiguration'},
'json_text_configuration': {'key': 'JsonTextConfiguration', 'type': 'JsonTextConfiguration'},
'arrow_configuration': {'key': 'ArrowConfiguration', 'type': 'ArrowConfiguration'},
+ 'parquet_text_configuration': {'key': 'ParquetTextConfiguration', 'type': 'object'},
}
def __init__(
@@ -1637,6 +1656,7 @@ def __init__(
self.delimited_text_configuration = kwargs.get('delimited_text_configuration', None)
self.json_text_configuration = kwargs.get('json_text_configuration', None)
self.arrow_configuration = kwargs.get('arrow_configuration', None)
+ self.parquet_text_configuration = kwargs.get('parquet_text_configuration', None)
class QueryRequest(msrest.serialization.Model):
diff --git a/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/models/_models_py3.py b/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/models/_models_py3.py
index 9bac63fee7d6..f7d5ccde44e2 100644
--- a/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/models/_models_py3.py
+++ b/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/models/_models_py3.py
@@ -483,6 +483,12 @@ class BlobPropertiesInternal(msrest.serialization.Model):
:type rehydrate_priority: str or ~azure.storage.blob.models.RehydratePriority
:param last_accessed_on:
:type last_accessed_on: ~datetime.datetime
+ :param immutability_policy_expires_on:
+ :type immutability_policy_expires_on: ~datetime.datetime
+ :param immutability_policy_mode: Possible values include: "Unlocked", "Locked", "Mutable".
+ :type immutability_policy_mode: str or ~azure.storage.blob.models.BlobImmutabilityPolicyMode
+ :param legal_hold:
+ :type legal_hold: bool
"""
_validation = {
@@ -528,6 +534,9 @@ class BlobPropertiesInternal(msrest.serialization.Model):
'is_sealed': {'key': 'Sealed', 'type': 'bool'},
'rehydrate_priority': {'key': 'RehydratePriority', 'type': 'str'},
'last_accessed_on': {'key': 'LastAccessTime', 'type': 'rfc-1123'},
+ 'immutability_policy_expires_on': {'key': 'ImmutabilityPolicyUntilDate', 'type': 'rfc-1123'},
+ 'immutability_policy_mode': {'key': 'ImmutabilityPolicyMode', 'type': 'str'},
+ 'legal_hold': {'key': 'LegalHold', 'type': 'bool'},
}
_xml_map = {
'name': 'Properties'
@@ -573,6 +582,9 @@ def __init__(
is_sealed: Optional[bool] = None,
rehydrate_priority: Optional[Union[str, "RehydratePriority"]] = None,
last_accessed_on: Optional[datetime.datetime] = None,
+ immutability_policy_expires_on: Optional[datetime.datetime] = None,
+ immutability_policy_mode: Optional[Union[str, "BlobImmutabilityPolicyMode"]] = None,
+ legal_hold: Optional[bool] = None,
**kwargs
):
super(BlobPropertiesInternal, self).__init__(**kwargs)
@@ -613,6 +625,9 @@ def __init__(
self.is_sealed = is_sealed
self.rehydrate_priority = rehydrate_priority
self.last_accessed_on = last_accessed_on
+ self.immutability_policy_expires_on = immutability_policy_expires_on
+ self.immutability_policy_mode = immutability_policy_mode
+ self.legal_hold = legal_hold
class BlobTag(msrest.serialization.Model):
@@ -689,7 +704,7 @@ class Block(msrest.serialization.Model):
:param name: Required. The base64 encoded block ID.
:type name: str
:param size: Required. The block size in bytes.
- :type size: int
+ :type size: long
"""
_validation = {
@@ -699,7 +714,7 @@ class Block(msrest.serialization.Model):
_attribute_map = {
'name': {'key': 'Name', 'type': 'str'},
- 'size': {'key': 'Size', 'type': 'int'},
+ 'size': {'key': 'Size', 'type': 'long'},
}
def __init__(
@@ -920,6 +935,9 @@ class ContainerProperties(msrest.serialization.Model):
:type deleted_time: ~datetime.datetime
:param remaining_retention_days:
:type remaining_retention_days: int
+ :param is_version_level_worm_enabled: Indicates if version level worm is enabled on this
+ container.
+ :type is_version_level_worm_enabled: bool
"""
_validation = {
@@ -940,6 +958,7 @@ class ContainerProperties(msrest.serialization.Model):
'prevent_encryption_scope_override': {'key': 'DenyEncryptionScopeOverride', 'type': 'bool'},
'deleted_time': {'key': 'DeletedTime', 'type': 'rfc-1123'},
'remaining_retention_days': {'key': 'RemainingRetentionDays', 'type': 'int'},
+ 'is_version_level_worm_enabled': {'key': 'VersionLevelWormEnabled', 'type': 'bool'},
}
def __init__(
@@ -957,6 +976,7 @@ def __init__(
prevent_encryption_scope_override: Optional[bool] = None,
deleted_time: Optional[datetime.datetime] = None,
remaining_retention_days: Optional[int] = None,
+ is_version_level_worm_enabled: Optional[bool] = None,
**kwargs
):
super(ContainerProperties, self).__init__(**kwargs)
@@ -972,6 +992,7 @@ def __init__(
self.prevent_encryption_scope_override = prevent_encryption_scope_override
self.deleted_time = deleted_time
self.remaining_retention_days = remaining_retention_days
+ self.is_version_level_worm_enabled = is_version_level_worm_enabled
class CorsRule(msrest.serialization.Model):
@@ -1090,25 +1111,24 @@ class DataLakeStorageError(msrest.serialization.Model):
"""DataLakeStorageError.
:param data_lake_storage_error_details: The service error response object.
- :type data_lake_storage_error_details:
- ~azure.storage.blob.models.DataLakeStorageErrorAutoGenerated
+ :type data_lake_storage_error_details: ~azure.storage.blob.models.DataLakeStorageErrorError
"""
_attribute_map = {
- 'data_lake_storage_error_details': {'key': 'error', 'type': 'DataLakeStorageErrorAutoGenerated'},
+ 'data_lake_storage_error_details': {'key': 'error', 'type': 'DataLakeStorageErrorError'},
}
def __init__(
self,
*,
- data_lake_storage_error_details: Optional["DataLakeStorageErrorAutoGenerated"] = None,
+ data_lake_storage_error_details: Optional["DataLakeStorageErrorError"] = None,
**kwargs
):
super(DataLakeStorageError, self).__init__(**kwargs)
self.data_lake_storage_error_details = data_lake_storage_error_details
-class DataLakeStorageErrorAutoGenerated(msrest.serialization.Model):
+class DataLakeStorageErrorError(msrest.serialization.Model):
"""The service error response object.
:param code: The service error code.
@@ -1129,7 +1149,7 @@ def __init__(
message: Optional[str] = None,
**kwargs
):
- super(DataLakeStorageErrorAutoGenerated, self).__init__(**kwargs)
+ super(DataLakeStorageErrorError, self).__init__(**kwargs)
self.code = code
self.message = message
@@ -1829,7 +1849,7 @@ class QueryFormat(msrest.serialization.Model):
"""QueryFormat.
:param type: The quick query format type. Possible values include: "delimited", "json",
- "arrow".
+ "arrow", "parquet".
:type type: str or ~azure.storage.blob.models.QueryFormatType
:param delimited_text_configuration: delimited text configuration.
:type delimited_text_configuration: ~azure.storage.blob.models.DelimitedTextConfiguration
@@ -1837,6 +1857,8 @@ class QueryFormat(msrest.serialization.Model):
:type json_text_configuration: ~azure.storage.blob.models.JsonTextConfiguration
:param arrow_configuration: arrow configuration.
:type arrow_configuration: ~azure.storage.blob.models.ArrowConfiguration
+ :param parquet_text_configuration: Any object.
+ :type parquet_text_configuration: object
"""
_attribute_map = {
@@ -1844,6 +1866,7 @@ class QueryFormat(msrest.serialization.Model):
'delimited_text_configuration': {'key': 'DelimitedTextConfiguration', 'type': 'DelimitedTextConfiguration'},
'json_text_configuration': {'key': 'JsonTextConfiguration', 'type': 'JsonTextConfiguration'},
'arrow_configuration': {'key': 'ArrowConfiguration', 'type': 'ArrowConfiguration'},
+ 'parquet_text_configuration': {'key': 'ParquetTextConfiguration', 'type': 'object'},
}
def __init__(
@@ -1853,6 +1876,7 @@ def __init__(
delimited_text_configuration: Optional["DelimitedTextConfiguration"] = None,
json_text_configuration: Optional["JsonTextConfiguration"] = None,
arrow_configuration: Optional["ArrowConfiguration"] = None,
+ parquet_text_configuration: Optional[object] = None,
**kwargs
):
super(QueryFormat, self).__init__(**kwargs)
@@ -1860,6 +1884,7 @@ def __init__(
self.delimited_text_configuration = delimited_text_configuration
self.json_text_configuration = json_text_configuration
self.arrow_configuration = arrow_configuration
+ self.parquet_text_configuration = parquet_text_configuration
class QueryRequest(msrest.serialization.Model):
diff --git a/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/operations/_append_blob_operations.py b/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/operations/_append_blob_operations.py
index abbe40eac438..655b29cfeca4 100644
--- a/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/operations/_append_blob_operations.py
+++ b/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/operations/_append_blob_operations.py
@@ -17,7 +17,7 @@
if TYPE_CHECKING:
# pylint: disable=unused-import,ungrouped-imports
- from typing import Any, Callable, Dict, Generic, IO, Optional, TypeVar
+ from typing import Any, Callable, Dict, Generic, IO, Optional, TypeVar, Union
T = TypeVar('T')
ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]]
@@ -52,6 +52,9 @@ def create(
encryption_algorithm="AES256", # type: Optional[str]
request_id_parameter=None, # type: Optional[str]
blob_tags_string=None, # type: Optional[str]
+ immutability_policy_expiry=None, # type: Optional[datetime.datetime]
+ immutability_policy_mode=None, # type: Optional[Union[str, "_models.BlobImmutabilityPolicyMode"]]
+ legal_hold=None, # type: Optional[bool]
blob_http_headers=None, # type: Optional["_models.BlobHTTPHeaders"]
lease_access_conditions=None, # type: Optional["_models.LeaseAccessConditions"]
cpk_info=None, # type: Optional["_models.CpkInfo"]
@@ -85,6 +88,13 @@ def create(
:type request_id_parameter: str
:param blob_tags_string: Optional. Used to set blob tags in various blob operations.
:type blob_tags_string: str
+ :param immutability_policy_expiry: Specifies the date time when the blobs immutability policy
+ is set to expire.
+ :type immutability_policy_expiry: ~datetime.datetime
+ :param immutability_policy_mode: Specifies the immutability policy mode to set on the blob.
+ :type immutability_policy_mode: str or ~azure.storage.blob.models.BlobImmutabilityPolicyMode
+ :param legal_hold: Specified if a legal hold should be set on the blob.
+ :type legal_hold: bool
:param blob_http_headers: Parameter group.
:type blob_http_headers: ~azure.storage.blob.models.BlobHTTPHeaders
:param lease_access_conditions: Parameter group.
@@ -199,6 +209,12 @@ def create(
header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id_parameter", request_id_parameter, 'str')
if blob_tags_string is not None:
header_parameters['x-ms-tags'] = self._serialize.header("blob_tags_string", blob_tags_string, 'str')
+ if immutability_policy_expiry is not None:
+ header_parameters['x-ms-immutability-policy-until-date'] = self._serialize.header("immutability_policy_expiry", immutability_policy_expiry, 'rfc-1123')
+ if immutability_policy_mode is not None:
+ header_parameters['x-ms-immutability-policy-mode'] = self._serialize.header("immutability_policy_mode", immutability_policy_mode, 'str')
+ if legal_hold is not None:
+ header_parameters['x-ms-legal-hold'] = self._serialize.header("legal_hold", legal_hold, 'bool')
header_parameters['Accept'] = self._serialize.header("accept", accept, 'str')
request = self._client.put(url, query_parameters, header_parameters)
@@ -207,7 +223,7 @@ def create(
if response.status_code not in [201]:
map_error(status_code=response.status_code, response=response, error_map=error_map)
- error = self._deserialize(_models.StorageError, response)
+ error = self._deserialize.failsafe_deserialize(_models.StorageError, response)
raise HttpResponseError(response=response, model=error)
response_headers = {}
@@ -380,7 +396,7 @@ def append_block(
if response.status_code not in [201]:
map_error(status_code=response.status_code, response=response, error_map=error_map)
- error = self._deserialize(_models.StorageError, response)
+ error = self._deserialize.failsafe_deserialize(_models.StorageError, response)
raise HttpResponseError(response=response, model=error)
response_headers = {}
@@ -584,7 +600,7 @@ def append_block_from_url(
if response.status_code not in [201]:
map_error(status_code=response.status_code, response=response, error_map=error_map)
- error = self._deserialize(_models.StorageError, response)
+ error = self._deserialize.failsafe_deserialize(_models.StorageError, response)
raise HttpResponseError(response=response, model=error)
response_headers = {}
@@ -699,7 +715,7 @@ def seal(
if response.status_code not in [200]:
map_error(status_code=response.status_code, response=response, error_map=error_map)
- error = self._deserialize(_models.StorageError, response)
+ error = self._deserialize.failsafe_deserialize(_models.StorageError, response)
raise HttpResponseError(response=response, model=error)
response_headers = {}
diff --git a/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/operations/_blob_operations.py b/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/operations/_blob_operations.py
index bfa782f98d6b..639911bfb307 100644
--- a/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/operations/_blob_operations.py
+++ b/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/operations/_blob_operations.py
@@ -184,7 +184,7 @@ def download(
if response.status_code not in [200, 206]:
map_error(status_code=response.status_code, response=response, error_map=error_map)
- error = self._deserialize(_models.StorageError, response)
+ error = self._deserialize.failsafe_deserialize(_models.StorageError, response)
raise HttpResponseError(response=response, model=error)
response_headers = {}
@@ -228,6 +228,9 @@ def download(
response_headers['x-ms-tag-count']=self._deserialize('long', response.headers.get('x-ms-tag-count'))
response_headers['x-ms-blob-sealed']=self._deserialize('bool', response.headers.get('x-ms-blob-sealed'))
response_headers['x-ms-last-access-time']=self._deserialize('rfc-1123', response.headers.get('x-ms-last-access-time'))
+ response_headers['x-ms-immutability-policy-until-date']=self._deserialize('rfc-1123', response.headers.get('x-ms-immutability-policy-until-date'))
+ response_headers['x-ms-immutability-policy-mode']=self._deserialize('str', response.headers.get('x-ms-immutability-policy-mode'))
+ response_headers['x-ms-legal-hold']=self._deserialize('bool', response.headers.get('x-ms-legal-hold'))
deserialized = response.stream_download(self._client._pipeline)
if response.status_code == 206:
@@ -271,6 +274,9 @@ def download(
response_headers['x-ms-tag-count']=self._deserialize('long', response.headers.get('x-ms-tag-count'))
response_headers['x-ms-blob-sealed']=self._deserialize('bool', response.headers.get('x-ms-blob-sealed'))
response_headers['x-ms-last-access-time']=self._deserialize('rfc-1123', response.headers.get('x-ms-last-access-time'))
+ response_headers['x-ms-immutability-policy-until-date']=self._deserialize('rfc-1123', response.headers.get('x-ms-immutability-policy-until-date'))
+ response_headers['x-ms-immutability-policy-mode']=self._deserialize('str', response.headers.get('x-ms-immutability-policy-mode'))
+ response_headers['x-ms-legal-hold']=self._deserialize('bool', response.headers.get('x-ms-legal-hold'))
deserialized = response.stream_download(self._client._pipeline)
if cls:
@@ -400,7 +406,7 @@ def get_properties(
if response.status_code not in [200]:
map_error(status_code=response.status_code, response=response, error_map=error_map)
- error = self._deserialize(_models.StorageError, response)
+ error = self._deserialize.failsafe_deserialize(_models.StorageError, response)
raise HttpResponseError(response=response, model=error)
response_headers = {}
@@ -450,6 +456,9 @@ def get_properties(
response_headers['x-ms-blob-sealed']=self._deserialize('bool', response.headers.get('x-ms-blob-sealed'))
response_headers['x-ms-rehydrate-priority']=self._deserialize('str', response.headers.get('x-ms-rehydrate-priority'))
response_headers['x-ms-last-access-time']=self._deserialize('rfc-1123', response.headers.get('x-ms-last-access-time'))
+ response_headers['x-ms-immutability-policy-until-date']=self._deserialize('rfc-1123', response.headers.get('x-ms-immutability-policy-until-date'))
+ response_headers['x-ms-immutability-policy-mode']=self._deserialize('str', response.headers.get('x-ms-immutability-policy-mode'))
+ response_headers['x-ms-legal-hold']=self._deserialize('bool', response.headers.get('x-ms-legal-hold'))
if cls:
return cls(pipeline_response, None, response_headers)
@@ -581,7 +590,7 @@ def delete(
if response.status_code not in [202]:
map_error(status_code=response.status_code, response=response, error_map=error_map)
- error = self._deserialize(_models.StorageError, response)
+ error = self._deserialize.failsafe_deserialize(_models.StorageError, response)
raise HttpResponseError(response=response, model=error)
response_headers = {}
@@ -705,7 +714,7 @@ def set_access_control(
if response.status_code not in [200]:
map_error(status_code=response.status_code, response=response, error_map=error_map)
- error = self._deserialize(_models.DataLakeStorageError, response)
+ error = self._deserialize.failsafe_deserialize(_models.DataLakeStorageError, response)
raise HttpResponseError(response=response, model=error)
response_headers = {}
@@ -813,7 +822,7 @@ def get_access_control(
if response.status_code not in [200]:
map_error(status_code=response.status_code, response=response, error_map=error_map)
- error = self._deserialize(_models.DataLakeStorageError, response)
+ error = self._deserialize.failsafe_deserialize(_models.DataLakeStorageError, response)
raise HttpResponseError(response=response, model=error)
response_headers = {}
@@ -1005,7 +1014,7 @@ def rename(
if response.status_code not in [201]:
map_error(status_code=response.status_code, response=response, error_map=error_map)
- error = self._deserialize(_models.DataLakeStorageError, response)
+ error = self._deserialize.failsafe_deserialize(_models.DataLakeStorageError, response)
raise HttpResponseError(response=response, model=error)
response_headers = {}
@@ -1077,7 +1086,7 @@ def undelete(
if response.status_code not in [200]:
map_error(status_code=response.status_code, response=response, error_map=error_map)
- error = self._deserialize(_models.StorageError, response)
+ error = self._deserialize.failsafe_deserialize(_models.StorageError, response)
raise HttpResponseError(response=response, model=error)
response_headers = {}
@@ -1155,7 +1164,7 @@ def set_expiry(
if response.status_code not in [200]:
map_error(status_code=response.status_code, response=response, error_map=error_map)
- error = self._deserialize(_models.StorageError, response)
+ error = self._deserialize.failsafe_deserialize(_models.StorageError, response)
raise HttpResponseError(response=response, model=error)
response_headers = {}
@@ -1287,7 +1296,7 @@ def set_http_headers(
if response.status_code not in [200]:
map_error(status_code=response.status_code, response=response, error_map=error_map)
- error = self._deserialize(_models.StorageError, response)
+ error = self._deserialize.failsafe_deserialize(_models.StorageError, response)
raise HttpResponseError(response=response, model=error)
response_headers = {}
@@ -1304,6 +1313,240 @@ def set_http_headers(
set_http_headers.metadata = {'url': '/{containerName}/{blob}'} # type: ignore
+ def set_immutability_policy(
+ self,
+ timeout=None, # type: Optional[int]
+ request_id_parameter=None, # type: Optional[str]
+ immutability_policy_expiry=None, # type: Optional[datetime.datetime]
+ immutability_policy_mode=None, # type: Optional[Union[str, "_models.BlobImmutabilityPolicyMode"]]
+ modified_access_conditions=None, # type: Optional["_models.ModifiedAccessConditions"]
+ **kwargs # type: Any
+ ):
+ # type: (...) -> None
+ """The Set Immutability Policy operation sets the immutability policy on the blob.
+
+ :param timeout: The timeout parameter is expressed in seconds. For more information, see
+ :code:`Setting Timeouts for Blob Service Operations.`.
+ :type timeout: int
+ :param request_id_parameter: Provides a client-generated, opaque value with a 1 KB character
+ limit that is recorded in the analytics logs when storage analytics logging is enabled.
+ :type request_id_parameter: str
+ :param immutability_policy_expiry: Specifies the date time when the blobs immutability policy
+ is set to expire.
+ :type immutability_policy_expiry: ~datetime.datetime
+ :param immutability_policy_mode: Specifies the immutability policy mode to set on the blob.
+ :type immutability_policy_mode: str or ~azure.storage.blob.models.BlobImmutabilityPolicyMode
+ :param modified_access_conditions: Parameter group.
+ :type modified_access_conditions: ~azure.storage.blob.models.ModifiedAccessConditions
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: None, or the result of cls(response)
+ :rtype: None
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ cls = kwargs.pop('cls', None) # type: ClsType[None]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ _if_unmodified_since = None
+ if modified_access_conditions is not None:
+ _if_unmodified_since = modified_access_conditions.if_unmodified_since
+ comp = "immutabilityPolicies"
+ accept = "application/xml"
+
+ # Construct URL
+ url = self.set_immutability_policy.metadata['url'] # type: ignore
+ path_format_arguments = {
+ 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True),
+ }
+ url = self._client.format_url(url, **path_format_arguments)
+
+ # Construct parameters
+ query_parameters = {} # type: Dict[str, Any]
+ query_parameters['comp'] = self._serialize.query("comp", comp, 'str')
+ if timeout is not None:
+ query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0)
+
+ # Construct headers
+ header_parameters = {} # type: Dict[str, Any]
+ header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str')
+ if request_id_parameter is not None:
+ header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id_parameter", request_id_parameter, 'str')
+ if _if_unmodified_since is not None:
+ header_parameters['If-Unmodified-Since'] = self._serialize.header("if_unmodified_since", _if_unmodified_since, 'rfc-1123')
+ if immutability_policy_expiry is not None:
+ header_parameters['x-ms-immutability-policy-until-date'] = self._serialize.header("immutability_policy_expiry", immutability_policy_expiry, 'rfc-1123')
+ if immutability_policy_mode is not None:
+ header_parameters['x-ms-immutability-policy-mode'] = self._serialize.header("immutability_policy_mode", immutability_policy_mode, 'str')
+ header_parameters['Accept'] = self._serialize.header("accept", accept, 'str')
+
+ request = self._client.put(url, query_parameters, header_parameters)
+ pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs)
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.StorageError, response)
+ raise HttpResponseError(response=response, model=error)
+
+ response_headers = {}
+ response_headers['x-ms-client-request-id']=self._deserialize('str', response.headers.get('x-ms-client-request-id'))
+ response_headers['x-ms-request-id']=self._deserialize('str', response.headers.get('x-ms-request-id'))
+ response_headers['x-ms-version']=self._deserialize('str', response.headers.get('x-ms-version'))
+ response_headers['Date']=self._deserialize('rfc-1123', response.headers.get('Date'))
+ response_headers['x-ms-immutability-policy-until-date']=self._deserialize('rfc-1123', response.headers.get('x-ms-immutability-policy-until-date'))
+ response_headers['x-ms-immutability-policy-mode']=self._deserialize('str', response.headers.get('x-ms-immutability-policy-mode'))
+
+ if cls:
+ return cls(pipeline_response, None, response_headers)
+
+ set_immutability_policy.metadata = {'url': '/{containerName}/{blob}'} # type: ignore
+
+ def delete_immutability_policy(
+ self,
+ timeout=None, # type: Optional[int]
+ request_id_parameter=None, # type: Optional[str]
+ **kwargs # type: Any
+ ):
+ # type: (...) -> None
+ """The Delete Immutability Policy operation deletes the immutability policy on the blob.
+
+ :param timeout: The timeout parameter is expressed in seconds. For more information, see
+ :code:`Setting Timeouts for Blob Service Operations.`.
+ :type timeout: int
+ :param request_id_parameter: Provides a client-generated, opaque value with a 1 KB character
+ limit that is recorded in the analytics logs when storage analytics logging is enabled.
+ :type request_id_parameter: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: None, or the result of cls(response)
+ :rtype: None
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ cls = kwargs.pop('cls', None) # type: ClsType[None]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+ comp = "immutabilityPolicies"
+ accept = "application/xml"
+
+ # Construct URL
+ url = self.delete_immutability_policy.metadata['url'] # type: ignore
+ path_format_arguments = {
+ 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True),
+ }
+ url = self._client.format_url(url, **path_format_arguments)
+
+ # Construct parameters
+ query_parameters = {} # type: Dict[str, Any]
+ query_parameters['comp'] = self._serialize.query("comp", comp, 'str')
+ if timeout is not None:
+ query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0)
+
+ # Construct headers
+ header_parameters = {} # type: Dict[str, Any]
+ header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str')
+ if request_id_parameter is not None:
+ header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id_parameter", request_id_parameter, 'str')
+ header_parameters['Accept'] = self._serialize.header("accept", accept, 'str')
+
+ request = self._client.delete(url, query_parameters, header_parameters)
+ pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs)
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.StorageError, response)
+ raise HttpResponseError(response=response, model=error)
+
+ response_headers = {}
+ response_headers['x-ms-client-request-id']=self._deserialize('str', response.headers.get('x-ms-client-request-id'))
+ response_headers['x-ms-request-id']=self._deserialize('str', response.headers.get('x-ms-request-id'))
+ response_headers['x-ms-version']=self._deserialize('str', response.headers.get('x-ms-version'))
+ response_headers['Date']=self._deserialize('rfc-1123', response.headers.get('Date'))
+
+ if cls:
+ return cls(pipeline_response, None, response_headers)
+
+ delete_immutability_policy.metadata = {'url': '/{containerName}/{blob}'} # type: ignore
+
+ def set_legal_hold(
+ self,
+ legal_hold, # type: bool
+ timeout=None, # type: Optional[int]
+ request_id_parameter=None, # type: Optional[str]
+ **kwargs # type: Any
+ ):
+ # type: (...) -> None
+ """The Set Legal Hold operation sets a legal hold on the blob.
+
+ :param legal_hold: Specified if a legal hold should be set on the blob.
+ :type legal_hold: bool
+ :param timeout: The timeout parameter is expressed in seconds. For more information, see
+ :code:`Setting Timeouts for Blob Service Operations.`.
+ :type timeout: int
+ :param request_id_parameter: Provides a client-generated, opaque value with a 1 KB character
+ limit that is recorded in the analytics logs when storage analytics logging is enabled.
+ :type request_id_parameter: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: None, or the result of cls(response)
+ :rtype: None
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ cls = kwargs.pop('cls', None) # type: ClsType[None]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+ comp = "legalhold"
+ accept = "application/xml"
+
+ # Construct URL
+ url = self.set_legal_hold.metadata['url'] # type: ignore
+ path_format_arguments = {
+ 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True),
+ }
+ url = self._client.format_url(url, **path_format_arguments)
+
+ # Construct parameters
+ query_parameters = {} # type: Dict[str, Any]
+ query_parameters['comp'] = self._serialize.query("comp", comp, 'str')
+ if timeout is not None:
+ query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0)
+
+ # Construct headers
+ header_parameters = {} # type: Dict[str, Any]
+ header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str')
+ if request_id_parameter is not None:
+ header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id_parameter", request_id_parameter, 'str')
+ header_parameters['x-ms-legal-hold'] = self._serialize.header("legal_hold", legal_hold, 'bool')
+ header_parameters['Accept'] = self._serialize.header("accept", accept, 'str')
+
+ request = self._client.put(url, query_parameters, header_parameters)
+ pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs)
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.StorageError, response)
+ raise HttpResponseError(response=response, model=error)
+
+ response_headers = {}
+ response_headers['x-ms-client-request-id']=self._deserialize('str', response.headers.get('x-ms-client-request-id'))
+ response_headers['x-ms-request-id']=self._deserialize('str', response.headers.get('x-ms-request-id'))
+ response_headers['x-ms-version']=self._deserialize('str', response.headers.get('x-ms-version'))
+ response_headers['Date']=self._deserialize('rfc-1123', response.headers.get('Date'))
+ response_headers['x-ms-legal-hold']=self._deserialize('bool', response.headers.get('x-ms-legal-hold'))
+
+ if cls:
+ return cls(pipeline_response, None, response_headers)
+
+ set_legal_hold.metadata = {'url': '/{containerName}/{blob}'} # type: ignore
+
def set_metadata(
self,
timeout=None, # type: Optional[int]
@@ -1431,7 +1674,7 @@ def set_metadata(
if response.status_code not in [200]:
map_error(status_code=response.status_code, response=response, error_map=error_map)
- error = self._deserialize(_models.StorageError, response)
+ error = self._deserialize.failsafe_deserialize(_models.StorageError, response)
raise HttpResponseError(response=response, model=error)
response_headers = {}
@@ -1548,7 +1791,7 @@ def acquire_lease(
if response.status_code not in [201]:
map_error(status_code=response.status_code, response=response, error_map=error_map)
- error = self._deserialize(_models.StorageError, response)
+ error = self._deserialize.failsafe_deserialize(_models.StorageError, response)
raise HttpResponseError(response=response, model=error)
response_headers = {}
@@ -1652,7 +1895,7 @@ def release_lease(
if response.status_code not in [200]:
map_error(status_code=response.status_code, response=response, error_map=error_map)
- error = self._deserialize(_models.StorageError, response)
+ error = self._deserialize.failsafe_deserialize(_models.StorageError, response)
raise HttpResponseError(response=response, model=error)
response_headers = {}
@@ -1755,7 +1998,7 @@ def renew_lease(
if response.status_code not in [200]:
map_error(status_code=response.status_code, response=response, error_map=error_map)
- error = self._deserialize(_models.StorageError, response)
+ error = self._deserialize.failsafe_deserialize(_models.StorageError, response)
raise HttpResponseError(response=response, model=error)
response_headers = {}
@@ -1865,7 +2108,7 @@ def change_lease(
if response.status_code not in [200]:
map_error(status_code=response.status_code, response=response, error_map=error_map)
- error = self._deserialize(_models.StorageError, response)
+ error = self._deserialize.failsafe_deserialize(_models.StorageError, response)
raise HttpResponseError(response=response, model=error)
response_headers = {}
@@ -1976,7 +2219,7 @@ def break_lease(
if response.status_code not in [202]:
map_error(status_code=response.status_code, response=response, error_map=error_map)
- error = self._deserialize(_models.StorageError, response)
+ error = self._deserialize.failsafe_deserialize(_models.StorageError, response)
raise HttpResponseError(response=response, model=error)
response_headers = {}
@@ -2119,7 +2362,7 @@ def create_snapshot(
if response.status_code not in [201]:
map_error(status_code=response.status_code, response=response, error_map=error_map)
- error = self._deserialize(_models.StorageError, response)
+ error = self._deserialize.failsafe_deserialize(_models.StorageError, response)
raise HttpResponseError(response=response, model=error)
response_headers = {}
@@ -2148,6 +2391,9 @@ def start_copy_from_url(
request_id_parameter=None, # type: Optional[str]
blob_tags_string=None, # type: Optional[str]
seal_blob=None, # type: Optional[bool]
+ immutability_policy_expiry=None, # type: Optional[datetime.datetime]
+ immutability_policy_mode=None, # type: Optional[Union[str, "_models.BlobImmutabilityPolicyMode"]]
+ legal_hold=None, # type: Optional[bool]
source_modified_access_conditions=None, # type: Optional["_models.SourceModifiedAccessConditions"]
modified_access_conditions=None, # type: Optional["_models.ModifiedAccessConditions"]
lease_access_conditions=None, # type: Optional["_models.LeaseAccessConditions"]
@@ -2186,6 +2432,13 @@ def start_copy_from_url(
:param seal_blob: Overrides the sealed state of the destination blob. Service version
2019-12-12 and newer.
:type seal_blob: bool
+ :param immutability_policy_expiry: Specifies the date time when the blobs immutability policy
+ is set to expire.
+ :type immutability_policy_expiry: ~datetime.datetime
+ :param immutability_policy_mode: Specifies the immutability policy mode to set on the blob.
+ :type immutability_policy_mode: str or ~azure.storage.blob.models.BlobImmutabilityPolicyMode
+ :param legal_hold: Specified if a legal hold should be set on the blob.
+ :type legal_hold: bool
:param source_modified_access_conditions: Parameter group.
:type source_modified_access_conditions: ~azure.storage.blob.models.SourceModifiedAccessConditions
:param modified_access_conditions: Parameter group.
@@ -2280,6 +2533,12 @@ def start_copy_from_url(
header_parameters['x-ms-tags'] = self._serialize.header("blob_tags_string", blob_tags_string, 'str')
if seal_blob is not None:
header_parameters['x-ms-seal-blob'] = self._serialize.header("seal_blob", seal_blob, 'bool')
+ if immutability_policy_expiry is not None:
+ header_parameters['x-ms-immutability-policy-until-date'] = self._serialize.header("immutability_policy_expiry", immutability_policy_expiry, 'rfc-1123')
+ if immutability_policy_mode is not None:
+ header_parameters['x-ms-immutability-policy-mode'] = self._serialize.header("immutability_policy_mode", immutability_policy_mode, 'str')
+ if legal_hold is not None:
+ header_parameters['x-ms-legal-hold'] = self._serialize.header("legal_hold", legal_hold, 'bool')
header_parameters['Accept'] = self._serialize.header("accept", accept, 'str')
request = self._client.put(url, query_parameters, header_parameters)
@@ -2288,7 +2547,7 @@ def start_copy_from_url(
if response.status_code not in [202]:
map_error(status_code=response.status_code, response=response, error_map=error_map)
- error = self._deserialize(_models.StorageError, response)
+ error = self._deserialize.failsafe_deserialize(_models.StorageError, response)
raise HttpResponseError(response=response, model=error)
response_headers = {}
@@ -2316,6 +2575,9 @@ def copy_from_url(
request_id_parameter=None, # type: Optional[str]
source_content_md5=None, # type: Optional[bytearray]
blob_tags_string=None, # type: Optional[str]
+ immutability_policy_expiry=None, # type: Optional[datetime.datetime]
+ immutability_policy_mode=None, # type: Optional[Union[str, "_models.BlobImmutabilityPolicyMode"]]
+ legal_hold=None, # type: Optional[bool]
source_modified_access_conditions=None, # type: Optional["_models.SourceModifiedAccessConditions"]
modified_access_conditions=None, # type: Optional["_models.ModifiedAccessConditions"]
lease_access_conditions=None, # type: Optional["_models.LeaseAccessConditions"]
@@ -2352,6 +2614,13 @@ def copy_from_url(
:type source_content_md5: bytearray
:param blob_tags_string: Optional. Used to set blob tags in various blob operations.
:type blob_tags_string: str
+ :param immutability_policy_expiry: Specifies the date time when the blobs immutability policy
+ is set to expire.
+ :type immutability_policy_expiry: ~datetime.datetime
+ :param immutability_policy_mode: Specifies the immutability policy mode to set on the blob.
+ :type immutability_policy_mode: str or ~azure.storage.blob.models.BlobImmutabilityPolicyMode
+ :param legal_hold: Specified if a legal hold should be set on the blob.
+ :type legal_hold: bool
:param source_modified_access_conditions: Parameter group.
:type source_modified_access_conditions: ~azure.storage.blob.models.SourceModifiedAccessConditions
:param modified_access_conditions: Parameter group.
@@ -2442,6 +2711,12 @@ def copy_from_url(
header_parameters['x-ms-source-content-md5'] = self._serialize.header("source_content_md5", source_content_md5, 'bytearray')
if blob_tags_string is not None:
header_parameters['x-ms-tags'] = self._serialize.header("blob_tags_string", blob_tags_string, 'str')
+ if immutability_policy_expiry is not None:
+ header_parameters['x-ms-immutability-policy-until-date'] = self._serialize.header("immutability_policy_expiry", immutability_policy_expiry, 'rfc-1123')
+ if immutability_policy_mode is not None:
+ header_parameters['x-ms-immutability-policy-mode'] = self._serialize.header("immutability_policy_mode", immutability_policy_mode, 'str')
+ if legal_hold is not None:
+ header_parameters['x-ms-legal-hold'] = self._serialize.header("legal_hold", legal_hold, 'bool')
header_parameters['Accept'] = self._serialize.header("accept", accept, 'str')
request = self._client.put(url, query_parameters, header_parameters)
@@ -2450,7 +2725,7 @@ def copy_from_url(
if response.status_code not in [202]:
map_error(status_code=response.status_code, response=response, error_map=error_map)
- error = self._deserialize(_models.StorageError, response)
+ error = self._deserialize.failsafe_deserialize(_models.StorageError, response)
raise HttpResponseError(response=response, model=error)
response_headers = {}
@@ -2543,7 +2818,7 @@ def abort_copy_from_url(
if response.status_code not in [204]:
map_error(status_code=response.status_code, response=response, error_map=error_map)
- error = self._deserialize(_models.StorageError, response)
+ error = self._deserialize.failsafe_deserialize(_models.StorageError, response)
raise HttpResponseError(response=response, model=error)
response_headers = {}
@@ -2658,7 +2933,7 @@ def set_tier(
if response.status_code not in [200, 202]:
map_error(status_code=response.status_code, response=response, error_map=error_map)
- error = self._deserialize(_models.StorageError, response)
+ error = self._deserialize.failsafe_deserialize(_models.StorageError, response)
raise HttpResponseError(response=response, model=error)
response_headers = {}
@@ -2721,7 +2996,7 @@ def get_account_info(
if response.status_code not in [200]:
map_error(status_code=response.status_code, response=response, error_map=error_map)
- error = self._deserialize(_models.StorageError, response)
+ error = self._deserialize.failsafe_deserialize(_models.StorageError, response)
raise HttpResponseError(response=response, model=error)
response_headers = {}
@@ -2865,7 +3140,7 @@ def query(
if response.status_code not in [200, 206]:
map_error(status_code=response.status_code, response=response, error_map=error_map)
- error = self._deserialize(_models.StorageError, response)
+ error = self._deserialize.failsafe_deserialize(_models.StorageError, response)
raise HttpResponseError(response=response, model=error)
response_headers = {}
@@ -3033,7 +3308,7 @@ def get_tags(
if response.status_code not in [200]:
map_error(status_code=response.status_code, response=response, error_map=error_map)
- error = self._deserialize(_models.StorageError, response)
+ error = self._deserialize.failsafe_deserialize(_models.StorageError, response)
raise HttpResponseError(response=response, model=error)
response_headers = {}
@@ -3150,7 +3425,7 @@ def set_tags(
if response.status_code not in [204]:
map_error(status_code=response.status_code, response=response, error_map=error_map)
- error = self._deserialize(_models.StorageError, response)
+ error = self._deserialize.failsafe_deserialize(_models.StorageError, response)
raise HttpResponseError(response=response, model=error)
response_headers = {}
diff --git a/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/operations/_block_blob_operations.py b/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/operations/_block_blob_operations.py
index 7bb13abc2b7f..c36c52ad95b0 100644
--- a/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/operations/_block_blob_operations.py
+++ b/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/operations/_block_blob_operations.py
@@ -55,6 +55,9 @@ def upload(
tier=None, # type: Optional[Union[str, "_models.AccessTierOptional"]]
request_id_parameter=None, # type: Optional[str]
blob_tags_string=None, # type: Optional[str]
+ immutability_policy_expiry=None, # type: Optional[datetime.datetime]
+ immutability_policy_mode=None, # type: Optional[Union[str, "_models.BlobImmutabilityPolicyMode"]]
+ legal_hold=None, # type: Optional[bool]
blob_http_headers=None, # type: Optional["_models.BlobHTTPHeaders"]
lease_access_conditions=None, # type: Optional["_models.LeaseAccessConditions"]
cpk_info=None, # type: Optional["_models.CpkInfo"]
@@ -99,6 +102,13 @@ def upload(
:type request_id_parameter: str
:param blob_tags_string: Optional. Used to set blob tags in various blob operations.
:type blob_tags_string: str
+ :param immutability_policy_expiry: Specifies the date time when the blobs immutability policy
+ is set to expire.
+ :type immutability_policy_expiry: ~datetime.datetime
+ :param immutability_policy_mode: Specifies the immutability policy mode to set on the blob.
+ :type immutability_policy_mode: str or ~azure.storage.blob.models.BlobImmutabilityPolicyMode
+ :param legal_hold: Specified if a legal hold should be set on the blob.
+ :type legal_hold: bool
:param blob_http_headers: Parameter group.
:type blob_http_headers: ~azure.storage.blob.models.BlobHTTPHeaders
:param lease_access_conditions: Parameter group.
@@ -218,6 +228,12 @@ def upload(
header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id_parameter", request_id_parameter, 'str')
if blob_tags_string is not None:
header_parameters['x-ms-tags'] = self._serialize.header("blob_tags_string", blob_tags_string, 'str')
+ if immutability_policy_expiry is not None:
+ header_parameters['x-ms-immutability-policy-until-date'] = self._serialize.header("immutability_policy_expiry", immutability_policy_expiry, 'rfc-1123')
+ if immutability_policy_mode is not None:
+ header_parameters['x-ms-immutability-policy-mode'] = self._serialize.header("immutability_policy_mode", immutability_policy_mode, 'str')
+ if legal_hold is not None:
+ header_parameters['x-ms-legal-hold'] = self._serialize.header("legal_hold", legal_hold, 'bool')
header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str')
header_parameters['Accept'] = self._serialize.header("accept", accept, 'str')
@@ -229,7 +245,7 @@ def upload(
if response.status_code not in [201]:
map_error(status_code=response.status_code, response=response, error_map=error_map)
- error = self._deserialize(_models.StorageError, response)
+ error = self._deserialize.failsafe_deserialize(_models.StorageError, response)
raise HttpResponseError(response=response, model=error)
response_headers = {}
@@ -471,7 +487,7 @@ def put_blob_from_url(
if response.status_code not in [201]:
map_error(status_code=response.status_code, response=response, error_map=error_map)
- error = self._deserialize(_models.StorageError, response)
+ error = self._deserialize.failsafe_deserialize(_models.StorageError, response)
raise HttpResponseError(response=response, model=error)
response_headers = {}
@@ -612,7 +628,7 @@ def stage_block(
if response.status_code not in [201]:
map_error(status_code=response.status_code, response=response, error_map=error_map)
- error = self._deserialize(_models.StorageError, response)
+ error = self._deserialize.failsafe_deserialize(_models.StorageError, response)
raise HttpResponseError(response=response, model=error)
response_headers = {}
@@ -774,7 +790,7 @@ def stage_block_from_url(
if response.status_code not in [201]:
map_error(status_code=response.status_code, response=response, error_map=error_map)
- error = self._deserialize(_models.StorageError, response)
+ error = self._deserialize.failsafe_deserialize(_models.StorageError, response)
raise HttpResponseError(response=response, model=error)
response_headers = {}
@@ -804,6 +820,9 @@ def commit_block_list(
tier=None, # type: Optional[Union[str, "_models.AccessTierOptional"]]
request_id_parameter=None, # type: Optional[str]
blob_tags_string=None, # type: Optional[str]
+ immutability_policy_expiry=None, # type: Optional[datetime.datetime]
+ immutability_policy_mode=None, # type: Optional[Union[str, "_models.BlobImmutabilityPolicyMode"]]
+ legal_hold=None, # type: Optional[bool]
blob_http_headers=None, # type: Optional["_models.BlobHTTPHeaders"]
lease_access_conditions=None, # type: Optional["_models.LeaseAccessConditions"]
cpk_info=None, # type: Optional["_models.CpkInfo"]
@@ -851,6 +870,13 @@ def commit_block_list(
:type request_id_parameter: str
:param blob_tags_string: Optional. Used to set blob tags in various blob operations.
:type blob_tags_string: str
+ :param immutability_policy_expiry: Specifies the date time when the blobs immutability policy
+ is set to expire.
+ :type immutability_policy_expiry: ~datetime.datetime
+ :param immutability_policy_mode: Specifies the immutability policy mode to set on the blob.
+ :type immutability_policy_mode: str or ~azure.storage.blob.models.BlobImmutabilityPolicyMode
+ :param legal_hold: Specified if a legal hold should be set on the blob.
+ :type legal_hold: bool
:param blob_http_headers: Parameter group.
:type blob_http_headers: ~azure.storage.blob.models.BlobHTTPHeaders
:param lease_access_conditions: Parameter group.
@@ -971,6 +997,12 @@ def commit_block_list(
header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id_parameter", request_id_parameter, 'str')
if blob_tags_string is not None:
header_parameters['x-ms-tags'] = self._serialize.header("blob_tags_string", blob_tags_string, 'str')
+ if immutability_policy_expiry is not None:
+ header_parameters['x-ms-immutability-policy-until-date'] = self._serialize.header("immutability_policy_expiry", immutability_policy_expiry, 'rfc-1123')
+ if immutability_policy_mode is not None:
+ header_parameters['x-ms-immutability-policy-mode'] = self._serialize.header("immutability_policy_mode", immutability_policy_mode, 'str')
+ if legal_hold is not None:
+ header_parameters['x-ms-legal-hold'] = self._serialize.header("legal_hold", legal_hold, 'bool')
header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str')
header_parameters['Accept'] = self._serialize.header("accept", accept, 'str')
@@ -983,7 +1015,7 @@ def commit_block_list(
if response.status_code not in [201]:
map_error(status_code=response.status_code, response=response, error_map=error_map)
- error = self._deserialize(_models.StorageError, response)
+ error = self._deserialize.failsafe_deserialize(_models.StorageError, response)
raise HttpResponseError(response=response, model=error)
response_headers = {}
@@ -1092,7 +1124,7 @@ def get_block_list(
if response.status_code not in [200]:
map_error(status_code=response.status_code, response=response, error_map=error_map)
- error = self._deserialize(_models.StorageError, response)
+ error = self._deserialize.failsafe_deserialize(_models.StorageError, response)
raise HttpResponseError(response=response, model=error)
response_headers = {}
diff --git a/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/operations/_container_operations.py b/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/operations/_container_operations.py
index 32197532ef36..f01bbc4393fe 100644
--- a/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/operations/_container_operations.py
+++ b/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/operations/_container_operations.py
@@ -130,7 +130,7 @@ def create(
if response.status_code not in [201]:
map_error(status_code=response.status_code, response=response, error_map=error_map)
- error = self._deserialize(_models.StorageError, response)
+ error = self._deserialize.failsafe_deserialize(_models.StorageError, response)
raise HttpResponseError(response=response, model=error)
response_headers = {}
@@ -211,7 +211,7 @@ def get_properties(
if response.status_code not in [200]:
map_error(status_code=response.status_code, response=response, error_map=error_map)
- error = self._deserialize(_models.StorageError, response)
+ error = self._deserialize.failsafe_deserialize(_models.StorageError, response)
raise HttpResponseError(response=response, model=error)
response_headers = {}
@@ -230,6 +230,7 @@ def get_properties(
response_headers['x-ms-has-legal-hold']=self._deserialize('bool', response.headers.get('x-ms-has-legal-hold'))
response_headers['x-ms-default-encryption-scope']=self._deserialize('str', response.headers.get('x-ms-default-encryption-scope'))
response_headers['x-ms-deny-encryption-scope-override']=self._deserialize('bool', response.headers.get('x-ms-deny-encryption-scope-override'))
+ response_headers['x-ms-version-level-worm-enabled']=self._deserialize('bool', response.headers.get('x-ms-version-level-worm-enabled'))
if cls:
return cls(pipeline_response, None, response_headers)
@@ -313,7 +314,7 @@ def delete(
if response.status_code not in [202]:
map_error(status_code=response.status_code, response=response, error_map=error_map)
- error = self._deserialize(_models.StorageError, response)
+ error = self._deserialize.failsafe_deserialize(_models.StorageError, response)
raise HttpResponseError(response=response, model=error)
response_headers = {}
@@ -412,7 +413,7 @@ def set_metadata(
if response.status_code not in [200]:
map_error(status_code=response.status_code, response=response, error_map=error_map)
- error = self._deserialize(_models.StorageError, response)
+ error = self._deserialize.failsafe_deserialize(_models.StorageError, response)
raise HttpResponseError(response=response, model=error)
response_headers = {}
@@ -495,7 +496,7 @@ def get_access_policy(
if response.status_code not in [200]:
map_error(status_code=response.status_code, response=response, error_map=error_map)
- error = self._deserialize(_models.StorageError, response)
+ error = self._deserialize.failsafe_deserialize(_models.StorageError, response)
raise HttpResponseError(response=response, model=error)
response_headers = {}
@@ -611,7 +612,7 @@ def set_access_policy(
if response.status_code not in [200]:
map_error(status_code=response.status_code, response=response, error_map=error_map)
- error = self._deserialize(_models.StorageError, response)
+ error = self._deserialize.failsafe_deserialize(_models.StorageError, response)
raise HttpResponseError(response=response, model=error)
response_headers = {}
@@ -696,7 +697,7 @@ def restore(
if response.status_code not in [201]:
map_error(status_code=response.status_code, response=response, error_map=error_map)
- error = self._deserialize(_models.StorageError, response)
+ error = self._deserialize.failsafe_deserialize(_models.StorageError, response)
raise HttpResponseError(response=response, model=error)
response_headers = {}
@@ -777,7 +778,7 @@ def rename(
if response.status_code not in [200]:
map_error(status_code=response.status_code, response=response, error_map=error_map)
- error = self._deserialize(_models.StorageError, response)
+ error = self._deserialize.failsafe_deserialize(_models.StorageError, response)
raise HttpResponseError(response=response, model=error)
response_headers = {}
@@ -865,7 +866,7 @@ def submit_batch(
if response.status_code not in [202]:
map_error(status_code=response.status_code, response=response, error_map=error_map)
- error = self._deserialize(_models.StorageError, response)
+ error = self._deserialize.failsafe_deserialize(_models.StorageError, response)
raise HttpResponseError(response=response, model=error)
response_headers = {}
@@ -967,7 +968,7 @@ def acquire_lease(
if response.status_code not in [201]:
map_error(status_code=response.status_code, response=response, error_map=error_map)
- error = self._deserialize(_models.StorageError, response)
+ error = self._deserialize.failsafe_deserialize(_models.StorageError, response)
raise HttpResponseError(response=response, model=error)
response_headers = {}
@@ -1061,7 +1062,7 @@ def release_lease(
if response.status_code not in [200]:
map_error(status_code=response.status_code, response=response, error_map=error_map)
- error = self._deserialize(_models.StorageError, response)
+ error = self._deserialize.failsafe_deserialize(_models.StorageError, response)
raise HttpResponseError(response=response, model=error)
response_headers = {}
@@ -1154,7 +1155,7 @@ def renew_lease(
if response.status_code not in [200]:
map_error(status_code=response.status_code, response=response, error_map=error_map)
- error = self._deserialize(_models.StorageError, response)
+ error = self._deserialize.failsafe_deserialize(_models.StorageError, response)
raise HttpResponseError(response=response, model=error)
response_headers = {}
@@ -1255,7 +1256,7 @@ def break_lease(
if response.status_code not in [202]:
map_error(status_code=response.status_code, response=response, error_map=error_map)
- error = self._deserialize(_models.StorageError, response)
+ error = self._deserialize.failsafe_deserialize(_models.StorageError, response)
raise HttpResponseError(response=response, model=error)
response_headers = {}
@@ -1355,7 +1356,7 @@ def change_lease(
if response.status_code not in [200]:
map_error(status_code=response.status_code, response=response, error_map=error_map)
- error = self._deserialize(_models.StorageError, response)
+ error = self._deserialize.failsafe_deserialize(_models.StorageError, response)
raise HttpResponseError(response=response, model=error)
response_headers = {}
@@ -1461,7 +1462,7 @@ def list_blob_flat_segment(
if response.status_code not in [200]:
map_error(status_code=response.status_code, response=response, error_map=error_map)
- error = self._deserialize(_models.StorageError, response)
+ error = self._deserialize.failsafe_deserialize(_models.StorageError, response)
raise HttpResponseError(response=response, model=error)
response_headers = {}
@@ -1574,7 +1575,7 @@ def list_blob_hierarchy_segment(
if response.status_code not in [200]:
map_error(status_code=response.status_code, response=response, error_map=error_map)
- error = self._deserialize(_models.StorageError, response)
+ error = self._deserialize.failsafe_deserialize(_models.StorageError, response)
raise HttpResponseError(response=response, model=error)
response_headers = {}
@@ -1635,7 +1636,7 @@ def get_account_info(
if response.status_code not in [200]:
map_error(status_code=response.status_code, response=response, error_map=error_map)
- error = self._deserialize(_models.StorageError, response)
+ error = self._deserialize.failsafe_deserialize(_models.StorageError, response)
raise HttpResponseError(response=response, model=error)
response_headers = {}
diff --git a/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/operations/_directory_operations.py b/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/operations/_directory_operations.py
index f025757048df..5ecabc18b75b 100644
--- a/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/operations/_directory_operations.py
+++ b/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/operations/_directory_operations.py
@@ -182,7 +182,7 @@ def create(
if response.status_code not in [201]:
map_error(status_code=response.status_code, response=response, error_map=error_map)
- error = self._deserialize(_models.DataLakeStorageError, response)
+ error = self._deserialize.failsafe_deserialize(_models.DataLakeStorageError, response)
raise HttpResponseError(response=response, model=error)
response_headers = {}
@@ -381,7 +381,7 @@ def rename(
if response.status_code not in [201]:
map_error(status_code=response.status_code, response=response, error_map=error_map)
- error = self._deserialize(_models.DataLakeStorageError, response)
+ error = self._deserialize.failsafe_deserialize(_models.DataLakeStorageError, response)
raise HttpResponseError(response=response, model=error)
response_headers = {}
@@ -495,7 +495,7 @@ def delete(
if response.status_code not in [200]:
map_error(status_code=response.status_code, response=response, error_map=error_map)
- error = self._deserialize(_models.DataLakeStorageError, response)
+ error = self._deserialize.failsafe_deserialize(_models.DataLakeStorageError, response)
raise HttpResponseError(response=response, model=error)
response_headers = {}
@@ -620,7 +620,7 @@ def set_access_control(
if response.status_code not in [200]:
map_error(status_code=response.status_code, response=response, error_map=error_map)
- error = self._deserialize(_models.DataLakeStorageError, response)
+ error = self._deserialize.failsafe_deserialize(_models.DataLakeStorageError, response)
raise HttpResponseError(response=response, model=error)
response_headers = {}
@@ -728,7 +728,7 @@ def get_access_control(
if response.status_code not in [200]:
map_error(status_code=response.status_code, response=response, error_map=error_map)
- error = self._deserialize(_models.DataLakeStorageError, response)
+ error = self._deserialize.failsafe_deserialize(_models.DataLakeStorageError, response)
raise HttpResponseError(response=response, model=error)
response_headers = {}
diff --git a/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/operations/_page_blob_operations.py b/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/operations/_page_blob_operations.py
index e7f8a0223351..27e1afec657e 100644
--- a/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/operations/_page_blob_operations.py
+++ b/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/operations/_page_blob_operations.py
@@ -55,6 +55,9 @@ def create(
blob_sequence_number=0, # type: Optional[int]
request_id_parameter=None, # type: Optional[str]
blob_tags_string=None, # type: Optional[str]
+ immutability_policy_expiry=None, # type: Optional[datetime.datetime]
+ immutability_policy_mode=None, # type: Optional[Union[str, "_models.BlobImmutabilityPolicyMode"]]
+ legal_hold=None, # type: Optional[bool]
blob_http_headers=None, # type: Optional["_models.BlobHTTPHeaders"]
lease_access_conditions=None, # type: Optional["_models.LeaseAccessConditions"]
cpk_info=None, # type: Optional["_models.CpkInfo"]
@@ -97,6 +100,13 @@ def create(
:type request_id_parameter: str
:param blob_tags_string: Optional. Used to set blob tags in various blob operations.
:type blob_tags_string: str
+ :param immutability_policy_expiry: Specifies the date time when the blobs immutability policy
+ is set to expire.
+ :type immutability_policy_expiry: ~datetime.datetime
+ :param immutability_policy_mode: Specifies the immutability policy mode to set on the blob.
+ :type immutability_policy_mode: str or ~azure.storage.blob.models.BlobImmutabilityPolicyMode
+ :param legal_hold: Specified if a legal hold should be set on the blob.
+ :type legal_hold: bool
:param blob_http_headers: Parameter group.
:type blob_http_headers: ~azure.storage.blob.models.BlobHTTPHeaders
:param lease_access_conditions: Parameter group.
@@ -216,6 +226,12 @@ def create(
header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id_parameter", request_id_parameter, 'str')
if blob_tags_string is not None:
header_parameters['x-ms-tags'] = self._serialize.header("blob_tags_string", blob_tags_string, 'str')
+ if immutability_policy_expiry is not None:
+ header_parameters['x-ms-immutability-policy-until-date'] = self._serialize.header("immutability_policy_expiry", immutability_policy_expiry, 'rfc-1123')
+ if immutability_policy_mode is not None:
+ header_parameters['x-ms-immutability-policy-mode'] = self._serialize.header("immutability_policy_mode", immutability_policy_mode, 'str')
+ if legal_hold is not None:
+ header_parameters['x-ms-legal-hold'] = self._serialize.header("legal_hold", legal_hold, 'bool')
header_parameters['Accept'] = self._serialize.header("accept", accept, 'str')
request = self._client.put(url, query_parameters, header_parameters)
@@ -224,7 +240,7 @@ def create(
if response.status_code not in [201]:
map_error(status_code=response.status_code, response=response, error_map=error_map)
- error = self._deserialize(_models.StorageError, response)
+ error = self._deserialize.failsafe_deserialize(_models.StorageError, response)
raise HttpResponseError(response=response, model=error)
response_headers = {}
@@ -406,7 +422,7 @@ def upload_pages(
if response.status_code not in [201]:
map_error(status_code=response.status_code, response=response, error_map=error_map)
- error = self._deserialize(_models.StorageError, response)
+ error = self._deserialize.failsafe_deserialize(_models.StorageError, response)
raise HttpResponseError(response=response, model=error)
response_headers = {}
@@ -570,7 +586,7 @@ def clear_pages(
if response.status_code not in [201]:
map_error(status_code=response.status_code, response=response, error_map=error_map)
- error = self._deserialize(_models.StorageError, response)
+ error = self._deserialize.failsafe_deserialize(_models.StorageError, response)
raise HttpResponseError(response=response, model=error)
response_headers = {}
@@ -773,7 +789,7 @@ def upload_pages_from_url(
if response.status_code not in [201]:
map_error(status_code=response.status_code, response=response, error_map=error_map)
- error = self._deserialize(_models.StorageError, response)
+ error = self._deserialize.failsafe_deserialize(_models.StorageError, response)
raise HttpResponseError(response=response, model=error)
response_headers = {}
@@ -897,7 +913,7 @@ def get_page_ranges(
if response.status_code not in [200]:
map_error(status_code=response.status_code, response=response, error_map=error_map)
- error = self._deserialize(_models.StorageError, response)
+ error = self._deserialize.failsafe_deserialize(_models.StorageError, response)
raise HttpResponseError(response=response, model=error)
response_headers = {}
@@ -1037,7 +1053,7 @@ def get_page_ranges_diff(
if response.status_code not in [200]:
map_error(status_code=response.status_code, response=response, error_map=error_map)
- error = self._deserialize(_models.StorageError, response)
+ error = self._deserialize.failsafe_deserialize(_models.StorageError, response)
raise HttpResponseError(response=response, model=error)
response_headers = {}
@@ -1176,7 +1192,7 @@ def resize(
if response.status_code not in [200]:
map_error(status_code=response.status_code, response=response, error_map=error_map)
- error = self._deserialize(_models.StorageError, response)
+ error = self._deserialize.failsafe_deserialize(_models.StorageError, response)
raise HttpResponseError(response=response, model=error)
response_headers = {}
@@ -1294,7 +1310,7 @@ def update_sequence_number(
if response.status_code not in [200]:
map_error(status_code=response.status_code, response=response, error_map=error_map)
- error = self._deserialize(_models.StorageError, response)
+ error = self._deserialize.failsafe_deserialize(_models.StorageError, response)
raise HttpResponseError(response=response, model=error)
response_headers = {}
@@ -1402,7 +1418,7 @@ def copy_incremental(
if response.status_code not in [202]:
map_error(status_code=response.status_code, response=response, error_map=error_map)
- error = self._deserialize(_models.StorageError, response)
+ error = self._deserialize.failsafe_deserialize(_models.StorageError, response)
raise HttpResponseError(response=response, model=error)
response_headers = {}
diff --git a/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/operations/_service_operations.py b/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/operations/_service_operations.py
index 72f7a73fdf50..4a0d8b3bb38a 100644
--- a/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/operations/_service_operations.py
+++ b/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/operations/_service_operations.py
@@ -109,7 +109,7 @@ def set_properties(
if response.status_code not in [202]:
map_error(status_code=response.status_code, response=response, error_map=error_map)
- error = self._deserialize(_models.StorageError, response)
+ error = self._deserialize.failsafe_deserialize(_models.StorageError, response)
raise HttpResponseError(response=response, model=error)
response_headers = {}
@@ -180,7 +180,7 @@ def get_properties(
if response.status_code not in [200]:
map_error(status_code=response.status_code, response=response, error_map=error_map)
- error = self._deserialize(_models.StorageError, response)
+ error = self._deserialize.failsafe_deserialize(_models.StorageError, response)
raise HttpResponseError(response=response, model=error)
response_headers = {}
@@ -254,7 +254,7 @@ def get_statistics(
if response.status_code not in [200]:
map_error(status_code=response.status_code, response=response, error_map=error_map)
- error = self._deserialize(_models.StorageError, response)
+ error = self._deserialize.failsafe_deserialize(_models.StorageError, response)
raise HttpResponseError(response=response, model=error)
response_headers = {}
@@ -358,7 +358,7 @@ def list_containers_segment(
if response.status_code not in [200]:
map_error(status_code=response.status_code, response=response, error_map=error_map)
- error = self._deserialize(_models.StorageError, response)
+ error = self._deserialize.failsafe_deserialize(_models.StorageError, response)
raise HttpResponseError(response=response, model=error)
response_headers = {}
@@ -439,7 +439,7 @@ def get_user_delegation_key(
if response.status_code not in [200]:
map_error(status_code=response.status_code, response=response, error_map=error_map)
- error = self._deserialize(_models.StorageError, response)
+ error = self._deserialize.failsafe_deserialize(_models.StorageError, response)
raise HttpResponseError(response=response, model=error)
response_headers = {}
@@ -499,7 +499,7 @@ def get_account_info(
if response.status_code not in [200]:
map_error(status_code=response.status_code, response=response, error_map=error_map)
- error = self._deserialize(_models.StorageError, response)
+ error = self._deserialize.failsafe_deserialize(_models.StorageError, response)
raise HttpResponseError(response=response, model=error)
response_headers = {}
@@ -588,7 +588,7 @@ def submit_batch(
if response.status_code not in [200]:
map_error(status_code=response.status_code, response=response, error_map=error_map)
- error = self._deserialize(_models.StorageError, response)
+ error = self._deserialize.failsafe_deserialize(_models.StorageError, response)
raise HttpResponseError(response=response, model=error)
response_headers = {}
@@ -686,7 +686,7 @@ def filter_blobs(
if response.status_code not in [200]:
map_error(status_code=response.status_code, response=response, error_map=error_map)
- error = self._deserialize(_models.StorageError, response)
+ error = self._deserialize.failsafe_deserialize(_models.StorageError, response)
raise HttpResponseError(response=response, model=error)
response_headers = {}
diff --git a/sdk/storage/azure-storage-blob/azure/storage/blob/_models.py b/sdk/storage/azure-storage-blob/azure/storage/blob/_models.py
index 00a53dc68bfb..d1ba86751695 100644
--- a/sdk/storage/azure-storage-blob/azure/storage/blob/_models.py
+++ b/sdk/storage/azure-storage-blob/azure/storage/blob/_models.py
@@ -67,6 +67,14 @@ class PremiumPageBlobTier(str, Enum):
P60 = 'P60' #: P60 Tier
+class QuickQueryDialect(str, Enum):
+ """Specifies the quick query input/output dialect."""
+
+ DelimitedTextDialect = 'DelimitedTextDialect'
+ DelimitedJsonDialect = 'DelimitedJsonDialect'
+ ParquetDialect = 'ParquetDialect'
+
+
class SequenceNumberAction(str, Enum):
"""Sequence number actions."""
@@ -1037,6 +1045,11 @@ def __init__(self, **kwargs):
self.has_header = kwargs.pop('has_header', False)
+class ParquetDialect(object):
+ """Defines parquet input serialization for a blob query request."""
+ pass
+
+
class ArrowDialect(ArrowField):
"""field of an arrow schema.
diff --git a/sdk/storage/azure-storage-blob/azure/storage/blob/_quick_query_helper.py b/sdk/storage/azure-storage-blob/azure/storage/blob/_quick_query_helper.py
index eb51d987b9ac..3164337308c3 100644
--- a/sdk/storage/azure-storage-blob/azure/storage/blob/_quick_query_helper.py
+++ b/sdk/storage/azure-storage-blob/azure/storage/blob/_quick_query_helper.py
@@ -123,7 +123,6 @@ def records(self):
yield record
-
class QuickQueryStreamer(object):
"""
File-like streaming iterator.
diff --git a/sdk/storage/azure-storage-blob/azure/storage/blob/_serialize.py b/sdk/storage/azure-storage-blob/azure/storage/blob/_serialize.py
index 57f748af1e20..c2e150dda40d 100644
--- a/sdk/storage/azure-storage-blob/azure/storage/blob/_serialize.py
+++ b/sdk/storage/azure-storage-blob/azure/storage/blob/_serialize.py
@@ -13,7 +13,7 @@
from ._models import (
ContainerEncryptionScope,
- DelimitedJsonDialect)
+ DelimitedJsonDialect, ParquetDialect)
from ._generated.models import (
ModifiedAccessConditions,
SourceModifiedAccessConditions,
@@ -37,7 +37,8 @@
'2019-12-12',
'2020-02-10',
'2020-04-08',
- '2020-06-12'
+ '2020-06-12',
+ '2020-08-04'
]
@@ -161,7 +162,12 @@ def serialize_blob_tags(tags=None):
def serialize_query_format(formater):
- if isinstance(formater, DelimitedJsonDialect):
+ if isinstance(formater, ParquetDialect):
+ qq_format = QueryFormat(
+ type=QueryFormatType.PARQUET,
+ parquet_text_configuration=' '
+ )
+ elif isinstance(formater, DelimitedJsonDialect):
serialization_settings = JsonTextConfiguration(
record_separator=formater.delimiter
)
@@ -194,5 +200,5 @@ def serialize_query_format(formater):
elif not formater:
return None
else:
- raise TypeError("Format must be DelimitedTextDialect or DelimitedJsonDialect.")
+ raise TypeError("Format must be DelimitedTextDialect or DelimitedJsonDialect or ParquetDialect.")
return QuerySerialization(format=qq_format)
diff --git a/sdk/storage/azure-storage-blob/azure/storage/blob/_version.py b/sdk/storage/azure-storage-blob/azure/storage/blob/_version.py
index b4b6e3dd3c20..b21fcd5488bb 100644
--- a/sdk/storage/azure-storage-blob/azure/storage/blob/_version.py
+++ b/sdk/storage/azure-storage-blob/azure/storage/blob/_version.py
@@ -4,4 +4,4 @@
# license information.
# --------------------------------------------------------------------------
-VERSION = "12.8.1b1"
+VERSION = "12.9.0b1"
diff --git a/sdk/storage/azure-storage-blob/setup.py b/sdk/storage/azure-storage-blob/setup.py
index bdeb5bf94b6d..ebd76c2903c8 100644
--- a/sdk/storage/azure-storage-blob/setup.py
+++ b/sdk/storage/azure-storage-blob/setup.py
@@ -94,7 +94,7 @@
]),
install_requires=[
"azure-core<2.0.0,>=1.10.0",
- "msrest>=0.6.18",
+ "msrest>=0.6.21",
"cryptography>=2.1.4"
],
extras_require={
diff --git a/sdk/storage/azure-storage-blob/swagger/README.md b/sdk/storage/azure-storage-blob/swagger/README.md
index e54914c0e21d..5364044aa8ee 100644
--- a/sdk/storage/azure-storage-blob/swagger/README.md
+++ b/sdk/storage/azure-storage-blob/swagger/README.md
@@ -16,7 +16,7 @@ autorest --v3 --python
### Settings
``` yaml
-input-file: https://raw.githubusercontent.com/Azure/azure-rest-api-specs/storage-dataplane-preview/specification/storage/data-plane/Microsoft.BlobStorage/preview/2020-04-08/blob.json
+input-file: https://raw.githubusercontent.com/Azure/azure-rest-api-specs/storage-dataplane-preview/specification/storage/data-plane/Microsoft.BlobStorage/preview/2020-08-04/blob.json
output-folder: ../azure/storage/blob/_generated
namespace: azure.storage.blob
no-namespace-folders: true
diff --git a/sdk/storage/azure-storage-blob/tests/parquet.parquet b/sdk/storage/azure-storage-blob/tests/parquet.parquet
new file mode 100644
index 000000000000..8eff6678085d
Binary files /dev/null and b/sdk/storage/azure-storage-blob/tests/parquet.parquet differ
diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_quick_query.test_quick_query_input_in_parquet_format.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_quick_query.test_quick_query_input_in_parquet_format.yaml
new file mode 100644
index 000000000000..c2a2eab4511c
--- /dev/null
+++ b/sdk/storage/azure-storage-blob/tests/recordings/test_quick_query.test_quick_query_input_in_parquet_format.yaml
@@ -0,0 +1,1594 @@
+interactions:
+- request:
+ body: null
+ headers:
+ Accept:
+ - application/xml
+ Accept-Encoding:
+ - gzip, deflate
+ Connection:
+ - keep-alive
+ Content-Length:
+ - '0'
+ User-Agent:
+ - azsdk-python-storage-blob/12.8.0 Python/3.8.5 (Windows-10-10.0.19041-SP0)
+ x-ms-date:
+ - Fri, 09 Apr 2021 04:03:14 GMT
+ x-ms-version:
+ - '2020-08-04'
+ method: PUT
+ uri: https://storagename.blob.core.windows.net/utqqcontainerb38317df?restype=container
+ response:
+ body:
+ string: "\uFEFFContainerAlreadyExists
The
+ specified container already exists.\nRequestId:95663fec-c01e-0005-03f5-2c3b70000000\nTime:2021-04-09T04:03:15.4909578Z"
+ headers:
+ content-length:
+ - '230'
+ content-type:
+ - application/xml
+ date:
+ - Fri, 09 Apr 2021 04:03:14 GMT
+ server:
+ - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0
+ x-ms-error-code:
+ - ContainerAlreadyExists
+ x-ms-version:
+ - '2020-08-04'
+ status:
+ code: 409
+ message: The specified container already exists.
+- request:
+ body: !!binary |
+ UEFSMRUAFeJrFeJrLBXQDxUAFQYVBhwYAzk5ORgBMBYAFtAPGAM5OTkYATAAAAADAAAA0A8BAQAA
+ ADABAAAAMQEAAAAyAQAAADMBAAAANAEAAAA1AQAAADYBAAAANwEAAAA4AQAAADkCAAAAMTACAAAA
+ MTECAAAAMTICAAAAMTMCAAAAMTQCAAAAMTUCAAAAMTYCAAAAMTcCAAAAMTgCAAAAMTkCAAAAMjAC
+ AAAAMjECAAAAMjICAAAAMjMCAAAAMjQCAAAAMjUCAAAAMjYCAAAAMjcCAAAAMjgCAAAAMjkCAAAA
+ MzACAAAAMzECAAAAMzICAAAAMzMCAAAAMzQCAAAAMzUCAAAAMzYCAAAAMzcCAAAAMzgCAAAAMzkC
+ AAAANDACAAAANDECAAAANDICAAAANDMCAAAANDQCAAAANDUCAAAANDYCAAAANDcCAAAANDgCAAAA
+ NDkCAAAANTACAAAANTECAAAANTICAAAANTMCAAAANTQCAAAANTUCAAAANTYCAAAANTcCAAAANTgC
+ AAAANTkCAAAANjACAAAANjECAAAANjICAAAANjMCAAAANjQCAAAANjUCAAAANjYCAAAANjcCAAAA
+ NjgCAAAANjkCAAAANzACAAAANzECAAAANzICAAAANzMCAAAANzQCAAAANzUCAAAANzYCAAAANzcC
+ AAAANzgCAAAANzkCAAAAODACAAAAODECAAAAODICAAAAODMCAAAAODQCAAAAODUCAAAAODYCAAAA
+ ODcCAAAAODgCAAAAODkCAAAAOTACAAAAOTECAAAAOTICAAAAOTMCAAAAOTQCAAAAOTUCAAAAOTYC
+ AAAAOTcCAAAAOTgCAAAAOTkDAAAAMTAwAwAAADEwMQMAAAAxMDIDAAAAMTAzAwAAADEwNAMAAAAx
+ MDUDAAAAMTA2AwAAADEwNwMAAAAxMDgDAAAAMTA5AwAAADExMAMAAAAxMTEDAAAAMTEyAwAAADEx
+ MwMAAAAxMTQDAAAAMTE1AwAAADExNgMAAAAxMTcDAAAAMTE4AwAAADExOQMAAAAxMjADAAAAMTIx
+ AwAAADEyMgMAAAAxMjMDAAAAMTI0AwAAADEyNQMAAAAxMjYDAAAAMTI3AwAAADEyOAMAAAAxMjkD
+ AAAAMTMwAwAAADEzMQMAAAAxMzIDAAAAMTMzAwAAADEzNAMAAAAxMzUDAAAAMTM2AwAAADEzNwMA
+ AAAxMzgDAAAAMTM5AwAAADE0MAMAAAAxNDEDAAAAMTQyAwAAADE0MwMAAAAxNDQDAAAAMTQ1AwAA
+ ADE0NgMAAAAxNDcDAAAAMTQ4AwAAADE0OQMAAAAxNTADAAAAMTUxAwAAADE1MgMAAAAxNTMDAAAA
+ MTU0AwAAADE1NQMAAAAxNTYDAAAAMTU3AwAAADE1OAMAAAAxNTkDAAAAMTYwAwAAADE2MQMAAAAx
+ NjIDAAAAMTYzAwAAADE2NAMAAAAxNjUDAAAAMTY2AwAAADE2NwMAAAAxNjgDAAAAMTY5AwAAADE3
+ MAMAAAAxNzEDAAAAMTcyAwAAADE3MwMAAAAxNzQDAAAAMTc1AwAAADE3NgMAAAAxNzcDAAAAMTc4
+ AwAAADE3OQMAAAAxODADAAAAMTgxAwAAADE4MgMAAAAxODMDAAAAMTg0AwAAADE4NQMAAAAxODYD
+ AAAAMTg3AwAAADE4OAMAAAAxODkDAAAAMTkwAwAAADE5MQMAAAAxOTIDAAAAMTkzAwAAADE5NAMA
+ AAAxOTUDAAAAMTk2AwAAADE5NwMAAAAxOTgDAAAAMTk5AwAAADIwMAMAAAAyMDEDAAAAMjAyAwAA
+ ADIwMwMAAAAyMDQDAAAAMjA1AwAAADIwNgMAAAAyMDcDAAAAMjA4AwAAADIwOQMAAAAyMTADAAAA
+ MjExAwAAADIxMgMAAAAyMTMDAAAAMjE0AwAAADIxNQMAAAAyMTYDAAAAMjE3AwAAADIxOAMAAAAy
+ MTkDAAAAMjIwAwAAADIyMQMAAAAyMjIDAAAAMjIzAwAAADIyNAMAAAAyMjUDAAAAMjI2AwAAADIy
+ NwMAAAAyMjgDAAAAMjI5AwAAADIzMAMAAAAyMzEDAAAAMjMyAwAAADIzMwMAAAAyMzQDAAAAMjM1
+ AwAAADIzNgMAAAAyMzcDAAAAMjM4AwAAADIzOQMAAAAyNDADAAAAMjQxAwAAADI0MgMAAAAyNDMD
+ AAAAMjQ0AwAAADI0NQMAAAAyNDYDAAAAMjQ3AwAAADI0OAMAAAAyNDkDAAAAMjUwAwAAADI1MQMA
+ AAAyNTIDAAAAMjUzAwAAADI1NAMAAAAyNTUDAAAAMjU2AwAAADI1NwMAAAAyNTgDAAAAMjU5AwAA
+ ADI2MAMAAAAyNjEDAAAAMjYyAwAAADI2MwMAAAAyNjQDAAAAMjY1AwAAADI2NgMAAAAyNjcDAAAA
+ MjY4AwAAADI2OQMAAAAyNzADAAAAMjcxAwAAADI3MgMAAAAyNzMDAAAAMjc0AwAAADI3NQMAAAAy
+ NzYDAAAAMjc3AwAAADI3OAMAAAAyNzkDAAAAMjgwAwAAADI4MQMAAAAyODIDAAAAMjgzAwAAADI4
+ NAMAAAAyODUDAAAAMjg2AwAAADI4NwMAAAAyODgDAAAAMjg5AwAAADI5MAMAAAAyOTEDAAAAMjky
+ AwAAADI5MwMAAAAyOTQDAAAAMjk1AwAAADI5NgMAAAAyOTcDAAAAMjk4AwAAADI5OQMAAAAzMDAD
+ AAAAMzAxAwAAADMwMgMAAAAzMDMDAAAAMzA0AwAAADMwNQMAAAAzMDYDAAAAMzA3AwAAADMwOAMA
+ AAAzMDkDAAAAMzEwAwAAADMxMQMAAAAzMTIDAAAAMzEzAwAAADMxNAMAAAAzMTUDAAAAMzE2AwAA
+ ADMxNwMAAAAzMTgDAAAAMzE5AwAAADMyMAMAAAAzMjEDAAAAMzIyAwAAADMyMwMAAAAzMjQDAAAA
+ MzI1AwAAADMyNgMAAAAzMjcDAAAAMzI4AwAAADMyOQMAAAAzMzADAAAAMzMxAwAAADMzMgMAAAAz
+ MzMDAAAAMzM0AwAAADMzNQMAAAAzMzYDAAAAMzM3AwAAADMzOAMAAAAzMzkDAAAAMzQwAwAAADM0
+ MQMAAAAzNDIDAAAAMzQzAwAAADM0NAMAAAAzNDUDAAAAMzQ2AwAAADM0NwMAAAAzNDgDAAAAMzQ5
+ AwAAADM1MAMAAAAzNTEDAAAAMzUyAwAAADM1MwMAAAAzNTQDAAAAMzU1AwAAADM1NgMAAAAzNTcD
+ AAAAMzU4AwAAADM1OQMAAAAzNjADAAAAMzYxAwAAADM2MgMAAAAzNjMDAAAAMzY0AwAAADM2NQMA
+ AAAzNjYDAAAAMzY3AwAAADM2OAMAAAAzNjkDAAAAMzcwAwAAADM3MQMAAAAzNzIDAAAAMzczAwAA
+ ADM3NAMAAAAzNzUDAAAAMzc2AwAAADM3NwMAAAAzNzgDAAAAMzc5AwAAADM4MAMAAAAzODEDAAAA
+ MzgyAwAAADM4MwMAAAAzODQDAAAAMzg1AwAAADM4NgMAAAAzODcDAAAAMzg4AwAAADM4OQMAAAAz
+ OTADAAAAMzkxAwAAADM5MgMAAAAzOTMDAAAAMzk0AwAAADM5NQMAAAAzOTYDAAAAMzk3AwAAADM5
+ OAMAAAAzOTkDAAAANDAwAwAAADQwMQMAAAA0MDIDAAAANDAzAwAAADQwNAMAAAA0MDUDAAAANDA2
+ AwAAADQwNwMAAAA0MDgDAAAANDA5AwAAADQxMAMAAAA0MTEDAAAANDEyAwAAADQxMwMAAAA0MTQD
+ AAAANDE1AwAAADQxNgMAAAA0MTcDAAAANDE4AwAAADQxOQMAAAA0MjADAAAANDIxAwAAADQyMgMA
+ AAA0MjMDAAAANDI0AwAAADQyNQMAAAA0MjYDAAAANDI3AwAAADQyOAMAAAA0MjkDAAAANDMwAwAA
+ ADQzMQMAAAA0MzIDAAAANDMzAwAAADQzNAMAAAA0MzUDAAAANDM2AwAAADQzNwMAAAA0MzgDAAAA
+ NDM5AwAAADQ0MAMAAAA0NDEDAAAANDQyAwAAADQ0MwMAAAA0NDQDAAAANDQ1AwAAADQ0NgMAAAA0
+ NDcDAAAANDQ4AwAAADQ0OQMAAAA0NTADAAAANDUxAwAAADQ1MgMAAAA0NTMDAAAANDU0AwAAADQ1
+ NQMAAAA0NTYDAAAANDU3AwAAADQ1OAMAAAA0NTkDAAAANDYwAwAAADQ2MQMAAAA0NjIDAAAANDYz
+ AwAAADQ2NAMAAAA0NjUDAAAANDY2AwAAADQ2NwMAAAA0NjgDAAAANDY5AwAAADQ3MAMAAAA0NzED
+ AAAANDcyAwAAADQ3MwMAAAA0NzQDAAAANDc1AwAAADQ3NgMAAAA0NzcDAAAANDc4AwAAADQ3OQMA
+ AAA0ODADAAAANDgxAwAAADQ4MgMAAAA0ODMDAAAANDg0AwAAADQ4NQMAAAA0ODYDAAAANDg3AwAA
+ ADQ4OAMAAAA0ODkDAAAANDkwAwAAADQ5MQMAAAA0OTIDAAAANDkzAwAAADQ5NAMAAAA0OTUDAAAA
+ NDk2AwAAADQ5NwMAAAA0OTgDAAAANDk5AwAAADUwMAMAAAA1MDEDAAAANTAyAwAAADUwMwMAAAA1
+ MDQDAAAANTA1AwAAADUwNgMAAAA1MDcDAAAANTA4AwAAADUwOQMAAAA1MTADAAAANTExAwAAADUx
+ MgMAAAA1MTMDAAAANTE0AwAAADUxNQMAAAA1MTYDAAAANTE3AwAAADUxOAMAAAA1MTkDAAAANTIw
+ AwAAADUyMQMAAAA1MjIDAAAANTIzAwAAADUyNAMAAAA1MjUDAAAANTI2AwAAADUyNwMAAAA1MjgD
+ AAAANTI5AwAAADUzMAMAAAA1MzEDAAAANTMyAwAAADUzMwMAAAA1MzQDAAAANTM1AwAAADUzNgMA
+ AAA1MzcDAAAANTM4AwAAADUzOQMAAAA1NDADAAAANTQxAwAAADU0MgMAAAA1NDMDAAAANTQ0AwAA
+ ADU0NQMAAAA1NDYDAAAANTQ3AwAAADU0OAMAAAA1NDkDAAAANTUwAwAAADU1MQMAAAA1NTIDAAAA
+ NTUzAwAAADU1NAMAAAA1NTUDAAAANTU2AwAAADU1NwMAAAA1NTgDAAAANTU5AwAAADU2MAMAAAA1
+ NjEDAAAANTYyAwAAADU2MwMAAAA1NjQDAAAANTY1AwAAADU2NgMAAAA1NjcDAAAANTY4AwAAADU2
+ OQMAAAA1NzADAAAANTcxAwAAADU3MgMAAAA1NzMDAAAANTc0AwAAADU3NQMAAAA1NzYDAAAANTc3
+ AwAAADU3OAMAAAA1NzkDAAAANTgwAwAAADU4MQMAAAA1ODIDAAAANTgzAwAAADU4NAMAAAA1ODUD
+ AAAANTg2AwAAADU4NwMAAAA1ODgDAAAANTg5AwAAADU5MAMAAAA1OTEDAAAANTkyAwAAADU5MwMA
+ AAA1OTQDAAAANTk1AwAAADU5NgMAAAA1OTcDAAAANTk4AwAAADU5OQMAAAA2MDADAAAANjAxAwAA
+ ADYwMgMAAAA2MDMDAAAANjA0AwAAADYwNQMAAAA2MDYDAAAANjA3AwAAADYwOAMAAAA2MDkDAAAA
+ NjEwAwAAADYxMQMAAAA2MTIDAAAANjEzAwAAADYxNAMAAAA2MTUDAAAANjE2AwAAADYxNwMAAAA2
+ MTgDAAAANjE5AwAAADYyMAMAAAA2MjEDAAAANjIyAwAAADYyMwMAAAA2MjQDAAAANjI1AwAAADYy
+ NgMAAAA2MjcDAAAANjI4AwAAADYyOQMAAAA2MzADAAAANjMxAwAAADYzMgMAAAA2MzMDAAAANjM0
+ AwAAADYzNQMAAAA2MzYDAAAANjM3AwAAADYzOAMAAAA2MzkDAAAANjQwAwAAADY0MQMAAAA2NDID
+ AAAANjQzAwAAADY0NAMAAAA2NDUDAAAANjQ2AwAAADY0NwMAAAA2NDgDAAAANjQ5AwAAADY1MAMA
+ AAA2NTEDAAAANjUyAwAAADY1MwMAAAA2NTQDAAAANjU1AwAAADY1NgMAAAA2NTcDAAAANjU4AwAA
+ ADY1OQMAAAA2NjADAAAANjYxAwAAADY2MgMAAAA2NjMDAAAANjY0AwAAADY2NQMAAAA2NjYDAAAA
+ NjY3AwAAADY2OAMAAAA2NjkDAAAANjcwAwAAADY3MQMAAAA2NzIDAAAANjczAwAAADY3NAMAAAA2
+ NzUDAAAANjc2AwAAADY3NwMAAAA2NzgDAAAANjc5AwAAADY4MAMAAAA2ODEDAAAANjgyAwAAADY4
+ MwMAAAA2ODQDAAAANjg1AwAAADY4NgMAAAA2ODcDAAAANjg4AwAAADY4OQMAAAA2OTADAAAANjkx
+ AwAAADY5MgMAAAA2OTMDAAAANjk0AwAAADY5NQMAAAA2OTYDAAAANjk3AwAAADY5OAMAAAA2OTkD
+ AAAANzAwAwAAADcwMQMAAAA3MDIDAAAANzAzAwAAADcwNAMAAAA3MDUDAAAANzA2AwAAADcwNwMA
+ AAA3MDgDAAAANzA5AwAAADcxMAMAAAA3MTEDAAAANzEyAwAAADcxMwMAAAA3MTQDAAAANzE1AwAA
+ ADcxNgMAAAA3MTcDAAAANzE4AwAAADcxOQMAAAA3MjADAAAANzIxAwAAADcyMgMAAAA3MjMDAAAA
+ NzI0AwAAADcyNQMAAAA3MjYDAAAANzI3AwAAADcyOAMAAAA3MjkDAAAANzMwAwAAADczMQMAAAA3
+ MzIDAAAANzMzAwAAADczNAMAAAA3MzUDAAAANzM2AwAAADczNwMAAAA3MzgDAAAANzM5AwAAADc0
+ MAMAAAA3NDEDAAAANzQyAwAAADc0MwMAAAA3NDQDAAAANzQ1AwAAADc0NgMAAAA3NDcDAAAANzQ4
+ AwAAADc0OQMAAAA3NTADAAAANzUxAwAAADc1MgMAAAA3NTMDAAAANzU0AwAAADc1NQMAAAA3NTYD
+ AAAANzU3AwAAADc1OAMAAAA3NTkDAAAANzYwAwAAADc2MQMAAAA3NjIDAAAANzYzAwAAADc2NAMA
+ AAA3NjUDAAAANzY2AwAAADc2NwMAAAA3NjgDAAAANzY5AwAAADc3MAMAAAA3NzEDAAAANzcyAwAA
+ ADc3MwMAAAA3NzQDAAAANzc1AwAAADc3NgMAAAA3NzcDAAAANzc4AwAAADc3OQMAAAA3ODADAAAA
+ NzgxAwAAADc4MgMAAAA3ODMDAAAANzg0AwAAADc4NQMAAAA3ODYDAAAANzg3AwAAADc4OAMAAAA3
+ ODkDAAAANzkwAwAAADc5MQMAAAA3OTIDAAAANzkzAwAAADc5NAMAAAA3OTUDAAAANzk2AwAAADc5
+ NwMAAAA3OTgDAAAANzk5AwAAADgwMAMAAAA4MDEDAAAAODAyAwAAADgwMwMAAAA4MDQDAAAAODA1
+ AwAAADgwNgMAAAA4MDcDAAAAODA4AwAAADgwOQMAAAA4MTADAAAAODExAwAAADgxMgMAAAA4MTMD
+ AAAAODE0AwAAADgxNQMAAAA4MTYDAAAAODE3AwAAADgxOAMAAAA4MTkDAAAAODIwAwAAADgyMQMA
+ AAA4MjIDAAAAODIzAwAAADgyNAMAAAA4MjUDAAAAODI2AwAAADgyNwMAAAA4MjgDAAAAODI5AwAA
+ ADgzMAMAAAA4MzEDAAAAODMyAwAAADgzMwMAAAA4MzQDAAAAODM1AwAAADgzNgMAAAA4MzcDAAAA
+ ODM4AwAAADgzOQMAAAA4NDADAAAAODQxAwAAADg0MgMAAAA4NDMDAAAAODQ0AwAAADg0NQMAAAA4
+ NDYDAAAAODQ3AwAAADg0OAMAAAA4NDkDAAAAODUwAwAAADg1MQMAAAA4NTIDAAAAODUzAwAAADg1
+ NAMAAAA4NTUDAAAAODU2AwAAADg1NwMAAAA4NTgDAAAAODU5AwAAADg2MAMAAAA4NjEDAAAAODYy
+ AwAAADg2MwMAAAA4NjQDAAAAODY1AwAAADg2NgMAAAA4NjcDAAAAODY4AwAAADg2OQMAAAA4NzAD
+ AAAAODcxAwAAADg3MgMAAAA4NzMDAAAAODc0AwAAADg3NQMAAAA4NzYDAAAAODc3AwAAADg3OAMA
+ AAA4NzkDAAAAODgwAwAAADg4MQMAAAA4ODIDAAAAODgzAwAAADg4NAMAAAA4ODUDAAAAODg2AwAA
+ ADg4NwMAAAA4ODgDAAAAODg5AwAAADg5MAMAAAA4OTEDAAAAODkyAwAAADg5MwMAAAA4OTQDAAAA
+ ODk1AwAAADg5NgMAAAA4OTcDAAAAODk4AwAAADg5OQMAAAA5MDADAAAAOTAxAwAAADkwMgMAAAA5
+ MDMDAAAAOTA0AwAAADkwNQMAAAA5MDYDAAAAOTA3AwAAADkwOAMAAAA5MDkDAAAAOTEwAwAAADkx
+ MQMAAAA5MTIDAAAAOTEzAwAAADkxNAMAAAA5MTUDAAAAOTE2AwAAADkxNwMAAAA5MTgDAAAAOTE5
+ AwAAADkyMAMAAAA5MjEDAAAAOTIyAwAAADkyMwMAAAA5MjQDAAAAOTI1AwAAADkyNgMAAAA5MjcD
+ AAAAOTI4AwAAADkyOQMAAAA5MzADAAAAOTMxAwAAADkzMgMAAAA5MzMDAAAAOTM0AwAAADkzNQMA
+ AAA5MzYDAAAAOTM3AwAAADkzOAMAAAA5MzkDAAAAOTQwAwAAADk0MQMAAAA5NDIDAAAAOTQzAwAA
+ ADk0NAMAAAA5NDUDAAAAOTQ2AwAAADk0NwMAAAA5NDgDAAAAOTQ5AwAAADk1MAMAAAA5NTEDAAAA
+ OTUyAwAAADk1MwMAAAA5NTQDAAAAOTU1AwAAADk1NgMAAAA5NTcDAAAAOTU4AwAAADk1OQMAAAA5
+ NjADAAAAOTYxAwAAADk2MgMAAAA5NjMDAAAAOTY0AwAAADk2NQMAAAA5NjYDAAAAOTY3AwAAADk2
+ OAMAAAA5NjkDAAAAOTcwAwAAADk3MQMAAAA5NzIDAAAAOTczAwAAADk3NAMAAAA5NzUDAAAAOTc2
+ AwAAADk3NwMAAAA5NzgDAAAAOTc5AwAAADk4MAMAAAA5ODEDAAAAOTgyAwAAADk4MwMAAAA5ODQD
+ AAAAOTg1AwAAADk4NgMAAAA5ODcDAAAAOTg4AwAAADk4OQMAAAA5OTADAAAAOTkxAwAAADk5MgMA
+ AAA5OTMDAAAAOTk0AwAAADk5NQMAAAA5OTYDAAAAOTk3AwAAADk5OAMAAAA5OTkVABWO+gEVjvoB
+ LBXQDxUAFQYVBhwYDHp6cTBrZnk0LnZibhgMMDF3d3llNGcucGZzFgAW0A8YDHp6cTBrZnk0LnZi
+ bhgMMDF3d3llNGcucGZzAAAAAwAAANAPAQwAAABtZGlmanQ1NS5lYTMMAAAANWRtdnFldmcuamsw
+ DAAAAHNmdGdtZ3N4LmIxZAwAAAB6cm9xdnM1dC5samkMAAAAYW8zamF0bmMuMXZoDAAAAHUzYmZ1
+ dmRsLjF3cgwAAABqcWN3M2VyMy5sdDIMAAAAc2gxc3doZXQuYnczDAAAAGkwc3EzMDVvLmg1dQwA
+ AAB1NTNjZWxhMC5zZ2IMAAAAemZybTVobHEud3J1DAAAAGN6Y2Nra3QyLnJpMAwAAABxMG40NTJl
+ NC51bnkMAAAAanVvenVtYWEudmZ2DAAAADFtdGZvMTNtLnhlaQwAAABjd3RhZWQyci5xZHcMAAAA
+ M215czB5a2YuYWdqDAAAAHZlYXVpbTNtLjNhMwwAAAB1NHh1cWZxci5ubXEMAAAAbHd1aG5kbTAu
+ d2pmDAAAAGtqdXkycm50LnVqdAwAAABxeGNpd3JpMS5seDEMAAAAbHBlYnRqNXcuZmMwDAAAAHp0
+ aWoxcWNiLml5MwwAAAAzbXdyZXpwMi5xaTAMAAAAYXoyamF3M2EuY2RmDAAAAHBjanpvdzF1Lm0w
+ MAwAAAAzZHlxdmg0MS5wYWMMAAAAMGFqY3lkcHMuYTRkDAAAAGI1MnJtY2htLnNoZQwAAABwczBz
+ ZGZzei5lcmMMAAAAZjUxdDNkaGIuanZjDAAAADV6cmhzYnpqLjF4YgwAAABqMmxtZnpzMi5xZmIM
+ AAAAcjBlcngxaXQuaXRyDAAAAGpiMGRzdTAxLnBlbwwAAAAzd2owZGsybi5hczIMAAAAem5iemhn
+ aXAuY2xxDAAAAG5xYmJwcHJ1LmZncQwAAABncDF4emYxZy4zeGQMAAAAcm95ZG9udWsuYjJqDAAA
+ AGVlZ2czY3FzLml0eAwAAABtNHYxd29sdC40bGgMAAAAcHV4MHp5ZGMubHZsDAAAAGRiZGZtc3Iy
+ LmlrNAwAAAB1cXQ1c2EzaS5hbmsMAAAANWpjaWpoMWcua2dtDAAAAHIwbm50eTRwLnFlMAwAAAA0
+ eGMxcGMzai5vemYMAAAAZDN4dzNoZ2EuYWZkDAAAAHZlMHVtZnl5Lms1agwAAABhcHljZ2h1aC5h
+ bHIMAAAAY3l6Z2twaDQuM2ljDAAAAGJjZTJ5dmNxLmhhbQwAAABveGxhdGdudy5hdG8MAAAAdGpn
+ b2tzZTIudTRzDAAAAGt1MWw1NDVkLnB3ZgwAAAB1Y2VhYmxjcS5odnUMAAAAc2x3dXZjaXkucXlm
+ DAAAAG9seWMwcml2LmhuYgwAAAB3cmN6bXEwbC5yZ3cMAAAAc3F3aTVla3UuZnl6DAAAAHdua2Vz
+ Y25rLm5kbwwAAABoajRzbDVqMS5mdXkMAAAAczR4bmJoMmMudGgwDAAAADVobHZvZ2l3LndtMQwA
+ AABjcTBuNDVwei5mc3AMAAAAemYydndqaXIuZXVxDAAAADVqeHZkNTMwLnp2NQwAAABqc2N2b3lj
+ Yy5xcWcMAAAAbHNqbnp2ZmIua3J3DAAAADRwYWliaHoxLnYxcAwAAAB1cmkwMmFjMy5zYnkMAAAA
+ bWc1cXdiMXEudGVqDAAAAG5sYmd5b2k1LmZkZwwAAABrM3ZiMW1vby5xYWsMAAAAdmN5Z3FzcWUu
+ dXZiDAAAAGRobWFheWc1LnNrYQwAAAB0dW9sZ3lobS5seGQMAAAAcW1mdXJrMWcucmNnDAAAAHMy
+ ZmdlMDAzLmNkMQwAAABpM25sY256dy4wNGwMAAAAc2UxNHJmeWwucG1zDAAAAHR0eW9kc251LjQ1
+ ZQwAAABtcmQxamJ0Zy5uZjEMAAAAeWNtcG5ldzQueTFnDAAAAHd6dmF6cHZqLmFoeAwAAAA1bXVy
+ NGt2ei5mZWoMAAAAM2NoYnN6dmYubXl2DAAAAHBldGsyZzVxLmxnZwwAAAA1bTU0Zmdnby5rdjUM
+ AAAAeXptczVvMHMuNTN6DAAAADB4NTRsZHN5LmdxdgwAAABnZWlzemdhMS53ZnIMAAAAamExY2xh
+ dHcuNWNpDAAAAG9ydHVzdnlwLnp1dwwAAAAyYTJueHNxbS5hdHIMAAAAeW5sNXR0eWgubTVsDAAA
+ AG5xY2k0bjUxLjM0dAwAAABrMjRraXpsZC50aXQMAAAAcHBwZmNwMmQuenRxDAAAAGtnbGl5ZXN0
+ LmFmdgwAAAAzbGFlb25nbi5qenoMAAAAaDA1djA1YnQuc253DAAAAGVrZGp0Y3U1LjNicAwAAAA0
+ dmp3eTJhei5kc3cMAAAAYzR3MjF6ZXAuYWNzDAAAAG1hZmtrdGh1LjN5dAwAAABqaDV2ZGx6eC54
+ aGIMAAAAanYzZ2lhMDAuemFxDAAAAGxucjAxemRkLmh0eAwAAABtbmNkZjRudS5idnQMAAAAY3l1
+ ajNjcjUuYmVhDAAAAGt2cG5kem94Lm1vbQwAAAAyZjB0c2Vuby5tNWkMAAAAcTJvbGRtbDQuZHly
+ DAAAAHFqMTBqY3BjLmhrdwwAAABjMXZ3bWtvYi56azUMAAAAdWRtNGFiMXMuM3FtDAAAAGtxZ2I1
+ ZndsLnV6MwwAAABla21uYjBoZC55c3IMAAAAYWdqYnNrbnIuMmd5DAAAAGZwNGRqamxsLm1meQwA
+ AABibzVkZW1oeC5taHcMAAAAcnppZ29ldWkuYnhkDAAAAHhhZmUwaWlrLnQ1ZQwAAABybXZreHN6
+ ZS5id2EMAAAAaHRxNWZndm8uaGdlDAAAAGczeXBicGprLnY0ZQwAAABtbXYwb3lieC5rM2cMAAAA
+ ZGhqMGIxY3kudm5tDAAAAGJoYm5kZGRjLnp1cgwAAABid2NicDQxZC55dG4MAAAAZGhoZ2d0dGku
+ MWhrDAAAAHFwa3J2MW40LmlvcAwAAABnMGNsdDUxbS5wYnEMAAAAbnhsbGRhYW8ua2RwDAAAADBu
+ cTV0Y3J3LmpldAwAAAAzNDAzbW9tai5nbGgMAAAAcG1kNHp6aGsueXJzDAAAAGYxcmMwNGp0LjFr
+ bAwAAAA0dXhmc2loaS5tMHUMAAAAZWx6Z2t4dmoucmplDAAAAGxrdmY1b3gyLmpqMAwAAABhejIy
+ NG1qci5zZ24MAAAAemYwemFwdW0udnZjDAAAAGNjZnBqMG95LjRpZgwAAABtazB4dXZ5MS5pMjEM
+ AAAAMjRmbjJ6eHIudGtqDAAAAG96eWZ1b3JuLjFybgwAAABhdnN3dTF2Zy5vYXMMAAAAcmNtaHhv
+ czMucnptDAAAAGhyajVmZ3NnLjM1MQwAAAB0eWlibmV5bC54aHQMAAAANXIzZHV6b2cuamlnDAAA
+ AHBuMXJ5ZWFnLmV1bAwAAAB6MmFsbXJ6ZS5tdHkMAAAAenpxMGtmeTQudmJuDAAAAHJ0cTBkZG9n
+ LjV1ZwwAAAB3ZXRlc2hteS5kYW0MAAAAZWc0M2tvMG8uamhnDAAAAHNxaGdhaW1wLnQ0YgwAAAB6
+ cDRtdmh1Yy5xbW0MAAAAM2dnd3F3aHYuZ3MzDAAAAHd1emNxb3Z4LmZqMgwAAAAxbDFtNDFiai5n
+ ZHcMAAAAdnFib3FrcHQuMzJ2DAAAAGU1bTR0MmVxLnhsNAwAAABmMXhtMTN6eS5langMAAAAMXNl
+ cTVjaG0ub3BoDAAAAHgzYmt3Z3JyLjViYQwAAAA1MXNqeWNncy51bWgMAAAAMHNrdmJvanEueTBo
+ DAAAAHo0anJ5YmYwLmVvbAwAAABxaXNmbDRsci5iZXEMAAAAb2xmZ2RhYnoud3djDAAAAGFnem1o
+ eHV1LmN3aAwAAABiNXB4bTR2dy5yamIMAAAAbTBzb28xanYubG5xDAAAAHJ4dWJ2dmdwLnhnZgwA
+ AAB0MzJuM3huZS5kZWgMAAAAdWZvMG1sNWsuanphDAAAAGJqZmQ0cWNvLjRtZAwAAABkdnJmZW0y
+ cC51bGgMAAAAdGJ6Z2loM3YudHQ1DAAAAGlmeTJlcHVrLnNxNQwAAABmYWlsMzVieS5ycTMMAAAA
+ bTVlZ24yZmsuYWllDAAAADBsaGlrbHFrLm9iegwAAABsb3h0eHlvdS4wMWcMAAAAbXYzcm5lZW8u
+ cmljDAAAAHI0cnpyeWkyLnF3NQwAAABxcmJsMDVxei4wNWUMAAAAYXcycHJqYmEubTNhDAAAAGJo
+ Z3l2aXZqLmNiMwwAAABkbHhlcTVjMC5vcnYMAAAAbjN2MDRyaHAuYWV4DAAAAGQxcXZ1ZmltLnBi
+ dwwAAABveWVyanp2dS5wZm8MAAAAbnVheGtib3YucXB1DAAAAGtkeWRhcWlyLndjcgwAAAB3YTM0
+ Y3VrMy5iZGcMAAAAZTVuMWl4anoud3JrDAAAADJycmk0MXBqLmV2cgwAAABoeHJqNHJzZS54Y20M
+ AAAAdzQxanFwemMueDF4DAAAAGJqbTJhdTNyLnR5eQwAAAB5eTFieDNtZS5tbHgMAAAAZ2I1MG11
+ bzUudTNoDAAAAG1pd3Z3anQ0Lmo0aQwAAABxY3JpbWFoby5jbnYMAAAAdWdlc3R5dzEudXBsDAAA
+ AHNqczJ1NGVwLmdlMwwAAAB6NWZqc2N3Yi41NWIMAAAAaGxmeDFncXMucTRqDAAAAG0zbnduMGUy
+ LmhscAwAAAB2cm9iendrMS50cG0MAAAAaGFyYXF2ZGYuZDBkDAAAAG16YTR0NXNnLnV1dgwAAAAw
+ aGh2cGpkNS55bXAMAAAAcHByanQxbWIuZ3RzDAAAADE0dnJkemEyLnhtcwwAAAAzbWltdnF1bi5o
+ dTAMAAAAa2NsbGdqdGUuY2I0DAAAAHN6eGdsYWlqLjJvdAwAAABubWg0bmg1MS4xbjAMAAAAZ2Zy
+ b3ZieGwucWJtDAAAAGUwbnBsbndqLnlzZQwAAABkYWhodXF2Mi4zb3IMAAAAcHhuMXQzemkuYWNn
+ DAAAAHl0MDBodGtrLnd0dwwAAABwend4NTIzMi5ocWcMAAAAbXJ1eWx6dHQua3BiDAAAADBiaWNz
+ eXFvLmJxZAwAAABndnpwbnZ4cC5xbGwMAAAAM3V6bDFmaXUucmYyDAAAAG9mZGptbnN2LnVodAwA
+ AAAyeWhndHVzei4xa2YMAAAAMXcwYnhkY24ucHgxDAAAADFwbWx3Ymt2Lml3MwwAAAB5ampoa3Fs
+ bi5pdWIMAAAAMHh3MW95bG8udHdlDAAAAGtteml4cTR3LnUzcAwAAAB0djEzd3F2eS55dWIMAAAA
+ b2EyZzNlanQucmlmDAAAAGViZXBnanc1Lm10cQwAAAAyZnkxMzAzZy5ueXUMAAAAMGM1dXR1bWYu
+ M3RzDAAAAGZuY3RrY2JnLmMwYwwAAABibmtzZXdzZy53em0MAAAAeXlpajEwMW8ucGlqDAAAAHA1
+ anlkbHI0Lmh2MgwAAAAzaXBjZGF3dy5hcXIMAAAAMDRtdzV6MnMudW0wDAAAAHdjdHBua2ZoLjJ1
+ bQwAAAByenBxc2JzMC41dGEMAAAAdmFoeHF6MGMuMnBtDAAAAHZyMHNza29yLm4ydwwAAAB4dDUw
+ MHUyYi5yaGsMAAAAY3ZpeTI0ZHguY2t6DAAAAHU0c3dkb2x4LnFqZwwAAABqc2V0emMwZS5qaGUM
+ AAAAaGI1NGIxdGkuM3F2DAAAAGVyNXFzcHZyLnUxMAwAAABibzRpMnNmdi53MnUMAAAAbXpwdnNu
+ dWIua2xoDAAAAGtrMG14djBmLnNsbgwAAABjemJlbGVqZy5xaXEMAAAANXhob2txNTQuY29qDAAA
+ AHVyaWhzbjR5LmVreAwAAAB2dGFtaWl2MC5sd2IMAAAAbHhhc3g1eTQuejMyDAAAAG12dnJ2czFu
+ LmRodQwAAAB5ejJxa2h3ZC50ZGUMAAAAeGwyYWd6dHYuMXNmDAAAAHZnNGNybm0yLjNjYgwAAABr
+ NTVmNWtwcS55cWIMAAAAa2RlbGI0bWkucWNtDAAAADN4NWxldGk0LmtkYgwAAABqd3FnYnVtYi5p
+ cnQMAAAAaGVkbHlpNXQud3FsDAAAAGZ0ZXRzM2tvLmhtbAwAAAByZ2MzdjN5cC4xY3AMAAAAZ3Bo
+ MzNqcGwudHoxDAAAADR1eDNzd2l5LjNhMgwAAABuY211d3V1MS41ZjAMAAAAaGhrYjBrdzAueWky
+ DAAAAHZobG1ha3VwLmhzaQwAAAAyd3dkdXFzdy50dzEMAAAAamJmZ3FxeDUudHoyDAAAAG80dWk0
+ a2RyLnAybQwAAAB4aWd3ZHBxZS4zencMAAAAamIwemtsbDEuMmFoDAAAADB3eHBpZWlpLmVndAwA
+ AABuNDNudG81NS5ueWYMAAAAeW1ocjFxeDUuMW9yDAAAAGY0bGZ3b3hpLm50ZgwAAABuemZyYmJ2
+ eC5weXkMAAAAeWhyNXZvaXouMnVvDAAAADN5NXAyZXp3Lm55YwwAAABuNXFnYWgxbS5vM28MAAAA
+ cDNzMWUwMWQua2pnDAAAAGVxZDFoa2NhLnkzbgwAAAB2YTN1Y251ay4yMXAMAAAAYWVrYTE1Z3Eu
+ cXFkDAAAAGNwdDNvNGZhLnhzdwwAAABsMXMyZ3Fhay52cWQMAAAAanJvM2hzcDMuMmYzDAAAAGJz
+ Z2FhdTBvLnBvawwAAABybHgxZGVoaC56eHoMAAAAdmZlNGlibmMuYjJyDAAAAG5paTFtc3YzLnBz
+ dQwAAAA1cWtkbnR5ci5xa3QMAAAAa2Yxa3Yxb3kuaGsyDAAAAHh1bmd3dWlqLnViMwwAAAB2Ymx3
+ MndldC5rcm0MAAAAanFkZ29tNWEudmMxDAAAAHk1amtjbG4zLmxwNQwAAABqcW1xeWVkdy5naWEM
+ AAAAMW9qYjIwaWEudnRqDAAAAHRmaXZkdjIxLmF4MAwAAABwaWQwaHpwcy5kdjUMAAAAd2ZnY2Rx
+ NGYueG8yDAAAAGNicDA1eG0yLnM1MAwAAABhMjAxYXBodi4wZjQMAAAAZGwxMnl6bXIuZWJmDAAA
+ AHgwZXZ5dHFyLmEydwwAAABnZm91NHlrMS55NXQMAAAAdzJqZHZsMmIuZmJ3DAAAADJ4a3c0eHhy
+ LnVpawwAAABneHFsaWdsMi5scHMMAAAAanN5dXl1emguZGhyDAAAAGRkem5lMGpnLmV2NAwAAAB6
+ d3pkdXBjcy5mMWMMAAAAbHZzYWFsYzEubWxqDAAAAHhheDBhZTVlLnpjeAwAAAByZmRncm4xZS5y
+ ZHYMAAAAc201MnV4bm0uYjMwDAAAADF2cWt5NWZhLm54ZwwAAAB5Y3lreGVnYy4zYmwMAAAAajNq
+ MnV5ZGIuZ3JmDAAAAGh6aHozNG1mLnB6NAwAAABhMHJzaWUxci5pcTUMAAAAMGp1cmoyMWkuNDAz
+ DAAAADAyM3c0YnJ4LjNzMAwAAAA0em95YjRzdy4zbXMMAAAAcGlvMnM1MHAueGprDAAAAHBpYWpi
+ bXpyLmgzcgwAAAA1ZDMxeW5ndS54a3IMAAAAZ2dlMGMwdWEucmswDAAAAGpvZHIxbHVjLmk0cAwA
+ AAAxcmNrZDN5NC5pbWoMAAAAeGxhbXhwZ3YuMWp0DAAAADJlMGszMWJwLm4xdAwAAAB1MW1sazF3
+ NC52bjIMAAAAa3Y1YWhldmoudjBuDAAAAGMwdDVyMm9jLnI1cAwAAAB4d20wdGt2bS5xbHkMAAAA
+ dWpqcW9pM3IuamoyDAAAAG5sdHl0amd4LjN3YQwAAABoZmF4Mnhydi5yc3YMAAAAdmdyYnlxdXYu
+ cXQ0DAAAADFqc3d4YWh3Lnk1awwAAAAza3Ftb3d3di5ia24MAAAAZDFocWk1dmMuY20yDAAAADFx
+ MGRseGNpLmhjcgwAAABkemJsazRyai52ZHYMAAAAZ3loeDBwNXQuZGlzDAAAAGNsaWY1b3h2LnQw
+ bgwAAABwYm52dzJ2Yy5oMDUMAAAAaWUxajNldXoudmMyDAAAAGNqcnNjaWp3LmJzcAwAAAAxcGxt
+ bjN3ai5kZzIMAAAAd3BxeW15cWMuZXBvDAAAADNteGpyYTBhLjVudAwAAABhcGxhZTVocS5ibG0M
+ AAAAc3VjajQwcG8uMzRjDAAAAHpiY2twcDQzLjV1agwAAABhbG5sYjRlNS5ibnkMAAAAYWl3amdz
+ cWUuZW1mDAAAAGswbzFsbTUwLmNxYwwAAAA0cm1tbDVlYi5xZXAMAAAAYXBpbWdvdGYueXE0DAAA
+ AGF6b3Jwd2QwLmR3NQwAAAB5M2x0ZGkzYi5xZXMMAAAANHhvbHRmcDAuZDV0DAAAAGhocDI1d2Fp
+ LnFxMAwAAAB4Y21obGJ6NS5paXIMAAAAbnpqd3p6MGYudmprDAAAAHhyMTFmNHVuLjJidQwAAAB3
+ ZGhqeHBuei5neG0MAAAAMnh5bGlsM2wuazF4DAAAAHZzMXZqd2cxLmdqMgwAAABrMHRzbjRmaC5v
+ a2wMAAAAZDFqb2N6MmQuaHljDAAAAHF2MmpucTVzLmx5ZAwAAABxZHpwNWRyby4xcXcMAAAAa2Zh
+ YmkzdHYuaXRmDAAAAHB5NG9xeWRiLjJ6MgwAAAAyNGV0dGMwdS53MGgMAAAAZGZkNDN6dHcubWly
+ DAAAAGF6Zno1eWk0Lm8zagwAAAAzdDV1d2Ruby5tdHoMAAAAb3lsZjF4aHguZ2RqDAAAADR5bnAw
+ dmFuLnpidQwAAAA1enF4bXZqcC4yNTUMAAAANXFnc3F0Y2QuMmpkDAAAADRuMm5kMGlvLm53ZAwA
+ AAAxMm1qNWlrdy4yY3MMAAAAY3ZvZnd1dmwucXhnDAAAADBobHU1ZnJ1LmRjcwwAAAB4NGpoNXBk
+ ci51bzUMAAAAcWRxNHdib24ucWFyDAAAAGhvMHBhbHF4LnNocgwAAABhMmJ0bWJ5YS5xZ2UMAAAA
+ bGk1b3NwamouMGxsDAAAAHpldGgyMTFkLjBoYwwAAABsY2Y0NXkybi52bjQMAAAAZXpvemI0M2su
+ YTR6DAAAAHR1ZHVoanlyLmdnbwwAAABuZHBqaXJneC5rbHUMAAAAMnBsbXVrdHIuYnB4DAAAAGhm
+ eGxnb3RjLmcxYwwAAAB2cGtiMTF5Zy5pMHEMAAAAcW4ybmpvMTMuZ21sDAAAAHJpY2o0eGs1LnBq
+ bQwAAABqZ2RuMmN5Zi4zYW4MAAAAZDB3aGk0djEuY2wwDAAAAHAxbGdncnVzLnB5bAwAAABqb3R3
+ cW95ei5jZjUMAAAAM3p1cnZ3Y2oueWZnDAAAAGkxcGFkdnVuLm96bgwAAABhdGhucnJ6di5pdG8M
+ AAAAc2Nmc21zZzQuc2lsDAAAAGdxZGp0MXNtLnZ4bAwAAAAzMG1iaDNraS5rYm8MAAAAZzRoZnNo
+ YWwuY2JpDAAAAHZlbmptanFtLnRmegwAAABhNTVpdnQ0My5zcWoMAAAAbGY1cG14YXguYWJ6DAAA
+ AGdtb3cwcmI0Lm13egwAAAByM3Nlemh6ai5xZzIMAAAAMGN2NHh6dzUuaXU1DAAAAHlzMjMzZm52
+ LmNscAwAAABzaDJuZ2Fvdi5lY3QMAAAAbXFudG4ybXEuend2DAAAAG8ydHFzM2NuLjBxcgwAAABy
+ cnF5ZWt6di5pcnQMAAAAcDVxMXkzdmQucDV5DAAAAGUzYzVtY29qLmExcAwAAABtNXNxd2Nkai5v
+ bHkMAAAAeW1uaG40bGguZ2lpDAAAAGZ0ZmJrbXlyLmoxMgwAAABoc3ozcWdoNC53MTMMAAAAZWN0
+ Zm9paHMuenV1DAAAADVsbHl5b2dhLmp0cgwAAAB2cmd5Mnl0eC5kMzMMAAAANXA1YW1ja2wuam1s
+ DAAAAGdrZXpkZmNzLjAwdQwAAAB0MzF2eHViaS55cmIMAAAAZzJ1MzJrenQudGllDAAAAGEzdG9n
+ ZnBjLjJ4MAwAAABrYzM1cDF2bC4wMXYMAAAAaml0MW9zNXcuanVjDAAAAGVia3h2bXExLjJ0aQwA
+ AABqYnd6cXVvbC54cDAMAAAAaHJrM2JwaHYuaW5qDAAAAHkweWNjbTQxLnQxbAwAAAB3aW55a2Ft
+ Zy5rMjMMAAAAaGtpamsxNTMuZTRwDAAAAGd4ZHprY3phLm1zbgwAAAAzaWtwa2tteC5xZjIMAAAA
+ YnRoc2dnNXQubnl4DAAAAG50M21pdGJ0LmowNQwAAABwamdpNTBuMC41cWYMAAAAM25uZGNobWcu
+ eXZrDAAAADRhaXdwMWVhLjI1dAwAAABobXhjMmxqcC5ja3cMAAAAd2lveTF5bmIuZ3gxDAAAAGdj
+ dDNqbzEzLjJwMwwAAAB0cTB1MnZwbS4wdDMMAAAAb21ncW53dzEueTUxDAAAADIzcmVlbjI0Lngz
+ MgwAAAB6amVheWVzZy56dWsMAAAAZ2trd2x4MGYubnNvDAAAAHpzdWl2em1jLnRmMwwAAABvMmt4
+ bXBicS50bXEMAAAAdHBhbzNsMmgucG9zDAAAADBmbXozdHNxLndzcQwAAAA0dDIxaDB0Yi56dDIM
+ AAAAZXp1anB2ZXkuaWs1DAAAAHNoY2RzeW9nLmRlMwwAAABpdmt3ZWxteC5kaHoMAAAAc2JvNHRj
+ eXcuNHV3DAAAAHJzbnpkbWExLmFlcwwAAABjYXd3YW5pbi5nYncMAAAAajJvNXdkcncuZ3VrDAAA
+ AGF5MHVodG9mLnN5ZQwAAAAwYnQ0d2l6bi4yaWwMAAAAeHFtamtvNTUueGZwDAAAADVvdnlydHpt
+ LmQxawwAAABsY3VoaDR3cC5ldzMMAAAAYWJ6cGhhMTEuM2tkDAAAAHZ2MWVkcnI0Lm1rcAwAAAB1
+ aXEwajFrei5yNXcMAAAAeHFydWd2NG8uYWpkDAAAAHo0a3hibjVmLmJjcAwAAAB5ZGVzcGpjZy5p
+ ajUMAAAAb25yMHJvZGsubGN6DAAAAGoxd2Z3eGVhLnMyNAwAAAB0cDRtNXR0dC53bXgMAAAAcGpk
+ Y3Bzd3MuYWoyDAAAAGtrcXgza25qLmh2ZgwAAABwdHJubm5jeC41ZW8MAAAAc2I1MTJ5YmouM3Jj
+ DAAAAHExenBoamN2LmNpaQwAAABwdGNka2ZxYy55M2MMAAAAZGl5bmJjc2gueHR1DAAAAG8yYTFi
+ ZjVoLmJlMAwAAABwMDBhc2psci5rengMAAAAM3hwYnRmYXMub2R5DAAAAHNwZmZ3bHhwLjRtcQwA
+ AABjZGMxd25iay5sbWgMAAAAYjBvbm5ueTQueHkxDAAAAGJ0cXdrNWpmLnhjYgwAAABncTR4c3dx
+ dC54ZjIMAAAAeHNheHVzbmsua2pzDAAAAG9pYzE0azI1LnducwwAAABsdnpvdzRpMy5jNHYMAAAA
+ ankzbWtueGUuajJ0DAAAAGxnNXI1ZnFnLmJwNAwAAAAxZWFqZ2JsaS5tcGQMAAAAbzBydHh1Ymcu
+ MWdnDAAAAG1panliYXlrLjRtNAwAAAAxNW9wZjIydC56aW0MAAAAMGJlaDRta2QueWVrDAAAAHVj
+ c2pka3FxLmJpbAwAAABwbjRndzJwZC5nZXMMAAAAem92ajRqYjUuMXVhDAAAAGMyMjN6Y3JsLmlj
+ cgwAAABiamp0NWRhNC5heDMMAAAAMnl6a3Fvc3kuZ3Z5DAAAAGJrNGVwa2hrLnVhdQwAAABzbG40
+ cmZxYS5jMnAMAAAAdnB4aXh1dnEuMmR0DAAAAGtpdDJndzFhLmMzdAwAAAB3ZWowcGhmbi4xa2sM
+ AAAAdHh1aGhxcGUuNDEwDAAAAHhzeHR3NGgyLmZjdwwAAAAzZm4ycmR0NC5qZmMMAAAAYmdpMnN0
+ YTEuams1DAAAAGlxbmRvamJqLnA1YgwAAAB1cG4zYnh5bS53NTAMAAAAbmdkdDBybnIueGtzDAAA
+ AGN2M25tMjJlLmN3MQwAAABqZmZqeWE0bC41aWoMAAAAcmJhbXB0NGkub3JrDAAAAHdveTFvZ3N0
+ LmIyMAwAAABicHcyNHN6dy50am0MAAAAd3pmams0bDIuc2l0DAAAAHYxcXRtZzFlLnV0cwwAAABy
+ ajJjcWRycC5taDQMAAAAMGU0dWRxd3cucG9qDAAAAG5lazV6c25yLjB0MAwAAAA1am9zZG5oZi5n
+ dmYMAAAAbXd6aXA0MWkuaTQ1DAAAAGlqZmsxc2l0LjR3eQwAAAAxbXZ1eDFzcS55cHEMAAAAZnpi
+ Z2JocDUueW1xDAAAAHVpMTFkenFuLnR0bAwAAABqMTBiMDNsaS54NGMMAAAAMXJ4MHFuaXQueW96
+ DAAAADJzc2puMWF2LnptbAwAAAA0bWMxMzR4dy5yNGcMAAAAaXRlaTVxa3oudXZiDAAAAHIxMWlk
+ ZW5sLjBycwwAAABzaWoxMDU1eC50eGsMAAAAamIxMTJkYnQuY3Z2DAAAAGIwd2tncGFuLm5xawwA
+ AAAzNXBlamIzZC5mZDUMAAAAMm5oeHB4MmQudDNlDAAAADFkbnhrbzRxLmRhdgwAAABhdzB5cWZw
+ by4xbTIMAAAAb2U1MnN0cXguMnJsDAAAAHBubGhjd2t6Lmt4MwwAAAB4bGdvNHgxdy5odXUMAAAA
+ bzRrNHJvNW0uMmdiDAAAAGF1azJ3dHhnLmVmMAwAAAB3ZzBkYWwzZy50bXIMAAAAa2p4MGVyb2Eu
+ cGYwDAAAADJnNHlwdHVlLjMzegwAAABoMjNpeXJlZS5qaWoMAAAAaGR0dzNsZWouaHdyDAAAAG5z
+ Y3JjdXkyLjFkbgwAAABrY2ZudjJzcS5qMGUMAAAAMjJxMHB3MmwuNWZsDAAAAHhoZWd5d3Z6Lncx
+ YwwAAAByMnhzaTVtaC5wbzEMAAAAcHp2dTV5bXYudXh3DAAAADVxZGRrYmJiLnFnbgwAAAAzZnM0
+ ZDBnMS5qeHcMAAAAZW9meW9ueDUudHpoDAAAAHd2djRwcW0xLmV4dAwAAABweXZudXJ0ZC4zZGMM
+ AAAAaXhlNGF0czQudHEzDAAAADFycjMxNGcyLmQyeQwAAAA1YmRzeTR1cy4yMmQMAAAAamxiMGJ0
+ enIubGt3DAAAADR1MGhiYWQzLnhyNQwAAAB2dmdrbDJjby4yeXQMAAAAa2c1anNqNXIubG96DAAA
+ AGkyaDNoZ3NhLnhkMwwAAABudnVkMTNicC5iNTQMAAAAYnAza21yd3AuNHUzDAAAAHd3MGFzc3l4
+ Lmp6MQwAAABvaGJ1dXNwdS5ha3cMAAAAcmNpNHpxemQuNHNmDAAAAGZ1b2pmcTQwLmZ5dAwAAABt
+ YXBiazJpdS5jNHEMAAAAanUxdm8wbG8ubHF5DAAAAG1hMHNxZXRqLnF4cgwAAABxbnd1dGx6YS5n
+ eXkMAAAAamtybnJkdTMucW5vDAAAAGF2NHNsZ3cyLm5qNQwAAAB4a2xpamN2ai4zcjEMAAAAc3cx
+ YnZyMHIucWN3DAAAAHZydnI0amFwLnJkMwwAAAAzM2pqYXBhcS5xbGMMAAAAczFwZ3psaHgueXRw
+ DAAAAHBseDN3aWh0Lnp5bwwAAABwY2llMGp5Zi4ydGEMAAAAd3NocmV0dGYubzAyDAAAAHNyZXZ3
+ eGN4LmY0dwwAAAAyZjNleW4yeC5nc2MMAAAAZXF3MGFsZnUud2JrDAAAADBpdDFtZnhzLmpxMAwA
+ AABpbHl4dXR4ei5tNXoMAAAANHJobG9pcjAuaTAzDAAAADJ2b2NmZzNtLnhycwwAAABkd295eWll
+ aC5wZWMMAAAANWIycGk0NWEuZGk1DAAAAHlkbWRrMWJwLmtlaQwAAABqaWRjNW5paC41enEMAAAA
+ MDJnYjJ6aXQuM3VtDAAAAHE1ZmFjM2p6LnczaQwAAABnZmswc2JjMy5wYWsMAAAAd3Nnd3B0d2Iu
+ bG8xDAAAAGRtd3FycXpvLmthdQwAAAB5ZWVrbGp3YS5oZWwMAAAAdHpoNHN2dTIuaHp6DAAAAHBj
+ bXhrMWZuLjRseQwAAABjMWt1M3p2bS5hMXAMAAAAa2owMDExNWUudXZnDAAAAGJuNHN5cWdrLjBj
+ MgwAAAAyb21sNWJ2NS4zdGsMAAAAdzB5eHBjd3cubWwwDAAAAGQxZmNqYmsxLnFseAwAAAAzcmhv
+ M3Rkdy51MnoMAAAAb2FrdGoyZGMuZjVuDAAAAHoyaTF4MTIxLmY0eQwAAABra2lldXZ0NC5zY3gM
+ AAAAeHJweXVia3kub2NwDAAAADVieXR0Z29oLmRtMgwAAABkYXYzYmpvdi5waTIMAAAAb3NoaWh4
+ ZG8ueTFwDAAAAG0wYnJramU0LngwagwAAAB4ZHU1ZXg0cS5memUMAAAAeGVnNDBib2QudWp3DAAA
+ AHBnMXYzczJiLjN0egwAAABuc2FqdWY0ci52dGcMAAAAY3FrdWtzbHIuMjJwDAAAAGZ2dmh3aWs0
+ LjF0NAwAAABkanRudmJwdC5seHQMAAAAa3Nkdm1wMzEuenNzDAAAAGF3cHczZGpiLjBnZAwAAABw
+ b21kYzF0cS52amgMAAAAZHJqZm9pbnUuejQzDAAAAGYyc2NpaHI0LjJubQwAAABweWR1bGNpYi56
+ YzQMAAAAMDF3d3llNGcucGZzDAAAAGNxd2ZnaG11LnYydwwAAAB5anphNGJrbC5ocWcMAAAAbG5q
+ MmpyNW0udGJtDAAAAHl2MG9tcWl6LngxdAwAAABzYXNueWEyZC40d28MAAAAem5iejRoYmQubHoz
+ DAAAAHZ6MzFuYXNzLjM1cgwAAAAxc2I0bnlsZy5yejMMAAAAYTQzemVkaW4uMXYyDAAAAGV5YTUw
+ cnZmLmg1YQwAAABkMXV4YnFkMy53bjQMAAAAMHRsNTU0bWYuZnMxDAAAAHlmendwNHlxLnp5bAwA
+ AAAwYXNiZHJuci5yYXcMAAAAbjNqeXZrdnAuZ3doDAAAAHJja3A1c2ljLm1mawwAAABrZWVmcG1n
+ Yy50dGcMAAAAcXAwZXlrdDMucTRxDAAAAHowc3UwZ3c0LmxwaAwAAABkNWZ4cXpldS5ua2kMAAAA
+ bTVraGpscHcuZzMxDAAAAHRjMGtqeXF1LnV5ZQwAAABhaG5ncmlvdS56bWUMAAAAaGVxa2R1bHUu
+ dHE0DAAAAHlwZHZ3MXRtLnN0dQwAAAB2ZHc0NG4yMC5lcHkMAAAAbGN6aTQ1MnAuaWEyDAAAAGEw
+ cmY1azRwLnQwcwwAAABhcWg0YWc0bC5uZ2MMAAAAZWNwdWE1cWkubWd0DAAAADV3b25lcTUyLnJn
+ dwwAAAB3NW9rNWp2ZS5xbHcMAAAAMnpjcWJrZmEubGVvDAAAAGR1eXpvNXVlLjNuYwwAAABqNG9n
+ MnlzdS5sd2kMAAAAZGttcWp6ZTMuYjQyDAAAAGVmZ2FvcmRxLnhyeQwAAAA0bzNhY3B0ZC41c3EM
+ AAAAa2J5cHJpMm8ubGJnDAAAAGtxZ253ZXJ4LnB3dwwAAAB6dXRnenA1bi52enUMAAAAZHZycHZ5
+ M3EuejJzDAAAAHNidjFqcGh3LmdyYwwAAAB6ZDFoaDFsdy5wZGwMAAAAYW1veWtvZGkuNW9nDAAA
+ AG1uMWkzYjMzLmF5YQwAAAB2cHllbGFvci52M3IMAAAAeWpibmgwcGouMzF2DAAAADMwcndocHBs
+ Lmt1NQwAAABrdWJwcWxvYi53MXkMAAAAazNsZm9pbWEudGtmDAAAADNleGlsbXB2Lmp6aQwAAABs
+ YWF1bW1nby51em0MAAAAMHIwcTV0bHkud2ZwDAAAADN4YTBxZ2x5LmljcgwAAAA1NHBhMnBtdy5y
+ amkMAAAAYW9nZWs1dzEudzMzDAAAADNvZ2t3cWVvLmhpaQwAAABpZmxlaTFuMS5idGsMAAAAYmxk
+ d2R0b3Uudmk0DAAAAGFiMXNhdGo0Lm1xdQwAAABkd2ViZGwwbC5tcjIMAAAAYTRxZG94ZWsuajMx
+ DAAAAGszMHA1c2NuLnRsMwwAAAB1MHoxMHloby5pbXcMAAAAY3lrampkMWMuNGd5DAAAADVqM2wx
+ MHEwLnlmcgwAAABhdXF6cmp1aC5ld2QMAAAAemdubGx6bnUuc3FvDAAAAGI1ZjNmcWRpLjB5NQwA
+ AABzeWpobG9pby41YnMMAAAAcDVucm4weHkuMmkwDAAAAHVkeGxjdmdtLmpnagwAAAAzZmMwZXdi
+ bS5lYXUMAAAAejFkMHVvdDAudnNqDAAAADIzeTNzZnFjLmZnZAwAAABxMnRmYjB2ay5uMmQMAAAA
+ a2xieXcwczUuZ2ozDAAAADN0bWhjaHExLjFxdQwAAABjZXU1M2o1dy5rcXYMAAAAbWRjcGVld2Iu
+ NXhxDAAAAHl6MmFpd3k1Lm9scAwAAABidHZycTFiZy5jeXIMAAAAeXlhbGJ1Y3MuYW5nDAAAAHAz
+ eHRvcDFpLnFlZwwAAAB3ZXdrM2dmZC5uaW0MAAAAZm1qb2d4b2cuNTU0DAAAAGVydTJsbmowLnN1
+ dAwAAAB6bG5xa3hnYS53MHIMAAAAZXgxeDB1MXUuYnpuDAAAAHZmeGJidWFkLm5tNQwAAABidmo1
+ eWxwZC53ZnYMAAAAZW5rY3FzNTUudGx0DAAAAHdsZzBxcWh2LnNyZwwAAABvZWVrcjJ0eC51aXkM
+ AAAAdmh0aTB3cXAudWYxDAAAADV0cXh0enYzLnk0cgwAAAB4ZXdlbGRrdi56YXEMAAAAamJ4YzB3
+ dWkuMWlkDAAAAG9rdXB6MnN2LmhmaAwAAAB1MWJ5eDFlbi5taXIMAAAAaGhwejQyeHQuZ3F4DAAA
+ ADBxbDMzZXk0LmMwagwAAAA1bTVsbjVsbi4wdTIMAAAAcnN0a2JxdWwudWQyDAAAAG94MDQ1azFv
+ LmdtbwwAAAB0dWRrcW0wdS50dmwMAAAAY2ZjMWlvam8uNGluDAAAAGozcGM1c20wLm1sYwwAAABp
+ c2Q0MGpzdC50ZmcMAAAAazM0ZHdjd2IuejNtDAAAAHZleDV1c2RvLm1nYQwAAAB5ZWpnb2d4by55
+ bnAMAAAAdjRvbjB1bGwucHlmDAAAAHB3MmUwbHpzLjVnawwAAAB2enEzMW94Yi50djMMAAAAeHFz
+ MGthZ3QueTV4DAAAAGhyYmlrNGllLnNndgwAAABjZWtsNDBzaS5ycnkMAAAAMDV0Y3h0MmwucXo1
+ DAAAAHF4bHZnczFiLnVjbAwAAABnMndsNDBrMS5qeTIMAAAAdWExcnIxZGwudWVlDAAAAHFzdWdu
+ eXZmLnhycQwAAAB6bXoxd3V0dC40bzAMAAAAYTJuajNxZ3kuajR6DAAAADUxeW01YmhxLmVybAwA
+ AABpMXJsMnBlYi5odmoMAAAAcWJyanptcnUubWZqDAAAAHljNWdrZ3lsLm1wdAwAAABkZDV3dGh5
+ aS5xeGcMAAAAa3dlZHV2cG4uZnRhDAAAAGFqZDNkdjBoLmtqYwwAAABocGdudG5qaC56dHIMAAAA
+ eDRmYWF5b24uemd6DAAAAGRleDR4YjVsLnJtbQwAAAA1NWZvcXJybC4ybXUMAAAAd2lrdXB4b2ou
+ c2V1DAAAAHVkYWxnenR0LmMzbwwAAAA0czJ6aG15cC4waTEMAAAAMHB4MWRpY2wucWd3DAAAAHVx
+ YTF4bGRxLnQydgwAAAB1MXF1aHRzdi5xdXUMAAAAMnMycmJmdm8uanZpDAAAAGQ0bDQwbGJxLjUw
+ ZgwAAAB4YTNsajR3Yi5udHYMAAAAam9jZnc1dmQubG5tDAAAAHowYmNsa2R1LmNwawwAAAB3MGpv
+ Z3BzMS5hNXUMAAAAMDM0bDBvaDEuNWh2DAAAADNzY3Vzd2JzLnl3aQwAAABidXp6MmpuMi52MzUM
+ AAAAa2V0c2IyeHQuaXgzDAAAAG01a3RycmtsLmJmNQwAAABkeXVqMXRydC5rdXgMAAAAYzExcG9l
+ MDMuaHJjDAAAAGJvd2lyZDQzLmI0YgwAAAB6M2E1eDR6dS41em8MAAAANWw1MWswdGsueGRsDAAA
+ AGZzNXgyYWxuLmpkZwwAAABpcno1aHAxcC54dzEMAAAANDRobGZsdjQub2lpDAAAAHVzMzMyMDJy
+ Lm1tbQwAAAAwZGV2aGIwMC5lbm8MAAAAeWdva2FscHQubXpuDAAAAGx5ZmNscmh3LnJ0NAwAAABk
+ a3hrY2l1ai4zZnAMAAAAemtkbHNwcjEuaHQyDAAAAGE0aDNvMmFyLnBzNQwAAABxd2YwM2lxZC5o
+ ZmUMAAAAanl0cHZ2YWEudWYwDAAAAGFvdno1ZjRhLmlhMAwAAABjdjFlMnhvdS4xbngMAAAAbGFs
+ bzVncmoueWV6DAAAAHgzanRjbzRjLjJsaAwAAABycDR0c3ZibS5oa2kMAAAAeTB2MjM1eG4uMG5m
+ DAAAAG56eDR2MXBpLmNlMAwAAABocWFleXd2by5zazAMAAAAcXMwYmRudjEuNDVjDAAAAGhpM3p5
+ cjFsLmlidgwAAAB6YzJoM28xdy5iMnUMAAAAZ2F5eXo1dDUuNWNlDAAAAGZhZXEwdTNrLmZndQwA
+ AABtcmZwZ3FzdS5ldm4MAAAAY2hlbTRsb3kuZnMyDAAAAGlyc2xnb2hkLjVibgwAAAB2YWR0YXNs
+ aC5oeGIMAAAAZnhpMmwyeXAuNGdhDAAAAGd1aHFibjExLnVyagwAAABmcTJ5bmZiMS5tb3IMAAAA
+ Zm50aWR4dHEudDJjDAAAAHNxenZhcnQ1LnlmZgwAAABnbDEyZ2ZxMy5nZWYMAAAAcWNtYmpha2cu
+ cGc0DAAAAG4wanFyaDNjLnBtdQwAAABpNGdmdmN0Zy5sa3gMAAAAeW1vNXlsengudmt3DAAAAHZ1
+ bWFocGV0LmVqMAwAAABza254ZXVhby41eG0MAAAAdHF5bmFoaGcudW8zDAAAAG4zMm00aGVkLnRt
+ cgwAAAAwcHVpbjRwdy54NHAMAAAAbGgxZTBjM3QuamNlDAAAADBjeXBuZGVwLjNrdwwAAABrdWg0
+ NGp3aC53c3IMAAAAb3UzNDFwd2sud2lxDAAAAHBobWZtZ3dkLmlicAwAAABhc2szdXNzcy56YjUM
+ AAAAaHgwYzFnZmIudXQzDAAAAGFxaWloMGxlLnYyawwAAABleHVlaWVmZi5sc3gMAAAAa2pmMG9u
+ bmIueTNiDAAAADJ5dG1vZHpwLnMyZQwAAAB3NHczZjUyai5vaGEMAAAAajJuamJtZHEuMTRhDAAA
+ AG1xenExcGptLnM1NAwAAAA1ZjBvb2h4My4xamsMAAAAaWJxcjUwanAudmVnDAAAADFsM3phZ3F4
+ Lm80cQwAAABueGN4MzBpbS4wdDAMAAAAb3ZkYmVnZGcuMWRmDAAAADR3MTJncHAzLmRycwwAAABx
+ MnlkYjJtci4xNGQMAAAANWZyZHJqNG4udmduDAAAAGtua3B5MGtvLjFucAwAAAA0aW54a3YzZC54
+ eWgMAAAAYm1ucnBscWcuMHdxDAAAAHh5Z2U0ZDM0LjQ1eQwAAAAzbGN1aGZpcS4yYWYMAAAAeGtp
+ NXYxMGguZHkzDAAAADA0bWJzeWJzLnAzdQwAAAAzZXlpYjNqMi5sZ2sMAAAAeHlxZXE1ejMubTRh
+ DAAAAGtqcG9ud3hqLnNjYwwAAAA1a3EyYm0wby52azEMAAAAcnNjc21uNWkudzFuDAAAAHptNWtp
+ Y3JyLjV4ZgwAAAB3dGVvdHcxci54dW0MAAAAcXZkMDIzemguYmNwDAAAAHlranlrY3F4LnJqMAwA
+ AABqZHQxYnV0Zy41d2UMAAAAbW53ZjJnbXUuM3hxDAAAAG1nb2VrdTNhLnl3ZAwAAAA0bnAwdGdo
+ NS5ybWoMAAAANHF2c3JndnIudnBqDAAAAHhjZGN6cnl4LmZhcgwAAAA0azEwdnV6by56d3cMAAAA
+ b3NhZHYyeWouc2RnDAAAAGx4c2VsYXF2LjJjYwwAAAB2dGkyMDE0di4zY3YMAAAAaGNhMGx3cjMu
+ eGp0DAAAAGJqbnIxMHN6LnM1eQwAAABzcjVvZ25jNS5ocHMMAAAAYTJqaHRxeWIuczVjDAAAAGtm
+ ZG92aXptLmljdwwAAABvZDMzNDVvMS41MXoMAAAAY2VzM24zdjIudm53DAAAAHZycDBncG1mLnky
+ YQwAAAB2MDFmYWJsYi41djUMAAAAanIwZnRoYWYuNWJ1DAAAAG4xdnYxdHN1LjFpbAwAAABnZjFi
+ aDV6by5iNWkMAAAAY25sNHhpM3Uuc2NkDAAAAHMxaGpub2t0Lmx3agwAAABqbmE1em0wYy5hb3gM
+ AAAAY2phenp1bXguNXE0DAAAADVvaW81bWN4LnoxMQwAAABrbm41cW1ueS5kbDAMAAAAbTNkd3Jx
+ MmEuMnJ2DAAAAGJ3YmlmM20zLm94YgwAAAB0aXdpb3VsaS4yMmMMAAAAMXU1cjFuYXoueWhjDAAA
+ AG52MGgxNHRzLnBpeQwAAAB3cnNzY2htcy5obWEMAAAANXF4MG81MmIuZnlwDAAAAGJuNHJ6aXNy
+ LjV5cwwAAAB1cmZvMmJxYi51Y3cMAAAAc3ZlZ3Rpb2UuaWNzDAAAAGZ6aWpmcGpsLmMwagwAAABn
+ M3lwdTJobS5qanQMAAAAd2llaG1mejIuMTJkDAAAAGQ1eXViM3NuLmRoagwAAAAyZnZ3eGlsdi5p
+ d2gMAAAAdTV4NWtwMXguenJlDAAAADEyc3Q0MDVnLmJ4dQwAAABucWZtMWJvZS51ZG4MAAAAdGxh
+ czJ6Z2QuZWswDAAAAG0xdmhyMWl6LnhucgwAAAB6cHpuNHczeC5uM20MAAAAYnNqbDBudmkuaW5o
+ DAAAADJ0amlwd2J6LjR5NQwAAABnZ3BrZGxvdy5vd2QMAAAAZHpoM2NmYXguNWZmDAAAAGlnM2x0
+ ZWdkLjVpNQwAAAA1eTBnZWszdS5pMm4MAAAAa2JiZGEza3MubWl0DAAAAG1mbzF0amV4LjR5bAwA
+ AABlNXFpNXppYS5sMXgMAAAAeTRjNHZsM3EuMnF6DAAAAGRhZHhtMjN4Lmx4cQwAAAB6amlqZGV2
+ cS55bmEMAAAAM290ZXByancubW93DAAAAGQ1NXA0b3BjLng1aAwAAAB4bGE0NGYxaS5jbmIMAAAA
+ NTFiNWZndXkuaDB4DAAAAGdsb2RnM2lmLmlyMwwAAAAwZGR2anNhZS5vdWYMAAAAZG5qd25lcnYu
+ ZGZ4DAAAADRoYXA1c3ZsLmowMQwAAAB2a3JsbHFndS5zemcMAAAAMTEyYnFwcWYuaWMzDAAAAGtw
+ NHhyeWdmLm9tawwAAAB1dWx6bmFwdS4yaGQMAAAAb2V6cmgwc2kuajJ4DAAAAHNudnF3aGkxLml3
+ aAwAAAB6aWZsa24zcC5sMGoMAAAANGJ5ZnhkMDUucGJxDAAAAGRsc2Fpb2FzLmhzMwwAAAAweGZh
+ dDNxei5vYWkVABWO+gEVjvoBLBXQDxUAFQYVBhwYDHp6cTBrZnk0LnZibhgMMDF3d3llNGcucGZz
+ FgAW0A8YDHp6cTBrZnk0LnZibhgMMDF3d3llNGcucGZzAAAAAwAAANAPAQwAAABtZGlmanQ1NS5l
+ YTMMAAAANWRtdnFldmcuamswDAAAAHNmdGdtZ3N4LmIxZAwAAAB6cm9xdnM1dC5samkMAAAAYW8z
+ amF0bmMuMXZoDAAAAHUzYmZ1dmRsLjF3cgwAAABqcWN3M2VyMy5sdDIMAAAAc2gxc3doZXQuYncz
+ DAAAAGkwc3EzMDVvLmg1dQwAAAB1NTNjZWxhMC5zZ2IMAAAAemZybTVobHEud3J1DAAAAGN6Y2Nr
+ a3QyLnJpMAwAAABxMG40NTJlNC51bnkMAAAAanVvenVtYWEudmZ2DAAAADFtdGZvMTNtLnhlaQwA
+ AABjd3RhZWQyci5xZHcMAAAAM215czB5a2YuYWdqDAAAAHZlYXVpbTNtLjNhMwwAAAB1NHh1cWZx
+ ci5ubXEMAAAAbHd1aG5kbTAud2pmDAAAAGtqdXkycm50LnVqdAwAAABxeGNpd3JpMS5seDEMAAAA
+ bHBlYnRqNXcuZmMwDAAAAHp0aWoxcWNiLml5MwwAAAAzbXdyZXpwMi5xaTAMAAAAYXoyamF3M2Eu
+ Y2RmDAAAAHBjanpvdzF1Lm0wMAwAAAAzZHlxdmg0MS5wYWMMAAAAMGFqY3lkcHMuYTRkDAAAAGI1
+ MnJtY2htLnNoZQwAAABwczBzZGZzei5lcmMMAAAAZjUxdDNkaGIuanZjDAAAADV6cmhzYnpqLjF4
+ YgwAAABqMmxtZnpzMi5xZmIMAAAAcjBlcngxaXQuaXRyDAAAAGpiMGRzdTAxLnBlbwwAAAAzd2ow
+ ZGsybi5hczIMAAAAem5iemhnaXAuY2xxDAAAAG5xYmJwcHJ1LmZncQwAAABncDF4emYxZy4zeGQM
+ AAAAcm95ZG9udWsuYjJqDAAAAGVlZ2czY3FzLml0eAwAAABtNHYxd29sdC40bGgMAAAAcHV4MHp5
+ ZGMubHZsDAAAAGRiZGZtc3IyLmlrNAwAAAB1cXQ1c2EzaS5hbmsMAAAANWpjaWpoMWcua2dtDAAA
+ AHIwbm50eTRwLnFlMAwAAAA0eGMxcGMzai5vemYMAAAAZDN4dzNoZ2EuYWZkDAAAAHZlMHVtZnl5
+ Lms1agwAAABhcHljZ2h1aC5hbHIMAAAAY3l6Z2twaDQuM2ljDAAAAGJjZTJ5dmNxLmhhbQwAAABv
+ eGxhdGdudy5hdG8MAAAAdGpnb2tzZTIudTRzDAAAAGt1MWw1NDVkLnB3ZgwAAAB1Y2VhYmxjcS5o
+ dnUMAAAAc2x3dXZjaXkucXlmDAAAAG9seWMwcml2LmhuYgwAAAB3cmN6bXEwbC5yZ3cMAAAAc3F3
+ aTVla3UuZnl6DAAAAHdua2VzY25rLm5kbwwAAABoajRzbDVqMS5mdXkMAAAAczR4bmJoMmMudGgw
+ DAAAADVobHZvZ2l3LndtMQwAAABjcTBuNDVwei5mc3AMAAAAemYydndqaXIuZXVxDAAAADVqeHZk
+ NTMwLnp2NQwAAABqc2N2b3ljYy5xcWcMAAAAbHNqbnp2ZmIua3J3DAAAADRwYWliaHoxLnYxcAwA
+ AAB1cmkwMmFjMy5zYnkMAAAAbWc1cXdiMXEudGVqDAAAAG5sYmd5b2k1LmZkZwwAAABrM3ZiMW1v
+ by5xYWsMAAAAdmN5Z3FzcWUudXZiDAAAAGRobWFheWc1LnNrYQwAAAB0dW9sZ3lobS5seGQMAAAA
+ cW1mdXJrMWcucmNnDAAAAHMyZmdlMDAzLmNkMQwAAABpM25sY256dy4wNGwMAAAAc2UxNHJmeWwu
+ cG1zDAAAAHR0eW9kc251LjQ1ZQwAAABtcmQxamJ0Zy5uZjEMAAAAeWNtcG5ldzQueTFnDAAAAHd6
+ dmF6cHZqLmFoeAwAAAA1bXVyNGt2ei5mZWoMAAAAM2NoYnN6dmYubXl2DAAAAHBldGsyZzVxLmxn
+ ZwwAAAA1bTU0Zmdnby5rdjUMAAAAeXptczVvMHMuNTN6DAAAADB4NTRsZHN5LmdxdgwAAABnZWlz
+ emdhMS53ZnIMAAAAamExY2xhdHcuNWNpDAAAAG9ydHVzdnlwLnp1dwwAAAAyYTJueHNxbS5hdHIM
+ AAAAeW5sNXR0eWgubTVsDAAAAG5xY2k0bjUxLjM0dAwAAABrMjRraXpsZC50aXQMAAAAcHBwZmNw
+ MmQuenRxDAAAAGtnbGl5ZXN0LmFmdgwAAAAzbGFlb25nbi5qenoMAAAAaDA1djA1YnQuc253DAAA
+ AGVrZGp0Y3U1LjNicAwAAAA0dmp3eTJhei5kc3cMAAAAYzR3MjF6ZXAuYWNzDAAAAG1hZmtrdGh1
+ LjN5dAwAAABqaDV2ZGx6eC54aGIMAAAAanYzZ2lhMDAuemFxDAAAAGxucjAxemRkLmh0eAwAAABt
+ bmNkZjRudS5idnQMAAAAY3l1ajNjcjUuYmVhDAAAAGt2cG5kem94Lm1vbQwAAAAyZjB0c2Vuby5t
+ NWkMAAAAcTJvbGRtbDQuZHlyDAAAAHFqMTBqY3BjLmhrdwwAAABjMXZ3bWtvYi56azUMAAAAdWRt
+ NGFiMXMuM3FtDAAAAGtxZ2I1ZndsLnV6MwwAAABla21uYjBoZC55c3IMAAAAYWdqYnNrbnIuMmd5
+ DAAAAGZwNGRqamxsLm1meQwAAABibzVkZW1oeC5taHcMAAAAcnppZ29ldWkuYnhkDAAAAHhhZmUw
+ aWlrLnQ1ZQwAAABybXZreHN6ZS5id2EMAAAAaHRxNWZndm8uaGdlDAAAAGczeXBicGprLnY0ZQwA
+ AABtbXYwb3lieC5rM2cMAAAAZGhqMGIxY3kudm5tDAAAAGJoYm5kZGRjLnp1cgwAAABid2NicDQx
+ ZC55dG4MAAAAZGhoZ2d0dGkuMWhrDAAAAHFwa3J2MW40LmlvcAwAAABnMGNsdDUxbS5wYnEMAAAA
+ bnhsbGRhYW8ua2RwDAAAADBucTV0Y3J3LmpldAwAAAAzNDAzbW9tai5nbGgMAAAAcG1kNHp6aGsu
+ eXJzDAAAAGYxcmMwNGp0LjFrbAwAAAA0dXhmc2loaS5tMHUMAAAAZWx6Z2t4dmoucmplDAAAAGxr
+ dmY1b3gyLmpqMAwAAABhejIyNG1qci5zZ24MAAAAemYwemFwdW0udnZjDAAAAGNjZnBqMG95LjRp
+ ZgwAAABtazB4dXZ5MS5pMjEMAAAAMjRmbjJ6eHIudGtqDAAAAG96eWZ1b3JuLjFybgwAAABhdnN3
+ dTF2Zy5vYXMMAAAAcmNtaHhvczMucnptDAAAAGhyajVmZ3NnLjM1MQwAAAB0eWlibmV5bC54aHQM
+ AAAANXIzZHV6b2cuamlnDAAAAHBuMXJ5ZWFnLmV1bAwAAAB6MmFsbXJ6ZS5tdHkMAAAAenpxMGtm
+ eTQudmJuDAAAAHJ0cTBkZG9nLjV1ZwwAAAB3ZXRlc2hteS5kYW0MAAAAZWc0M2tvMG8uamhnDAAA
+ AHNxaGdhaW1wLnQ0YgwAAAB6cDRtdmh1Yy5xbW0MAAAAM2dnd3F3aHYuZ3MzDAAAAHd1emNxb3Z4
+ LmZqMgwAAAAxbDFtNDFiai5nZHcMAAAAdnFib3FrcHQuMzJ2DAAAAGU1bTR0MmVxLnhsNAwAAABm
+ MXhtMTN6eS5langMAAAAMXNlcTVjaG0ub3BoDAAAAHgzYmt3Z3JyLjViYQwAAAA1MXNqeWNncy51
+ bWgMAAAAMHNrdmJvanEueTBoDAAAAHo0anJ5YmYwLmVvbAwAAABxaXNmbDRsci5iZXEMAAAAb2xm
+ Z2RhYnoud3djDAAAAGFnem1oeHV1LmN3aAwAAABiNXB4bTR2dy5yamIMAAAAbTBzb28xanYubG5x
+ DAAAAHJ4dWJ2dmdwLnhnZgwAAAB0MzJuM3huZS5kZWgMAAAAdWZvMG1sNWsuanphDAAAAGJqZmQ0
+ cWNvLjRtZAwAAABkdnJmZW0ycC51bGgMAAAAdGJ6Z2loM3YudHQ1DAAAAGlmeTJlcHVrLnNxNQwA
+ AABmYWlsMzVieS5ycTMMAAAAbTVlZ24yZmsuYWllDAAAADBsaGlrbHFrLm9iegwAAABsb3h0eHlv
+ dS4wMWcMAAAAbXYzcm5lZW8ucmljDAAAAHI0cnpyeWkyLnF3NQwAAABxcmJsMDVxei4wNWUMAAAA
+ YXcycHJqYmEubTNhDAAAAGJoZ3l2aXZqLmNiMwwAAABkbHhlcTVjMC5vcnYMAAAAbjN2MDRyaHAu
+ YWV4DAAAAGQxcXZ1ZmltLnBidwwAAABveWVyanp2dS5wZm8MAAAAbnVheGtib3YucXB1DAAAAGtk
+ eWRhcWlyLndjcgwAAAB3YTM0Y3VrMy5iZGcMAAAAZTVuMWl4anoud3JrDAAAADJycmk0MXBqLmV2
+ cgwAAABoeHJqNHJzZS54Y20MAAAAdzQxanFwemMueDF4DAAAAGJqbTJhdTNyLnR5eQwAAAB5eTFi
+ eDNtZS5tbHgMAAAAZ2I1MG11bzUudTNoDAAAAG1pd3Z3anQ0Lmo0aQwAAABxY3JpbWFoby5jbnYM
+ AAAAdWdlc3R5dzEudXBsDAAAAHNqczJ1NGVwLmdlMwwAAAB6NWZqc2N3Yi41NWIMAAAAaGxmeDFn
+ cXMucTRqDAAAAG0zbnduMGUyLmhscAwAAAB2cm9iendrMS50cG0MAAAAaGFyYXF2ZGYuZDBkDAAA
+ AG16YTR0NXNnLnV1dgwAAAAwaGh2cGpkNS55bXAMAAAAcHByanQxbWIuZ3RzDAAAADE0dnJkemEy
+ LnhtcwwAAAAzbWltdnF1bi5odTAMAAAAa2NsbGdqdGUuY2I0DAAAAHN6eGdsYWlqLjJvdAwAAABu
+ bWg0bmg1MS4xbjAMAAAAZ2Zyb3ZieGwucWJtDAAAAGUwbnBsbndqLnlzZQwAAABkYWhodXF2Mi4z
+ b3IMAAAAcHhuMXQzemkuYWNnDAAAAHl0MDBodGtrLnd0dwwAAABwend4NTIzMi5ocWcMAAAAbXJ1
+ eWx6dHQua3BiDAAAADBiaWNzeXFvLmJxZAwAAABndnpwbnZ4cC5xbGwMAAAAM3V6bDFmaXUucmYy
+ DAAAAG9mZGptbnN2LnVodAwAAAAyeWhndHVzei4xa2YMAAAAMXcwYnhkY24ucHgxDAAAADFwbWx3
+ Ymt2Lml3MwwAAAB5ampoa3Fsbi5pdWIMAAAAMHh3MW95bG8udHdlDAAAAGtteml4cTR3LnUzcAwA
+ AAB0djEzd3F2eS55dWIMAAAAb2EyZzNlanQucmlmDAAAAGViZXBnanc1Lm10cQwAAAAyZnkxMzAz
+ Zy5ueXUMAAAAMGM1dXR1bWYuM3RzDAAAAGZuY3RrY2JnLmMwYwwAAABibmtzZXdzZy53em0MAAAA
+ eXlpajEwMW8ucGlqDAAAAHA1anlkbHI0Lmh2MgwAAAAzaXBjZGF3dy5hcXIMAAAAMDRtdzV6MnMu
+ dW0wDAAAAHdjdHBua2ZoLjJ1bQwAAAByenBxc2JzMC41dGEMAAAAdmFoeHF6MGMuMnBtDAAAAHZy
+ MHNza29yLm4ydwwAAAB4dDUwMHUyYi5yaGsMAAAAY3ZpeTI0ZHguY2t6DAAAAHU0c3dkb2x4LnFq
+ ZwwAAABqc2V0emMwZS5qaGUMAAAAaGI1NGIxdGkuM3F2DAAAAGVyNXFzcHZyLnUxMAwAAABibzRp
+ MnNmdi53MnUMAAAAbXpwdnNudWIua2xoDAAAAGtrMG14djBmLnNsbgwAAABjemJlbGVqZy5xaXEM
+ AAAANXhob2txNTQuY29qDAAAAHVyaWhzbjR5LmVreAwAAAB2dGFtaWl2MC5sd2IMAAAAbHhhc3g1
+ eTQuejMyDAAAAG12dnJ2czFuLmRodQwAAAB5ejJxa2h3ZC50ZGUMAAAAeGwyYWd6dHYuMXNmDAAA
+ AHZnNGNybm0yLjNjYgwAAABrNTVmNWtwcS55cWIMAAAAa2RlbGI0bWkucWNtDAAAADN4NWxldGk0
+ LmtkYgwAAABqd3FnYnVtYi5pcnQMAAAAaGVkbHlpNXQud3FsDAAAAGZ0ZXRzM2tvLmhtbAwAAABy
+ Z2MzdjN5cC4xY3AMAAAAZ3BoMzNqcGwudHoxDAAAADR1eDNzd2l5LjNhMgwAAABuY211d3V1MS41
+ ZjAMAAAAaGhrYjBrdzAueWkyDAAAAHZobG1ha3VwLmhzaQwAAAAyd3dkdXFzdy50dzEMAAAAamJm
+ Z3FxeDUudHoyDAAAAG80dWk0a2RyLnAybQwAAAB4aWd3ZHBxZS4zencMAAAAamIwemtsbDEuMmFo
+ DAAAADB3eHBpZWlpLmVndAwAAABuNDNudG81NS5ueWYMAAAAeW1ocjFxeDUuMW9yDAAAAGY0bGZ3
+ b3hpLm50ZgwAAABuemZyYmJ2eC5weXkMAAAAeWhyNXZvaXouMnVvDAAAADN5NXAyZXp3Lm55YwwA
+ AABuNXFnYWgxbS5vM28MAAAAcDNzMWUwMWQua2pnDAAAAGVxZDFoa2NhLnkzbgwAAAB2YTN1Y251
+ ay4yMXAMAAAAYWVrYTE1Z3EucXFkDAAAAGNwdDNvNGZhLnhzdwwAAABsMXMyZ3Fhay52cWQMAAAA
+ anJvM2hzcDMuMmYzDAAAAGJzZ2FhdTBvLnBvawwAAABybHgxZGVoaC56eHoMAAAAdmZlNGlibmMu
+ YjJyDAAAAG5paTFtc3YzLnBzdQwAAAA1cWtkbnR5ci5xa3QMAAAAa2Yxa3Yxb3kuaGsyDAAAAHh1
+ bmd3dWlqLnViMwwAAAB2Ymx3MndldC5rcm0MAAAAanFkZ29tNWEudmMxDAAAAHk1amtjbG4zLmxw
+ NQwAAABqcW1xeWVkdy5naWEMAAAAMW9qYjIwaWEudnRqDAAAAHRmaXZkdjIxLmF4MAwAAABwaWQw
+ aHpwcy5kdjUMAAAAd2ZnY2RxNGYueG8yDAAAAGNicDA1eG0yLnM1MAwAAABhMjAxYXBodi4wZjQM
+ AAAAZGwxMnl6bXIuZWJmDAAAAHgwZXZ5dHFyLmEydwwAAABnZm91NHlrMS55NXQMAAAAdzJqZHZs
+ MmIuZmJ3DAAAADJ4a3c0eHhyLnVpawwAAABneHFsaWdsMi5scHMMAAAAanN5dXl1emguZGhyDAAA
+ AGRkem5lMGpnLmV2NAwAAAB6d3pkdXBjcy5mMWMMAAAAbHZzYWFsYzEubWxqDAAAAHhheDBhZTVl
+ LnpjeAwAAAByZmRncm4xZS5yZHYMAAAAc201MnV4bm0uYjMwDAAAADF2cWt5NWZhLm54ZwwAAAB5
+ Y3lreGVnYy4zYmwMAAAAajNqMnV5ZGIuZ3JmDAAAAGh6aHozNG1mLnB6NAwAAABhMHJzaWUxci5p
+ cTUMAAAAMGp1cmoyMWkuNDAzDAAAADAyM3c0YnJ4LjNzMAwAAAA0em95YjRzdy4zbXMMAAAAcGlv
+ MnM1MHAueGprDAAAAHBpYWpibXpyLmgzcgwAAAA1ZDMxeW5ndS54a3IMAAAAZ2dlMGMwdWEucmsw
+ DAAAAGpvZHIxbHVjLmk0cAwAAAAxcmNrZDN5NC5pbWoMAAAAeGxhbXhwZ3YuMWp0DAAAADJlMGsz
+ MWJwLm4xdAwAAAB1MW1sazF3NC52bjIMAAAAa3Y1YWhldmoudjBuDAAAAGMwdDVyMm9jLnI1cAwA
+ AAB4d20wdGt2bS5xbHkMAAAAdWpqcW9pM3IuamoyDAAAAG5sdHl0amd4LjN3YQwAAABoZmF4Mnhy
+ di5yc3YMAAAAdmdyYnlxdXYucXQ0DAAAADFqc3d4YWh3Lnk1awwAAAAza3Ftb3d3di5ia24MAAAA
+ ZDFocWk1dmMuY20yDAAAADFxMGRseGNpLmhjcgwAAABkemJsazRyai52ZHYMAAAAZ3loeDBwNXQu
+ ZGlzDAAAAGNsaWY1b3h2LnQwbgwAAABwYm52dzJ2Yy5oMDUMAAAAaWUxajNldXoudmMyDAAAAGNq
+ cnNjaWp3LmJzcAwAAAAxcGxtbjN3ai5kZzIMAAAAd3BxeW15cWMuZXBvDAAAADNteGpyYTBhLjVu
+ dAwAAABhcGxhZTVocS5ibG0MAAAAc3VjajQwcG8uMzRjDAAAAHpiY2twcDQzLjV1agwAAABhbG5s
+ YjRlNS5ibnkMAAAAYWl3amdzcWUuZW1mDAAAAGswbzFsbTUwLmNxYwwAAAA0cm1tbDVlYi5xZXAM
+ AAAAYXBpbWdvdGYueXE0DAAAAGF6b3Jwd2QwLmR3NQwAAAB5M2x0ZGkzYi5xZXMMAAAANHhvbHRm
+ cDAuZDV0DAAAAGhocDI1d2FpLnFxMAwAAAB4Y21obGJ6NS5paXIMAAAAbnpqd3p6MGYudmprDAAA
+ AHhyMTFmNHVuLjJidQwAAAB3ZGhqeHBuei5neG0MAAAAMnh5bGlsM2wuazF4DAAAAHZzMXZqd2cx
+ LmdqMgwAAABrMHRzbjRmaC5va2wMAAAAZDFqb2N6MmQuaHljDAAAAHF2MmpucTVzLmx5ZAwAAABx
+ ZHpwNWRyby4xcXcMAAAAa2ZhYmkzdHYuaXRmDAAAAHB5NG9xeWRiLjJ6MgwAAAAyNGV0dGMwdS53
+ MGgMAAAAZGZkNDN6dHcubWlyDAAAAGF6Zno1eWk0Lm8zagwAAAAzdDV1d2Ruby5tdHoMAAAAb3ls
+ ZjF4aHguZ2RqDAAAADR5bnAwdmFuLnpidQwAAAA1enF4bXZqcC4yNTUMAAAANXFnc3F0Y2QuMmpk
+ DAAAADRuMm5kMGlvLm53ZAwAAAAxMm1qNWlrdy4yY3MMAAAAY3ZvZnd1dmwucXhnDAAAADBobHU1
+ ZnJ1LmRjcwwAAAB4NGpoNXBkci51bzUMAAAAcWRxNHdib24ucWFyDAAAAGhvMHBhbHF4LnNocgwA
+ AABhMmJ0bWJ5YS5xZ2UMAAAAbGk1b3NwamouMGxsDAAAAHpldGgyMTFkLjBoYwwAAABsY2Y0NXky
+ bi52bjQMAAAAZXpvemI0M2suYTR6DAAAAHR1ZHVoanlyLmdnbwwAAABuZHBqaXJneC5rbHUMAAAA
+ MnBsbXVrdHIuYnB4DAAAAGhmeGxnb3RjLmcxYwwAAAB2cGtiMTF5Zy5pMHEMAAAAcW4ybmpvMTMu
+ Z21sDAAAAHJpY2o0eGs1LnBqbQwAAABqZ2RuMmN5Zi4zYW4MAAAAZDB3aGk0djEuY2wwDAAAAHAx
+ bGdncnVzLnB5bAwAAABqb3R3cW95ei5jZjUMAAAAM3p1cnZ3Y2oueWZnDAAAAGkxcGFkdnVuLm96
+ bgwAAABhdGhucnJ6di5pdG8MAAAAc2Nmc21zZzQuc2lsDAAAAGdxZGp0MXNtLnZ4bAwAAAAzMG1i
+ aDNraS5rYm8MAAAAZzRoZnNoYWwuY2JpDAAAAHZlbmptanFtLnRmegwAAABhNTVpdnQ0My5zcWoM
+ AAAAbGY1cG14YXguYWJ6DAAAAGdtb3cwcmI0Lm13egwAAAByM3Nlemh6ai5xZzIMAAAAMGN2NHh6
+ dzUuaXU1DAAAAHlzMjMzZm52LmNscAwAAABzaDJuZ2Fvdi5lY3QMAAAAbXFudG4ybXEuend2DAAA
+ AG8ydHFzM2NuLjBxcgwAAABycnF5ZWt6di5pcnQMAAAAcDVxMXkzdmQucDV5DAAAAGUzYzVtY29q
+ LmExcAwAAABtNXNxd2Nkai5vbHkMAAAAeW1uaG40bGguZ2lpDAAAAGZ0ZmJrbXlyLmoxMgwAAABo
+ c3ozcWdoNC53MTMMAAAAZWN0Zm9paHMuenV1DAAAADVsbHl5b2dhLmp0cgwAAAB2cmd5Mnl0eC5k
+ MzMMAAAANXA1YW1ja2wuam1sDAAAAGdrZXpkZmNzLjAwdQwAAAB0MzF2eHViaS55cmIMAAAAZzJ1
+ MzJrenQudGllDAAAAGEzdG9nZnBjLjJ4MAwAAABrYzM1cDF2bC4wMXYMAAAAaml0MW9zNXcuanVj
+ DAAAAGVia3h2bXExLjJ0aQwAAABqYnd6cXVvbC54cDAMAAAAaHJrM2JwaHYuaW5qDAAAAHkweWNj
+ bTQxLnQxbAwAAAB3aW55a2FtZy5rMjMMAAAAaGtpamsxNTMuZTRwDAAAAGd4ZHprY3phLm1zbgwA
+ AAAzaWtwa2tteC5xZjIMAAAAYnRoc2dnNXQubnl4DAAAAG50M21pdGJ0LmowNQwAAABwamdpNTBu
+ MC41cWYMAAAAM25uZGNobWcueXZrDAAAADRhaXdwMWVhLjI1dAwAAABobXhjMmxqcC5ja3cMAAAA
+ d2lveTF5bmIuZ3gxDAAAAGdjdDNqbzEzLjJwMwwAAAB0cTB1MnZwbS4wdDMMAAAAb21ncW53dzEu
+ eTUxDAAAADIzcmVlbjI0LngzMgwAAAB6amVheWVzZy56dWsMAAAAZ2trd2x4MGYubnNvDAAAAHpz
+ dWl2em1jLnRmMwwAAABvMmt4bXBicS50bXEMAAAAdHBhbzNsMmgucG9zDAAAADBmbXozdHNxLndz
+ cQwAAAA0dDIxaDB0Yi56dDIMAAAAZXp1anB2ZXkuaWs1DAAAAHNoY2RzeW9nLmRlMwwAAABpdmt3
+ ZWxteC5kaHoMAAAAc2JvNHRjeXcuNHV3DAAAAHJzbnpkbWExLmFlcwwAAABjYXd3YW5pbi5nYncM
+ AAAAajJvNXdkcncuZ3VrDAAAAGF5MHVodG9mLnN5ZQwAAAAwYnQ0d2l6bi4yaWwMAAAAeHFtamtv
+ NTUueGZwDAAAADVvdnlydHptLmQxawwAAABsY3VoaDR3cC5ldzMMAAAAYWJ6cGhhMTEuM2tkDAAA
+ AHZ2MWVkcnI0Lm1rcAwAAAB1aXEwajFrei5yNXcMAAAAeHFydWd2NG8uYWpkDAAAAHo0a3hibjVm
+ LmJjcAwAAAB5ZGVzcGpjZy5pajUMAAAAb25yMHJvZGsubGN6DAAAAGoxd2Z3eGVhLnMyNAwAAAB0
+ cDRtNXR0dC53bXgMAAAAcGpkY3Bzd3MuYWoyDAAAAGtrcXgza25qLmh2ZgwAAABwdHJubm5jeC41
+ ZW8MAAAAc2I1MTJ5YmouM3JjDAAAAHExenBoamN2LmNpaQwAAABwdGNka2ZxYy55M2MMAAAAZGl5
+ bmJjc2gueHR1DAAAAG8yYTFiZjVoLmJlMAwAAABwMDBhc2psci5rengMAAAAM3hwYnRmYXMub2R5
+ DAAAAHNwZmZ3bHhwLjRtcQwAAABjZGMxd25iay5sbWgMAAAAYjBvbm5ueTQueHkxDAAAAGJ0cXdr
+ NWpmLnhjYgwAAABncTR4c3dxdC54ZjIMAAAAeHNheHVzbmsua2pzDAAAAG9pYzE0azI1LnducwwA
+ AABsdnpvdzRpMy5jNHYMAAAAankzbWtueGUuajJ0DAAAAGxnNXI1ZnFnLmJwNAwAAAAxZWFqZ2Js
+ aS5tcGQMAAAAbzBydHh1YmcuMWdnDAAAAG1panliYXlrLjRtNAwAAAAxNW9wZjIydC56aW0MAAAA
+ MGJlaDRta2QueWVrDAAAAHVjc2pka3FxLmJpbAwAAABwbjRndzJwZC5nZXMMAAAAem92ajRqYjUu
+ MXVhDAAAAGMyMjN6Y3JsLmljcgwAAABiamp0NWRhNC5heDMMAAAAMnl6a3Fvc3kuZ3Z5DAAAAGJr
+ NGVwa2hrLnVhdQwAAABzbG40cmZxYS5jMnAMAAAAdnB4aXh1dnEuMmR0DAAAAGtpdDJndzFhLmMz
+ dAwAAAB3ZWowcGhmbi4xa2sMAAAAdHh1aGhxcGUuNDEwDAAAAHhzeHR3NGgyLmZjdwwAAAAzZm4y
+ cmR0NC5qZmMMAAAAYmdpMnN0YTEuams1DAAAAGlxbmRvamJqLnA1YgwAAAB1cG4zYnh5bS53NTAM
+ AAAAbmdkdDBybnIueGtzDAAAAGN2M25tMjJlLmN3MQwAAABqZmZqeWE0bC41aWoMAAAAcmJhbXB0
+ NGkub3JrDAAAAHdveTFvZ3N0LmIyMAwAAABicHcyNHN6dy50am0MAAAAd3pmams0bDIuc2l0DAAA
+ AHYxcXRtZzFlLnV0cwwAAAByajJjcWRycC5taDQMAAAAMGU0dWRxd3cucG9qDAAAAG5lazV6c25y
+ LjB0MAwAAAA1am9zZG5oZi5ndmYMAAAAbXd6aXA0MWkuaTQ1DAAAAGlqZmsxc2l0LjR3eQwAAAAx
+ bXZ1eDFzcS55cHEMAAAAZnpiZ2JocDUueW1xDAAAAHVpMTFkenFuLnR0bAwAAABqMTBiMDNsaS54
+ NGMMAAAAMXJ4MHFuaXQueW96DAAAADJzc2puMWF2LnptbAwAAAA0bWMxMzR4dy5yNGcMAAAAaXRl
+ aTVxa3oudXZiDAAAAHIxMWlkZW5sLjBycwwAAABzaWoxMDU1eC50eGsMAAAAamIxMTJkYnQuY3Z2
+ DAAAAGIwd2tncGFuLm5xawwAAAAzNXBlamIzZC5mZDUMAAAAMm5oeHB4MmQudDNlDAAAADFkbnhr
+ bzRxLmRhdgwAAABhdzB5cWZwby4xbTIMAAAAb2U1MnN0cXguMnJsDAAAAHBubGhjd2t6Lmt4MwwA
+ AAB4bGdvNHgxdy5odXUMAAAAbzRrNHJvNW0uMmdiDAAAAGF1azJ3dHhnLmVmMAwAAAB3ZzBkYWwz
+ Zy50bXIMAAAAa2p4MGVyb2EucGYwDAAAADJnNHlwdHVlLjMzegwAAABoMjNpeXJlZS5qaWoMAAAA
+ aGR0dzNsZWouaHdyDAAAAG5zY3JjdXkyLjFkbgwAAABrY2ZudjJzcS5qMGUMAAAAMjJxMHB3Mmwu
+ NWZsDAAAAHhoZWd5d3Z6LncxYwwAAAByMnhzaTVtaC5wbzEMAAAAcHp2dTV5bXYudXh3DAAAADVx
+ ZGRrYmJiLnFnbgwAAAAzZnM0ZDBnMS5qeHcMAAAAZW9meW9ueDUudHpoDAAAAHd2djRwcW0xLmV4
+ dAwAAABweXZudXJ0ZC4zZGMMAAAAaXhlNGF0czQudHEzDAAAADFycjMxNGcyLmQyeQwAAAA1YmRz
+ eTR1cy4yMmQMAAAAamxiMGJ0enIubGt3DAAAADR1MGhiYWQzLnhyNQwAAAB2dmdrbDJjby4yeXQM
+ AAAAa2c1anNqNXIubG96DAAAAGkyaDNoZ3NhLnhkMwwAAABudnVkMTNicC5iNTQMAAAAYnAza21y
+ d3AuNHUzDAAAAHd3MGFzc3l4Lmp6MQwAAABvaGJ1dXNwdS5ha3cMAAAAcmNpNHpxemQuNHNmDAAA
+ AGZ1b2pmcTQwLmZ5dAwAAABtYXBiazJpdS5jNHEMAAAAanUxdm8wbG8ubHF5DAAAAG1hMHNxZXRq
+ LnF4cgwAAABxbnd1dGx6YS5neXkMAAAAamtybnJkdTMucW5vDAAAAGF2NHNsZ3cyLm5qNQwAAAB4
+ a2xpamN2ai4zcjEMAAAAc3cxYnZyMHIucWN3DAAAAHZydnI0amFwLnJkMwwAAAAzM2pqYXBhcS5x
+ bGMMAAAAczFwZ3psaHgueXRwDAAAAHBseDN3aWh0Lnp5bwwAAABwY2llMGp5Zi4ydGEMAAAAd3No
+ cmV0dGYubzAyDAAAAHNyZXZ3eGN4LmY0dwwAAAAyZjNleW4yeC5nc2MMAAAAZXF3MGFsZnUud2Jr
+ DAAAADBpdDFtZnhzLmpxMAwAAABpbHl4dXR4ei5tNXoMAAAANHJobG9pcjAuaTAzDAAAADJ2b2Nm
+ ZzNtLnhycwwAAABkd295eWllaC5wZWMMAAAANWIycGk0NWEuZGk1DAAAAHlkbWRrMWJwLmtlaQwA
+ AABqaWRjNW5paC41enEMAAAAMDJnYjJ6aXQuM3VtDAAAAHE1ZmFjM2p6LnczaQwAAABnZmswc2Jj
+ My5wYWsMAAAAd3Nnd3B0d2IubG8xDAAAAGRtd3FycXpvLmthdQwAAAB5ZWVrbGp3YS5oZWwMAAAA
+ dHpoNHN2dTIuaHp6DAAAAHBjbXhrMWZuLjRseQwAAABjMWt1M3p2bS5hMXAMAAAAa2owMDExNWUu
+ dXZnDAAAAGJuNHN5cWdrLjBjMgwAAAAyb21sNWJ2NS4zdGsMAAAAdzB5eHBjd3cubWwwDAAAAGQx
+ ZmNqYmsxLnFseAwAAAAzcmhvM3Rkdy51MnoMAAAAb2FrdGoyZGMuZjVuDAAAAHoyaTF4MTIxLmY0
+ eQwAAABra2lldXZ0NC5zY3gMAAAAeHJweXVia3kub2NwDAAAADVieXR0Z29oLmRtMgwAAABkYXYz
+ Ympvdi5waTIMAAAAb3NoaWh4ZG8ueTFwDAAAAG0wYnJramU0LngwagwAAAB4ZHU1ZXg0cS5memUM
+ AAAAeGVnNDBib2QudWp3DAAAAHBnMXYzczJiLjN0egwAAABuc2FqdWY0ci52dGcMAAAAY3FrdWtz
+ bHIuMjJwDAAAAGZ2dmh3aWs0LjF0NAwAAABkanRudmJwdC5seHQMAAAAa3Nkdm1wMzEuenNzDAAA
+ AGF3cHczZGpiLjBnZAwAAABwb21kYzF0cS52amgMAAAAZHJqZm9pbnUuejQzDAAAAGYyc2NpaHI0
+ LjJubQwAAABweWR1bGNpYi56YzQMAAAAMDF3d3llNGcucGZzDAAAAGNxd2ZnaG11LnYydwwAAAB5
+ anphNGJrbC5ocWcMAAAAbG5qMmpyNW0udGJtDAAAAHl2MG9tcWl6LngxdAwAAABzYXNueWEyZC40
+ d28MAAAAem5iejRoYmQubHozDAAAAHZ6MzFuYXNzLjM1cgwAAAAxc2I0bnlsZy5yejMMAAAAYTQz
+ emVkaW4uMXYyDAAAAGV5YTUwcnZmLmg1YQwAAABkMXV4YnFkMy53bjQMAAAAMHRsNTU0bWYuZnMx
+ DAAAAHlmendwNHlxLnp5bAwAAAAwYXNiZHJuci5yYXcMAAAAbjNqeXZrdnAuZ3doDAAAAHJja3A1
+ c2ljLm1mawwAAABrZWVmcG1nYy50dGcMAAAAcXAwZXlrdDMucTRxDAAAAHowc3UwZ3c0LmxwaAwA
+ AABkNWZ4cXpldS5ua2kMAAAAbTVraGpscHcuZzMxDAAAAHRjMGtqeXF1LnV5ZQwAAABhaG5ncmlv
+ dS56bWUMAAAAaGVxa2R1bHUudHE0DAAAAHlwZHZ3MXRtLnN0dQwAAAB2ZHc0NG4yMC5lcHkMAAAA
+ bGN6aTQ1MnAuaWEyDAAAAGEwcmY1azRwLnQwcwwAAABhcWg0YWc0bC5uZ2MMAAAAZWNwdWE1cWku
+ bWd0DAAAADV3b25lcTUyLnJndwwAAAB3NW9rNWp2ZS5xbHcMAAAAMnpjcWJrZmEubGVvDAAAAGR1
+ eXpvNXVlLjNuYwwAAABqNG9nMnlzdS5sd2kMAAAAZGttcWp6ZTMuYjQyDAAAAGVmZ2FvcmRxLnhy
+ eQwAAAA0bzNhY3B0ZC41c3EMAAAAa2J5cHJpMm8ubGJnDAAAAGtxZ253ZXJ4LnB3dwwAAAB6dXRn
+ enA1bi52enUMAAAAZHZycHZ5M3EuejJzDAAAAHNidjFqcGh3LmdyYwwAAAB6ZDFoaDFsdy5wZGwM
+ AAAAYW1veWtvZGkuNW9nDAAAAG1uMWkzYjMzLmF5YQwAAAB2cHllbGFvci52M3IMAAAAeWpibmgw
+ cGouMzF2DAAAADMwcndocHBsLmt1NQwAAABrdWJwcWxvYi53MXkMAAAAazNsZm9pbWEudGtmDAAA
+ ADNleGlsbXB2Lmp6aQwAAABsYWF1bW1nby51em0MAAAAMHIwcTV0bHkud2ZwDAAAADN4YTBxZ2x5
+ LmljcgwAAAA1NHBhMnBtdy5yamkMAAAAYW9nZWs1dzEudzMzDAAAADNvZ2t3cWVvLmhpaQwAAABp
+ ZmxlaTFuMS5idGsMAAAAYmxkd2R0b3Uudmk0DAAAAGFiMXNhdGo0Lm1xdQwAAABkd2ViZGwwbC5t
+ cjIMAAAAYTRxZG94ZWsuajMxDAAAAGszMHA1c2NuLnRsMwwAAAB1MHoxMHloby5pbXcMAAAAY3lr
+ ampkMWMuNGd5DAAAADVqM2wxMHEwLnlmcgwAAABhdXF6cmp1aC5ld2QMAAAAemdubGx6bnUuc3Fv
+ DAAAAGI1ZjNmcWRpLjB5NQwAAABzeWpobG9pby41YnMMAAAAcDVucm4weHkuMmkwDAAAAHVkeGxj
+ dmdtLmpnagwAAAAzZmMwZXdibS5lYXUMAAAAejFkMHVvdDAudnNqDAAAADIzeTNzZnFjLmZnZAwA
+ AABxMnRmYjB2ay5uMmQMAAAAa2xieXcwczUuZ2ozDAAAADN0bWhjaHExLjFxdQwAAABjZXU1M2o1
+ dy5rcXYMAAAAbWRjcGVld2IuNXhxDAAAAHl6MmFpd3k1Lm9scAwAAABidHZycTFiZy5jeXIMAAAA
+ eXlhbGJ1Y3MuYW5nDAAAAHAzeHRvcDFpLnFlZwwAAAB3ZXdrM2dmZC5uaW0MAAAAZm1qb2d4b2cu
+ NTU0DAAAAGVydTJsbmowLnN1dAwAAAB6bG5xa3hnYS53MHIMAAAAZXgxeDB1MXUuYnpuDAAAAHZm
+ eGJidWFkLm5tNQwAAABidmo1eWxwZC53ZnYMAAAAZW5rY3FzNTUudGx0DAAAAHdsZzBxcWh2LnNy
+ ZwwAAABvZWVrcjJ0eC51aXkMAAAAdmh0aTB3cXAudWYxDAAAADV0cXh0enYzLnk0cgwAAAB4ZXdl
+ bGRrdi56YXEMAAAAamJ4YzB3dWkuMWlkDAAAAG9rdXB6MnN2LmhmaAwAAAB1MWJ5eDFlbi5taXIM
+ AAAAaGhwejQyeHQuZ3F4DAAAADBxbDMzZXk0LmMwagwAAAA1bTVsbjVsbi4wdTIMAAAAcnN0a2Jx
+ dWwudWQyDAAAAG94MDQ1azFvLmdtbwwAAAB0dWRrcW0wdS50dmwMAAAAY2ZjMWlvam8uNGluDAAA
+ AGozcGM1c20wLm1sYwwAAABpc2Q0MGpzdC50ZmcMAAAAazM0ZHdjd2IuejNtDAAAAHZleDV1c2Rv
+ Lm1nYQwAAAB5ZWpnb2d4by55bnAMAAAAdjRvbjB1bGwucHlmDAAAAHB3MmUwbHpzLjVnawwAAAB2
+ enEzMW94Yi50djMMAAAAeHFzMGthZ3QueTV4DAAAAGhyYmlrNGllLnNndgwAAABjZWtsNDBzaS5y
+ cnkMAAAAMDV0Y3h0MmwucXo1DAAAAHF4bHZnczFiLnVjbAwAAABnMndsNDBrMS5qeTIMAAAAdWEx
+ cnIxZGwudWVlDAAAAHFzdWdueXZmLnhycQwAAAB6bXoxd3V0dC40bzAMAAAAYTJuajNxZ3kuajR6
+ DAAAADUxeW01YmhxLmVybAwAAABpMXJsMnBlYi5odmoMAAAAcWJyanptcnUubWZqDAAAAHljNWdr
+ Z3lsLm1wdAwAAABkZDV3dGh5aS5xeGcMAAAAa3dlZHV2cG4uZnRhDAAAAGFqZDNkdjBoLmtqYwwA
+ AABocGdudG5qaC56dHIMAAAAeDRmYWF5b24uemd6DAAAAGRleDR4YjVsLnJtbQwAAAA1NWZvcXJy
+ bC4ybXUMAAAAd2lrdXB4b2ouc2V1DAAAAHVkYWxnenR0LmMzbwwAAAA0czJ6aG15cC4waTEMAAAA
+ MHB4MWRpY2wucWd3DAAAAHVxYTF4bGRxLnQydgwAAAB1MXF1aHRzdi5xdXUMAAAAMnMycmJmdm8u
+ anZpDAAAAGQ0bDQwbGJxLjUwZgwAAAB4YTNsajR3Yi5udHYMAAAAam9jZnc1dmQubG5tDAAAAHow
+ YmNsa2R1LmNwawwAAAB3MGpvZ3BzMS5hNXUMAAAAMDM0bDBvaDEuNWh2DAAAADNzY3Vzd2JzLnl3
+ aQwAAABidXp6MmpuMi52MzUMAAAAa2V0c2IyeHQuaXgzDAAAAG01a3RycmtsLmJmNQwAAABkeXVq
+ MXRydC5rdXgMAAAAYzExcG9lMDMuaHJjDAAAAGJvd2lyZDQzLmI0YgwAAAB6M2E1eDR6dS41em8M
+ AAAANWw1MWswdGsueGRsDAAAAGZzNXgyYWxuLmpkZwwAAABpcno1aHAxcC54dzEMAAAANDRobGZs
+ djQub2lpDAAAAHVzMzMyMDJyLm1tbQwAAAAwZGV2aGIwMC5lbm8MAAAAeWdva2FscHQubXpuDAAA
+ AGx5ZmNscmh3LnJ0NAwAAABka3hrY2l1ai4zZnAMAAAAemtkbHNwcjEuaHQyDAAAAGE0aDNvMmFy
+ LnBzNQwAAABxd2YwM2lxZC5oZmUMAAAAanl0cHZ2YWEudWYwDAAAAGFvdno1ZjRhLmlhMAwAAABj
+ djFlMnhvdS4xbngMAAAAbGFsbzVncmoueWV6DAAAAHgzanRjbzRjLjJsaAwAAABycDR0c3ZibS5o
+ a2kMAAAAeTB2MjM1eG4uMG5mDAAAAG56eDR2MXBpLmNlMAwAAABocWFleXd2by5zazAMAAAAcXMw
+ YmRudjEuNDVjDAAAAGhpM3p5cjFsLmlidgwAAAB6YzJoM28xdy5iMnUMAAAAZ2F5eXo1dDUuNWNl
+ DAAAAGZhZXEwdTNrLmZndQwAAABtcmZwZ3FzdS5ldm4MAAAAY2hlbTRsb3kuZnMyDAAAAGlyc2xn
+ b2hkLjVibgwAAAB2YWR0YXNsaC5oeGIMAAAAZnhpMmwyeXAuNGdhDAAAAGd1aHFibjExLnVyagwA
+ AABmcTJ5bmZiMS5tb3IMAAAAZm50aWR4dHEudDJjDAAAAHNxenZhcnQ1LnlmZgwAAABnbDEyZ2Zx
+ My5nZWYMAAAAcWNtYmpha2cucGc0DAAAAG4wanFyaDNjLnBtdQwAAABpNGdmdmN0Zy5sa3gMAAAA
+ eW1vNXlsengudmt3DAAAAHZ1bWFocGV0LmVqMAwAAABza254ZXVhby41eG0MAAAAdHF5bmFoaGcu
+ dW8zDAAAAG4zMm00aGVkLnRtcgwAAAAwcHVpbjRwdy54NHAMAAAAbGgxZTBjM3QuamNlDAAAADBj
+ eXBuZGVwLjNrdwwAAABrdWg0NGp3aC53c3IMAAAAb3UzNDFwd2sud2lxDAAAAHBobWZtZ3dkLmli
+ cAwAAABhc2szdXNzcy56YjUMAAAAaHgwYzFnZmIudXQzDAAAAGFxaWloMGxlLnYyawwAAABleHVl
+ aWVmZi5sc3gMAAAAa2pmMG9ubmIueTNiDAAAADJ5dG1vZHpwLnMyZQwAAAB3NHczZjUyai5vaGEM
+ AAAAajJuamJtZHEuMTRhDAAAAG1xenExcGptLnM1NAwAAAA1ZjBvb2h4My4xamsMAAAAaWJxcjUw
+ anAudmVnDAAAADFsM3phZ3F4Lm80cQwAAABueGN4MzBpbS4wdDAMAAAAb3ZkYmVnZGcuMWRmDAAA
+ ADR3MTJncHAzLmRycwwAAABxMnlkYjJtci4xNGQMAAAANWZyZHJqNG4udmduDAAAAGtua3B5MGtv
+ LjFucAwAAAA0aW54a3YzZC54eWgMAAAAYm1ucnBscWcuMHdxDAAAAHh5Z2U0ZDM0LjQ1eQwAAAAz
+ bGN1aGZpcS4yYWYMAAAAeGtpNXYxMGguZHkzDAAAADA0bWJzeWJzLnAzdQwAAAAzZXlpYjNqMi5s
+ Z2sMAAAAeHlxZXE1ejMubTRhDAAAAGtqcG9ud3hqLnNjYwwAAAA1a3EyYm0wby52azEMAAAAcnNj
+ c21uNWkudzFuDAAAAHptNWtpY3JyLjV4ZgwAAAB3dGVvdHcxci54dW0MAAAAcXZkMDIzemguYmNw
+ DAAAAHlranlrY3F4LnJqMAwAAABqZHQxYnV0Zy41d2UMAAAAbW53ZjJnbXUuM3hxDAAAAG1nb2Vr
+ dTNhLnl3ZAwAAAA0bnAwdGdoNS5ybWoMAAAANHF2c3JndnIudnBqDAAAAHhjZGN6cnl4LmZhcgwA
+ AAA0azEwdnV6by56d3cMAAAAb3NhZHYyeWouc2RnDAAAAGx4c2VsYXF2LjJjYwwAAAB2dGkyMDE0
+ di4zY3YMAAAAaGNhMGx3cjMueGp0DAAAAGJqbnIxMHN6LnM1eQwAAABzcjVvZ25jNS5ocHMMAAAA
+ YTJqaHRxeWIuczVjDAAAAGtmZG92aXptLmljdwwAAABvZDMzNDVvMS41MXoMAAAAY2VzM24zdjIu
+ dm53DAAAAHZycDBncG1mLnkyYQwAAAB2MDFmYWJsYi41djUMAAAAanIwZnRoYWYuNWJ1DAAAAG4x
+ dnYxdHN1LjFpbAwAAABnZjFiaDV6by5iNWkMAAAAY25sNHhpM3Uuc2NkDAAAAHMxaGpub2t0Lmx3
+ agwAAABqbmE1em0wYy5hb3gMAAAAY2phenp1bXguNXE0DAAAADVvaW81bWN4LnoxMQwAAABrbm41
+ cW1ueS5kbDAMAAAAbTNkd3JxMmEuMnJ2DAAAAGJ3YmlmM20zLm94YgwAAAB0aXdpb3VsaS4yMmMM
+ AAAAMXU1cjFuYXoueWhjDAAAAG52MGgxNHRzLnBpeQwAAAB3cnNzY2htcy5obWEMAAAANXF4MG81
+ MmIuZnlwDAAAAGJuNHJ6aXNyLjV5cwwAAAB1cmZvMmJxYi51Y3cMAAAAc3ZlZ3Rpb2UuaWNzDAAA
+ AGZ6aWpmcGpsLmMwagwAAABnM3lwdTJobS5qanQMAAAAd2llaG1mejIuMTJkDAAAAGQ1eXViM3Nu
+ LmRoagwAAAAyZnZ3eGlsdi5pd2gMAAAAdTV4NWtwMXguenJlDAAAADEyc3Q0MDVnLmJ4dQwAAABu
+ cWZtMWJvZS51ZG4MAAAAdGxhczJ6Z2QuZWswDAAAAG0xdmhyMWl6LnhucgwAAAB6cHpuNHczeC5u
+ M20MAAAAYnNqbDBudmkuaW5oDAAAADJ0amlwd2J6LjR5NQwAAABnZ3BrZGxvdy5vd2QMAAAAZHpo
+ M2NmYXguNWZmDAAAAGlnM2x0ZWdkLjVpNQwAAAA1eTBnZWszdS5pMm4MAAAAa2JiZGEza3MubWl0
+ DAAAAG1mbzF0amV4LjR5bAwAAABlNXFpNXppYS5sMXgMAAAAeTRjNHZsM3EuMnF6DAAAAGRhZHht
+ MjN4Lmx4cQwAAAB6amlqZGV2cS55bmEMAAAAM290ZXByancubW93DAAAAGQ1NXA0b3BjLng1aAwA
+ AAB4bGE0NGYxaS5jbmIMAAAANTFiNWZndXkuaDB4DAAAAGdsb2RnM2lmLmlyMwwAAAAwZGR2anNh
+ ZS5vdWYMAAAAZG5qd25lcnYuZGZ4DAAAADRoYXA1c3ZsLmowMQwAAAB2a3JsbHFndS5zemcMAAAA
+ MTEyYnFwcWYuaWMzDAAAAGtwNHhyeWdmLm9tawwAAAB1dWx6bmFwdS4yaGQMAAAAb2V6cmgwc2ku
+ ajJ4DAAAAHNudnF3aGkxLml3aAwAAAB6aWZsa24zcC5sMGoMAAAANGJ5ZnhkMDUucGJxDAAAAGRs
+ c2Fpb2FzLmhzMwwAAAAweGZhdDNxei5vYWkVABWOfRWOfSwV0A8VABUGFQYcGAQxOTk5GAQxMDAw
+ FgAW0A8YBDE5OTkYBDEwMDAAAAADAAAA0A8BBAAAADEwMDAEAAAAMTAwMQQAAAAxMDAyBAAAADEw
+ MDMEAAAAMTAwNAQAAAAxMDA1BAAAADEwMDYEAAAAMTAwNwQAAAAxMDA4BAAAADEwMDkEAAAAMTAx
+ MAQAAAAxMDExBAAAADEwMTIEAAAAMTAxMwQAAAAxMDE0BAAAADEwMTUEAAAAMTAxNgQAAAAxMDE3
+ BAAAADEwMTgEAAAAMTAxOQQAAAAxMDIwBAAAADEwMjEEAAAAMTAyMgQAAAAxMDIzBAAAADEwMjQE
+ AAAAMTAyNQQAAAAxMDI2BAAAADEwMjcEAAAAMTAyOAQAAAAxMDI5BAAAADEwMzAEAAAAMTAzMQQA
+ AAAxMDMyBAAAADEwMzMEAAAAMTAzNAQAAAAxMDM1BAAAADEwMzYEAAAAMTAzNwQAAAAxMDM4BAAA
+ ADEwMzkEAAAAMTA0MAQAAAAxMDQxBAAAADEwNDIEAAAAMTA0MwQAAAAxMDQ0BAAAADEwNDUEAAAA
+ MTA0NgQAAAAxMDQ3BAAAADEwNDgEAAAAMTA0OQQAAAAxMDUwBAAAADEwNTEEAAAAMTA1MgQAAAAx
+ MDUzBAAAADEwNTQEAAAAMTA1NQQAAAAxMDU2BAAAADEwNTcEAAAAMTA1OAQAAAAxMDU5BAAAADEw
+ NjAEAAAAMTA2MQQAAAAxMDYyBAAAADEwNjMEAAAAMTA2NAQAAAAxMDY1BAAAADEwNjYEAAAAMTA2
+ NwQAAAAxMDY4BAAAADEwNjkEAAAAMTA3MAQAAAAxMDcxBAAAADEwNzIEAAAAMTA3MwQAAAAxMDc0
+ BAAAADEwNzUEAAAAMTA3NgQAAAAxMDc3BAAAADEwNzgEAAAAMTA3OQQAAAAxMDgwBAAAADEwODEE
+ AAAAMTA4MgQAAAAxMDgzBAAAADEwODQEAAAAMTA4NQQAAAAxMDg2BAAAADEwODcEAAAAMTA4OAQA
+ AAAxMDg5BAAAADEwOTAEAAAAMTA5MQQAAAAxMDkyBAAAADEwOTMEAAAAMTA5NAQAAAAxMDk1BAAA
+ ADEwOTYEAAAAMTA5NwQAAAAxMDk4BAAAADEwOTkEAAAAMTEwMAQAAAAxMTAxBAAAADExMDIEAAAA
+ MTEwMwQAAAAxMTA0BAAAADExMDUEAAAAMTEwNgQAAAAxMTA3BAAAADExMDgEAAAAMTEwOQQAAAAx
+ MTEwBAAAADExMTEEAAAAMTExMgQAAAAxMTEzBAAAADExMTQEAAAAMTExNQQAAAAxMTE2BAAAADEx
+ MTcEAAAAMTExOAQAAAAxMTE5BAAAADExMjAEAAAAMTEyMQQAAAAxMTIyBAAAADExMjMEAAAAMTEy
+ NAQAAAAxMTI1BAAAADExMjYEAAAAMTEyNwQAAAAxMTI4BAAAADExMjkEAAAAMTEzMAQAAAAxMTMx
+ BAAAADExMzIEAAAAMTEzMwQAAAAxMTM0BAAAADExMzUEAAAAMTEzNgQAAAAxMTM3BAAAADExMzgE
+ AAAAMTEzOQQAAAAxMTQwBAAAADExNDEEAAAAMTE0MgQAAAAxMTQzBAAAADExNDQEAAAAMTE0NQQA
+ AAAxMTQ2BAAAADExNDcEAAAAMTE0OAQAAAAxMTQ5BAAAADExNTAEAAAAMTE1MQQAAAAxMTUyBAAA
+ ADExNTMEAAAAMTE1NAQAAAAxMTU1BAAAADExNTYEAAAAMTE1NwQAAAAxMTU4BAAAADExNTkEAAAA
+ MTE2MAQAAAAxMTYxBAAAADExNjIEAAAAMTE2MwQAAAAxMTY0BAAAADExNjUEAAAAMTE2NgQAAAAx
+ MTY3BAAAADExNjgEAAAAMTE2OQQAAAAxMTcwBAAAADExNzEEAAAAMTE3MgQAAAAxMTczBAAAADEx
+ NzQEAAAAMTE3NQQAAAAxMTc2BAAAADExNzcEAAAAMTE3OAQAAAAxMTc5BAAAADExODAEAAAAMTE4
+ MQQAAAAxMTgyBAAAADExODMEAAAAMTE4NAQAAAAxMTg1BAAAADExODYEAAAAMTE4NwQAAAAxMTg4
+ BAAAADExODkEAAAAMTE5MAQAAAAxMTkxBAAAADExOTIEAAAAMTE5MwQAAAAxMTk0BAAAADExOTUE
+ AAAAMTE5NgQAAAAxMTk3BAAAADExOTgEAAAAMTE5OQQAAAAxMjAwBAAAADEyMDEEAAAAMTIwMgQA
+ AAAxMjAzBAAAADEyMDQEAAAAMTIwNQQAAAAxMjA2BAAAADEyMDcEAAAAMTIwOAQAAAAxMjA5BAAA
+ ADEyMTAEAAAAMTIxMQQAAAAxMjEyBAAAADEyMTMEAAAAMTIxNAQAAAAxMjE1BAAAADEyMTYEAAAA
+ MTIxNwQAAAAxMjE4BAAAADEyMTkEAAAAMTIyMAQAAAAxMjIxBAAAADEyMjIEAAAAMTIyMwQAAAAx
+ MjI0BAAAADEyMjUEAAAAMTIyNgQAAAAxMjI3BAAAADEyMjgEAAAAMTIyOQQAAAAxMjMwBAAAADEy
+ MzEEAAAAMTIzMgQAAAAxMjMzBAAAADEyMzQEAAAAMTIzNQQAAAAxMjM2BAAAADEyMzcEAAAAMTIz
+ OAQAAAAxMjM5BAAAADEyNDAEAAAAMTI0MQQAAAAxMjQyBAAAADEyNDMEAAAAMTI0NAQAAAAxMjQ1
+ BAAAADEyNDYEAAAAMTI0NwQAAAAxMjQ4BAAAADEyNDkEAAAAMTI1MAQAAAAxMjUxBAAAADEyNTIE
+ AAAAMTI1MwQAAAAxMjU0BAAAADEyNTUEAAAAMTI1NgQAAAAxMjU3BAAAADEyNTgEAAAAMTI1OQQA
+ AAAxMjYwBAAAADEyNjEEAAAAMTI2MgQAAAAxMjYzBAAAADEyNjQEAAAAMTI2NQQAAAAxMjY2BAAA
+ ADEyNjcEAAAAMTI2OAQAAAAxMjY5BAAAADEyNzAEAAAAMTI3MQQAAAAxMjcyBAAAADEyNzMEAAAA
+ MTI3NAQAAAAxMjc1BAAAADEyNzYEAAAAMTI3NwQAAAAxMjc4BAAAADEyNzkEAAAAMTI4MAQAAAAx
+ MjgxBAAAADEyODIEAAAAMTI4MwQAAAAxMjg0BAAAADEyODUEAAAAMTI4NgQAAAAxMjg3BAAAADEy
+ ODgEAAAAMTI4OQQAAAAxMjkwBAAAADEyOTEEAAAAMTI5MgQAAAAxMjkzBAAAADEyOTQEAAAAMTI5
+ NQQAAAAxMjk2BAAAADEyOTcEAAAAMTI5OAQAAAAxMjk5BAAAADEzMDAEAAAAMTMwMQQAAAAxMzAy
+ BAAAADEzMDMEAAAAMTMwNAQAAAAxMzA1BAAAADEzMDYEAAAAMTMwNwQAAAAxMzA4BAAAADEzMDkE
+ AAAAMTMxMAQAAAAxMzExBAAAADEzMTIEAAAAMTMxMwQAAAAxMzE0BAAAADEzMTUEAAAAMTMxNgQA
+ AAAxMzE3BAAAADEzMTgEAAAAMTMxOQQAAAAxMzIwBAAAADEzMjEEAAAAMTMyMgQAAAAxMzIzBAAA
+ ADEzMjQEAAAAMTMyNQQAAAAxMzI2BAAAADEzMjcEAAAAMTMyOAQAAAAxMzI5BAAAADEzMzAEAAAA
+ MTMzMQQAAAAxMzMyBAAAADEzMzMEAAAAMTMzNAQAAAAxMzM1BAAAADEzMzYEAAAAMTMzNwQAAAAx
+ MzM4BAAAADEzMzkEAAAAMTM0MAQAAAAxMzQxBAAAADEzNDIEAAAAMTM0MwQAAAAxMzQ0BAAAADEz
+ NDUEAAAAMTM0NgQAAAAxMzQ3BAAAADEzNDgEAAAAMTM0OQQAAAAxMzUwBAAAADEzNTEEAAAAMTM1
+ MgQAAAAxMzUzBAAAADEzNTQEAAAAMTM1NQQAAAAxMzU2BAAAADEzNTcEAAAAMTM1OAQAAAAxMzU5
+ BAAAADEzNjAEAAAAMTM2MQQAAAAxMzYyBAAAADEzNjMEAAAAMTM2NAQAAAAxMzY1BAAAADEzNjYE
+ AAAAMTM2NwQAAAAxMzY4BAAAADEzNjkEAAAAMTM3MAQAAAAxMzcxBAAAADEzNzIEAAAAMTM3MwQA
+ AAAxMzc0BAAAADEzNzUEAAAAMTM3NgQAAAAxMzc3BAAAADEzNzgEAAAAMTM3OQQAAAAxMzgwBAAA
+ ADEzODEEAAAAMTM4MgQAAAAxMzgzBAAAADEzODQEAAAAMTM4NQQAAAAxMzg2BAAAADEzODcEAAAA
+ MTM4OAQAAAAxMzg5BAAAADEzOTAEAAAAMTM5MQQAAAAxMzkyBAAAADEzOTMEAAAAMTM5NAQAAAAx
+ Mzk1BAAAADEzOTYEAAAAMTM5NwQAAAAxMzk4BAAAADEzOTkEAAAAMTQwMAQAAAAxNDAxBAAAADE0
+ MDIEAAAAMTQwMwQAAAAxNDA0BAAAADE0MDUEAAAAMTQwNgQAAAAxNDA3BAAAADE0MDgEAAAAMTQw
+ OQQAAAAxNDEwBAAAADE0MTEEAAAAMTQxMgQAAAAxNDEzBAAAADE0MTQEAAAAMTQxNQQAAAAxNDE2
+ BAAAADE0MTcEAAAAMTQxOAQAAAAxNDE5BAAAADE0MjAEAAAAMTQyMQQAAAAxNDIyBAAAADE0MjME
+ AAAAMTQyNAQAAAAxNDI1BAAAADE0MjYEAAAAMTQyNwQAAAAxNDI4BAAAADE0MjkEAAAAMTQzMAQA
+ AAAxNDMxBAAAADE0MzIEAAAAMTQzMwQAAAAxNDM0BAAAADE0MzUEAAAAMTQzNgQAAAAxNDM3BAAA
+ ADE0MzgEAAAAMTQzOQQAAAAxNDQwBAAAADE0NDEEAAAAMTQ0MgQAAAAxNDQzBAAAADE0NDQEAAAA
+ MTQ0NQQAAAAxNDQ2BAAAADE0NDcEAAAAMTQ0OAQAAAAxNDQ5BAAAADE0NTAEAAAAMTQ1MQQAAAAx
+ NDUyBAAAADE0NTMEAAAAMTQ1NAQAAAAxNDU1BAAAADE0NTYEAAAAMTQ1NwQAAAAxNDU4BAAAADE0
+ NTkEAAAAMTQ2MAQAAAAxNDYxBAAAADE0NjIEAAAAMTQ2MwQAAAAxNDY0BAAAADE0NjUEAAAAMTQ2
+ NgQAAAAxNDY3BAAAADE0NjgEAAAAMTQ2OQQAAAAxNDcwBAAAADE0NzEEAAAAMTQ3MgQAAAAxNDcz
+ BAAAADE0NzQEAAAAMTQ3NQQAAAAxNDc2BAAAADE0NzcEAAAAMTQ3OAQAAAAxNDc5BAAAADE0ODAE
+ AAAAMTQ4MQQAAAAxNDgyBAAAADE0ODMEAAAAMTQ4NAQAAAAxNDg1BAAAADE0ODYEAAAAMTQ4NwQA
+ AAAxNDg4BAAAADE0ODkEAAAAMTQ5MAQAAAAxNDkxBAAAADE0OTIEAAAAMTQ5MwQAAAAxNDk0BAAA
+ ADE0OTUEAAAAMTQ5NgQAAAAxNDk3BAAAADE0OTgEAAAAMTQ5OQQAAAAxNTAwBAAAADE1MDEEAAAA
+ MTUwMgQAAAAxNTAzBAAAADE1MDQEAAAAMTUwNQQAAAAxNTA2BAAAADE1MDcEAAAAMTUwOAQAAAAx
+ NTA5BAAAADE1MTAEAAAAMTUxMQQAAAAxNTEyBAAAADE1MTMEAAAAMTUxNAQAAAAxNTE1BAAAADE1
+ MTYEAAAAMTUxNwQAAAAxNTE4BAAAADE1MTkEAAAAMTUyMAQAAAAxNTIxBAAAADE1MjIEAAAAMTUy
+ MwQAAAAxNTI0BAAAADE1MjUEAAAAMTUyNgQAAAAxNTI3BAAAADE1MjgEAAAAMTUyOQQAAAAxNTMw
+ BAAAADE1MzEEAAAAMTUzMgQAAAAxNTMzBAAAADE1MzQEAAAAMTUzNQQAAAAxNTM2BAAAADE1MzcE
+ AAAAMTUzOAQAAAAxNTM5BAAAADE1NDAEAAAAMTU0MQQAAAAxNTQyBAAAADE1NDMEAAAAMTU0NAQA
+ AAAxNTQ1BAAAADE1NDYEAAAAMTU0NwQAAAAxNTQ4BAAAADE1NDkEAAAAMTU1MAQAAAAxNTUxBAAA
+ ADE1NTIEAAAAMTU1MwQAAAAxNTU0BAAAADE1NTUEAAAAMTU1NgQAAAAxNTU3BAAAADE1NTgEAAAA
+ MTU1OQQAAAAxNTYwBAAAADE1NjEEAAAAMTU2MgQAAAAxNTYzBAAAADE1NjQEAAAAMTU2NQQAAAAx
+ NTY2BAAAADE1NjcEAAAAMTU2OAQAAAAxNTY5BAAAADE1NzAEAAAAMTU3MQQAAAAxNTcyBAAAADE1
+ NzMEAAAAMTU3NAQAAAAxNTc1BAAAADE1NzYEAAAAMTU3NwQAAAAxNTc4BAAAADE1NzkEAAAAMTU4
+ MAQAAAAxNTgxBAAAADE1ODIEAAAAMTU4MwQAAAAxNTg0BAAAADE1ODUEAAAAMTU4NgQAAAAxNTg3
+ BAAAADE1ODgEAAAAMTU4OQQAAAAxNTkwBAAAADE1OTEEAAAAMTU5MgQAAAAxNTkzBAAAADE1OTQE
+ AAAAMTU5NQQAAAAxNTk2BAAAADE1OTcEAAAAMTU5OAQAAAAxNTk5BAAAADE2MDAEAAAAMTYwMQQA
+ AAAxNjAyBAAAADE2MDMEAAAAMTYwNAQAAAAxNjA1BAAAADE2MDYEAAAAMTYwNwQAAAAxNjA4BAAA
+ ADE2MDkEAAAAMTYxMAQAAAAxNjExBAAAADE2MTIEAAAAMTYxMwQAAAAxNjE0BAAAADE2MTUEAAAA
+ MTYxNgQAAAAxNjE3BAAAADE2MTgEAAAAMTYxOQQAAAAxNjIwBAAAADE2MjEEAAAAMTYyMgQAAAAx
+ NjIzBAAAADE2MjQEAAAAMTYyNQQAAAAxNjI2BAAAADE2MjcEAAAAMTYyOAQAAAAxNjI5BAAAADE2
+ MzAEAAAAMTYzMQQAAAAxNjMyBAAAADE2MzMEAAAAMTYzNAQAAAAxNjM1BAAAADE2MzYEAAAAMTYz
+ NwQAAAAxNjM4BAAAADE2MzkEAAAAMTY0MAQAAAAxNjQxBAAAADE2NDIEAAAAMTY0MwQAAAAxNjQ0
+ BAAAADE2NDUEAAAAMTY0NgQAAAAxNjQ3BAAAADE2NDgEAAAAMTY0OQQAAAAxNjUwBAAAADE2NTEE
+ AAAAMTY1MgQAAAAxNjUzBAAAADE2NTQEAAAAMTY1NQQAAAAxNjU2BAAAADE2NTcEAAAAMTY1OAQA
+ AAAxNjU5BAAAADE2NjAEAAAAMTY2MQQAAAAxNjYyBAAAADE2NjMEAAAAMTY2NAQAAAAxNjY1BAAA
+ ADE2NjYEAAAAMTY2NwQAAAAxNjY4BAAAADE2NjkEAAAAMTY3MAQAAAAxNjcxBAAAADE2NzIEAAAA
+ MTY3MwQAAAAxNjc0BAAAADE2NzUEAAAAMTY3NgQAAAAxNjc3BAAAADE2NzgEAAAAMTY3OQQAAAAx
+ NjgwBAAAADE2ODEEAAAAMTY4MgQAAAAxNjgzBAAAADE2ODQEAAAAMTY4NQQAAAAxNjg2BAAAADE2
+ ODcEAAAAMTY4OAQAAAAxNjg5BAAAADE2OTAEAAAAMTY5MQQAAAAxNjkyBAAAADE2OTMEAAAAMTY5
+ NAQAAAAxNjk1BAAAADE2OTYEAAAAMTY5NwQAAAAxNjk4BAAAADE2OTkEAAAAMTcwMAQAAAAxNzAx
+ BAAAADE3MDIEAAAAMTcwMwQAAAAxNzA0BAAAADE3MDUEAAAAMTcwNgQAAAAxNzA3BAAAADE3MDgE
+ AAAAMTcwOQQAAAAxNzEwBAAAADE3MTEEAAAAMTcxMgQAAAAxNzEzBAAAADE3MTQEAAAAMTcxNQQA
+ AAAxNzE2BAAAADE3MTcEAAAAMTcxOAQAAAAxNzE5BAAAADE3MjAEAAAAMTcyMQQAAAAxNzIyBAAA
+ ADE3MjMEAAAAMTcyNAQAAAAxNzI1BAAAADE3MjYEAAAAMTcyNwQAAAAxNzI4BAAAADE3MjkEAAAA
+ MTczMAQAAAAxNzMxBAAAADE3MzIEAAAAMTczMwQAAAAxNzM0BAAAADE3MzUEAAAAMTczNgQAAAAx
+ NzM3BAAAADE3MzgEAAAAMTczOQQAAAAxNzQwBAAAADE3NDEEAAAAMTc0MgQAAAAxNzQzBAAAADE3
+ NDQEAAAAMTc0NQQAAAAxNzQ2BAAAADE3NDcEAAAAMTc0OAQAAAAxNzQ5BAAAADE3NTAEAAAAMTc1
+ MQQAAAAxNzUyBAAAADE3NTMEAAAAMTc1NAQAAAAxNzU1BAAAADE3NTYEAAAAMTc1NwQAAAAxNzU4
+ BAAAADE3NTkEAAAAMTc2MAQAAAAxNzYxBAAAADE3NjIEAAAAMTc2MwQAAAAxNzY0BAAAADE3NjUE
+ AAAAMTc2NgQAAAAxNzY3BAAAADE3NjgEAAAAMTc2OQQAAAAxNzcwBAAAADE3NzEEAAAAMTc3MgQA
+ AAAxNzczBAAAADE3NzQEAAAAMTc3NQQAAAAxNzc2BAAAADE3NzcEAAAAMTc3OAQAAAAxNzc5BAAA
+ ADE3ODAEAAAAMTc4MQQAAAAxNzgyBAAAADE3ODMEAAAAMTc4NAQAAAAxNzg1BAAAADE3ODYEAAAA
+ MTc4NwQAAAAxNzg4BAAAADE3ODkEAAAAMTc5MAQAAAAxNzkxBAAAADE3OTIEAAAAMTc5MwQAAAAx
+ Nzk0BAAAADE3OTUEAAAAMTc5NgQAAAAxNzk3BAAAADE3OTgEAAAAMTc5OQQAAAAxODAwBAAAADE4
+ MDEEAAAAMTgwMgQAAAAxODAzBAAAADE4MDQEAAAAMTgwNQQAAAAxODA2BAAAADE4MDcEAAAAMTgw
+ OAQAAAAxODA5BAAAADE4MTAEAAAAMTgxMQQAAAAxODEyBAAAADE4MTMEAAAAMTgxNAQAAAAxODE1
+ BAAAADE4MTYEAAAAMTgxNwQAAAAxODE4BAAAADE4MTkEAAAAMTgyMAQAAAAxODIxBAAAADE4MjIE
+ AAAAMTgyMwQAAAAxODI0BAAAADE4MjUEAAAAMTgyNgQAAAAxODI3BAAAADE4MjgEAAAAMTgyOQQA
+ AAAxODMwBAAAADE4MzEEAAAAMTgzMgQAAAAxODMzBAAAADE4MzQEAAAAMTgzNQQAAAAxODM2BAAA
+ ADE4MzcEAAAAMTgzOAQAAAAxODM5BAAAADE4NDAEAAAAMTg0MQQAAAAxODQyBAAAADE4NDMEAAAA
+ MTg0NAQAAAAxODQ1BAAAADE4NDYEAAAAMTg0NwQAAAAxODQ4BAAAADE4NDkEAAAAMTg1MAQAAAAx
+ ODUxBAAAADE4NTIEAAAAMTg1MwQAAAAxODU0BAAAADE4NTUEAAAAMTg1NgQAAAAxODU3BAAAADE4
+ NTgEAAAAMTg1OQQAAAAxODYwBAAAADE4NjEEAAAAMTg2MgQAAAAxODYzBAAAADE4NjQEAAAAMTg2
+ NQQAAAAxODY2BAAAADE4NjcEAAAAMTg2OAQAAAAxODY5BAAAADE4NzAEAAAAMTg3MQQAAAAxODcy
+ BAAAADE4NzMEAAAAMTg3NAQAAAAxODc1BAAAADE4NzYEAAAAMTg3NwQAAAAxODc4BAAAADE4NzkE
+ AAAAMTg4MAQAAAAxODgxBAAAADE4ODIEAAAAMTg4MwQAAAAxODg0BAAAADE4ODUEAAAAMTg4NgQA
+ AAAxODg3BAAAADE4ODgEAAAAMTg4OQQAAAAxODkwBAAAADE4OTEEAAAAMTg5MgQAAAAxODkzBAAA
+ ADE4OTQEAAAAMTg5NQQAAAAxODk2BAAAADE4OTcEAAAAMTg5OAQAAAAxODk5BAAAADE5MDAEAAAA
+ MTkwMQQAAAAxOTAyBAAAADE5MDMEAAAAMTkwNAQAAAAxOTA1BAAAADE5MDYEAAAAMTkwNwQAAAAx
+ OTA4BAAAADE5MDkEAAAAMTkxMAQAAAAxOTExBAAAADE5MTIEAAAAMTkxMwQAAAAxOTE0BAAAADE5
+ MTUEAAAAMTkxNgQAAAAxOTE3BAAAADE5MTgEAAAAMTkxOQQAAAAxOTIwBAAAADE5MjEEAAAAMTky
+ MgQAAAAxOTIzBAAAADE5MjQEAAAAMTkyNQQAAAAxOTI2BAAAADE5MjcEAAAAMTkyOAQAAAAxOTI5
+ BAAAADE5MzAEAAAAMTkzMQQAAAAxOTMyBAAAADE5MzMEAAAAMTkzNAQAAAAxOTM1BAAAADE5MzYE
+ AAAAMTkzNwQAAAAxOTM4BAAAADE5MzkEAAAAMTk0MAQAAAAxOTQxBAAAADE5NDIEAAAAMTk0MwQA
+ AAAxOTQ0BAAAADE5NDUEAAAAMTk0NgQAAAAxOTQ3BAAAADE5NDgEAAAAMTk0OQQAAAAxOTUwBAAA
+ ADE5NTEEAAAAMTk1MgQAAAAxOTUzBAAAADE5NTQEAAAAMTk1NQQAAAAxOTU2BAAAADE5NTcEAAAA
+ MTk1OAQAAAAxOTU5BAAAADE5NjAEAAAAMTk2MQQAAAAxOTYyBAAAADE5NjMEAAAAMTk2NAQAAAAx
+ OTY1BAAAADE5NjYEAAAAMTk2NwQAAAAxOTY4BAAAADE5NjkEAAAAMTk3MAQAAAAxOTcxBAAAADE5
+ NzIEAAAAMTk3MwQAAAAxOTc0BAAAADE5NzUEAAAAMTk3NgQAAAAxOTc3BAAAADE5NzgEAAAAMTk3
+ OQQAAAAxOTgwBAAAADE5ODEEAAAAMTk4MgQAAAAxOTgzBAAAADE5ODQEAAAAMTk4NQQAAAAxOTg2
+ BAAAADE5ODcEAAAAMTk4OAQAAAAxOTg5BAAAADE5OTAEAAAAMTk5MQQAAAAxOTkyBAAAADE5OTME
+ AAAAMTk5NAQAAAAxOTk1BAAAADE5OTYEAAAAMTk5NwQAAAAxOTk4BAAAADE5OTkVABWO+gEVjvoB
+ LBXQDxUAFQYVBhwYDHp6bGd5eGE1LjR5YRgMMDExY3FhbjQueXpzFgAW0A8YDHp6bGd5eGE1LjR5
+ YRgMMDExY3FhbjQueXpzAAAAAwAAANAPAQwAAAB2MWtnNWhtci5maGoMAAAAZG5zdGNwbHYuZWRr
+ DAAAAG1ta3lucHR0Lmw0awwAAAB5c3E1d2NrZy5idG8MAAAAcHJlZXpmdGwubXEzDAAAAGdmdXg0
+ MWF2LmNvegwAAABnaHpnMmNqZS4yaDEMAAAAM2R0dngwMWkuZ2tyDAAAAGV1emQxYjQxLmJxMgwA
+ AAA0YXRkMnpuby5nNDEMAAAAeWtkc240dWkuYjNlDAAAAHRud2tmaXNkLnFqNQwAAAB2ZmtpbGsy
+ dS4xYjQMAAAAdWN0MnIzdG0ubjEwDAAAAGRjdHdocWNvLnZnegwAAABhc2hvYXZvMS5vamYMAAAA
+ dWdzcWJicHMuNXQyDAAAADBwcHlyNGVoLmhtcQwAAABsNWRheHZ1cy5wcDIMAAAAa3d3MTFwMmEu
+ ZHhvDAAAAHNobWx6YzNpLnpkMAwAAABraTJva2FteC5hc2QMAAAAaTFiYnUyd2IuZGpqDAAAADJ5
+ dnZ1ZnRsLm1lcQwAAABmZzB4Y2xoay5odGgMAAAAY2l6cHh1c20ubDQzDAAAAGFtcnRlMGxhLjJ0
+ cwwAAAA1ZDUzZWY1NC5tMHkMAAAAcmxpczR4NG4ubXp6DAAAAHp5aGRjdnZsLnhieAwAAAB4ZDR3
+ MGZxZi5sMHMMAAAAdnFzeWFoNDAuYmFuDAAAAGtvYW1raWJxLmtvcgwAAABzNHBtdTI0dC5ia3AM
+ AAAAMzE1ZzI0aGsucTQ0DAAAAHN3aDVxZmVnLnduagwAAAB3Z2Z4d3dmNC5jMmsMAAAAMWpwMmls
+ d3IubDVzDAAAAGNvcW90NHU1LmhncQwAAABsaXgzZ2dmaS5leG0MAAAAcnhlbnNva3UuamlmDAAA
+ AGUya2d5aWQ0LmYwYwwAAABkZWs1NHB4bC5pYmoMAAAAdTRpMDNiYXAubjJ4DAAAADVqd3Yyc2M1
+ LjJydAwAAAB1ZzR6NGxtcC4xMzAMAAAAMW5lMXVjbmgua2gzDAAAADQzb3N5cjVuLmpzaQwAAAB1
+ NWpicGFmMi5mcjAMAAAAbWMxY2FvYmcuMW9xDAAAAGJlemVteHZyLmlhZwwAAABleHJ0Z2xhMS4x
+ dTEMAAAAb21waWxlYWwucjFnDAAAAGg0bXoxdmFiLmJlbgwAAAByZ3BkYWx2dy5kaXgMAAAANW1p
+ b2NiNWsuaHR0DAAAAGt0c25mdnBlLnEwZQwAAABjNDFoYWV5Yi5zdW4MAAAAaHVobGZpdTMubG5q
+ DAAAADBlb2F2Y3BvLmxwNQwAAABrajQ1ZXpyeC5tZTIMAAAAYXNtejVvNW0ueXVtDAAAAHN5ZGJq
+ cG9uLmRmeQwAAAB5dHc1Y3FtaS5iZGMMAAAAcTN6M3JlamQuMHRmDAAAAG8zdHB2cmJkLmtncAwA
+ AABpbWp1MWcxay40bWQMAAAAaGVwdzF0ankuZGRyDAAAADJic2NpYWd6LmF1ZAwAAABwdWN5bWFl
+ di5xajAMAAAAb29ncmtlY3kuMGdiDAAAAHZnMXBjNHd6LmFoeAwAAAB3ZHRkcXRnYy5oNXAMAAAA
+ Y2FieHdwbzAub3pxDAAAADIxcWFjYnRwLmlpdgwAAABqMHltdWJpYS40amwMAAAAMmUzeWliNXku
+ b294DAAAAGIxMjF0YnlvLjFtZgwAAAAyZWVpeXRteC5jMmEMAAAAaXdramt2djQudWcyDAAAAGh4
+ aGgwb3gwLmh4ZwwAAABkcWFpanYyZi5mYTQMAAAAejJ2YjNqbWEudjUzDAAAAHBzNHZqdHhwLnNj
+ NAwAAAAzMHlyMW1kZS5lZGMMAAAAeGlhZ2UzazQuZTRlDAAAADRoNG93YWFiLmh5cAwAAABiejR0
+ M2xkYy5ybnIMAAAANHFhZ2cwY3ouMG12DAAAAHB4aWxodWtxLm9jcAwAAAB6c2hjMXAxeC5yY2wM
+ AAAAMWphMXlzNW0uYXFnDAAAAHQ1ZGh0c2txLnVpdgwAAAB4cm5mZGJveS5mdmEMAAAAdnp6MDJw
+ YWQuMHdrDAAAAHB2eHNpNXRwLnFzdAwAAAB5MnZhdG1iMS5vZTUMAAAAYW1taWp6bjAuYXMxDAAA
+ AGt3dnVlMG0yLm01cQwAAABiNDVyYzF2di5xZjQMAAAAdWJwMDBxYWYuNDNzDAAAAHdybXpvaTFu
+ Lm1yZAwAAAB6NDBpY3hmMS54YTQMAAAAY241eXkxaDUuYWh0DAAAAGRkbjNmaXF0LmR6YwwAAABv
+ dXJ4ZTJrcS5mam4MAAAANXgzMXpwM2MuZ2pqDAAAAGdtMW5oZXBzLmJzYgwAAABmbWZ4cnRsZS5j
+ MXQMAAAAenZwYW1hc3kuemRwDAAAAHV0empqb2VmLnBscgwAAAB2Z3l3bmt2Zi5hNHMMAAAAY2lu
+ eG0zYXouYXkyDAAAAGp6YnF5czBtLmdzZwwAAAAxeGltM2lwdS4xYmsMAAAAYTRzZDU0aW0ueWIz
+ DAAAAGV6YXQwZ2dsLnVqMgwAAAB2cWxmM25sMy5ieGUMAAAAYXFjNXUzeHouNW5pDAAAAGlxYWYw
+ eHZuLmQ1bwwAAAB3YzJyM3pmdi5zY3AMAAAAbHJxbHp1bmIuMW90DAAAADFvY2FnM2Y1LnBxbQwA
+ AAB6YmIxaDJ5Yy5kZGoMAAAAbWFreDB4c2oud2NpDAAAADNyZ3RmamdsLmg0cAwAAAB1M2hyMGFn
+ NC5ndHQMAAAAcjRqZmlxdTIuZmJpDAAAAGllaXoyNTBqLmswdgwAAAB1cjR4YjFtcC56dmUMAAAA
+ MjVuZ3FqeWgueWp2DAAAAGQwZDRyYnJmLjVnagwAAAAxb2ZjaGZkNC53NGwMAAAAa25sYXRpYWcu
+ eTV2DAAAAGtyb3dza2xkLm5sYgwAAABlZWl1Mnhnbi5ldWQMAAAAbGVyeWt1dWUuYnl4DAAAAG9u
+ eDEwa2dnLnVnawwAAAB3Z2NlYjIwYS5jcm4MAAAAb3NycHMyczQucG95DAAAAHkyc2FtZTR4LmZx
+ cwwAAABkc2kydGRsMi5rdHUMAAAAc3FyMHAyNGcuMTJrDAAAAG1zcmt0ejNoLnJuaAwAAAB1YjR1
+ dmNpbC5ocjAMAAAANTFxb2tiNGEuc29vDAAAAHVxcDR2dWhsLnZleAwAAAB4aHExcTVrbC5ydDEM
+ AAAAZ3h3aDNzdnQubjFvDAAAAGYza20ycXNwLmdtdgwAAAAxaHJjcHI1ZC5hc24MAAAAMXp5MzB6
+ M2EubXpsDAAAAGhvc2R5b2ozLnJnNAwAAAA1anRoam14ZC5kZXYMAAAAdmhreTVrMGkuYm9pDAAA
+ AG5tcGVsdjEzLjIxNQwAAAA0ZXp5czFmZy5mcnQMAAAAYWNlYmtlMTUuMzJlDAAAAHdtbXBobjNw
+ LjNidQwAAABidHNmZXJpcS5naXIMAAAAeWQwbzJ1emsubHpwDAAAAGwzbmdsYXQyLjIzeAwAAABy
+ NGdob3hxYi5veHgMAAAAdnp2dG9vMXEucXJzDAAAADRoa3djbmRnLmVvYwwAAAB6MDFjMm55ei55
+ ZHoMAAAAem1vcjExeDQucTAyDAAAAGI1eHZ0YjMzLjFxbAwAAABxcjNjbXluNS5vcGUMAAAAbTVj
+ dmJoMnouYjF2DAAAAGJrMWZybG4zLmp4cQwAAAB5c3pleWdkbS5zZjIMAAAAbWJ3Z2xiNTQuZWRi
+ DAAAAHFjMWJseTNuLjMxZQwAAABhamMwaWtycy56dXYMAAAAc2VjYm5yankuMXdpDAAAADUydWFs
+ aGFwLml5MwwAAAA0b2pzcXlyay4wcmwMAAAAeWxrNG9udncuc2JwDAAAAGNjNTJhdmh1LnAxZQwA
+ AABvdmF1ZmVoZi50bHIMAAAAdzJmbGZtYWYuc2RsDAAAAHZhY2tvaWN0LnZ3YgwAAAB5dHRhaHdi
+ eS4waGUMAAAAcHpiY3I1ZGkud3U1DAAAAGluajBueGpiLmkxdAwAAABleGZoeWIzby4ya3oMAAAA
+ NTFuY295dDQubGxjDAAAAHFkamUzbmZiLjFyMAwAAABkeHl5NTRtei4wcDAMAAAAZm9iZXcwbHgu
+ bnViDAAAAHB2ZDJjamdhLmhnYQwAAAAwcHNhMWJmNC5qejAMAAAAaXVsM2d6eGouem9tDAAAAHY0
+ MG5rZXByLmlycgwAAAB0MWIxcmQwZi56YmoMAAAAemJ2NWJncTAuMjB2DAAAAGhkb3UwbTBpLnlv
+ dwwAAAAzZTFzaDQxay5pbWwMAAAAZW12b3pjeG4ubGtsDAAAAGwycHp1MXBrLnBnbAwAAABjMWhv
+ cXJtZi5na3EMAAAAeG1ma3R4M3Iua3g0DAAAAHB5NXR2eWFtLmRsegwAAABkZ2l1ZXlmbS5taXMM
+ AAAAZG5wZzN0ZGMueGhjDAAAAHV6d256Y3FhLm94egwAAAB0YXoxdm5kci5uNHAMAAAAdGFwdnB0
+ aHIueXdzDAAAAGRwMXk1anZ0Lmc1dQwAAAA0M2V1dnFkZC51emkMAAAAMDIwbG0xMGgud3dlDAAA
+ AGNkM2dtbWVpLmwxZgwAAAB4ZW1tM2VkcS54enQMAAAANHV3M3d4dHUubnAxDAAAADNjbGtrdmQy
+ LnJsbgwAAAB1NHRpajN4ZS5vY20MAAAANWdicTFxaHouM3dyDAAAAGpvZXJnd3cyLm5mMgwAAAB2
+ MnVqbXd0bi5pZngMAAAAc3lkb3hrZncuZ253DAAAAGJ1dzE0bGQ1LmdmcwwAAAB3M2FrbGVxdS52
+ Z2kMAAAAY2NwaDF3ZDIueGR5DAAAADBnMG9vcW4zLnZwaQwAAABjcmFmMGYwbC5icWQMAAAAcHBl
+ ZnVobjAuM2hmDAAAAGljemt4NHozLmhjaAwAAABncTRhY25laC5pYW8MAAAAbWQ1cXRwbXcub3pt
+ DAAAAG5jY3ZtZTMwLndvagwAAABpbWVyYW5yaC54aTUMAAAAb2J4ZXZsdXIuZjBlDAAAADVoZ3p1
+ c3ZrLmVlYgwAAABzazA0Y215bC5keXoMAAAANHh1cXZ2M3ouaWMxDAAAAHZveHV1b2ZxLm1jcQwA
+ AAB0djUzc21idy5hbTAMAAAAcHU0azJ2aXYuMHJyDAAAAGtubHNvaW1uLnZsdgwAAABlMGQ0NGo0
+ ei53NG4MAAAAcDBoaWZ3dDEudjVtDAAAAHJoY2F6c3FzLmx2aAwAAABheWFtY2RicS5zMHkMAAAA
+ Ynh1Z3FsbDEubTFlDAAAADB4Y3V4b2ZtLm94dgwAAAB2cXZ2bXdjcS5sMzEMAAAAaG5mbzRwd2Iu
+ cjBiDAAAAHV1eDNmaHBzLmw1MQwAAABpNWpoeWJncy5tdGkMAAAAb3pmNXIza2Eudnh2DAAAAGR6
+ dDR4bmNwLmJldQwAAABqNGpnNDRlYS5jM3IMAAAAYmlvajVxYXguNGNlDAAAAHVtdDAwcXZyLjJm
+ bwwAAABhZXprenJwby5mZ3cMAAAAZG40ZmJxNHcuajF4DAAAAGRkeXp2bnFkLmNtcgwAAABhbXIy
+ ZWx1Mi5yaGcMAAAAZmY0cTJiemkuc20xDAAAADU0aXZ2ancwLnFiZQwAAAAwMWVid2p0bi53eXkM
+ AAAAaGJ1bWRqZGkuYmZ5DAAAAGxsdmNlMTBhLnF0ZQwAAAAxeXF6MXN1Yi4wb2YMAAAAa3RsbXh4
+ ZTUucHJjDAAAAGM0NGMzemd4Lmd4dAwAAABwd3h2MnJibC4zY3gMAAAAMjFuNWl1bm4ubzFiDAAA
+ AHNpM2JnYmUxLm5hdAwAAAB3cXRieWkzeS5td2IMAAAAcDBrd2NkcGkucHphDAAAAG53dnRjcWIw
+ LmMwYwwAAAA1eTRmbnIzZi5wZHgMAAAAeWlxdHdlenkuZjExDAAAAHJwbnZuenpyLm40cgwAAABu
+ a3ExdXExZi53MmsMAAAAZ3cxbHBjbmYueTN2DAAAADBwbHVhbDJ1LmpkMgwAAAB1a2RsMzAwZC5z
+ b3AMAAAAd2NubG92aHcuMWxiDAAAAGNwZXVjcjN6LnZ6egwAAABic2tqemJnYy41ajQMAAAANDNk
+ eml5ZHYubXZpDAAAAHd5anJ5d3FrLmtycgwAAABieTF0NHVucC54YmsMAAAAaWloZWVmbWYudnFt
+ DAAAADJrdWZ6eWtxLmE1MgwAAABkaG01eDFkMi50dmQMAAAAbmc0NGVoNDMuZzV4DAAAAGp6cGZt
+ M21qLnJreAwAAABwcXR1bHdwMS5iYXUMAAAAYmlwaWlvemcucjBpDAAAAGxyYzJnNHNrLnJudwwA
+ AAA0NWhnZHhxZS5scHEMAAAAd3B4emZoZWQubDUxDAAAAHg0MTJuand6LmJ4eQwAAABwdGZieWxj
+ Yy5tYnEMAAAAeXA0eHNuZ3guZXlvDAAAAG16NTJ5cXAwLnBkZQwAAAByajJyZGhhei5za3QMAAAA
+ Y3pobjJzZ3Iub2J6DAAAAHFveGVweWE0LnR4MgwAAAB6bDRoZXBuby55eTIMAAAAYWh1cHFwMHou
+ d2NlDAAAAHltMzBuajF3LnAydAwAAAAzcDBubzNvYy5xNG4MAAAAMGZncXVya3MuY2RhDAAAAHh3
+ MGFxY3VyLnEycAwAAAB6a2ZzZnRveC4xYWUMAAAAbHZoZ3gyZ2wuZ2wzDAAAAHlmcnRtamViLnhz
+ cwwAAABoYTBqb25jeS5hNWoMAAAAc3VqNXl1NG0uMmV0DAAAAHZqb3NnMDI0LmswdwwAAABxcGx0
+ cXd1cS5vbWYMAAAANGZhcjBnd3ouemJsDAAAAGNibGVrY2Z6LmxkbQwAAABlMHF1dm5qYi5rbGYM
+ AAAAZnp3NW12cjQuNHNqDAAAADJpbGN0MzVtLnpucQwAAABxb2FrZnk0dy4xeWMMAAAAZ3N2bDA1
+ bnIuZGVvDAAAADRud2kzb3l2LnVybgwAAABheDMyZ2N1by5sanEMAAAANG5xMnBvY2YuM2RwDAAA
+ AHlncHNodmJ0LjNmcAwAAABrZjEwZTVqdy5iYjIMAAAAMHoxbTFjNGoud3l0DAAAAG9waWt3aWpo
+ LnM0egwAAABkZmhydTQway52eXEMAAAAem1zemMxcWIuZG51DAAAAGF5NW5rMTN4LnJmdwwAAABl
+ bDFjajBtaC5kZGYMAAAAbmNrdGh4bDIua2ZoDAAAAGtuZnoxMTVlLmU1awwAAABoZGt3NWdnai5h
+ Zm0MAAAAczN4c2FtbHcuZG55DAAAAHUwZDFxbWRlLm9ubgwAAAAyMnlodDV0cy40eHEMAAAAbXpt
+ MGl2ZXkudTEzDAAAAGExNG8yd3p2LmowbAwAAABwZzBuMzI0ZC5mejIMAAAAdGkxM2M1MW8uNXps
+ DAAAAHphYnYxaTVjLmJiegwAAAB0ZWh3cHJldi55bjIMAAAAenpsZ3l4YTUuNHlhDAAAADVjNTI1
+ MGNmLmZzeQwAAAB6dGFzcms1dC5peWoMAAAAdDBuNW5uZXAudnNhDAAAAG55dmVvc3gwLndvcAwA
+ AABsZ3hjZHRoMC5hbWEMAAAAdGIwb3FwM2wuZXZ3DAAAAGRlY2J1azEzLmxwZQwAAABzZnFjNXJ3
+ eS5uZGYMAAAAMnQ1M2p5NWEua2lqDAAAAG12Z2hqdW8xLmdpagwAAAB4MWZodmlrby5wcnoMAAAA
+ czM1eWVmZ3AuYXVqDAAAAG1vZ2FhYm15Lm9sbQwAAABzZGo0M2g1bS5iZXEMAAAAdHZyaDRuM2wu
+ a3hxDAAAAGNka3oycnd0LnUxcAwAAAB4enkwaHZvci5nMHEMAAAAbWpscWlrc2wuYml1DAAAAHgz
+ cWZxNTFxLnh3ZQwAAAAwemZwYWVlYy5rNTIMAAAAY2wzM2xwZWoudGc1DAAAADUxcTRxa2duLmw1
+ dAwAAABiNHZucjNqby41d3gMAAAAMXVmb2YxZ3UuYjJoDAAAAG1rbTJ0a2h0LnhheQwAAAA0bWJx
+ bjVyNC52MGsMAAAAcXZxb2NjeXkuZnlnDAAAADRqbHgwamkxLndqcAwAAABmenlyNXlmbS5wZG8M
+ AAAAbTVyeXI0ZG4ubGZoDAAAAGxsMXFidHF4LnRidwwAAABtbDQ0em90NC5yaG0MAAAAbjNqcDV2
+ Zm8ubjV1DAAAAHh4eW91cm8wLnA0cAwAAABkY2s1MXRwdi5jcWwMAAAAcmRvMmxxYnEueXFsDAAA
+ AGx2cnEzb2ZjLml2dwwAAABmaHY0MDJyaS55ZWIMAAAAM2h2ZXYxbWsucXdkDAAAAGp2bnRvZWY1
+ LnJueQwAAABieXVzeW1kdS5wc2gMAAAAb2lib2x2cHAucGplDAAAAGZ5NGFnMGgzLmR6ZAwAAABx
+ ZmlleHpsZy5mMngMAAAAd3V3Yno1anYucHZ6DAAAAG9qNHJoNXN4LmgwawwAAAA0Mm52c2k1dS4y
+ ZG8MAAAAMnZ4dTVsZGMua295DAAAAHdsbGxxdXptLmR4NQwAAAB3M3ZweGxyYy4yM3kMAAAAaGFp
+ Y2gza2YucmVnDAAAAHdvZGQ0b2V2LndpYgwAAAByMGFvc3FvaS5ocmwMAAAAc3k0YnhsdnIuYm14
+ DAAAAHJuMXU1MXd1LmhsZQwAAABqazVudm90ei5iM2QMAAAAb3BvY3V3ZHUubjVwDAAAAGt2MHB2
+ dWl3LnZidQwAAABoMjQwNXptZC5kNG0MAAAAdXl0aXZzZW8udjR3DAAAAHdiZ29md3phLmZxZAwA
+ AABzcWRpcHl1dS5qcXYMAAAANG8wYmp2YWcuNTM1DAAAAGdhNHBkc3BhLjUzYgwAAABiaXBiaTVj
+ di5ham4MAAAAeHhyaWEwaGMudHZmDAAAAHp2ZXVvZWN6LjRrZgwAAAB5eWFseW50Mi50bWEMAAAA
+ ZDIxbG41NTEubjBxDAAAAGp3Z29mbGYzLnlwMAwAAAA0bWpwc3diYy5udGcMAAAAMnMya3Bjc2Mu
+ cW16DAAAAGY0cjJmdnJ5Lnp1awwAAAA0eWhtcTVheS5uczEMAAAAd3hmMjVlZHAuaDBzDAAAAGUy
+ d3htMXF3Lm96egwAAAAyc2M0NXB3aS4xZXcMAAAAanEzbWp6NXcuYTRsDAAAADJncGFua2d4Lnlx
+ egwAAABreHNtZWNycS5oeGkMAAAAMnhlMmlzM28uMXUyDAAAADRpd3Brb3MzLnp4ZgwAAAAwbmI1
+ Z2Nwbi5paWMMAAAAcm5tbDUwMDEuMWN5DAAAAGplcWZoZjBuLnltegwAAABzem9yc2tlcS54cjQM
+ AAAAbjRiMjB4MmUud2ZvDAAAAG11ZHlyYXUyLmtnMgwAAABoMTRhZG51ci5uc2cMAAAAZDJnNWdk
+ MjAucjR1DAAAADRneGNodXMxLjFvdAwAAABva2t0dnFmdC56cmsMAAAAbDBtbXp2bTMuZGd5DAAA
+ AGFtY3hma2J6LnZobAwAAABzMjNrYjNqYS5zbGcMAAAAZ3h4b20za3MueG5oDAAAAHV6bHdlbGo0
+ LjRyagwAAAAycHRjMDJzay5jbGYMAAAANGtiZmMxemQuYXcxDAAAADBha2Roam5rLmF3bAwAAABs
+ bHNiM3Z3eS5lM3gMAAAAYmp3eHp5YzQueHNwDAAAAGdpM3lsdnJoLnRxcQwAAAAyc2l2YW5iaS5k
+ aHEMAAAAajIxZ2M0ZTMuM2NsDAAAAGJnMjRpZHh6Lm4yZQwAAAB2b3pnZXJmai5yd3YMAAAAY2py
+ MXcxdGouazRkDAAAAGdoam5seGVjLjFuegwAAAB2dnllcGFjNC5qNGIMAAAAYWF1dHN2YnYucWRu
+ DAAAAHF3ZTAwYzJiLjExcQwAAABjYXh2d3AzZy55bjIMAAAAbXJpYzF1YWQuMHJsDAAAAGp0YjVz
+ ZXF1LmF4MgwAAABzY3pyZ2xlaS5oZnUMAAAAamdseDB3aHcuZW1lDAAAAGR4cG4xa210LmtkbgwA
+ AABteHplZG1qaS5qcnIMAAAAa3FiajRjNWouYXp3DAAAADR0MnJhejFvLnlqaQwAAAB1a2Z3aTNl
+ Yy5nemQMAAAAemVjbmx6b2QubDM1DAAAAGVia2JhZDFyLnlocQwAAAB5am1xaXlycC5ld2sMAAAA
+ Z3ozaWVnNHAuaWQwDAAAADBlbmFvZXQ1LnVvagwAAAB2cGUzZTJwaS5qZHAMAAAANXVsdGpweWQu
+ c3RvDAAAAHQybmtiNHJlLmkwZwwAAAAxaHI0M2R0di4wc3EMAAAAMXdhZ2pyencueXRxDAAAAHlt
+ Y3VieWdrLnduZwwAAABibG1tMmdtei52Y2gMAAAAbXM0cm1lZjEuaGxlDAAAAHN1eG9vanFmLmxu
+ dQwAAABnamFpb2JiMC55cmkMAAAAa3lkbWU1c28ueHRiDAAAAHEydTN1cmh5Lm5zeQwAAAAxeTJm
+ bHp1dC53M2IMAAAAZnJwbHlwc24ubWFpDAAAADJsbm1hdzRwLnJnegwAAABzeXRkd2J2aS5jd3oM
+ AAAAeWc1ZTJmemYuZjFoDAAAAGZpYjVnaGZrLndlMAwAAABjMmJ1MTF6eC5jY2UMAAAAYnc1aW1p
+ YjUuMDJ3DAAAAHRhZTBmb2x5LmxlcAwAAABnamExM254eS41aGUMAAAAengzbWt0bzQuNXV5DAAA
+ AGVrend6bTMyLnNicwwAAABnZzB6MXh2Yi5mNG0MAAAAczIwNDVkaDQudGJqDAAAADUwcmdoYmhi
+ LnBzZgwAAAB5ajAxcHAzdS4za2oMAAAAcjFzaHdtYm8uYm9rDAAAADQxYWQxdWFlLmRhdQwAAABk
+ ZmJ2MDJ1ei4xZTUMAAAAenQyMGs1ZGwubzFqDAAAAGV3Y2Npemp6LnZ6YgwAAABzZDF5cTU1Yy41
+ M2cMAAAAaDBpaGZmd2MuY3BvDAAAAHV1NDBraDBkLjR5ZwwAAABkam4yZXczMC5lbmIMAAAAc3Uw
+ emdtaG0uaHkzDAAAADRhaXRtd2psLnpyYgwAAABzYng1Zmlwbi40cHQMAAAAY2NjeGlicG0ud2Ji
+ DAAAADBieHVxeDJuLmEzMAwAAAB4ZWxqcGx5dC55dWUMAAAAcXQ0bTJnYXoueXlmDAAAADN4aWJp
+ Y3R4LmJ1ZAwAAABnb3BhMWY0cC5icnAMAAAAcG9oc2pmMDIuaGUyDAAAAGFmYm1peXU0Lnl6bwwA
+ AAAwbXJsZWdreC5wa2gMAAAAeW5sempseGwubmR2DAAAAGZ0eWNtMTJrLmJkdAwAAABzMWVpa3hv
+ dy5qZTIMAAAAaG9sYjNjZmkuYW9iDAAAAHp4dDNhc3IxLm40agwAAAB0ZnMxZmxrMy51ZGwMAAAA
+ ZTJ6ZWZkYzQuNHRvDAAAAHFhdXI1cTFvLmthdQwAAABoNHRjMjVxMi5yNWoMAAAAajBibmhleG8u
+ YWp0DAAAAHF0cm1rNXV0LjRpMwwAAABrZ2NuZnI0eC5oaGkMAAAAMHRweTNjdnQuaDNiDAAAAHlr
+ MHBicGkzLmxycgwAAABkand1ZGkyaS5rdW8MAAAAaDRxamo1aWQuNGZtDAAAAGxyNDB0amIwLm8y
+ cwwAAAB5emxjdTB5bi5pd2UMAAAAMHZlcDViZDUuZ2ZrDAAAAHhtenhibnJnLmY1egwAAAB6bnFx
+ bWp3dy52aHMMAAAAYmhycmx4YnUucHkwDAAAAGJvcHplMTNvLmxhagwAAABzNGJ4ejBndy51bTMM
+ AAAAMmgyb3J6ZHAudnUzDAAAAGpkZGs1bWZ1Lm9hawwAAABhdHExanlseC55cXkMAAAAMGV5Y3hm
+ d2wuaWY1DAAAADBnMmpqbXZnLnUyaQwAAABlMGJtdXJ5bi5sZnMMAAAAaWRmazE0aTUueG5tDAAA
+ AGVzMndic3RzLmxmdgwAAABycXVyb3V1aS54eGEMAAAAdGNxMXJjejIucXhtDAAAAGRoeXRzdXhl
+ LjU1egwAAAByMGNzeWxodC5samYMAAAAandndzNmM2MuaWZiDAAAAHptcGVvbHkzLjR0MwwAAAB6
+ aXdtNHRtbS5yd2oMAAAAeXhrdnhneTEud3RhDAAAAHM0emF4cWE1LnpvcwwAAAB4cW5icmkwdC5t
+ bnEMAAAAMmV2M2MzZ3AuZHpmDAAAAHBxNXZiem9wLmh3agwAAABjM3Qzd3IzMy5qY3gMAAAANXhq
+ a2YxenMudTF2DAAAAGtkbXVvYzNrLmhodAwAAABhZ2RkY3V2bC5lbnoMAAAAMnZseXYyYzUucWp1
+ DAAAADV2c29rY2I0LnBocgwAAABiZmZnNWZmby40dGQMAAAAa2thY25xdHkuMnptDAAAAHcxdGs0
+ cjUxLjBkNAwAAABudG5sbmJ4bi51c2sMAAAAcHQya3pobGsucTRwDAAAAHd1cmcyb2IzLjVjMwwA
+ AAA1cXA0MmdvaS50cGMMAAAAdGQ1dnBla3EuM2p0DAAAAHdwd20zY24xLmNqegwAAABtYWZhdnRk
+ Yi56cXUMAAAAcWZuams0a28ucXpkDAAAAGRja2wxdTN3LmtwYQwAAAAxc3Jha291MS5rMG8MAAAA
+ YWRrazQwdXYuaXhkDAAAAG5uMXE0MGxvLnYzYgwAAABpY2JnbWF3by5hdnEMAAAAYTRkMWZleTIu
+ NXNvDAAAAGcxejVzMWJ4LndwYQwAAAAwZWt1djU1Mi5mczAMAAAAaWcxNTFwZngua29tDAAAAHZ6
+ cGJocDBnLnBxZAwAAABmMDV3dmUzby5xZDQMAAAAMWV6dWt0cXIudmZvDAAAAHpxbXB1aTRtLjNq
+ MwwAAABjNXFkaXBpMy55cGsMAAAAbnhvZXhvbG4udHFtDAAAAG8wazQxcTFtLmwydgwAAAA1Ymp5
+ dzRibi4xNDIMAAAAZjNkZGRwaXIuM3Z5DAAAAGpnbzR6YWhsLnZpNAwAAAA0ZGMzcnNteC4zMHEM
+ AAAAZGNxMGozNGEuY2dqDAAAAHBhNWRsa3NzLmNxcAwAAABobGhhZXFsMy5zMG4MAAAAZHlweWJ0
+ cWQuMTBpDAAAAG50NDBmZ3JqLmRqeQwAAAAzZ3V1emJubC4yMnIMAAAAd2Qyc29zcHcuMWVpDAAA
+ ADRnNWxhc2liLmVyMQwAAAB6aGtlYmxkcC5xbW0MAAAANHl3cGRxMWguZHpuDAAAAGpjMmJ4aHRu
+ Lmw1cgwAAAB6djJqZG93cS5reW4MAAAAM2N0cXZncnkuMTFvDAAAADMyMjV2cXpoLms0YwwAAABr
+ b2gxMGMxMC5mbWEMAAAAemlieGR1ZXcuNXJjDAAAAHZ6cTFtYmFyLjEyZgwAAAB5cnBucDJnZy5p
+ NGsMAAAAY3N0MGl4cXUudmNnDAAAAG5veXkzY3p6LmwybwwAAABvdmdvaWs1cS54c3MMAAAAaW5x
+ cHhxMHoueWdpDAAAAGJ0ZGtnazBrLnZxcQwAAABjazFzbXlnei5xb3UMAAAAeXBicndkd3YubWFi
+ DAAAAGlmYml0ejJ1LmpvMAwAAAB5YXcwMjUxMi5xY2UMAAAAYWZ1cTNzb3IubGRiDAAAAHFyeXJh
+ MWFsLjJwdQwAAAAzZ3cwdGtrdy5sNWEMAAAAdXF2eGJ6NGMuenhmDAAAAGZ4cTVmZHplLnJ1bwwA
+ AAB6aTRvZGpvNS52Z2IMAAAAaXJpdmN5c20ubjVpDAAAAG15NHlwcmVoLnVueAwAAAB5c2ZocWpq
+ dS4xa2UMAAAAMmQwazA0MHkuM2kwDAAAAHk1NWhud29kLnp4dQwAAABsNXV2YTNoaC5oNHAMAAAA
+ cDVoYXZ2bmMubHo1DAAAAHhraHpzdmZsLjB4dwwAAAA1dDN3cjFhaC5hdW4MAAAAaHdwMDRjZnUu
+ bWFjDAAAAHJvNHkwMXc1LmowawwAAABrdXozYmN0ai40dG0MAAAAcnR3c2prd3MubzF3DAAAADNj
+ eXN0cGtuLnZ2YwwAAAAyZWR5M2hrcS56cmsMAAAAczN1emNqeTUueGF0DAAAADM1ZmNndWpwLjNs
+ dAwAAAAybmEzbXpmei5mY3oMAAAANXllcWphYXouMjBvDAAAADBna29pNHZwLmI1dwwAAAAyZHli
+ ZWN2NC5iYWUMAAAAaWQxbno1YTUua3d5DAAAAGZzc3ExM3FvLm9yZgwAAAAxeGJxMjBudi5oM2YM
+ AAAAazRsZ3F4aTAuZjN4DAAAAGgxYTR3MWZoLmRmbQwAAABqYTB0eDFiay53MDAMAAAAbDVmZnhk
+ YnkuMHVhDAAAADJzZTRhZ3B4Lmc1bAwAAABnbmdzY2l3MS53MGsMAAAAMWZ0bXhrYzMubGF0DAAA
+ AHNzbWF0b3JiLmJtbAwAAABseHlkajNidS4wYm0MAAAAaGwwaWkxc2suMHAzDAAAAGJhbnJ4MWwx
+ LmJ2bgwAAABwcnppcGd0eS51MXQMAAAANWFhNWwwcG8ucmUzDAAAAHQzM2VjeHI0LmJpaQwAAABp
+ bHh6MTRoMC5ycXAMAAAAdWFxMmx1MGsuemF2DAAAAGl6eTM1ZGZiLnluZgwAAABvMjJjYmV2bS5j
+ bGIMAAAAcGxsNGhjaXYuZHNnDAAAAHRidWl3c3RuLjJneAwAAABnM3dnMmJ0aS4yd2MMAAAAMWNv
+ NWY1MXIuMjRnDAAAAHNnZG56cXhkLjBqbgwAAAByenh6MTMzei55bW4MAAAAMm95ZWVpajEuMXVs
+ DAAAAHVmYnZ2MTRjLjBhNQwAAABhYWJnY2VtaC5iZm4MAAAAMXd1eGJhZncubHp6DAAAADFwdDEy
+ ZGxxLmxzdQwAAAAybjJ2d2U0bi51ajAMAAAAdTFnZ3YzdzAuaHkzDAAAAGlua2kxbXB3LmhkMgwA
+ AABrc3V5bWx6by5reHgMAAAAbWt4enR0cWMubXR5DAAAADNiNGI1czR0Lnd2bwwAAAB5enVoaGdw
+ NS5oZnQMAAAAbjNneWM0cTUuZzMwDAAAAGVndW9ldHg0LmNtMAwAAABta2JobmJyZS51djUMAAAA
+ eWt5eHYwbjQuc3NmDAAAAGw0bmhhYWFsLnFnbQwAAAB6b3hlMGVnZC50MXkMAAAAZnZhbXQycWou
+ MWVlDAAAAG16Y2J2b2ljLnE0cwwAAABoMmtrZGdsbi5vemYMAAAAYnpkbGhhMTEuczJyDAAAADVj
+ MWZxb2RmLnBxcwwAAABkanRxcXN1aS55MnYMAAAAYXVpdG13NWEuemZtDAAAAG9kdzEwZ3RsLmFx
+ NAwAAAB4cHJkdDFwcS52NW0MAAAAbG1qcWtycXYuYjFuDAAAAHBhY21pcjJnLnBkNAwAAABvbGdo
+ M2F3Zi5qanAMAAAAeXF6bG9uMHQucnMwDAAAAHh6eHNpeGdvLnVocAwAAAB0emt1bG5jaS5ndGcM
+ AAAAd2tlamFwMHkuemZlDAAAAGwzYnQzb2UwLmxnbAwAAAB6YnVoYmNlci40d2QMAAAAMnFwcDNu
+ b2QuZmNnDAAAAHZ4M3IydHZ2Lnl1MAwAAAB6NHVidnQxby5xYWkMAAAAemNlc2JuZW4uM3ZyDAAA
+ ADV5Znh2ZHV1LmhtbwwAAABvbXdjajFoNS5zbnIMAAAAaTJuaG9rZGEuM21zDAAAAHc1aGxwYXg1
+ Lms1ZQwAAAB2NHAzcHQ0Zy52Z2oMAAAAMzMwNXFtZGguZngzDAAAAHNycjV2a2liLjN0NQwAAAB2
+ cHJ0Z3N6ai4yYWkMAAAAY2dva3pqc2EuYWdwDAAAAGk0MGFzeDN4LjAybQwAAABnMGgxZ3d5aC4y
+ NDAMAAAAZWIwczBoaGYucjByDAAAAHlscnFua21nLndyZwwAAAA0c3Ayd3J2My40bzIMAAAAcXE1
+ Z2ZyZ2YuZTRkDAAAAHprMjF4aHRxLnM1bwwAAAA0aWh3NXEzcC5zMDQMAAAAZmRxdmdmNG8udGxs
+ DAAAAGYxdnlnbmQzLnF3MwwAAAB4bGN6cWV0Mi5maXoMAAAAamVpNXl0NGEuNHVhDAAAAHJmNGti
+ ZmdmLndxegwAAAB4bnNoYWJ0aS5oYnQMAAAAenhwcnN4cnkuaGJ6DAAAADFnYWI1dW1kLnN5ZAwA
+ AABvdm1uem01MS5sNXYMAAAAd3BlZGF0NWcub2thDAAAAGp4YjV3aDU0LjVnZAwAAAAxYTIyZXBj
+ cS4xMnoMAAAAM2VucDFsaHYueDVhDAAAAGRtd29ocGdpLnJuYgwAAABqdmZ1MGRwMC4weXUMAAAA
+ Zmt6aHVwcjIudGx1DAAAAGN6Z2l3emV4LmRqYgwAAABxcGptM201ei56dmIMAAAAMHd1d2VobW4u
+ bW9hDAAAAHkxZ3FtajEzLnFkZAwAAABoc2pwYWlkdS40eWwMAAAAaG52cHdyMWUuaTRrDAAAAHNt
+ dG1yZHlmLnYwawwAAABrdXBlb3hqbi5mMzAMAAAAZW9ucGNubnguYmIzDAAAAGRvdmh5MXd4Lmhl
+ YgwAAAAydHRuMXRjby5nZmgMAAAAMmhkbzQ0bjAucmRiDAAAAGVpZTF1dmJtLmxkZgwAAABqenBl
+ dXduay4wZjQMAAAAZDIxZjVjenYudWN4DAAAAHB5aWZmaTRxLnlxNAwAAABtZXNsNXRldy40dmYM
+ AAAAc3ZyMDFjcHEudWduDAAAAGpvemx1Mmp4LnJnZwwAAAB4cGhoZWEycy5rbG0MAAAAbnJ3cTVt
+ NWkuMmx5DAAAAGlqZ3Nnc3Q0LjBmbwwAAAA0dWdmbHVmei5xdGUMAAAAeHkxZG4xMWkucDBsDAAA
+ AGR0dHdvY2R1LjNuNAwAAABxYW9xMGdhaS5uMW0MAAAAbHNncnB3bXcuemsxDAAAAGUxMHhwb2Jx
+ LmZnbwwAAAAzbGMydGo0aC5lemIMAAAAa3d3azBydjUuMm8xDAAAAHAya3ZhZGNpLmpkYgwAAAB4
+ cmR2bW5sbi52MXcMAAAAYXowYm51bG4ua3drDAAAAGNtaXF5NHZqLmFlMwwAAAAxbmNmMmEwbC5s
+ MXQMAAAAMzVhM2ZmcmIuZmFnDAAAAGh4bHJpZDIwLmNhbQwAAABhczNwcHNmdS5xd2IMAAAAdjBp
+ MXZ6ZXguZXduDAAAAHczcHNqZ21iLnYxZwwAAAB4angyNG9uZy56bGYMAAAAM3RnbzFnZnAuYnIx
+ DAAAAGkxaDJ1b2hqLmt3NQwAAAB4ZGp6YWIway53eXEMAAAAZGphMnowMjEuNTJpDAAAAHBxdHpo
+ cmNkLm93cgwAAABobXZkaXdndy4wb2cMAAAAM2d5aGd0YzMuanBkDAAAAHgxYWxnZGVuLnd0dgwA
+ AABqYjBrcGhneC51MHgMAAAAa2kxMjRpdmQuMHhqDAAAAHkxYnpyb3p1LmZqaQwAAABtM20xZGIz
+ di5ka2IMAAAAZDAzbHB2cWYuaHl3DAAAAHdvcmZyZnhuLjJ0agwAAABjMnJxemk0bC5kdXIMAAAA
+ MjNoMmtraHEuc2h6DAAAAGxjeXl3Y2ZrLmZjegwAAABleWQ0M2NyYy41d2kMAAAAMmhycWdzM28u
+ amkyDAAAADJ0eTR1a2tsLjVjcwwAAAB3aHJnbmQ1Yi5lYTAMAAAAamcxa2J2Y2cuYXR2DAAAADFq
+ cWFyemhiLmNyYgwAAAAwdWhkbWY0NS5meW4MAAAAamIzYW9tMm8uMGhtDAAAAHR1cnppcTRvLmpi
+ bgwAAAB5c2d0dHN4aS5ucHcMAAAAcDN0eHVtcXIubWFzDAAAAHZqemVlanEzLmsydwwAAABmcG01
+ bmdrcy52eDAMAAAAbXBzMXRtcXguM3VvDAAAADVoajFsajJkLnp5cAwAAABtMXhnb3oyay50Z3IM
+ AAAAZHNpcXpvdGgucnFqDAAAAHFxb3B5d3R5LmhoaQwAAABjaXVsYWtzdC5wdXEMAAAAeWdvNGJ1
+ MmsuMnVnDAAAAGZtY2ticm5vLnIxYgwAAABobGhhaDRuby5wcncMAAAAZGI1dm92cGoudXFzDAAA
+ ADM1MnpoM3h5LjJhYgwAAAAzY3poa3VvMC5penMMAAAAM2YxanljZzMuajB2DAAAAGtiZHIwdzR1
+ LmdtdAwAAAB6eDNhNHZsYS51c2sMAAAAc2J1ZmZibjQubzRwDAAAADJjMGZ2c2UzLmt2eQwAAABw
+ ZWN4MzNjMS56MDQMAAAAa21zYjFrNDIuNXBqDAAAAGNwM3ZianZ0LnU1egwAAAAwbDRkbWhxdC40
+ eG4MAAAAYWwzM2piY2MuZ3hrDAAAADNxaXBqeHYxLnhhMAwAAABlaTVjZ3BiMi5qdWEMAAAAZTVv
+ dWNnd2subW1mDAAAAGVqZmpzMGhzLm1jbAwAAAAzaXhuZWt4bS54d28MAAAAdGRybWdoenoudGNi
+ DAAAAHU0dzFldjNnLnJ5ZAwAAAByY3Bta3p3ai5lcXcMAAAANWVrbG41MHcuNXM0DAAAAHh4NWx6
+ djBtLnV3bQwAAAAwMTFjcWFuNC55enMMAAAAa25iY3JwYmwuZmx6DAAAADUzbXo1d2dvLnVsbQwA
+ AAB6eTByMGxzci5zMjIMAAAAYWhudGJ4ajQuYmJtDAAAADQybDF3MnlhLmJzawwAAAB6bzAxNW01
+ aS50enQMAAAAYmF2YWZndTIucTNlDAAAAGdzaHljcXFmLjFpZAwAAAA1YjAzNXN5ZC4ybGcMAAAA
+ bHlpZnkwaG4uenh3DAAAAGV0YXBwbGdqLmczYQwAAABtNGp0dXFhdi52ZWwMAAAAcWRvb2t5eHYu
+ cnF3DAAAAG9qeGI0YWhsLnZjMAwAAAA0eWNqeXd6ai54aWQMAAAAc3ZqdW1uNXguNW9rDAAAADJ4
+ amZsMmZhLm9icgwAAABjd2Z0aHBqdC5hcXMMAAAAdGM1M2JxeHMueDRjDAAAAHl4amRnYnYwLm9s
+ aAwAAABpcW5tNWh0ZS4wd2IMAAAAbGcxeXprNHEuNWpkDAAAADUydG92MmJ6LjVkaAwAAABrYzNx
+ MWtjMS5qeXkMAAAAZ3NoeHYzeTEuNXR6DAAAAGpydWtvMGNxLnJnYwwAAABlamFydmxmaS41cDUM
+ AAAAeXgwdGpzeWEudGlvDAAAAGd1MGJ5NGJvLm4weAwAAABrejVraDB6Yy53MGQMAAAAejNwZm5h
+ eHIuaWF6DAAAAHR5ZWI1YnFqLjN4NQwAAAByd3RzbmJuci56dGEMAAAANXB0dDV5MzQuNWhiDAAA
+ AGhwZmVwMHFyLmFrYwwAAABiaW5rMHlyYy5qd28MAAAAcG1lenBzamwuamQzDAAAADAzbGVnZHRv
+ Lmx5eQwAAABiMzNkYWk0My5xZXgMAAAAZGxudHFnbzMubm5xDAAAAGJnaGJoa2VlLnRpcwwAAABy
+ azBxM3Btay5jNDAMAAAAdnFjYXIxMnUua3pwDAAAADVid2FvZmJuLnVwZwwAAABiZzJremkwZS53
+ cGkMAAAAZTU0enhjZnMubHR5DAAAAGVtMDVzMnBpLm90MQwAAABvYjFwMzUxbi54bWwMAAAAMGh1
+ a3R4d2wuamV0DAAAAGtiaDF6dWxpLnA0MgwAAAB6b2NrZWtiYy5razAMAAAAd2pwYTFjMnIudmpx
+ DAAAAHVkbmFrMXlhLjJscQwAAABub3BsenF1Zy5mY3cMAAAAZWdhZGJpd2EuZnN0DAAAAGJ2cmdk
+ M2tjLmZmYgwAAABybnhrY2xnMy5lcmEMAAAAZGhmeGtoMmwud2wxDAAAAGFyZHBqbDNoLmJvYwwA
+ AAB3a2gzdWZ4eC55cGoMAAAAeXF5YmJoc2IucHVpDAAAAHRtem41cXlzLnpwcwwAAABhNGVjZ3Zi
+ Yi51cGsMAAAAem5wMmd6MmoubGwwDAAAAHJwMHJhcHhuLml6cwwAAAA0dHp0ZWRtbC54ZXcMAAAA
+ bXEwc2Zqem0uMGVyDAAAAGN5Mmx3b24xLnczdwwAAAAxbHV1cm5xYi5qcGUMAAAAc2g1dmdrM3Au
+ aHRqDAAAAHRlMHduYm8yLmJwcgwAAABteTB1czE1NC51b24MAAAANWhmZ2NyanYuanJjDAAAAGlm
+ bGxpMHl3LjNkegwAAAA1eWJkamdnaC5nZHEMAAAAY2dqaWFvejUubHlpDAAAAHJ6aXc1MnViLmM0
+ ZQwAAAByNG1xMGlzZC4xbWMMAAAAeGJlcW5md2UuNG8xDAAAAHVwdTF3aXN4LnhvaQwAAABoaGd4
+ ZHk0cS5qYnYMAAAAcXYzYjBqb3AubWFhDAAAAGR3NGQxZ2hjLjRjMQwAAAB0cHNrdnJyMS5iczAM
+ AAAAb3h0Z2N1M2EuZ2gxDAAAADNvamFlaGJ4Lm9rdAwAAAA1dGF0ZmZwby50ZjQMAAAAdHM1c2N5
+ c2gudnZwDAAAAHZncGE0amJrLnRrMgwAAABoamN3c2RvMi5waHEMAAAAenZjMTMwZ3UuYjBpDAAA
+ AHI0MWdrb2pjLnV3ZwwAAABnaHUwazByai40c24MAAAAZnoxM294NGgubWxqDAAAAHMyZ2JjNXBq
+ LnF0NQwAAAAycHJmb3Joai5mYjEMAAAAdm1icm1ucWIubGIzDAAAAG1paHd2NWxhLmFmZwwAAABk
+ dGhuZTRubC5saWsMAAAAdHh0dmZpdHcubnN2DAAAAGtiZHR5bjBsLjFhaAwAAABzYmhia3Zhcy5q
+ Mm8MAAAAMHJzcDRtZmouZXU1DAAAAHpxeXVzZTV3LmY1NQwAAABrZ2dwZzVzZS5nYWgMAAAAbTRj
+ aTV4ZXoubGxhDAAAADEycTFkenBxLmEwdAwAAABuY3lyMnFzcy41YTAMAAAAc2Zka2VsbW0ub3Ry
+ DAAAADRiZWdsMmZtLnh4NQwAAABzdnBscXhoNS5lbHcMAAAAZ3hhb2FhbzUuZjJ4DAAAAG40c3Jk
+ Zmt6LjQ0dgwAAABicHR2Mm5qbS50amwMAAAAY2FoZTBidGouYTBzDAAAAGFkMGQ1dHJoLm0xdgwA
+ AAB6dWswMW9hMy51M3gMAAAAcXoxdm90c2kudXg1DAAAAGl2YnduMjAxLnIzNQwAAABveW5xaHd2
+ YS5ldGIMAAAAdHAzaG56b3AuZjVlDAAAAGpxcjJwbHhqLmVldAwAAABnY2FvZG1iYS56M3MMAAAA
+ andxejBkaGEueGF1DAAAAGt2MG5oMmZuLnZpYgwAAAAxNGMzanEwdS5peW0MAAAAM212NGw0NTEu
+ aGFsDAAAAGVxbXpoMXgwLjJuawwAAABzbGZub2xndy5jMHgMAAAAdTNmZjVkdmIuZHozDAAAADVw
+ NWZlMm9pLnN6cwwAAAAybmF5ajFwdS5pZG8MAAAAZDAycmZiM24udjBhDAAAAGx3eW40d29jLmQy
+ ZwwAAAAycjR6bHRubS5qMWoMAAAAMWlyYnltMnQudXdpDAAAADBheHpqbTRwLjJycQwAAABibXR1
+ eTBsaS4yZ2UVABWO+gEVjvoBLBXQDxUAFQYVBhwYDHp6bGd5eGE1LjR5YRgMMDExY3FhbjQueXpz
+ FgAW0A8YDHp6bGd5eGE1LjR5YRgMMDExY3FhbjQueXpzAAAAAwAAANAPAQwAAAB2MWtnNWhtci5m
+ aGoMAAAAZG5zdGNwbHYuZWRrDAAAAG1ta3lucHR0Lmw0awwAAAB5c3E1d2NrZy5idG8MAAAAcHJl
+ ZXpmdGwubXEzDAAAAGdmdXg0MWF2LmNvegwAAABnaHpnMmNqZS4yaDEMAAAAM2R0dngwMWkuZ2ty
+ DAAAAGV1emQxYjQxLmJxMgwAAAA0YXRkMnpuby5nNDEMAAAAeWtkc240dWkuYjNlDAAAAHRud2tm
+ aXNkLnFqNQwAAAB2ZmtpbGsydS4xYjQMAAAAdWN0MnIzdG0ubjEwDAAAAGRjdHdocWNvLnZnegwA
+ AABhc2hvYXZvMS5vamYMAAAAdWdzcWJicHMuNXQyDAAAADBwcHlyNGVoLmhtcQwAAABsNWRheHZ1
+ cy5wcDIMAAAAa3d3MTFwMmEuZHhvDAAAAHNobWx6YzNpLnpkMAwAAABraTJva2FteC5hc2QMAAAA
+ aTFiYnUyd2IuZGpqDAAAADJ5dnZ1ZnRsLm1lcQwAAABmZzB4Y2xoay5odGgMAAAAY2l6cHh1c20u
+ bDQzDAAAAGFtcnRlMGxhLjJ0cwwAAAA1ZDUzZWY1NC5tMHkMAAAAcmxpczR4NG4ubXp6DAAAAHp5
+ aGRjdnZsLnhieAwAAAB4ZDR3MGZxZi5sMHMMAAAAdnFzeWFoNDAuYmFuDAAAAGtvYW1raWJxLmtv
+ cgwAAABzNHBtdTI0dC5ia3AMAAAAMzE1ZzI0aGsucTQ0DAAAAHN3aDVxZmVnLnduagwAAAB3Z2Z4
+ d3dmNC5jMmsMAAAAMWpwMmlsd3IubDVzDAAAAGNvcW90NHU1LmhncQwAAABsaXgzZ2dmaS5leG0M
+ AAAAcnhlbnNva3UuamlmDAAAAGUya2d5aWQ0LmYwYwwAAABkZWs1NHB4bC5pYmoMAAAAdTRpMDNi
+ YXAubjJ4DAAAADVqd3Yyc2M1LjJydAwAAAB1ZzR6NGxtcC4xMzAMAAAAMW5lMXVjbmgua2gzDAAA
+ ADQzb3N5cjVuLmpzaQwAAAB1NWpicGFmMi5mcjAMAAAAbWMxY2FvYmcuMW9xDAAAAGJlemVteHZy
+ LmlhZwwAAABleHJ0Z2xhMS4xdTEMAAAAb21waWxlYWwucjFnDAAAAGg0bXoxdmFiLmJlbgwAAABy
+ Z3BkYWx2dy5kaXgMAAAANW1pb2NiNWsuaHR0DAAAAGt0c25mdnBlLnEwZQwAAABjNDFoYWV5Yi5z
+ dW4MAAAAaHVobGZpdTMubG5qDAAAADBlb2F2Y3BvLmxwNQwAAABrajQ1ZXpyeC5tZTIMAAAAYXNt
+ ejVvNW0ueXVtDAAAAHN5ZGJqcG9uLmRmeQwAAAB5dHc1Y3FtaS5iZGMMAAAAcTN6M3JlamQuMHRm
+ DAAAAG8zdHB2cmJkLmtncAwAAABpbWp1MWcxay40bWQMAAAAaGVwdzF0ankuZGRyDAAAADJic2Np
+ YWd6LmF1ZAwAAABwdWN5bWFldi5xajAMAAAAb29ncmtlY3kuMGdiDAAAAHZnMXBjNHd6LmFoeAwA
+ AAB3ZHRkcXRnYy5oNXAMAAAAY2FieHdwbzAub3pxDAAAADIxcWFjYnRwLmlpdgwAAABqMHltdWJp
+ YS40amwMAAAAMmUzeWliNXkub294DAAAAGIxMjF0YnlvLjFtZgwAAAAyZWVpeXRteC5jMmEMAAAA
+ aXdramt2djQudWcyDAAAAGh4aGgwb3gwLmh4ZwwAAABkcWFpanYyZi5mYTQMAAAAejJ2YjNqbWEu
+ djUzDAAAAHBzNHZqdHhwLnNjNAwAAAAzMHlyMW1kZS5lZGMMAAAAeGlhZ2UzazQuZTRlDAAAADRo
+ NG93YWFiLmh5cAwAAABiejR0M2xkYy5ybnIMAAAANHFhZ2cwY3ouMG12DAAAAHB4aWxodWtxLm9j
+ cAwAAAB6c2hjMXAxeC5yY2wMAAAAMWphMXlzNW0uYXFnDAAAAHQ1ZGh0c2txLnVpdgwAAAB4cm5m
+ ZGJveS5mdmEMAAAAdnp6MDJwYWQuMHdrDAAAAHB2eHNpNXRwLnFzdAwAAAB5MnZhdG1iMS5vZTUM
+ AAAAYW1taWp6bjAuYXMxDAAAAGt3dnVlMG0yLm01cQwAAABiNDVyYzF2di5xZjQMAAAAdWJwMDBx
+ YWYuNDNzDAAAAHdybXpvaTFuLm1yZAwAAAB6NDBpY3hmMS54YTQMAAAAY241eXkxaDUuYWh0DAAA
+ AGRkbjNmaXF0LmR6YwwAAABvdXJ4ZTJrcS5mam4MAAAANXgzMXpwM2MuZ2pqDAAAAGdtMW5oZXBz
+ LmJzYgwAAABmbWZ4cnRsZS5jMXQMAAAAenZwYW1hc3kuemRwDAAAAHV0empqb2VmLnBscgwAAAB2
+ Z3l3bmt2Zi5hNHMMAAAAY2lueG0zYXouYXkyDAAAAGp6YnF5czBtLmdzZwwAAAAxeGltM2lwdS4x
+ YmsMAAAAYTRzZDU0aW0ueWIzDAAAAGV6YXQwZ2dsLnVqMgwAAAB2cWxmM25sMy5ieGUMAAAAYXFj
+ NXUzeHouNW5pDAAAAGlxYWYweHZuLmQ1bwwAAAB3YzJyM3pmdi5zY3AMAAAAbHJxbHp1bmIuMW90
+ DAAAADFvY2FnM2Y1LnBxbQwAAAB6YmIxaDJ5Yy5kZGoMAAAAbWFreDB4c2oud2NpDAAAADNyZ3Rm
+ amdsLmg0cAwAAAB1M2hyMGFnNC5ndHQMAAAAcjRqZmlxdTIuZmJpDAAAAGllaXoyNTBqLmswdgwA
+ AAB1cjR4YjFtcC56dmUMAAAAMjVuZ3FqeWgueWp2DAAAAGQwZDRyYnJmLjVnagwAAAAxb2ZjaGZk
+ NC53NGwMAAAAa25sYXRpYWcueTV2DAAAAGtyb3dza2xkLm5sYgwAAABlZWl1Mnhnbi5ldWQMAAAA
+ bGVyeWt1dWUuYnl4DAAAAG9ueDEwa2dnLnVnawwAAAB3Z2NlYjIwYS5jcm4MAAAAb3NycHMyczQu
+ cG95DAAAAHkyc2FtZTR4LmZxcwwAAABkc2kydGRsMi5rdHUMAAAAc3FyMHAyNGcuMTJrDAAAAG1z
+ cmt0ejNoLnJuaAwAAAB1YjR1dmNpbC5ocjAMAAAANTFxb2tiNGEuc29vDAAAAHVxcDR2dWhsLnZl
+ eAwAAAB4aHExcTVrbC5ydDEMAAAAZ3h3aDNzdnQubjFvDAAAAGYza20ycXNwLmdtdgwAAAAxaHJj
+ cHI1ZC5hc24MAAAAMXp5MzB6M2EubXpsDAAAAGhvc2R5b2ozLnJnNAwAAAA1anRoam14ZC5kZXYM
+ AAAAdmhreTVrMGkuYm9pDAAAAG5tcGVsdjEzLjIxNQwAAAA0ZXp5czFmZy5mcnQMAAAAYWNlYmtl
+ MTUuMzJlDAAAAHdtbXBobjNwLjNidQwAAABidHNmZXJpcS5naXIMAAAAeWQwbzJ1emsubHpwDAAA
+ AGwzbmdsYXQyLjIzeAwAAAByNGdob3hxYi5veHgMAAAAdnp2dG9vMXEucXJzDAAAADRoa3djbmRn
+ LmVvYwwAAAB6MDFjMm55ei55ZHoMAAAAem1vcjExeDQucTAyDAAAAGI1eHZ0YjMzLjFxbAwAAABx
+ cjNjbXluNS5vcGUMAAAAbTVjdmJoMnouYjF2DAAAAGJrMWZybG4zLmp4cQwAAAB5c3pleWdkbS5z
+ ZjIMAAAAbWJ3Z2xiNTQuZWRiDAAAAHFjMWJseTNuLjMxZQwAAABhamMwaWtycy56dXYMAAAAc2Vj
+ Ym5yankuMXdpDAAAADUydWFsaGFwLml5MwwAAAA0b2pzcXlyay4wcmwMAAAAeWxrNG9udncuc2Jw
+ DAAAAGNjNTJhdmh1LnAxZQwAAABvdmF1ZmVoZi50bHIMAAAAdzJmbGZtYWYuc2RsDAAAAHZhY2tv
+ aWN0LnZ3YgwAAAB5dHRhaHdieS4waGUMAAAAcHpiY3I1ZGkud3U1DAAAAGluajBueGpiLmkxdAwA
+ AABleGZoeWIzby4ya3oMAAAANTFuY295dDQubGxjDAAAAHFkamUzbmZiLjFyMAwAAABkeHl5NTRt
+ ei4wcDAMAAAAZm9iZXcwbHgubnViDAAAAHB2ZDJjamdhLmhnYQwAAAAwcHNhMWJmNC5qejAMAAAA
+ aXVsM2d6eGouem9tDAAAAHY0MG5rZXByLmlycgwAAAB0MWIxcmQwZi56YmoMAAAAemJ2NWJncTAu
+ MjB2DAAAAGhkb3UwbTBpLnlvdwwAAAAzZTFzaDQxay5pbWwMAAAAZW12b3pjeG4ubGtsDAAAAGwy
+ cHp1MXBrLnBnbAwAAABjMWhvcXJtZi5na3EMAAAAeG1ma3R4M3Iua3g0DAAAAHB5NXR2eWFtLmRs
+ egwAAABkZ2l1ZXlmbS5taXMMAAAAZG5wZzN0ZGMueGhjDAAAAHV6d256Y3FhLm94egwAAAB0YXox
+ dm5kci5uNHAMAAAAdGFwdnB0aHIueXdzDAAAAGRwMXk1anZ0Lmc1dQwAAAA0M2V1dnFkZC51emkM
+ AAAAMDIwbG0xMGgud3dlDAAAAGNkM2dtbWVpLmwxZgwAAAB4ZW1tM2VkcS54enQMAAAANHV3M3d4
+ dHUubnAxDAAAADNjbGtrdmQyLnJsbgwAAAB1NHRpajN4ZS5vY20MAAAANWdicTFxaHouM3dyDAAA
+ AGpvZXJnd3cyLm5mMgwAAAB2MnVqbXd0bi5pZngMAAAAc3lkb3hrZncuZ253DAAAAGJ1dzE0bGQ1
+ LmdmcwwAAAB3M2FrbGVxdS52Z2kMAAAAY2NwaDF3ZDIueGR5DAAAADBnMG9vcW4zLnZwaQwAAABj
+ cmFmMGYwbC5icWQMAAAAcHBlZnVobjAuM2hmDAAAAGljemt4NHozLmhjaAwAAABncTRhY25laC5p
+ YW8MAAAAbWQ1cXRwbXcub3ptDAAAAG5jY3ZtZTMwLndvagwAAABpbWVyYW5yaC54aTUMAAAAb2J4
+ ZXZsdXIuZjBlDAAAADVoZ3p1c3ZrLmVlYgwAAABzazA0Y215bC5keXoMAAAANHh1cXZ2M3ouaWMx
+ DAAAAHZveHV1b2ZxLm1jcQwAAAB0djUzc21idy5hbTAMAAAAcHU0azJ2aXYuMHJyDAAAAGtubHNv
+ aW1uLnZsdgwAAABlMGQ0NGo0ei53NG4MAAAAcDBoaWZ3dDEudjVtDAAAAHJoY2F6c3FzLmx2aAwA
+ AABheWFtY2RicS5zMHkMAAAAYnh1Z3FsbDEubTFlDAAAADB4Y3V4b2ZtLm94dgwAAAB2cXZ2bXdj
+ cS5sMzEMAAAAaG5mbzRwd2IucjBiDAAAAHV1eDNmaHBzLmw1MQwAAABpNWpoeWJncy5tdGkMAAAA
+ b3pmNXIza2Eudnh2DAAAAGR6dDR4bmNwLmJldQwAAABqNGpnNDRlYS5jM3IMAAAAYmlvajVxYXgu
+ NGNlDAAAAHVtdDAwcXZyLjJmbwwAAABhZXprenJwby5mZ3cMAAAAZG40ZmJxNHcuajF4DAAAAGRk
+ eXp2bnFkLmNtcgwAAABhbXIyZWx1Mi5yaGcMAAAAZmY0cTJiemkuc20xDAAAADU0aXZ2ancwLnFi
+ ZQwAAAAwMWVid2p0bi53eXkMAAAAaGJ1bWRqZGkuYmZ5DAAAAGxsdmNlMTBhLnF0ZQwAAAAxeXF6
+ MXN1Yi4wb2YMAAAAa3RsbXh4ZTUucHJjDAAAAGM0NGMzemd4Lmd4dAwAAABwd3h2MnJibC4zY3gM
+ AAAAMjFuNWl1bm4ubzFiDAAAAHNpM2JnYmUxLm5hdAwAAAB3cXRieWkzeS5td2IMAAAAcDBrd2Nk
+ cGkucHphDAAAAG53dnRjcWIwLmMwYwwAAAA1eTRmbnIzZi5wZHgMAAAAeWlxdHdlenkuZjExDAAA
+ AHJwbnZuenpyLm40cgwAAABua3ExdXExZi53MmsMAAAAZ3cxbHBjbmYueTN2DAAAADBwbHVhbDJ1
+ LmpkMgwAAAB1a2RsMzAwZC5zb3AMAAAAd2NubG92aHcuMWxiDAAAAGNwZXVjcjN6LnZ6egwAAABi
+ c2tqemJnYy41ajQMAAAANDNkeml5ZHYubXZpDAAAAHd5anJ5d3FrLmtycgwAAABieTF0NHVucC54
+ YmsMAAAAaWloZWVmbWYudnFtDAAAADJrdWZ6eWtxLmE1MgwAAABkaG01eDFkMi50dmQMAAAAbmc0
+ NGVoNDMuZzV4DAAAAGp6cGZtM21qLnJreAwAAABwcXR1bHdwMS5iYXUMAAAAYmlwaWlvemcucjBp
+ DAAAAGxyYzJnNHNrLnJudwwAAAA0NWhnZHhxZS5scHEMAAAAd3B4emZoZWQubDUxDAAAAHg0MTJu
+ and6LmJ4eQwAAABwdGZieWxjYy5tYnEMAAAAeXA0eHNuZ3guZXlvDAAAAG16NTJ5cXAwLnBkZQwA
+ AAByajJyZGhhei5za3QMAAAAY3pobjJzZ3Iub2J6DAAAAHFveGVweWE0LnR4MgwAAAB6bDRoZXBu
+ by55eTIMAAAAYWh1cHFwMHoud2NlDAAAAHltMzBuajF3LnAydAwAAAAzcDBubzNvYy5xNG4MAAAA
+ MGZncXVya3MuY2RhDAAAAHh3MGFxY3VyLnEycAwAAAB6a2ZzZnRveC4xYWUMAAAAbHZoZ3gyZ2wu
+ Z2wzDAAAAHlmcnRtamViLnhzcwwAAABoYTBqb25jeS5hNWoMAAAAc3VqNXl1NG0uMmV0DAAAAHZq
+ b3NnMDI0LmswdwwAAABxcGx0cXd1cS5vbWYMAAAANGZhcjBnd3ouemJsDAAAAGNibGVrY2Z6Lmxk
+ bQwAAABlMHF1dm5qYi5rbGYMAAAAZnp3NW12cjQuNHNqDAAAADJpbGN0MzVtLnpucQwAAABxb2Fr
+ Znk0dy4xeWMMAAAAZ3N2bDA1bnIuZGVvDAAAADRud2kzb3l2LnVybgwAAABheDMyZ2N1by5sanEM
+ AAAANG5xMnBvY2YuM2RwDAAAAHlncHNodmJ0LjNmcAwAAABrZjEwZTVqdy5iYjIMAAAAMHoxbTFj
+ NGoud3l0DAAAAG9waWt3aWpoLnM0egwAAABkZmhydTQway52eXEMAAAAem1zemMxcWIuZG51DAAA
+ AGF5NW5rMTN4LnJmdwwAAABlbDFjajBtaC5kZGYMAAAAbmNrdGh4bDIua2ZoDAAAAGtuZnoxMTVl
+ LmU1awwAAABoZGt3NWdnai5hZm0MAAAAczN4c2FtbHcuZG55DAAAAHUwZDFxbWRlLm9ubgwAAAAy
+ MnlodDV0cy40eHEMAAAAbXptMGl2ZXkudTEzDAAAAGExNG8yd3p2LmowbAwAAABwZzBuMzI0ZC5m
+ ejIMAAAAdGkxM2M1MW8uNXpsDAAAAHphYnYxaTVjLmJiegwAAAB0ZWh3cHJldi55bjIMAAAAenps
+ Z3l4YTUuNHlhDAAAADVjNTI1MGNmLmZzeQwAAAB6dGFzcms1dC5peWoMAAAAdDBuNW5uZXAudnNh
+ DAAAAG55dmVvc3gwLndvcAwAAABsZ3hjZHRoMC5hbWEMAAAAdGIwb3FwM2wuZXZ3DAAAAGRlY2J1
+ azEzLmxwZQwAAABzZnFjNXJ3eS5uZGYMAAAAMnQ1M2p5NWEua2lqDAAAAG12Z2hqdW8xLmdpagwA
+ AAB4MWZodmlrby5wcnoMAAAAczM1eWVmZ3AuYXVqDAAAAG1vZ2FhYm15Lm9sbQwAAABzZGo0M2g1
+ bS5iZXEMAAAAdHZyaDRuM2wua3hxDAAAAGNka3oycnd0LnUxcAwAAAB4enkwaHZvci5nMHEMAAAA
+ bWpscWlrc2wuYml1DAAAAHgzcWZxNTFxLnh3ZQwAAAAwemZwYWVlYy5rNTIMAAAAY2wzM2xwZWou
+ dGc1DAAAADUxcTRxa2duLmw1dAwAAABiNHZucjNqby41d3gMAAAAMXVmb2YxZ3UuYjJoDAAAAG1r
+ bTJ0a2h0LnhheQwAAAA0bWJxbjVyNC52MGsMAAAAcXZxb2NjeXkuZnlnDAAAADRqbHgwamkxLndq
+ cAwAAABmenlyNXlmbS5wZG8MAAAAbTVyeXI0ZG4ubGZoDAAAAGxsMXFidHF4LnRidwwAAABtbDQ0
+ em90NC5yaG0MAAAAbjNqcDV2Zm8ubjV1DAAAAHh4eW91cm8wLnA0cAwAAABkY2s1MXRwdi5jcWwM
+ AAAAcmRvMmxxYnEueXFsDAAAAGx2cnEzb2ZjLml2dwwAAABmaHY0MDJyaS55ZWIMAAAAM2h2ZXYx
+ bWsucXdkDAAAAGp2bnRvZWY1LnJueQwAAABieXVzeW1kdS5wc2gMAAAAb2lib2x2cHAucGplDAAA
+ AGZ5NGFnMGgzLmR6ZAwAAABxZmlleHpsZy5mMngMAAAAd3V3Yno1anYucHZ6DAAAAG9qNHJoNXN4
+ LmgwawwAAAA0Mm52c2k1dS4yZG8MAAAAMnZ4dTVsZGMua295DAAAAHdsbGxxdXptLmR4NQwAAAB3
+ M3ZweGxyYy4yM3kMAAAAaGFpY2gza2YucmVnDAAAAHdvZGQ0b2V2LndpYgwAAAByMGFvc3FvaS5o
+ cmwMAAAAc3k0YnhsdnIuYm14DAAAAHJuMXU1MXd1LmhsZQwAAABqazVudm90ei5iM2QMAAAAb3Bv
+ Y3V3ZHUubjVwDAAAAGt2MHB2dWl3LnZidQwAAABoMjQwNXptZC5kNG0MAAAAdXl0aXZzZW8udjR3
+ DAAAAHdiZ29md3phLmZxZAwAAABzcWRpcHl1dS5qcXYMAAAANG8wYmp2YWcuNTM1DAAAAGdhNHBk
+ c3BhLjUzYgwAAABiaXBiaTVjdi5ham4MAAAAeHhyaWEwaGMudHZmDAAAAHp2ZXVvZWN6LjRrZgwA
+ AAB5eWFseW50Mi50bWEMAAAAZDIxbG41NTEubjBxDAAAAGp3Z29mbGYzLnlwMAwAAAA0bWpwc3di
+ Yy5udGcMAAAAMnMya3Bjc2MucW16DAAAAGY0cjJmdnJ5Lnp1awwAAAA0eWhtcTVheS5uczEMAAAA
+ d3hmMjVlZHAuaDBzDAAAAGUyd3htMXF3Lm96egwAAAAyc2M0NXB3aS4xZXcMAAAAanEzbWp6NXcu
+ YTRsDAAAADJncGFua2d4LnlxegwAAABreHNtZWNycS5oeGkMAAAAMnhlMmlzM28uMXUyDAAAADRp
+ d3Brb3MzLnp4ZgwAAAAwbmI1Z2Nwbi5paWMMAAAAcm5tbDUwMDEuMWN5DAAAAGplcWZoZjBuLnlt
+ egwAAABzem9yc2tlcS54cjQMAAAAbjRiMjB4MmUud2ZvDAAAAG11ZHlyYXUyLmtnMgwAAABoMTRh
+ ZG51ci5uc2cMAAAAZDJnNWdkMjAucjR1DAAAADRneGNodXMxLjFvdAwAAABva2t0dnFmdC56cmsM
+ AAAAbDBtbXp2bTMuZGd5DAAAAGFtY3hma2J6LnZobAwAAABzMjNrYjNqYS5zbGcMAAAAZ3h4b20z
+ a3MueG5oDAAAAHV6bHdlbGo0LjRyagwAAAAycHRjMDJzay5jbGYMAAAANGtiZmMxemQuYXcxDAAA
+ ADBha2Roam5rLmF3bAwAAABsbHNiM3Z3eS5lM3gMAAAAYmp3eHp5YzQueHNwDAAAAGdpM3lsdnJo
+ LnRxcQwAAAAyc2l2YW5iaS5kaHEMAAAAajIxZ2M0ZTMuM2NsDAAAAGJnMjRpZHh6Lm4yZQwAAAB2
+ b3pnZXJmai5yd3YMAAAAY2pyMXcxdGouazRkDAAAAGdoam5seGVjLjFuegwAAAB2dnllcGFjNC5q
+ NGIMAAAAYWF1dHN2YnYucWRuDAAAAHF3ZTAwYzJiLjExcQwAAABjYXh2d3AzZy55bjIMAAAAbXJp
+ YzF1YWQuMHJsDAAAAGp0YjVzZXF1LmF4MgwAAABzY3pyZ2xlaS5oZnUMAAAAamdseDB3aHcuZW1l
+ DAAAAGR4cG4xa210LmtkbgwAAABteHplZG1qaS5qcnIMAAAAa3FiajRjNWouYXp3DAAAADR0MnJh
+ ejFvLnlqaQwAAAB1a2Z3aTNlYy5nemQMAAAAemVjbmx6b2QubDM1DAAAAGVia2JhZDFyLnlocQwA
+ AAB5am1xaXlycC5ld2sMAAAAZ3ozaWVnNHAuaWQwDAAAADBlbmFvZXQ1LnVvagwAAAB2cGUzZTJw
+ aS5qZHAMAAAANXVsdGpweWQuc3RvDAAAAHQybmtiNHJlLmkwZwwAAAAxaHI0M2R0di4wc3EMAAAA
+ MXdhZ2pyencueXRxDAAAAHltY3VieWdrLnduZwwAAABibG1tMmdtei52Y2gMAAAAbXM0cm1lZjEu
+ aGxlDAAAAHN1eG9vanFmLmxudQwAAABnamFpb2JiMC55cmkMAAAAa3lkbWU1c28ueHRiDAAAAHEy
+ dTN1cmh5Lm5zeQwAAAAxeTJmbHp1dC53M2IMAAAAZnJwbHlwc24ubWFpDAAAADJsbm1hdzRwLnJn
+ egwAAABzeXRkd2J2aS5jd3oMAAAAeWc1ZTJmemYuZjFoDAAAAGZpYjVnaGZrLndlMAwAAABjMmJ1
+ MTF6eC5jY2UMAAAAYnc1aW1pYjUuMDJ3DAAAAHRhZTBmb2x5LmxlcAwAAABnamExM254eS41aGUM
+ AAAAengzbWt0bzQuNXV5DAAAAGVrend6bTMyLnNicwwAAABnZzB6MXh2Yi5mNG0MAAAAczIwNDVk
+ aDQudGJqDAAAADUwcmdoYmhiLnBzZgwAAAB5ajAxcHAzdS4za2oMAAAAcjFzaHdtYm8uYm9rDAAA
+ ADQxYWQxdWFlLmRhdQwAAABkZmJ2MDJ1ei4xZTUMAAAAenQyMGs1ZGwubzFqDAAAAGV3Y2Npemp6
+ LnZ6YgwAAABzZDF5cTU1Yy41M2cMAAAAaDBpaGZmd2MuY3BvDAAAAHV1NDBraDBkLjR5ZwwAAABk
+ am4yZXczMC5lbmIMAAAAc3UwemdtaG0uaHkzDAAAADRhaXRtd2psLnpyYgwAAABzYng1Zmlwbi40
+ cHQMAAAAY2NjeGlicG0ud2JiDAAAADBieHVxeDJuLmEzMAwAAAB4ZWxqcGx5dC55dWUMAAAAcXQ0
+ bTJnYXoueXlmDAAAADN4aWJpY3R4LmJ1ZAwAAABnb3BhMWY0cC5icnAMAAAAcG9oc2pmMDIuaGUy
+ DAAAAGFmYm1peXU0Lnl6bwwAAAAwbXJsZWdreC5wa2gMAAAAeW5sempseGwubmR2DAAAAGZ0eWNt
+ MTJrLmJkdAwAAABzMWVpa3hvdy5qZTIMAAAAaG9sYjNjZmkuYW9iDAAAAHp4dDNhc3IxLm40agwA
+ AAB0ZnMxZmxrMy51ZGwMAAAAZTJ6ZWZkYzQuNHRvDAAAAHFhdXI1cTFvLmthdQwAAABoNHRjMjVx
+ Mi5yNWoMAAAAajBibmhleG8uYWp0DAAAAHF0cm1rNXV0LjRpMwwAAABrZ2NuZnI0eC5oaGkMAAAA
+ MHRweTNjdnQuaDNiDAAAAHlrMHBicGkzLmxycgwAAABkand1ZGkyaS5rdW8MAAAAaDRxamo1aWQu
+ NGZtDAAAAGxyNDB0amIwLm8ycwwAAAB5emxjdTB5bi5pd2UMAAAAMHZlcDViZDUuZ2ZrDAAAAHht
+ enhibnJnLmY1egwAAAB6bnFxbWp3dy52aHMMAAAAYmhycmx4YnUucHkwDAAAAGJvcHplMTNvLmxh
+ agwAAABzNGJ4ejBndy51bTMMAAAAMmgyb3J6ZHAudnUzDAAAAGpkZGs1bWZ1Lm9hawwAAABhdHEx
+ anlseC55cXkMAAAAMGV5Y3hmd2wuaWY1DAAAADBnMmpqbXZnLnUyaQwAAABlMGJtdXJ5bi5sZnMM
+ AAAAaWRmazE0aTUueG5tDAAAAGVzMndic3RzLmxmdgwAAABycXVyb3V1aS54eGEMAAAAdGNxMXJj
+ ejIucXhtDAAAAGRoeXRzdXhlLjU1egwAAAByMGNzeWxodC5samYMAAAAandndzNmM2MuaWZiDAAA
+ AHptcGVvbHkzLjR0MwwAAAB6aXdtNHRtbS5yd2oMAAAAeXhrdnhneTEud3RhDAAAAHM0emF4cWE1
+ LnpvcwwAAAB4cW5icmkwdC5tbnEMAAAAMmV2M2MzZ3AuZHpmDAAAAHBxNXZiem9wLmh3agwAAABj
+ M3Qzd3IzMy5qY3gMAAAANXhqa2YxenMudTF2DAAAAGtkbXVvYzNrLmhodAwAAABhZ2RkY3V2bC5l
+ bnoMAAAAMnZseXYyYzUucWp1DAAAADV2c29rY2I0LnBocgwAAABiZmZnNWZmby40dGQMAAAAa2th
+ Y25xdHkuMnptDAAAAHcxdGs0cjUxLjBkNAwAAABudG5sbmJ4bi51c2sMAAAAcHQya3pobGsucTRw
+ DAAAAHd1cmcyb2IzLjVjMwwAAAA1cXA0MmdvaS50cGMMAAAAdGQ1dnBla3EuM2p0DAAAAHdwd20z
+ Y24xLmNqegwAAABtYWZhdnRkYi56cXUMAAAAcWZuams0a28ucXpkDAAAAGRja2wxdTN3LmtwYQwA
+ AAAxc3Jha291MS5rMG8MAAAAYWRrazQwdXYuaXhkDAAAAG5uMXE0MGxvLnYzYgwAAABpY2JnbWF3
+ by5hdnEMAAAAYTRkMWZleTIuNXNvDAAAAGcxejVzMWJ4LndwYQwAAAAwZWt1djU1Mi5mczAMAAAA
+ aWcxNTFwZngua29tDAAAAHZ6cGJocDBnLnBxZAwAAABmMDV3dmUzby5xZDQMAAAAMWV6dWt0cXIu
+ dmZvDAAAAHpxbXB1aTRtLjNqMwwAAABjNXFkaXBpMy55cGsMAAAAbnhvZXhvbG4udHFtDAAAAG8w
+ azQxcTFtLmwydgwAAAA1Ymp5dzRibi4xNDIMAAAAZjNkZGRwaXIuM3Z5DAAAAGpnbzR6YWhsLnZp
+ NAwAAAA0ZGMzcnNteC4zMHEMAAAAZGNxMGozNGEuY2dqDAAAAHBhNWRsa3NzLmNxcAwAAABobGhh
+ ZXFsMy5zMG4MAAAAZHlweWJ0cWQuMTBpDAAAAG50NDBmZ3JqLmRqeQwAAAAzZ3V1emJubC4yMnIM
+ AAAAd2Qyc29zcHcuMWVpDAAAADRnNWxhc2liLmVyMQwAAAB6aGtlYmxkcC5xbW0MAAAANHl3cGRx
+ MWguZHpuDAAAAGpjMmJ4aHRuLmw1cgwAAAB6djJqZG93cS5reW4MAAAAM2N0cXZncnkuMTFvDAAA
+ ADMyMjV2cXpoLms0YwwAAABrb2gxMGMxMC5mbWEMAAAAemlieGR1ZXcuNXJjDAAAAHZ6cTFtYmFy
+ LjEyZgwAAAB5cnBucDJnZy5pNGsMAAAAY3N0MGl4cXUudmNnDAAAAG5veXkzY3p6LmwybwwAAABv
+ dmdvaWs1cS54c3MMAAAAaW5xcHhxMHoueWdpDAAAAGJ0ZGtnazBrLnZxcQwAAABjazFzbXlnei5x
+ b3UMAAAAeXBicndkd3YubWFiDAAAAGlmYml0ejJ1LmpvMAwAAAB5YXcwMjUxMi5xY2UMAAAAYWZ1
+ cTNzb3IubGRiDAAAAHFyeXJhMWFsLjJwdQwAAAAzZ3cwdGtrdy5sNWEMAAAAdXF2eGJ6NGMuenhm
+ DAAAAGZ4cTVmZHplLnJ1bwwAAAB6aTRvZGpvNS52Z2IMAAAAaXJpdmN5c20ubjVpDAAAAG15NHlw
+ cmVoLnVueAwAAAB5c2ZocWpqdS4xa2UMAAAAMmQwazA0MHkuM2kwDAAAAHk1NWhud29kLnp4dQwA
+ AABsNXV2YTNoaC5oNHAMAAAAcDVoYXZ2bmMubHo1DAAAAHhraHpzdmZsLjB4dwwAAAA1dDN3cjFh
+ aC5hdW4MAAAAaHdwMDRjZnUubWFjDAAAAHJvNHkwMXc1LmowawwAAABrdXozYmN0ai40dG0MAAAA
+ cnR3c2prd3MubzF3DAAAADNjeXN0cGtuLnZ2YwwAAAAyZWR5M2hrcS56cmsMAAAAczN1emNqeTUu
+ eGF0DAAAADM1ZmNndWpwLjNsdAwAAAAybmEzbXpmei5mY3oMAAAANXllcWphYXouMjBvDAAAADBn
+ a29pNHZwLmI1dwwAAAAyZHliZWN2NC5iYWUMAAAAaWQxbno1YTUua3d5DAAAAGZzc3ExM3FvLm9y
+ ZgwAAAAxeGJxMjBudi5oM2YMAAAAazRsZ3F4aTAuZjN4DAAAAGgxYTR3MWZoLmRmbQwAAABqYTB0
+ eDFiay53MDAMAAAAbDVmZnhkYnkuMHVhDAAAADJzZTRhZ3B4Lmc1bAwAAABnbmdzY2l3MS53MGsM
+ AAAAMWZ0bXhrYzMubGF0DAAAAHNzbWF0b3JiLmJtbAwAAABseHlkajNidS4wYm0MAAAAaGwwaWkx
+ c2suMHAzDAAAAGJhbnJ4MWwxLmJ2bgwAAABwcnppcGd0eS51MXQMAAAANWFhNWwwcG8ucmUzDAAA
+ AHQzM2VjeHI0LmJpaQwAAABpbHh6MTRoMC5ycXAMAAAAdWFxMmx1MGsuemF2DAAAAGl6eTM1ZGZi
+ LnluZgwAAABvMjJjYmV2bS5jbGIMAAAAcGxsNGhjaXYuZHNnDAAAAHRidWl3c3RuLjJneAwAAABn
+ M3dnMmJ0aS4yd2MMAAAAMWNvNWY1MXIuMjRnDAAAAHNnZG56cXhkLjBqbgwAAAByenh6MTMzei55
+ bW4MAAAAMm95ZWVpajEuMXVsDAAAAHVmYnZ2MTRjLjBhNQwAAABhYWJnY2VtaC5iZm4MAAAAMXd1
+ eGJhZncubHp6DAAAADFwdDEyZGxxLmxzdQwAAAAybjJ2d2U0bi51ajAMAAAAdTFnZ3YzdzAuaHkz
+ DAAAAGlua2kxbXB3LmhkMgwAAABrc3V5bWx6by5reHgMAAAAbWt4enR0cWMubXR5DAAAADNiNGI1
+ czR0Lnd2bwwAAAB5enVoaGdwNS5oZnQMAAAAbjNneWM0cTUuZzMwDAAAAGVndW9ldHg0LmNtMAwA
+ AABta2JobmJyZS51djUMAAAAeWt5eHYwbjQuc3NmDAAAAGw0bmhhYWFsLnFnbQwAAAB6b3hlMGVn
+ ZC50MXkMAAAAZnZhbXQycWouMWVlDAAAAG16Y2J2b2ljLnE0cwwAAABoMmtrZGdsbi5vemYMAAAA
+ YnpkbGhhMTEuczJyDAAAADVjMWZxb2RmLnBxcwwAAABkanRxcXN1aS55MnYMAAAAYXVpdG13NWEu
+ emZtDAAAAG9kdzEwZ3RsLmFxNAwAAAB4cHJkdDFwcS52NW0MAAAAbG1qcWtycXYuYjFuDAAAAHBh
+ Y21pcjJnLnBkNAwAAABvbGdoM2F3Zi5qanAMAAAAeXF6bG9uMHQucnMwDAAAAHh6eHNpeGdvLnVo
+ cAwAAAB0emt1bG5jaS5ndGcMAAAAd2tlamFwMHkuemZlDAAAAGwzYnQzb2UwLmxnbAwAAAB6YnVo
+ YmNlci40d2QMAAAAMnFwcDNub2QuZmNnDAAAAHZ4M3IydHZ2Lnl1MAwAAAB6NHVidnQxby5xYWkM
+ AAAAemNlc2JuZW4uM3ZyDAAAADV5Znh2ZHV1LmhtbwwAAABvbXdjajFoNS5zbnIMAAAAaTJuaG9r
+ ZGEuM21zDAAAAHc1aGxwYXg1Lms1ZQwAAAB2NHAzcHQ0Zy52Z2oMAAAAMzMwNXFtZGguZngzDAAA
+ AHNycjV2a2liLjN0NQwAAAB2cHJ0Z3N6ai4yYWkMAAAAY2dva3pqc2EuYWdwDAAAAGk0MGFzeDN4
+ LjAybQwAAABnMGgxZ3d5aC4yNDAMAAAAZWIwczBoaGYucjByDAAAAHlscnFua21nLndyZwwAAAA0
+ c3Ayd3J2My40bzIMAAAAcXE1Z2ZyZ2YuZTRkDAAAAHprMjF4aHRxLnM1bwwAAAA0aWh3NXEzcC5z
+ MDQMAAAAZmRxdmdmNG8udGxsDAAAAGYxdnlnbmQzLnF3MwwAAAB4bGN6cWV0Mi5maXoMAAAAamVp
+ NXl0NGEuNHVhDAAAAHJmNGtiZmdmLndxegwAAAB4bnNoYWJ0aS5oYnQMAAAAenhwcnN4cnkuaGJ6
+ DAAAADFnYWI1dW1kLnN5ZAwAAABvdm1uem01MS5sNXYMAAAAd3BlZGF0NWcub2thDAAAAGp4YjV3
+ aDU0LjVnZAwAAAAxYTIyZXBjcS4xMnoMAAAAM2VucDFsaHYueDVhDAAAAGRtd29ocGdpLnJuYgwA
+ AABqdmZ1MGRwMC4weXUMAAAAZmt6aHVwcjIudGx1DAAAAGN6Z2l3emV4LmRqYgwAAABxcGptM201
+ ei56dmIMAAAAMHd1d2VobW4ubW9hDAAAAHkxZ3FtajEzLnFkZAwAAABoc2pwYWlkdS40eWwMAAAA
+ aG52cHdyMWUuaTRrDAAAAHNtdG1yZHlmLnYwawwAAABrdXBlb3hqbi5mMzAMAAAAZW9ucGNubngu
+ YmIzDAAAAGRvdmh5MXd4LmhlYgwAAAAydHRuMXRjby5nZmgMAAAAMmhkbzQ0bjAucmRiDAAAAGVp
+ ZTF1dmJtLmxkZgwAAABqenBldXduay4wZjQMAAAAZDIxZjVjenYudWN4DAAAAHB5aWZmaTRxLnlx
+ NAwAAABtZXNsNXRldy40dmYMAAAAc3ZyMDFjcHEudWduDAAAAGpvemx1Mmp4LnJnZwwAAAB4cGho
+ ZWEycy5rbG0MAAAAbnJ3cTVtNWkuMmx5DAAAAGlqZ3Nnc3Q0LjBmbwwAAAA0dWdmbHVmei5xdGUM
+ AAAAeHkxZG4xMWkucDBsDAAAAGR0dHdvY2R1LjNuNAwAAABxYW9xMGdhaS5uMW0MAAAAbHNncnB3
+ bXcuemsxDAAAAGUxMHhwb2JxLmZnbwwAAAAzbGMydGo0aC5lemIMAAAAa3d3azBydjUuMm8xDAAA
+ AHAya3ZhZGNpLmpkYgwAAAB4cmR2bW5sbi52MXcMAAAAYXowYm51bG4ua3drDAAAAGNtaXF5NHZq
+ LmFlMwwAAAAxbmNmMmEwbC5sMXQMAAAAMzVhM2ZmcmIuZmFnDAAAAGh4bHJpZDIwLmNhbQwAAABh
+ czNwcHNmdS5xd2IMAAAAdjBpMXZ6ZXguZXduDAAAAHczcHNqZ21iLnYxZwwAAAB4angyNG9uZy56
+ bGYMAAAAM3RnbzFnZnAuYnIxDAAAAGkxaDJ1b2hqLmt3NQwAAAB4ZGp6YWIway53eXEMAAAAZGph
+ MnowMjEuNTJpDAAAAHBxdHpocmNkLm93cgwAAABobXZkaXdndy4wb2cMAAAAM2d5aGd0YzMuanBk
+ DAAAAHgxYWxnZGVuLnd0dgwAAABqYjBrcGhneC51MHgMAAAAa2kxMjRpdmQuMHhqDAAAAHkxYnpy
+ b3p1LmZqaQwAAABtM20xZGIzdi5ka2IMAAAAZDAzbHB2cWYuaHl3DAAAAHdvcmZyZnhuLjJ0agwA
+ AABjMnJxemk0bC5kdXIMAAAAMjNoMmtraHEuc2h6DAAAAGxjeXl3Y2ZrLmZjegwAAABleWQ0M2Ny
+ Yy41d2kMAAAAMmhycWdzM28uamkyDAAAADJ0eTR1a2tsLjVjcwwAAAB3aHJnbmQ1Yi5lYTAMAAAA
+ amcxa2J2Y2cuYXR2DAAAADFqcWFyemhiLmNyYgwAAAAwdWhkbWY0NS5meW4MAAAAamIzYW9tMm8u
+ MGhtDAAAAHR1cnppcTRvLmpibgwAAAB5c2d0dHN4aS5ucHcMAAAAcDN0eHVtcXIubWFzDAAAAHZq
+ emVlanEzLmsydwwAAABmcG01bmdrcy52eDAMAAAAbXBzMXRtcXguM3VvDAAAADVoajFsajJkLnp5
+ cAwAAABtMXhnb3oyay50Z3IMAAAAZHNpcXpvdGgucnFqDAAAAHFxb3B5d3R5LmhoaQwAAABjaXVs
+ YWtzdC5wdXEMAAAAeWdvNGJ1MmsuMnVnDAAAAGZtY2ticm5vLnIxYgwAAABobGhhaDRuby5wcncM
+ AAAAZGI1dm92cGoudXFzDAAAADM1MnpoM3h5LjJhYgwAAAAzY3poa3VvMC5penMMAAAAM2Yxanlj
+ ZzMuajB2DAAAAGtiZHIwdzR1LmdtdAwAAAB6eDNhNHZsYS51c2sMAAAAc2J1ZmZibjQubzRwDAAA
+ ADJjMGZ2c2UzLmt2eQwAAABwZWN4MzNjMS56MDQMAAAAa21zYjFrNDIuNXBqDAAAAGNwM3ZianZ0
+ LnU1egwAAAAwbDRkbWhxdC40eG4MAAAAYWwzM2piY2MuZ3hrDAAAADNxaXBqeHYxLnhhMAwAAABl
+ aTVjZ3BiMi5qdWEMAAAAZTVvdWNnd2subW1mDAAAAGVqZmpzMGhzLm1jbAwAAAAzaXhuZWt4bS54
+ d28MAAAAdGRybWdoenoudGNiDAAAAHU0dzFldjNnLnJ5ZAwAAAByY3Bta3p3ai5lcXcMAAAANWVr
+ bG41MHcuNXM0DAAAAHh4NWx6djBtLnV3bQwAAAAwMTFjcWFuNC55enMMAAAAa25iY3JwYmwuZmx6
+ DAAAADUzbXo1d2dvLnVsbQwAAAB6eTByMGxzci5zMjIMAAAAYWhudGJ4ajQuYmJtDAAAADQybDF3
+ MnlhLmJzawwAAAB6bzAxNW01aS50enQMAAAAYmF2YWZndTIucTNlDAAAAGdzaHljcXFmLjFpZAwA
+ AAA1YjAzNXN5ZC4ybGcMAAAAbHlpZnkwaG4uenh3DAAAAGV0YXBwbGdqLmczYQwAAABtNGp0dXFh
+ di52ZWwMAAAAcWRvb2t5eHYucnF3DAAAAG9qeGI0YWhsLnZjMAwAAAA0eWNqeXd6ai54aWQMAAAA
+ c3ZqdW1uNXguNW9rDAAAADJ4amZsMmZhLm9icgwAAABjd2Z0aHBqdC5hcXMMAAAAdGM1M2JxeHMu
+ eDRjDAAAAHl4amRnYnYwLm9saAwAAABpcW5tNWh0ZS4wd2IMAAAAbGcxeXprNHEuNWpkDAAAADUy
+ dG92MmJ6LjVkaAwAAABrYzNxMWtjMS5qeXkMAAAAZ3NoeHYzeTEuNXR6DAAAAGpydWtvMGNxLnJn
+ YwwAAABlamFydmxmaS41cDUMAAAAeXgwdGpzeWEudGlvDAAAAGd1MGJ5NGJvLm4weAwAAABrejVr
+ aDB6Yy53MGQMAAAAejNwZm5heHIuaWF6DAAAAHR5ZWI1YnFqLjN4NQwAAAByd3RzbmJuci56dGEM
+ AAAANXB0dDV5MzQuNWhiDAAAAGhwZmVwMHFyLmFrYwwAAABiaW5rMHlyYy5qd28MAAAAcG1lenBz
+ amwuamQzDAAAADAzbGVnZHRvLmx5eQwAAABiMzNkYWk0My5xZXgMAAAAZGxudHFnbzMubm5xDAAA
+ AGJnaGJoa2VlLnRpcwwAAAByazBxM3Btay5jNDAMAAAAdnFjYXIxMnUua3pwDAAAADVid2FvZmJu
+ LnVwZwwAAABiZzJremkwZS53cGkMAAAAZTU0enhjZnMubHR5DAAAAGVtMDVzMnBpLm90MQwAAABv
+ YjFwMzUxbi54bWwMAAAAMGh1a3R4d2wuamV0DAAAAGtiaDF6dWxpLnA0MgwAAAB6b2NrZWtiYy5r
+ azAMAAAAd2pwYTFjMnIudmpxDAAAAHVkbmFrMXlhLjJscQwAAABub3BsenF1Zy5mY3cMAAAAZWdh
+ ZGJpd2EuZnN0DAAAAGJ2cmdkM2tjLmZmYgwAAABybnhrY2xnMy5lcmEMAAAAZGhmeGtoMmwud2wx
+ DAAAAGFyZHBqbDNoLmJvYwwAAAB3a2gzdWZ4eC55cGoMAAAAeXF5YmJoc2IucHVpDAAAAHRtem41
+ cXlzLnpwcwwAAABhNGVjZ3ZiYi51cGsMAAAAem5wMmd6MmoubGwwDAAAAHJwMHJhcHhuLml6cwwA
+ AAA0dHp0ZWRtbC54ZXcMAAAAbXEwc2Zqem0uMGVyDAAAAGN5Mmx3b24xLnczdwwAAAAxbHV1cm5x
+ Yi5qcGUMAAAAc2g1dmdrM3AuaHRqDAAAAHRlMHduYm8yLmJwcgwAAABteTB1czE1NC51b24MAAAA
+ NWhmZ2NyanYuanJjDAAAAGlmbGxpMHl3LjNkegwAAAA1eWJkamdnaC5nZHEMAAAAY2dqaWFvejUu
+ bHlpDAAAAHJ6aXc1MnViLmM0ZQwAAAByNG1xMGlzZC4xbWMMAAAAeGJlcW5md2UuNG8xDAAAAHVw
+ dTF3aXN4LnhvaQwAAABoaGd4ZHk0cS5qYnYMAAAAcXYzYjBqb3AubWFhDAAAAGR3NGQxZ2hjLjRj
+ MQwAAAB0cHNrdnJyMS5iczAMAAAAb3h0Z2N1M2EuZ2gxDAAAADNvamFlaGJ4Lm9rdAwAAAA1dGF0
+ ZmZwby50ZjQMAAAAdHM1c2N5c2gudnZwDAAAAHZncGE0amJrLnRrMgwAAABoamN3c2RvMi5waHEM
+ AAAAenZjMTMwZ3UuYjBpDAAAAHI0MWdrb2pjLnV3ZwwAAABnaHUwazByai40c24MAAAAZnoxM294
+ NGgubWxqDAAAAHMyZ2JjNXBqLnF0NQwAAAAycHJmb3Joai5mYjEMAAAAdm1icm1ucWIubGIzDAAA
+ AG1paHd2NWxhLmFmZwwAAABkdGhuZTRubC5saWsMAAAAdHh0dmZpdHcubnN2DAAAAGtiZHR5bjBs
+ LjFhaAwAAABzYmhia3Zhcy5qMm8MAAAAMHJzcDRtZmouZXU1DAAAAHpxeXVzZTV3LmY1NQwAAABr
+ Z2dwZzVzZS5nYWgMAAAAbTRjaTV4ZXoubGxhDAAAADEycTFkenBxLmEwdAwAAABuY3lyMnFzcy41
+ YTAMAAAAc2Zka2VsbW0ub3RyDAAAADRiZWdsMmZtLnh4NQwAAABzdnBscXhoNS5lbHcMAAAAZ3hh
+ b2FhbzUuZjJ4DAAAAG40c3JkZmt6LjQ0dgwAAABicHR2Mm5qbS50amwMAAAAY2FoZTBidGouYTBz
+ DAAAAGFkMGQ1dHJoLm0xdgwAAAB6dWswMW9hMy51M3gMAAAAcXoxdm90c2kudXg1DAAAAGl2Yndu
+ MjAxLnIzNQwAAABveW5xaHd2YS5ldGIMAAAAdHAzaG56b3AuZjVlDAAAAGpxcjJwbHhqLmVldAwA
+ AABnY2FvZG1iYS56M3MMAAAAandxejBkaGEueGF1DAAAAGt2MG5oMmZuLnZpYgwAAAAxNGMzanEw
+ dS5peW0MAAAAM212NGw0NTEuaGFsDAAAAGVxbXpoMXgwLjJuawwAAABzbGZub2xndy5jMHgMAAAA
+ dTNmZjVkdmIuZHozDAAAADVwNWZlMm9pLnN6cwwAAAAybmF5ajFwdS5pZG8MAAAAZDAycmZiM24u
+ djBhDAAAAGx3eW40d29jLmQyZwwAAAAycjR6bHRubS5qMWoMAAAAMWlyYnltMnQudXdpDAAAADBh
+ eHpqbTRwLjJycQwAAABibXR1eTBsaS4yZ2UVAhlMSBVwYXJxdWV0LWRvdG5ldC1zY2hlbWEVBgAV
+ DCUCGAJpZCUAABUMJQIYB3N0cmluZzElAAAVDCUCGAdzdHJpbmcyJQAAFqAfGSwZPCYIHBUMGTUG
+ CAAZGAJpZBUAFtAPFrhsFrhsJgg8GAM5OTkYATAWABbQDxgDOTk5GAEwAAAAJsBsHBUMGTUGCAAZ
+ GAdzdHJpbmcxFQAW0A8WuPsBFrj7ASbAbDwYDHp6cTBrZnk0LnZibhgMMDF3d3llNGcucGZzFgAW
+ 0A8YDHp6cTBrZnk0LnZibhgMMDF3d3llNGcucGZzAAAAJvjnAhwVDBk1BggAGRgHc3RyaW5nMhUA
+ FtAPFrj7ARa4+wEm+OcCPBgMenpxMGtmeTQudmJuGAwwMXd3eWU0Zy5wZnMWABbQDxgMenpxMGtm
+ eTQudmJuGAwwMXd3eWU0Zy5wZnMAAAAWqOMEFtAPABk8JrDjBBwVDBk1BggAGRgCaWQVABbQDxb0
+ fRb0fSaw4wQ8GAQxOTk5GAQxMDAwFgAW0A8YBDE5OTkYBDEwMDAAAAAmpOEFHBUMGTUGCAAZGAdz
+ dHJpbmcxFQAW0A8WuPsBFrj7ASak4QU8GAx6emxneXhhNS40eWEYDDAxMWNxYW40Lnl6cxYAFtAP
+ GAx6emxneXhhNS40eWEYDDAxMWNxYW40Lnl6cwAAACbc3AccFQwZNQYIABkYB3N0cmluZzIVABbQ
+ Dxa4+wEWuPsBJtzcBzwYDHp6bGd5eGE1LjR5YRgMMDExY3FhbjQueXpzFgAW0A8YDHp6bGd5eGE1
+ LjR5YRgMMDExY3FhbjQueXpzAAAAFuT0BBbQDwAoTFBhcnF1ZXQuTmV0IHZlcnNpb24gMy41LjMg
+ KGJ1aWxkICcwNTc0NTFiMzc2ZmE3ZDM1ODFmMmQxODAxZmIwOTY1YWZiZWFhMGMyJykAxQIAAFBB
+ UjE=
+ headers:
+ Accept:
+ - application/xml
+ Accept-Encoding:
+ - gzip, deflate
+ Connection:
+ - keep-alive
+ Content-Length:
+ - '80087'
+ Content-Type:
+ - application/octet-stream
+ User-Agent:
+ - azsdk-python-storage-blob/12.8.0 Python/3.8.5 (Windows-10-10.0.19041-SP0)
+ x-ms-blob-type:
+ - BlockBlob
+ x-ms-date:
+ - Fri, 09 Apr 2021 04:03:15 GMT
+ x-ms-encryption-algorithm:
+ - AES256
+ x-ms-version:
+ - '2020-08-04'
+ method: PUT
+ uri: https://storagename.blob.core.windows.net/utqqcontainerb38317df/csvfileb38317df
+ response:
+ body:
+ string: ''
+ headers:
+ content-md5:
+ - z1EKaBGYeFFPXcMBK90K+w==
+ date:
+ - Fri, 09 Apr 2021 04:03:14 GMT
+ etag:
+ - '"0x8D8FB0C66E66383"'
+ last-modified:
+ - Fri, 09 Apr 2021 04:03:15 GMT
+ server:
+ - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0
+ transfer-encoding:
+ - chunked
+ x-ms-content-crc64:
+ - f7IDcRFZujI=
+ x-ms-request-server-encrypted:
+ - 'true'
+ x-ms-version:
+ - '2020-08-04'
+ status:
+ code: 201
+ message: Created
+- request:
+ body: '
+
+ SQLselect * from blobstorage
+ where id < 1;parquet
+ '
+ headers:
+ Accept:
+ - application/xml
+ Accept-Encoding:
+ - gzip, deflate
+ Connection:
+ - keep-alive
+ Content-Length:
+ - '293'
+ Content-Type:
+ - application/xml
+ User-Agent:
+ - azsdk-python-storage-blob/12.8.0 Python/3.8.5 (Windows-10-10.0.19041-SP0)
+ x-ms-date:
+ - Fri, 09 Apr 2021 04:03:15 GMT
+ x-ms-encryption-algorithm:
+ - AES256
+ x-ms-version:
+ - '2020-08-04'
+ method: POST
+ uri: https://storagename.blob.core.windows.net/utqqcontainerb38317df/csvfileb38317df?comp=query
+ response:
+ body:
+ string: !!binary |
+ T2JqAQIWYXZyby5zY2hlbWHOHlsKICB7CiAgICAidHlwZSI6ICJyZWNvcmQiLAogICAgIm5hbWUi
+ OiAiY29tLm1pY3Jvc29mdC5henVyZS5zdG9yYWdlLnF1ZXJ5QmxvYkNvbnRlbnRzLnJlc3VsdERh
+ dGEiLAogICAgImRvYyI6ICJIb2xkcyByZXN1bHQgZGF0YSBpbiB0aGUgZm9ybWF0IHNwZWNpZmll
+ ZCBmb3IgdGhpcyBxdWVyeSAoQ1NWLCBKU09OLCBldGMuKS4iLAogICAgImZpZWxkcyI6IFsKICAg
+ ICAgewogICAgICAgICJuYW1lIjogImRhdGEiLAogICAgICAgICJ0eXBlIjogImJ5dGVzIgogICAg
+ ICB9CiAgICBdCiAgfSwKICB7CiAgICAidHlwZSI6ICJyZWNvcmQiLAogICAgIm5hbWUiOiAiY29t
+ Lm1pY3Jvc29mdC5henVyZS5zdG9yYWdlLnF1ZXJ5QmxvYkNvbnRlbnRzLmVycm9yIiwKICAgICJk
+ b2MiOiAiQW4gZXJyb3IgdGhhdCBvY2N1cnJlZCB3aGlsZSBwcm9jZXNzaW5nIHRoZSBxdWVyeS4i
+ LAogICAgImZpZWxkcyI6IFsKICAgICAgewogICAgICAgICJuYW1lIjogImZhdGFsIiwKICAgICAg
+ ICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAiZG9jIjogIklmIHRydWUsIHRoaXMgZXJyb3Ig
+ cHJldmVudHMgZnVydGhlciBxdWVyeSBwcm9jZXNzaW5nLiAgTW9yZSByZXN1bHQgZGF0YSBtYXkg
+ YmUgcmV0dXJuZWQsIGJ1dCB0aGVyZSBpcyBubyBndWFyYW50ZWUgdGhhdCBhbGwgb2YgdGhlIG9y
+ aWdpbmFsIGRhdGEgd2lsbCBiZSBwcm9jZXNzZWQuICBJZiBmYWxzZSwgdGhpcyBlcnJvciBkb2Vz
+ IG5vdCBwcmV2ZW50IGZ1cnRoZXIgcXVlcnkgcHJvY2Vzc2luZy4iCiAgICAgIH0sCiAgICAgIHsK
+ ICAgICAgICAibmFtZSI6ICJuYW1lIiwKICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAg
+ ICJkb2MiOiAiVGhlIG5hbWUgb2YgdGhlIGVycm9yIgogICAgICB9LAogICAgICB7CiAgICAgICAg
+ Im5hbWUiOiAiZGVzY3JpcHRpb24iLAogICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAg
+ ImRvYyI6ICJBIGRlc2NyaXB0aW9uIG9mIHRoZSBlcnJvciIKICAgICAgfSwKICAgICAgewogICAg
+ ICAgICJuYW1lIjogInBvc2l0aW9uIiwKICAgICAgICAidHlwZSI6ICJsb25nIiwKICAgICAgICAi
+ ZG9jIjogIlRoZSByZWNvcmQgb2Zmc2V0IGluIHRoZSBibG9iIGF0IHdoaWNoIHRoZSBlcnJvciBv
+ Y2N1cnJlZCIKICAgICAgfQogICAgXQogIH0sCiAgewogICAgInR5cGUiOiAicmVjb3JkIiwKICAg
+ ICJuYW1lIjogImNvbS5taWNyb3NvZnQuYXp1cmUuc3RvcmFnZS5xdWVyeUJsb2JDb250ZW50cy5w
+ cm9ncmVzcyIsCiAgICAiZG9jIjogIkluZm9ybWF0aW9uIGFib3V0IHRoZSBwcm9ncmVzcyBvZiB0
+ aGUgcXVlcnkiLAogICAgImZpZWxkcyI6IFsKICAgICAgewogICAgICAgICJuYW1lIjogImJ5dGVz
+ U2Nhbm5lZCIsCiAgICAgICAgInR5cGUiOiAibG9uZyIsCiAgICAgICAgImRvYyI6ICJUaGUgbnVt
+ YmVyIG9mIGJ5dGVzIHRoYXQgaGF2ZSBiZWVuIHNjYW5uZWQiCiAgICAgIH0sCiAgICAgIHsKICAg
+ ICAgICAibmFtZSI6ICJ0b3RhbEJ5dGVzIiwKICAgICAgICAidHlwZSI6ICJsb25nIiwKICAgICAg
+ ICAiZG9jIjogIlRoZSB0b3RhbCBudW1iZXIgb2YgYnl0ZXMgdG8gYmUgc2Nhbm5lZCBpbiB0aGlz
+ IHF1ZXJ5IgogICAgICB9CiAgICBdCiAgfSwKICB7CiAgICAidHlwZSI6ICJyZWNvcmQiLAogICAg
+ Im5hbWUiOiAiY29tLm1pY3Jvc29mdC5henVyZS5zdG9yYWdlLnF1ZXJ5QmxvYkNvbnRlbnRzLmVu
+ ZCIsCiAgICAiZG9jIjogIlNlbnQgYXMgdGhlIGZpbmFsIG1lc3NhZ2Ugb2YgdGhlIHJlc3BvbnNl
+ LCBpbmRpY2F0aW5nIHRoYXQgYWxsIHJlc3VsdHMgaGF2ZSBiZWVuIHNlbnQuIiwKICAgICJmaWVs
+ ZHMiOiBbCiAgICAgIHsKICAgICAgICAibmFtZSI6ICJ0b3RhbEJ5dGVzIiwKICAgICAgICAidHlw
+ ZSI6ICJsb25nIiwKICAgICAgICAiZG9jIjogIlRoZSB0b3RhbCBudW1iZXIgb2YgYnl0ZXMgc2Nh
+ bm5lZCBpbiB0aGlzIHF1ZXJ5IgogICAgICB9CiAgICBdCiAgfQpdCgBeCQoEJjNiRJDCzm420C7q
+ AjwAODAsbWRpZmp0NTUuZWEzLG1kaWZqdDU1LmVhMwpeCQoEJjNiRJDCzm420C7qAg4Ewu4EruMJ
+ XgkKBCYzYkSQws5uNtAu6gIIBq7jCV4JCgQmM2JEkMLObjbQLuo=
+ headers:
+ accept-ranges:
+ - bytes
+ content-type:
+ - avro/binary
+ date:
+ - Fri, 09 Apr 2021 04:03:15 GMT
+ etag:
+ - '"0x8D8FB0C66E66383"'
+ last-modified:
+ - Fri, 09 Apr 2021 04:03:15 GMT
+ server:
+ - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0
+ transfer-encoding:
+ - chunked
+ x-ms-blob-type:
+ - BlockBlob
+ x-ms-creation-time:
+ - Fri, 09 Apr 2021 04:03:15 GMT
+ x-ms-lease-state:
+ - available
+ x-ms-lease-status:
+ - unlocked
+ x-ms-server-encrypted:
+ - 'true'
+ x-ms-version:
+ - '2020-08-04'
+ status:
+ code: 200
+ message: OK
+version: 1
diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_quick_query.test_quick_query_output_in_parquet_format.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_quick_query.test_quick_query_output_in_parquet_format.yaml
new file mode 100644
index 000000000000..2899b4154d62
--- /dev/null
+++ b/sdk/storage/azure-storage-blob/tests/recordings/test_quick_query.test_quick_query_output_in_parquet_format.yaml
@@ -0,0 +1,1496 @@
+interactions:
+- request:
+ body: null
+ headers:
+ Accept:
+ - application/xml
+ Accept-Encoding:
+ - gzip, deflate
+ Connection:
+ - keep-alive
+ Content-Length:
+ - '0'
+ User-Agent:
+ - azsdk-python-storage-blob/12.8.0 Python/3.8.5 (Windows-10-10.0.19041-SP0)
+ x-ms-date:
+ - Fri, 09 Apr 2021 04:19:09 GMT
+ x-ms-version:
+ - '2020-08-04'
+ method: PUT
+ uri: https://storagename.blob.core.windows.net/utqqcontainercdb31860?restype=container
+ response:
+ body:
+ string: ''
+ headers:
+ date:
+ - Fri, 09 Apr 2021 04:19:09 GMT
+ etag:
+ - '"0x8D8FB0E9FF3E60A"'
+ last-modified:
+ - Fri, 09 Apr 2021 04:19:10 GMT
+ server:
+ - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0
+ transfer-encoding:
+ - chunked
+ x-ms-version:
+ - '2020-08-04'
+ status:
+ code: 201
+ message: Created
+- request:
+ body: !!binary |
+ UEFSMRUAFeJrFeJrLBXQDxUAFQYVBhwYAzk5ORgBMBYAFtAPGAM5OTkYATAAAAADAAAA0A8BAQAA
+ ADABAAAAMQEAAAAyAQAAADMBAAAANAEAAAA1AQAAADYBAAAANwEAAAA4AQAAADkCAAAAMTACAAAA
+ MTECAAAAMTICAAAAMTMCAAAAMTQCAAAAMTUCAAAAMTYCAAAAMTcCAAAAMTgCAAAAMTkCAAAAMjAC
+ AAAAMjECAAAAMjICAAAAMjMCAAAAMjQCAAAAMjUCAAAAMjYCAAAAMjcCAAAAMjgCAAAAMjkCAAAA
+ MzACAAAAMzECAAAAMzICAAAAMzMCAAAAMzQCAAAAMzUCAAAAMzYCAAAAMzcCAAAAMzgCAAAAMzkC
+ AAAANDACAAAANDECAAAANDICAAAANDMCAAAANDQCAAAANDUCAAAANDYCAAAANDcCAAAANDgCAAAA
+ NDkCAAAANTACAAAANTECAAAANTICAAAANTMCAAAANTQCAAAANTUCAAAANTYCAAAANTcCAAAANTgC
+ AAAANTkCAAAANjACAAAANjECAAAANjICAAAANjMCAAAANjQCAAAANjUCAAAANjYCAAAANjcCAAAA
+ NjgCAAAANjkCAAAANzACAAAANzECAAAANzICAAAANzMCAAAANzQCAAAANzUCAAAANzYCAAAANzcC
+ AAAANzgCAAAANzkCAAAAODACAAAAODECAAAAODICAAAAODMCAAAAODQCAAAAODUCAAAAODYCAAAA
+ ODcCAAAAODgCAAAAODkCAAAAOTACAAAAOTECAAAAOTICAAAAOTMCAAAAOTQCAAAAOTUCAAAAOTYC
+ AAAAOTcCAAAAOTgCAAAAOTkDAAAAMTAwAwAAADEwMQMAAAAxMDIDAAAAMTAzAwAAADEwNAMAAAAx
+ MDUDAAAAMTA2AwAAADEwNwMAAAAxMDgDAAAAMTA5AwAAADExMAMAAAAxMTEDAAAAMTEyAwAAADEx
+ MwMAAAAxMTQDAAAAMTE1AwAAADExNgMAAAAxMTcDAAAAMTE4AwAAADExOQMAAAAxMjADAAAAMTIx
+ AwAAADEyMgMAAAAxMjMDAAAAMTI0AwAAADEyNQMAAAAxMjYDAAAAMTI3AwAAADEyOAMAAAAxMjkD
+ AAAAMTMwAwAAADEzMQMAAAAxMzIDAAAAMTMzAwAAADEzNAMAAAAxMzUDAAAAMTM2AwAAADEzNwMA
+ AAAxMzgDAAAAMTM5AwAAADE0MAMAAAAxNDEDAAAAMTQyAwAAADE0MwMAAAAxNDQDAAAAMTQ1AwAA
+ ADE0NgMAAAAxNDcDAAAAMTQ4AwAAADE0OQMAAAAxNTADAAAAMTUxAwAAADE1MgMAAAAxNTMDAAAA
+ MTU0AwAAADE1NQMAAAAxNTYDAAAAMTU3AwAAADE1OAMAAAAxNTkDAAAAMTYwAwAAADE2MQMAAAAx
+ NjIDAAAAMTYzAwAAADE2NAMAAAAxNjUDAAAAMTY2AwAAADE2NwMAAAAxNjgDAAAAMTY5AwAAADE3
+ MAMAAAAxNzEDAAAAMTcyAwAAADE3MwMAAAAxNzQDAAAAMTc1AwAAADE3NgMAAAAxNzcDAAAAMTc4
+ AwAAADE3OQMAAAAxODADAAAAMTgxAwAAADE4MgMAAAAxODMDAAAAMTg0AwAAADE4NQMAAAAxODYD
+ AAAAMTg3AwAAADE4OAMAAAAxODkDAAAAMTkwAwAAADE5MQMAAAAxOTIDAAAAMTkzAwAAADE5NAMA
+ AAAxOTUDAAAAMTk2AwAAADE5NwMAAAAxOTgDAAAAMTk5AwAAADIwMAMAAAAyMDEDAAAAMjAyAwAA
+ ADIwMwMAAAAyMDQDAAAAMjA1AwAAADIwNgMAAAAyMDcDAAAAMjA4AwAAADIwOQMAAAAyMTADAAAA
+ MjExAwAAADIxMgMAAAAyMTMDAAAAMjE0AwAAADIxNQMAAAAyMTYDAAAAMjE3AwAAADIxOAMAAAAy
+ MTkDAAAAMjIwAwAAADIyMQMAAAAyMjIDAAAAMjIzAwAAADIyNAMAAAAyMjUDAAAAMjI2AwAAADIy
+ NwMAAAAyMjgDAAAAMjI5AwAAADIzMAMAAAAyMzEDAAAAMjMyAwAAADIzMwMAAAAyMzQDAAAAMjM1
+ AwAAADIzNgMAAAAyMzcDAAAAMjM4AwAAADIzOQMAAAAyNDADAAAAMjQxAwAAADI0MgMAAAAyNDMD
+ AAAAMjQ0AwAAADI0NQMAAAAyNDYDAAAAMjQ3AwAAADI0OAMAAAAyNDkDAAAAMjUwAwAAADI1MQMA
+ AAAyNTIDAAAAMjUzAwAAADI1NAMAAAAyNTUDAAAAMjU2AwAAADI1NwMAAAAyNTgDAAAAMjU5AwAA
+ ADI2MAMAAAAyNjEDAAAAMjYyAwAAADI2MwMAAAAyNjQDAAAAMjY1AwAAADI2NgMAAAAyNjcDAAAA
+ MjY4AwAAADI2OQMAAAAyNzADAAAAMjcxAwAAADI3MgMAAAAyNzMDAAAAMjc0AwAAADI3NQMAAAAy
+ NzYDAAAAMjc3AwAAADI3OAMAAAAyNzkDAAAAMjgwAwAAADI4MQMAAAAyODIDAAAAMjgzAwAAADI4
+ NAMAAAAyODUDAAAAMjg2AwAAADI4NwMAAAAyODgDAAAAMjg5AwAAADI5MAMAAAAyOTEDAAAAMjky
+ AwAAADI5MwMAAAAyOTQDAAAAMjk1AwAAADI5NgMAAAAyOTcDAAAAMjk4AwAAADI5OQMAAAAzMDAD
+ AAAAMzAxAwAAADMwMgMAAAAzMDMDAAAAMzA0AwAAADMwNQMAAAAzMDYDAAAAMzA3AwAAADMwOAMA
+ AAAzMDkDAAAAMzEwAwAAADMxMQMAAAAzMTIDAAAAMzEzAwAAADMxNAMAAAAzMTUDAAAAMzE2AwAA
+ ADMxNwMAAAAzMTgDAAAAMzE5AwAAADMyMAMAAAAzMjEDAAAAMzIyAwAAADMyMwMAAAAzMjQDAAAA
+ MzI1AwAAADMyNgMAAAAzMjcDAAAAMzI4AwAAADMyOQMAAAAzMzADAAAAMzMxAwAAADMzMgMAAAAz
+ MzMDAAAAMzM0AwAAADMzNQMAAAAzMzYDAAAAMzM3AwAAADMzOAMAAAAzMzkDAAAAMzQwAwAAADM0
+ MQMAAAAzNDIDAAAAMzQzAwAAADM0NAMAAAAzNDUDAAAAMzQ2AwAAADM0NwMAAAAzNDgDAAAAMzQ5
+ AwAAADM1MAMAAAAzNTEDAAAAMzUyAwAAADM1MwMAAAAzNTQDAAAAMzU1AwAAADM1NgMAAAAzNTcD
+ AAAAMzU4AwAAADM1OQMAAAAzNjADAAAAMzYxAwAAADM2MgMAAAAzNjMDAAAAMzY0AwAAADM2NQMA
+ AAAzNjYDAAAAMzY3AwAAADM2OAMAAAAzNjkDAAAAMzcwAwAAADM3MQMAAAAzNzIDAAAAMzczAwAA
+ ADM3NAMAAAAzNzUDAAAAMzc2AwAAADM3NwMAAAAzNzgDAAAAMzc5AwAAADM4MAMAAAAzODEDAAAA
+ MzgyAwAAADM4MwMAAAAzODQDAAAAMzg1AwAAADM4NgMAAAAzODcDAAAAMzg4AwAAADM4OQMAAAAz
+ OTADAAAAMzkxAwAAADM5MgMAAAAzOTMDAAAAMzk0AwAAADM5NQMAAAAzOTYDAAAAMzk3AwAAADM5
+ OAMAAAAzOTkDAAAANDAwAwAAADQwMQMAAAA0MDIDAAAANDAzAwAAADQwNAMAAAA0MDUDAAAANDA2
+ AwAAADQwNwMAAAA0MDgDAAAANDA5AwAAADQxMAMAAAA0MTEDAAAANDEyAwAAADQxMwMAAAA0MTQD
+ AAAANDE1AwAAADQxNgMAAAA0MTcDAAAANDE4AwAAADQxOQMAAAA0MjADAAAANDIxAwAAADQyMgMA
+ AAA0MjMDAAAANDI0AwAAADQyNQMAAAA0MjYDAAAANDI3AwAAADQyOAMAAAA0MjkDAAAANDMwAwAA
+ ADQzMQMAAAA0MzIDAAAANDMzAwAAADQzNAMAAAA0MzUDAAAANDM2AwAAADQzNwMAAAA0MzgDAAAA
+ NDM5AwAAADQ0MAMAAAA0NDEDAAAANDQyAwAAADQ0MwMAAAA0NDQDAAAANDQ1AwAAADQ0NgMAAAA0
+ NDcDAAAANDQ4AwAAADQ0OQMAAAA0NTADAAAANDUxAwAAADQ1MgMAAAA0NTMDAAAANDU0AwAAADQ1
+ NQMAAAA0NTYDAAAANDU3AwAAADQ1OAMAAAA0NTkDAAAANDYwAwAAADQ2MQMAAAA0NjIDAAAANDYz
+ AwAAADQ2NAMAAAA0NjUDAAAANDY2AwAAADQ2NwMAAAA0NjgDAAAANDY5AwAAADQ3MAMAAAA0NzED
+ AAAANDcyAwAAADQ3MwMAAAA0NzQDAAAANDc1AwAAADQ3NgMAAAA0NzcDAAAANDc4AwAAADQ3OQMA
+ AAA0ODADAAAANDgxAwAAADQ4MgMAAAA0ODMDAAAANDg0AwAAADQ4NQMAAAA0ODYDAAAANDg3AwAA
+ ADQ4OAMAAAA0ODkDAAAANDkwAwAAADQ5MQMAAAA0OTIDAAAANDkzAwAAADQ5NAMAAAA0OTUDAAAA
+ NDk2AwAAADQ5NwMAAAA0OTgDAAAANDk5AwAAADUwMAMAAAA1MDEDAAAANTAyAwAAADUwMwMAAAA1
+ MDQDAAAANTA1AwAAADUwNgMAAAA1MDcDAAAANTA4AwAAADUwOQMAAAA1MTADAAAANTExAwAAADUx
+ MgMAAAA1MTMDAAAANTE0AwAAADUxNQMAAAA1MTYDAAAANTE3AwAAADUxOAMAAAA1MTkDAAAANTIw
+ AwAAADUyMQMAAAA1MjIDAAAANTIzAwAAADUyNAMAAAA1MjUDAAAANTI2AwAAADUyNwMAAAA1MjgD
+ AAAANTI5AwAAADUzMAMAAAA1MzEDAAAANTMyAwAAADUzMwMAAAA1MzQDAAAANTM1AwAAADUzNgMA
+ AAA1MzcDAAAANTM4AwAAADUzOQMAAAA1NDADAAAANTQxAwAAADU0MgMAAAA1NDMDAAAANTQ0AwAA
+ ADU0NQMAAAA1NDYDAAAANTQ3AwAAADU0OAMAAAA1NDkDAAAANTUwAwAAADU1MQMAAAA1NTIDAAAA
+ NTUzAwAAADU1NAMAAAA1NTUDAAAANTU2AwAAADU1NwMAAAA1NTgDAAAANTU5AwAAADU2MAMAAAA1
+ NjEDAAAANTYyAwAAADU2MwMAAAA1NjQDAAAANTY1AwAAADU2NgMAAAA1NjcDAAAANTY4AwAAADU2
+ OQMAAAA1NzADAAAANTcxAwAAADU3MgMAAAA1NzMDAAAANTc0AwAAADU3NQMAAAA1NzYDAAAANTc3
+ AwAAADU3OAMAAAA1NzkDAAAANTgwAwAAADU4MQMAAAA1ODIDAAAANTgzAwAAADU4NAMAAAA1ODUD
+ AAAANTg2AwAAADU4NwMAAAA1ODgDAAAANTg5AwAAADU5MAMAAAA1OTEDAAAANTkyAwAAADU5MwMA
+ AAA1OTQDAAAANTk1AwAAADU5NgMAAAA1OTcDAAAANTk4AwAAADU5OQMAAAA2MDADAAAANjAxAwAA
+ ADYwMgMAAAA2MDMDAAAANjA0AwAAADYwNQMAAAA2MDYDAAAANjA3AwAAADYwOAMAAAA2MDkDAAAA
+ NjEwAwAAADYxMQMAAAA2MTIDAAAANjEzAwAAADYxNAMAAAA2MTUDAAAANjE2AwAAADYxNwMAAAA2
+ MTgDAAAANjE5AwAAADYyMAMAAAA2MjEDAAAANjIyAwAAADYyMwMAAAA2MjQDAAAANjI1AwAAADYy
+ NgMAAAA2MjcDAAAANjI4AwAAADYyOQMAAAA2MzADAAAANjMxAwAAADYzMgMAAAA2MzMDAAAANjM0
+ AwAAADYzNQMAAAA2MzYDAAAANjM3AwAAADYzOAMAAAA2MzkDAAAANjQwAwAAADY0MQMAAAA2NDID
+ AAAANjQzAwAAADY0NAMAAAA2NDUDAAAANjQ2AwAAADY0NwMAAAA2NDgDAAAANjQ5AwAAADY1MAMA
+ AAA2NTEDAAAANjUyAwAAADY1MwMAAAA2NTQDAAAANjU1AwAAADY1NgMAAAA2NTcDAAAANjU4AwAA
+ ADY1OQMAAAA2NjADAAAANjYxAwAAADY2MgMAAAA2NjMDAAAANjY0AwAAADY2NQMAAAA2NjYDAAAA
+ NjY3AwAAADY2OAMAAAA2NjkDAAAANjcwAwAAADY3MQMAAAA2NzIDAAAANjczAwAAADY3NAMAAAA2
+ NzUDAAAANjc2AwAAADY3NwMAAAA2NzgDAAAANjc5AwAAADY4MAMAAAA2ODEDAAAANjgyAwAAADY4
+ MwMAAAA2ODQDAAAANjg1AwAAADY4NgMAAAA2ODcDAAAANjg4AwAAADY4OQMAAAA2OTADAAAANjkx
+ AwAAADY5MgMAAAA2OTMDAAAANjk0AwAAADY5NQMAAAA2OTYDAAAANjk3AwAAADY5OAMAAAA2OTkD
+ AAAANzAwAwAAADcwMQMAAAA3MDIDAAAANzAzAwAAADcwNAMAAAA3MDUDAAAANzA2AwAAADcwNwMA
+ AAA3MDgDAAAANzA5AwAAADcxMAMAAAA3MTEDAAAANzEyAwAAADcxMwMAAAA3MTQDAAAANzE1AwAA
+ ADcxNgMAAAA3MTcDAAAANzE4AwAAADcxOQMAAAA3MjADAAAANzIxAwAAADcyMgMAAAA3MjMDAAAA
+ NzI0AwAAADcyNQMAAAA3MjYDAAAANzI3AwAAADcyOAMAAAA3MjkDAAAANzMwAwAAADczMQMAAAA3
+ MzIDAAAANzMzAwAAADczNAMAAAA3MzUDAAAANzM2AwAAADczNwMAAAA3MzgDAAAANzM5AwAAADc0
+ MAMAAAA3NDEDAAAANzQyAwAAADc0MwMAAAA3NDQDAAAANzQ1AwAAADc0NgMAAAA3NDcDAAAANzQ4
+ AwAAADc0OQMAAAA3NTADAAAANzUxAwAAADc1MgMAAAA3NTMDAAAANzU0AwAAADc1NQMAAAA3NTYD
+ AAAANzU3AwAAADc1OAMAAAA3NTkDAAAANzYwAwAAADc2MQMAAAA3NjIDAAAANzYzAwAAADc2NAMA
+ AAA3NjUDAAAANzY2AwAAADc2NwMAAAA3NjgDAAAANzY5AwAAADc3MAMAAAA3NzEDAAAANzcyAwAA
+ ADc3MwMAAAA3NzQDAAAANzc1AwAAADc3NgMAAAA3NzcDAAAANzc4AwAAADc3OQMAAAA3ODADAAAA
+ NzgxAwAAADc4MgMAAAA3ODMDAAAANzg0AwAAADc4NQMAAAA3ODYDAAAANzg3AwAAADc4OAMAAAA3
+ ODkDAAAANzkwAwAAADc5MQMAAAA3OTIDAAAANzkzAwAAADc5NAMAAAA3OTUDAAAANzk2AwAAADc5
+ NwMAAAA3OTgDAAAANzk5AwAAADgwMAMAAAA4MDEDAAAAODAyAwAAADgwMwMAAAA4MDQDAAAAODA1
+ AwAAADgwNgMAAAA4MDcDAAAAODA4AwAAADgwOQMAAAA4MTADAAAAODExAwAAADgxMgMAAAA4MTMD
+ AAAAODE0AwAAADgxNQMAAAA4MTYDAAAAODE3AwAAADgxOAMAAAA4MTkDAAAAODIwAwAAADgyMQMA
+ AAA4MjIDAAAAODIzAwAAADgyNAMAAAA4MjUDAAAAODI2AwAAADgyNwMAAAA4MjgDAAAAODI5AwAA
+ ADgzMAMAAAA4MzEDAAAAODMyAwAAADgzMwMAAAA4MzQDAAAAODM1AwAAADgzNgMAAAA4MzcDAAAA
+ ODM4AwAAADgzOQMAAAA4NDADAAAAODQxAwAAADg0MgMAAAA4NDMDAAAAODQ0AwAAADg0NQMAAAA4
+ NDYDAAAAODQ3AwAAADg0OAMAAAA4NDkDAAAAODUwAwAAADg1MQMAAAA4NTIDAAAAODUzAwAAADg1
+ NAMAAAA4NTUDAAAAODU2AwAAADg1NwMAAAA4NTgDAAAAODU5AwAAADg2MAMAAAA4NjEDAAAAODYy
+ AwAAADg2MwMAAAA4NjQDAAAAODY1AwAAADg2NgMAAAA4NjcDAAAAODY4AwAAADg2OQMAAAA4NzAD
+ AAAAODcxAwAAADg3MgMAAAA4NzMDAAAAODc0AwAAADg3NQMAAAA4NzYDAAAAODc3AwAAADg3OAMA
+ AAA4NzkDAAAAODgwAwAAADg4MQMAAAA4ODIDAAAAODgzAwAAADg4NAMAAAA4ODUDAAAAODg2AwAA
+ ADg4NwMAAAA4ODgDAAAAODg5AwAAADg5MAMAAAA4OTEDAAAAODkyAwAAADg5MwMAAAA4OTQDAAAA
+ ODk1AwAAADg5NgMAAAA4OTcDAAAAODk4AwAAADg5OQMAAAA5MDADAAAAOTAxAwAAADkwMgMAAAA5
+ MDMDAAAAOTA0AwAAADkwNQMAAAA5MDYDAAAAOTA3AwAAADkwOAMAAAA5MDkDAAAAOTEwAwAAADkx
+ MQMAAAA5MTIDAAAAOTEzAwAAADkxNAMAAAA5MTUDAAAAOTE2AwAAADkxNwMAAAA5MTgDAAAAOTE5
+ AwAAADkyMAMAAAA5MjEDAAAAOTIyAwAAADkyMwMAAAA5MjQDAAAAOTI1AwAAADkyNgMAAAA5MjcD
+ AAAAOTI4AwAAADkyOQMAAAA5MzADAAAAOTMxAwAAADkzMgMAAAA5MzMDAAAAOTM0AwAAADkzNQMA
+ AAA5MzYDAAAAOTM3AwAAADkzOAMAAAA5MzkDAAAAOTQwAwAAADk0MQMAAAA5NDIDAAAAOTQzAwAA
+ ADk0NAMAAAA5NDUDAAAAOTQ2AwAAADk0NwMAAAA5NDgDAAAAOTQ5AwAAADk1MAMAAAA5NTEDAAAA
+ OTUyAwAAADk1MwMAAAA5NTQDAAAAOTU1AwAAADk1NgMAAAA5NTcDAAAAOTU4AwAAADk1OQMAAAA5
+ NjADAAAAOTYxAwAAADk2MgMAAAA5NjMDAAAAOTY0AwAAADk2NQMAAAA5NjYDAAAAOTY3AwAAADk2
+ OAMAAAA5NjkDAAAAOTcwAwAAADk3MQMAAAA5NzIDAAAAOTczAwAAADk3NAMAAAA5NzUDAAAAOTc2
+ AwAAADk3NwMAAAA5NzgDAAAAOTc5AwAAADk4MAMAAAA5ODEDAAAAOTgyAwAAADk4MwMAAAA5ODQD
+ AAAAOTg1AwAAADk4NgMAAAA5ODcDAAAAOTg4AwAAADk4OQMAAAA5OTADAAAAOTkxAwAAADk5MgMA
+ AAA5OTMDAAAAOTk0AwAAADk5NQMAAAA5OTYDAAAAOTk3AwAAADk5OAMAAAA5OTkVABWO+gEVjvoB
+ LBXQDxUAFQYVBhwYDHp6cTBrZnk0LnZibhgMMDF3d3llNGcucGZzFgAW0A8YDHp6cTBrZnk0LnZi
+ bhgMMDF3d3llNGcucGZzAAAAAwAAANAPAQwAAABtZGlmanQ1NS5lYTMMAAAANWRtdnFldmcuamsw
+ DAAAAHNmdGdtZ3N4LmIxZAwAAAB6cm9xdnM1dC5samkMAAAAYW8zamF0bmMuMXZoDAAAAHUzYmZ1
+ dmRsLjF3cgwAAABqcWN3M2VyMy5sdDIMAAAAc2gxc3doZXQuYnczDAAAAGkwc3EzMDVvLmg1dQwA
+ AAB1NTNjZWxhMC5zZ2IMAAAAemZybTVobHEud3J1DAAAAGN6Y2Nra3QyLnJpMAwAAABxMG40NTJl
+ NC51bnkMAAAAanVvenVtYWEudmZ2DAAAADFtdGZvMTNtLnhlaQwAAABjd3RhZWQyci5xZHcMAAAA
+ M215czB5a2YuYWdqDAAAAHZlYXVpbTNtLjNhMwwAAAB1NHh1cWZxci5ubXEMAAAAbHd1aG5kbTAu
+ d2pmDAAAAGtqdXkycm50LnVqdAwAAABxeGNpd3JpMS5seDEMAAAAbHBlYnRqNXcuZmMwDAAAAHp0
+ aWoxcWNiLml5MwwAAAAzbXdyZXpwMi5xaTAMAAAAYXoyamF3M2EuY2RmDAAAAHBjanpvdzF1Lm0w
+ MAwAAAAzZHlxdmg0MS5wYWMMAAAAMGFqY3lkcHMuYTRkDAAAAGI1MnJtY2htLnNoZQwAAABwczBz
+ ZGZzei5lcmMMAAAAZjUxdDNkaGIuanZjDAAAADV6cmhzYnpqLjF4YgwAAABqMmxtZnpzMi5xZmIM
+ AAAAcjBlcngxaXQuaXRyDAAAAGpiMGRzdTAxLnBlbwwAAAAzd2owZGsybi5hczIMAAAAem5iemhn
+ aXAuY2xxDAAAAG5xYmJwcHJ1LmZncQwAAABncDF4emYxZy4zeGQMAAAAcm95ZG9udWsuYjJqDAAA
+ AGVlZ2czY3FzLml0eAwAAABtNHYxd29sdC40bGgMAAAAcHV4MHp5ZGMubHZsDAAAAGRiZGZtc3Iy
+ LmlrNAwAAAB1cXQ1c2EzaS5hbmsMAAAANWpjaWpoMWcua2dtDAAAAHIwbm50eTRwLnFlMAwAAAA0
+ eGMxcGMzai5vemYMAAAAZDN4dzNoZ2EuYWZkDAAAAHZlMHVtZnl5Lms1agwAAABhcHljZ2h1aC5h
+ bHIMAAAAY3l6Z2twaDQuM2ljDAAAAGJjZTJ5dmNxLmhhbQwAAABveGxhdGdudy5hdG8MAAAAdGpn
+ b2tzZTIudTRzDAAAAGt1MWw1NDVkLnB3ZgwAAAB1Y2VhYmxjcS5odnUMAAAAc2x3dXZjaXkucXlm
+ DAAAAG9seWMwcml2LmhuYgwAAAB3cmN6bXEwbC5yZ3cMAAAAc3F3aTVla3UuZnl6DAAAAHdua2Vz
+ Y25rLm5kbwwAAABoajRzbDVqMS5mdXkMAAAAczR4bmJoMmMudGgwDAAAADVobHZvZ2l3LndtMQwA
+ AABjcTBuNDVwei5mc3AMAAAAemYydndqaXIuZXVxDAAAADVqeHZkNTMwLnp2NQwAAABqc2N2b3lj
+ Yy5xcWcMAAAAbHNqbnp2ZmIua3J3DAAAADRwYWliaHoxLnYxcAwAAAB1cmkwMmFjMy5zYnkMAAAA
+ bWc1cXdiMXEudGVqDAAAAG5sYmd5b2k1LmZkZwwAAABrM3ZiMW1vby5xYWsMAAAAdmN5Z3FzcWUu
+ dXZiDAAAAGRobWFheWc1LnNrYQwAAAB0dW9sZ3lobS5seGQMAAAAcW1mdXJrMWcucmNnDAAAAHMy
+ ZmdlMDAzLmNkMQwAAABpM25sY256dy4wNGwMAAAAc2UxNHJmeWwucG1zDAAAAHR0eW9kc251LjQ1
+ ZQwAAABtcmQxamJ0Zy5uZjEMAAAAeWNtcG5ldzQueTFnDAAAAHd6dmF6cHZqLmFoeAwAAAA1bXVy
+ NGt2ei5mZWoMAAAAM2NoYnN6dmYubXl2DAAAAHBldGsyZzVxLmxnZwwAAAA1bTU0Zmdnby5rdjUM
+ AAAAeXptczVvMHMuNTN6DAAAADB4NTRsZHN5LmdxdgwAAABnZWlzemdhMS53ZnIMAAAAamExY2xh
+ dHcuNWNpDAAAAG9ydHVzdnlwLnp1dwwAAAAyYTJueHNxbS5hdHIMAAAAeW5sNXR0eWgubTVsDAAA
+ AG5xY2k0bjUxLjM0dAwAAABrMjRraXpsZC50aXQMAAAAcHBwZmNwMmQuenRxDAAAAGtnbGl5ZXN0
+ LmFmdgwAAAAzbGFlb25nbi5qenoMAAAAaDA1djA1YnQuc253DAAAAGVrZGp0Y3U1LjNicAwAAAA0
+ dmp3eTJhei5kc3cMAAAAYzR3MjF6ZXAuYWNzDAAAAG1hZmtrdGh1LjN5dAwAAABqaDV2ZGx6eC54
+ aGIMAAAAanYzZ2lhMDAuemFxDAAAAGxucjAxemRkLmh0eAwAAABtbmNkZjRudS5idnQMAAAAY3l1
+ ajNjcjUuYmVhDAAAAGt2cG5kem94Lm1vbQwAAAAyZjB0c2Vuby5tNWkMAAAAcTJvbGRtbDQuZHly
+ DAAAAHFqMTBqY3BjLmhrdwwAAABjMXZ3bWtvYi56azUMAAAAdWRtNGFiMXMuM3FtDAAAAGtxZ2I1
+ ZndsLnV6MwwAAABla21uYjBoZC55c3IMAAAAYWdqYnNrbnIuMmd5DAAAAGZwNGRqamxsLm1meQwA
+ AABibzVkZW1oeC5taHcMAAAAcnppZ29ldWkuYnhkDAAAAHhhZmUwaWlrLnQ1ZQwAAABybXZreHN6
+ ZS5id2EMAAAAaHRxNWZndm8uaGdlDAAAAGczeXBicGprLnY0ZQwAAABtbXYwb3lieC5rM2cMAAAA
+ ZGhqMGIxY3kudm5tDAAAAGJoYm5kZGRjLnp1cgwAAABid2NicDQxZC55dG4MAAAAZGhoZ2d0dGku
+ MWhrDAAAAHFwa3J2MW40LmlvcAwAAABnMGNsdDUxbS5wYnEMAAAAbnhsbGRhYW8ua2RwDAAAADBu
+ cTV0Y3J3LmpldAwAAAAzNDAzbW9tai5nbGgMAAAAcG1kNHp6aGsueXJzDAAAAGYxcmMwNGp0LjFr
+ bAwAAAA0dXhmc2loaS5tMHUMAAAAZWx6Z2t4dmoucmplDAAAAGxrdmY1b3gyLmpqMAwAAABhejIy
+ NG1qci5zZ24MAAAAemYwemFwdW0udnZjDAAAAGNjZnBqMG95LjRpZgwAAABtazB4dXZ5MS5pMjEM
+ AAAAMjRmbjJ6eHIudGtqDAAAAG96eWZ1b3JuLjFybgwAAABhdnN3dTF2Zy5vYXMMAAAAcmNtaHhv
+ czMucnptDAAAAGhyajVmZ3NnLjM1MQwAAAB0eWlibmV5bC54aHQMAAAANXIzZHV6b2cuamlnDAAA
+ AHBuMXJ5ZWFnLmV1bAwAAAB6MmFsbXJ6ZS5tdHkMAAAAenpxMGtmeTQudmJuDAAAAHJ0cTBkZG9n
+ LjV1ZwwAAAB3ZXRlc2hteS5kYW0MAAAAZWc0M2tvMG8uamhnDAAAAHNxaGdhaW1wLnQ0YgwAAAB6
+ cDRtdmh1Yy5xbW0MAAAAM2dnd3F3aHYuZ3MzDAAAAHd1emNxb3Z4LmZqMgwAAAAxbDFtNDFiai5n
+ ZHcMAAAAdnFib3FrcHQuMzJ2DAAAAGU1bTR0MmVxLnhsNAwAAABmMXhtMTN6eS5langMAAAAMXNl
+ cTVjaG0ub3BoDAAAAHgzYmt3Z3JyLjViYQwAAAA1MXNqeWNncy51bWgMAAAAMHNrdmJvanEueTBo
+ DAAAAHo0anJ5YmYwLmVvbAwAAABxaXNmbDRsci5iZXEMAAAAb2xmZ2RhYnoud3djDAAAAGFnem1o
+ eHV1LmN3aAwAAABiNXB4bTR2dy5yamIMAAAAbTBzb28xanYubG5xDAAAAHJ4dWJ2dmdwLnhnZgwA
+ AAB0MzJuM3huZS5kZWgMAAAAdWZvMG1sNWsuanphDAAAAGJqZmQ0cWNvLjRtZAwAAABkdnJmZW0y
+ cC51bGgMAAAAdGJ6Z2loM3YudHQ1DAAAAGlmeTJlcHVrLnNxNQwAAABmYWlsMzVieS5ycTMMAAAA
+ bTVlZ24yZmsuYWllDAAAADBsaGlrbHFrLm9iegwAAABsb3h0eHlvdS4wMWcMAAAAbXYzcm5lZW8u
+ cmljDAAAAHI0cnpyeWkyLnF3NQwAAABxcmJsMDVxei4wNWUMAAAAYXcycHJqYmEubTNhDAAAAGJo
+ Z3l2aXZqLmNiMwwAAABkbHhlcTVjMC5vcnYMAAAAbjN2MDRyaHAuYWV4DAAAAGQxcXZ1ZmltLnBi
+ dwwAAABveWVyanp2dS5wZm8MAAAAbnVheGtib3YucXB1DAAAAGtkeWRhcWlyLndjcgwAAAB3YTM0
+ Y3VrMy5iZGcMAAAAZTVuMWl4anoud3JrDAAAADJycmk0MXBqLmV2cgwAAABoeHJqNHJzZS54Y20M
+ AAAAdzQxanFwemMueDF4DAAAAGJqbTJhdTNyLnR5eQwAAAB5eTFieDNtZS5tbHgMAAAAZ2I1MG11
+ bzUudTNoDAAAAG1pd3Z3anQ0Lmo0aQwAAABxY3JpbWFoby5jbnYMAAAAdWdlc3R5dzEudXBsDAAA
+ AHNqczJ1NGVwLmdlMwwAAAB6NWZqc2N3Yi41NWIMAAAAaGxmeDFncXMucTRqDAAAAG0zbnduMGUy
+ LmhscAwAAAB2cm9iendrMS50cG0MAAAAaGFyYXF2ZGYuZDBkDAAAAG16YTR0NXNnLnV1dgwAAAAw
+ aGh2cGpkNS55bXAMAAAAcHByanQxbWIuZ3RzDAAAADE0dnJkemEyLnhtcwwAAAAzbWltdnF1bi5o
+ dTAMAAAAa2NsbGdqdGUuY2I0DAAAAHN6eGdsYWlqLjJvdAwAAABubWg0bmg1MS4xbjAMAAAAZ2Zy
+ b3ZieGwucWJtDAAAAGUwbnBsbndqLnlzZQwAAABkYWhodXF2Mi4zb3IMAAAAcHhuMXQzemkuYWNn
+ DAAAAHl0MDBodGtrLnd0dwwAAABwend4NTIzMi5ocWcMAAAAbXJ1eWx6dHQua3BiDAAAADBiaWNz
+ eXFvLmJxZAwAAABndnpwbnZ4cC5xbGwMAAAAM3V6bDFmaXUucmYyDAAAAG9mZGptbnN2LnVodAwA
+ AAAyeWhndHVzei4xa2YMAAAAMXcwYnhkY24ucHgxDAAAADFwbWx3Ymt2Lml3MwwAAAB5ampoa3Fs
+ bi5pdWIMAAAAMHh3MW95bG8udHdlDAAAAGtteml4cTR3LnUzcAwAAAB0djEzd3F2eS55dWIMAAAA
+ b2EyZzNlanQucmlmDAAAAGViZXBnanc1Lm10cQwAAAAyZnkxMzAzZy5ueXUMAAAAMGM1dXR1bWYu
+ M3RzDAAAAGZuY3RrY2JnLmMwYwwAAABibmtzZXdzZy53em0MAAAAeXlpajEwMW8ucGlqDAAAAHA1
+ anlkbHI0Lmh2MgwAAAAzaXBjZGF3dy5hcXIMAAAAMDRtdzV6MnMudW0wDAAAAHdjdHBua2ZoLjJ1
+ bQwAAAByenBxc2JzMC41dGEMAAAAdmFoeHF6MGMuMnBtDAAAAHZyMHNza29yLm4ydwwAAAB4dDUw
+ MHUyYi5yaGsMAAAAY3ZpeTI0ZHguY2t6DAAAAHU0c3dkb2x4LnFqZwwAAABqc2V0emMwZS5qaGUM
+ AAAAaGI1NGIxdGkuM3F2DAAAAGVyNXFzcHZyLnUxMAwAAABibzRpMnNmdi53MnUMAAAAbXpwdnNu
+ dWIua2xoDAAAAGtrMG14djBmLnNsbgwAAABjemJlbGVqZy5xaXEMAAAANXhob2txNTQuY29qDAAA
+ AHVyaWhzbjR5LmVreAwAAAB2dGFtaWl2MC5sd2IMAAAAbHhhc3g1eTQuejMyDAAAAG12dnJ2czFu
+ LmRodQwAAAB5ejJxa2h3ZC50ZGUMAAAAeGwyYWd6dHYuMXNmDAAAAHZnNGNybm0yLjNjYgwAAABr
+ NTVmNWtwcS55cWIMAAAAa2RlbGI0bWkucWNtDAAAADN4NWxldGk0LmtkYgwAAABqd3FnYnVtYi5p
+ cnQMAAAAaGVkbHlpNXQud3FsDAAAAGZ0ZXRzM2tvLmhtbAwAAAByZ2MzdjN5cC4xY3AMAAAAZ3Bo
+ MzNqcGwudHoxDAAAADR1eDNzd2l5LjNhMgwAAABuY211d3V1MS41ZjAMAAAAaGhrYjBrdzAueWky
+ DAAAAHZobG1ha3VwLmhzaQwAAAAyd3dkdXFzdy50dzEMAAAAamJmZ3FxeDUudHoyDAAAAG80dWk0
+ a2RyLnAybQwAAAB4aWd3ZHBxZS4zencMAAAAamIwemtsbDEuMmFoDAAAADB3eHBpZWlpLmVndAwA
+ AABuNDNudG81NS5ueWYMAAAAeW1ocjFxeDUuMW9yDAAAAGY0bGZ3b3hpLm50ZgwAAABuemZyYmJ2
+ eC5weXkMAAAAeWhyNXZvaXouMnVvDAAAADN5NXAyZXp3Lm55YwwAAABuNXFnYWgxbS5vM28MAAAA
+ cDNzMWUwMWQua2pnDAAAAGVxZDFoa2NhLnkzbgwAAAB2YTN1Y251ay4yMXAMAAAAYWVrYTE1Z3Eu
+ cXFkDAAAAGNwdDNvNGZhLnhzdwwAAABsMXMyZ3Fhay52cWQMAAAAanJvM2hzcDMuMmYzDAAAAGJz
+ Z2FhdTBvLnBvawwAAABybHgxZGVoaC56eHoMAAAAdmZlNGlibmMuYjJyDAAAAG5paTFtc3YzLnBz
+ dQwAAAA1cWtkbnR5ci5xa3QMAAAAa2Yxa3Yxb3kuaGsyDAAAAHh1bmd3dWlqLnViMwwAAAB2Ymx3
+ MndldC5rcm0MAAAAanFkZ29tNWEudmMxDAAAAHk1amtjbG4zLmxwNQwAAABqcW1xeWVkdy5naWEM
+ AAAAMW9qYjIwaWEudnRqDAAAAHRmaXZkdjIxLmF4MAwAAABwaWQwaHpwcy5kdjUMAAAAd2ZnY2Rx
+ NGYueG8yDAAAAGNicDA1eG0yLnM1MAwAAABhMjAxYXBodi4wZjQMAAAAZGwxMnl6bXIuZWJmDAAA
+ AHgwZXZ5dHFyLmEydwwAAABnZm91NHlrMS55NXQMAAAAdzJqZHZsMmIuZmJ3DAAAADJ4a3c0eHhy
+ LnVpawwAAABneHFsaWdsMi5scHMMAAAAanN5dXl1emguZGhyDAAAAGRkem5lMGpnLmV2NAwAAAB6
+ d3pkdXBjcy5mMWMMAAAAbHZzYWFsYzEubWxqDAAAAHhheDBhZTVlLnpjeAwAAAByZmRncm4xZS5y
+ ZHYMAAAAc201MnV4bm0uYjMwDAAAADF2cWt5NWZhLm54ZwwAAAB5Y3lreGVnYy4zYmwMAAAAajNq
+ MnV5ZGIuZ3JmDAAAAGh6aHozNG1mLnB6NAwAAABhMHJzaWUxci5pcTUMAAAAMGp1cmoyMWkuNDAz
+ DAAAADAyM3c0YnJ4LjNzMAwAAAA0em95YjRzdy4zbXMMAAAAcGlvMnM1MHAueGprDAAAAHBpYWpi
+ bXpyLmgzcgwAAAA1ZDMxeW5ndS54a3IMAAAAZ2dlMGMwdWEucmswDAAAAGpvZHIxbHVjLmk0cAwA
+ AAAxcmNrZDN5NC5pbWoMAAAAeGxhbXhwZ3YuMWp0DAAAADJlMGszMWJwLm4xdAwAAAB1MW1sazF3
+ NC52bjIMAAAAa3Y1YWhldmoudjBuDAAAAGMwdDVyMm9jLnI1cAwAAAB4d20wdGt2bS5xbHkMAAAA
+ dWpqcW9pM3IuamoyDAAAAG5sdHl0amd4LjN3YQwAAABoZmF4Mnhydi5yc3YMAAAAdmdyYnlxdXYu
+ cXQ0DAAAADFqc3d4YWh3Lnk1awwAAAAza3Ftb3d3di5ia24MAAAAZDFocWk1dmMuY20yDAAAADFx
+ MGRseGNpLmhjcgwAAABkemJsazRyai52ZHYMAAAAZ3loeDBwNXQuZGlzDAAAAGNsaWY1b3h2LnQw
+ bgwAAABwYm52dzJ2Yy5oMDUMAAAAaWUxajNldXoudmMyDAAAAGNqcnNjaWp3LmJzcAwAAAAxcGxt
+ bjN3ai5kZzIMAAAAd3BxeW15cWMuZXBvDAAAADNteGpyYTBhLjVudAwAAABhcGxhZTVocS5ibG0M
+ AAAAc3VjajQwcG8uMzRjDAAAAHpiY2twcDQzLjV1agwAAABhbG5sYjRlNS5ibnkMAAAAYWl3amdz
+ cWUuZW1mDAAAAGswbzFsbTUwLmNxYwwAAAA0cm1tbDVlYi5xZXAMAAAAYXBpbWdvdGYueXE0DAAA
+ AGF6b3Jwd2QwLmR3NQwAAAB5M2x0ZGkzYi5xZXMMAAAANHhvbHRmcDAuZDV0DAAAAGhocDI1d2Fp
+ LnFxMAwAAAB4Y21obGJ6NS5paXIMAAAAbnpqd3p6MGYudmprDAAAAHhyMTFmNHVuLjJidQwAAAB3
+ ZGhqeHBuei5neG0MAAAAMnh5bGlsM2wuazF4DAAAAHZzMXZqd2cxLmdqMgwAAABrMHRzbjRmaC5v
+ a2wMAAAAZDFqb2N6MmQuaHljDAAAAHF2MmpucTVzLmx5ZAwAAABxZHpwNWRyby4xcXcMAAAAa2Zh
+ YmkzdHYuaXRmDAAAAHB5NG9xeWRiLjJ6MgwAAAAyNGV0dGMwdS53MGgMAAAAZGZkNDN6dHcubWly
+ DAAAAGF6Zno1eWk0Lm8zagwAAAAzdDV1d2Ruby5tdHoMAAAAb3lsZjF4aHguZ2RqDAAAADR5bnAw
+ dmFuLnpidQwAAAA1enF4bXZqcC4yNTUMAAAANXFnc3F0Y2QuMmpkDAAAADRuMm5kMGlvLm53ZAwA
+ AAAxMm1qNWlrdy4yY3MMAAAAY3ZvZnd1dmwucXhnDAAAADBobHU1ZnJ1LmRjcwwAAAB4NGpoNXBk
+ ci51bzUMAAAAcWRxNHdib24ucWFyDAAAAGhvMHBhbHF4LnNocgwAAABhMmJ0bWJ5YS5xZ2UMAAAA
+ bGk1b3NwamouMGxsDAAAAHpldGgyMTFkLjBoYwwAAABsY2Y0NXkybi52bjQMAAAAZXpvemI0M2su
+ YTR6DAAAAHR1ZHVoanlyLmdnbwwAAABuZHBqaXJneC5rbHUMAAAAMnBsbXVrdHIuYnB4DAAAAGhm
+ eGxnb3RjLmcxYwwAAAB2cGtiMTF5Zy5pMHEMAAAAcW4ybmpvMTMuZ21sDAAAAHJpY2o0eGs1LnBq
+ bQwAAABqZ2RuMmN5Zi4zYW4MAAAAZDB3aGk0djEuY2wwDAAAAHAxbGdncnVzLnB5bAwAAABqb3R3
+ cW95ei5jZjUMAAAAM3p1cnZ3Y2oueWZnDAAAAGkxcGFkdnVuLm96bgwAAABhdGhucnJ6di5pdG8M
+ AAAAc2Nmc21zZzQuc2lsDAAAAGdxZGp0MXNtLnZ4bAwAAAAzMG1iaDNraS5rYm8MAAAAZzRoZnNo
+ YWwuY2JpDAAAAHZlbmptanFtLnRmegwAAABhNTVpdnQ0My5zcWoMAAAAbGY1cG14YXguYWJ6DAAA
+ AGdtb3cwcmI0Lm13egwAAAByM3Nlemh6ai5xZzIMAAAAMGN2NHh6dzUuaXU1DAAAAHlzMjMzZm52
+ LmNscAwAAABzaDJuZ2Fvdi5lY3QMAAAAbXFudG4ybXEuend2DAAAAG8ydHFzM2NuLjBxcgwAAABy
+ cnF5ZWt6di5pcnQMAAAAcDVxMXkzdmQucDV5DAAAAGUzYzVtY29qLmExcAwAAABtNXNxd2Nkai5v
+ bHkMAAAAeW1uaG40bGguZ2lpDAAAAGZ0ZmJrbXlyLmoxMgwAAABoc3ozcWdoNC53MTMMAAAAZWN0
+ Zm9paHMuenV1DAAAADVsbHl5b2dhLmp0cgwAAAB2cmd5Mnl0eC5kMzMMAAAANXA1YW1ja2wuam1s
+ DAAAAGdrZXpkZmNzLjAwdQwAAAB0MzF2eHViaS55cmIMAAAAZzJ1MzJrenQudGllDAAAAGEzdG9n
+ ZnBjLjJ4MAwAAABrYzM1cDF2bC4wMXYMAAAAaml0MW9zNXcuanVjDAAAAGVia3h2bXExLjJ0aQwA
+ AABqYnd6cXVvbC54cDAMAAAAaHJrM2JwaHYuaW5qDAAAAHkweWNjbTQxLnQxbAwAAAB3aW55a2Ft
+ Zy5rMjMMAAAAaGtpamsxNTMuZTRwDAAAAGd4ZHprY3phLm1zbgwAAAAzaWtwa2tteC5xZjIMAAAA
+ YnRoc2dnNXQubnl4DAAAAG50M21pdGJ0LmowNQwAAABwamdpNTBuMC41cWYMAAAAM25uZGNobWcu
+ eXZrDAAAADRhaXdwMWVhLjI1dAwAAABobXhjMmxqcC5ja3cMAAAAd2lveTF5bmIuZ3gxDAAAAGdj
+ dDNqbzEzLjJwMwwAAAB0cTB1MnZwbS4wdDMMAAAAb21ncW53dzEueTUxDAAAADIzcmVlbjI0Lngz
+ MgwAAAB6amVheWVzZy56dWsMAAAAZ2trd2x4MGYubnNvDAAAAHpzdWl2em1jLnRmMwwAAABvMmt4
+ bXBicS50bXEMAAAAdHBhbzNsMmgucG9zDAAAADBmbXozdHNxLndzcQwAAAA0dDIxaDB0Yi56dDIM
+ AAAAZXp1anB2ZXkuaWs1DAAAAHNoY2RzeW9nLmRlMwwAAABpdmt3ZWxteC5kaHoMAAAAc2JvNHRj
+ eXcuNHV3DAAAAHJzbnpkbWExLmFlcwwAAABjYXd3YW5pbi5nYncMAAAAajJvNXdkcncuZ3VrDAAA
+ AGF5MHVodG9mLnN5ZQwAAAAwYnQ0d2l6bi4yaWwMAAAAeHFtamtvNTUueGZwDAAAADVvdnlydHpt
+ LmQxawwAAABsY3VoaDR3cC5ldzMMAAAAYWJ6cGhhMTEuM2tkDAAAAHZ2MWVkcnI0Lm1rcAwAAAB1
+ aXEwajFrei5yNXcMAAAAeHFydWd2NG8uYWpkDAAAAHo0a3hibjVmLmJjcAwAAAB5ZGVzcGpjZy5p
+ ajUMAAAAb25yMHJvZGsubGN6DAAAAGoxd2Z3eGVhLnMyNAwAAAB0cDRtNXR0dC53bXgMAAAAcGpk
+ Y3Bzd3MuYWoyDAAAAGtrcXgza25qLmh2ZgwAAABwdHJubm5jeC41ZW8MAAAAc2I1MTJ5YmouM3Jj
+ DAAAAHExenBoamN2LmNpaQwAAABwdGNka2ZxYy55M2MMAAAAZGl5bmJjc2gueHR1DAAAAG8yYTFi
+ ZjVoLmJlMAwAAABwMDBhc2psci5rengMAAAAM3hwYnRmYXMub2R5DAAAAHNwZmZ3bHhwLjRtcQwA
+ AABjZGMxd25iay5sbWgMAAAAYjBvbm5ueTQueHkxDAAAAGJ0cXdrNWpmLnhjYgwAAABncTR4c3dx
+ dC54ZjIMAAAAeHNheHVzbmsua2pzDAAAAG9pYzE0azI1LnducwwAAABsdnpvdzRpMy5jNHYMAAAA
+ ankzbWtueGUuajJ0DAAAAGxnNXI1ZnFnLmJwNAwAAAAxZWFqZ2JsaS5tcGQMAAAAbzBydHh1Ymcu
+ MWdnDAAAAG1panliYXlrLjRtNAwAAAAxNW9wZjIydC56aW0MAAAAMGJlaDRta2QueWVrDAAAAHVj
+ c2pka3FxLmJpbAwAAABwbjRndzJwZC5nZXMMAAAAem92ajRqYjUuMXVhDAAAAGMyMjN6Y3JsLmlj
+ cgwAAABiamp0NWRhNC5heDMMAAAAMnl6a3Fvc3kuZ3Z5DAAAAGJrNGVwa2hrLnVhdQwAAABzbG40
+ cmZxYS5jMnAMAAAAdnB4aXh1dnEuMmR0DAAAAGtpdDJndzFhLmMzdAwAAAB3ZWowcGhmbi4xa2sM
+ AAAAdHh1aGhxcGUuNDEwDAAAAHhzeHR3NGgyLmZjdwwAAAAzZm4ycmR0NC5qZmMMAAAAYmdpMnN0
+ YTEuams1DAAAAGlxbmRvamJqLnA1YgwAAAB1cG4zYnh5bS53NTAMAAAAbmdkdDBybnIueGtzDAAA
+ AGN2M25tMjJlLmN3MQwAAABqZmZqeWE0bC41aWoMAAAAcmJhbXB0NGkub3JrDAAAAHdveTFvZ3N0
+ LmIyMAwAAABicHcyNHN6dy50am0MAAAAd3pmams0bDIuc2l0DAAAAHYxcXRtZzFlLnV0cwwAAABy
+ ajJjcWRycC5taDQMAAAAMGU0dWRxd3cucG9qDAAAAG5lazV6c25yLjB0MAwAAAA1am9zZG5oZi5n
+ dmYMAAAAbXd6aXA0MWkuaTQ1DAAAAGlqZmsxc2l0LjR3eQwAAAAxbXZ1eDFzcS55cHEMAAAAZnpi
+ Z2JocDUueW1xDAAAAHVpMTFkenFuLnR0bAwAAABqMTBiMDNsaS54NGMMAAAAMXJ4MHFuaXQueW96
+ DAAAADJzc2puMWF2LnptbAwAAAA0bWMxMzR4dy5yNGcMAAAAaXRlaTVxa3oudXZiDAAAAHIxMWlk
+ ZW5sLjBycwwAAABzaWoxMDU1eC50eGsMAAAAamIxMTJkYnQuY3Z2DAAAAGIwd2tncGFuLm5xawwA
+ AAAzNXBlamIzZC5mZDUMAAAAMm5oeHB4MmQudDNlDAAAADFkbnhrbzRxLmRhdgwAAABhdzB5cWZw
+ by4xbTIMAAAAb2U1MnN0cXguMnJsDAAAAHBubGhjd2t6Lmt4MwwAAAB4bGdvNHgxdy5odXUMAAAA
+ bzRrNHJvNW0uMmdiDAAAAGF1azJ3dHhnLmVmMAwAAAB3ZzBkYWwzZy50bXIMAAAAa2p4MGVyb2Eu
+ cGYwDAAAADJnNHlwdHVlLjMzegwAAABoMjNpeXJlZS5qaWoMAAAAaGR0dzNsZWouaHdyDAAAAG5z
+ Y3JjdXkyLjFkbgwAAABrY2ZudjJzcS5qMGUMAAAAMjJxMHB3MmwuNWZsDAAAAHhoZWd5d3Z6Lncx
+ YwwAAAByMnhzaTVtaC5wbzEMAAAAcHp2dTV5bXYudXh3DAAAADVxZGRrYmJiLnFnbgwAAAAzZnM0
+ ZDBnMS5qeHcMAAAAZW9meW9ueDUudHpoDAAAAHd2djRwcW0xLmV4dAwAAABweXZudXJ0ZC4zZGMM
+ AAAAaXhlNGF0czQudHEzDAAAADFycjMxNGcyLmQyeQwAAAA1YmRzeTR1cy4yMmQMAAAAamxiMGJ0
+ enIubGt3DAAAADR1MGhiYWQzLnhyNQwAAAB2dmdrbDJjby4yeXQMAAAAa2c1anNqNXIubG96DAAA
+ AGkyaDNoZ3NhLnhkMwwAAABudnVkMTNicC5iNTQMAAAAYnAza21yd3AuNHUzDAAAAHd3MGFzc3l4
+ Lmp6MQwAAABvaGJ1dXNwdS5ha3cMAAAAcmNpNHpxemQuNHNmDAAAAGZ1b2pmcTQwLmZ5dAwAAABt
+ YXBiazJpdS5jNHEMAAAAanUxdm8wbG8ubHF5DAAAAG1hMHNxZXRqLnF4cgwAAABxbnd1dGx6YS5n
+ eXkMAAAAamtybnJkdTMucW5vDAAAAGF2NHNsZ3cyLm5qNQwAAAB4a2xpamN2ai4zcjEMAAAAc3cx
+ YnZyMHIucWN3DAAAAHZydnI0amFwLnJkMwwAAAAzM2pqYXBhcS5xbGMMAAAAczFwZ3psaHgueXRw
+ DAAAAHBseDN3aWh0Lnp5bwwAAABwY2llMGp5Zi4ydGEMAAAAd3NocmV0dGYubzAyDAAAAHNyZXZ3
+ eGN4LmY0dwwAAAAyZjNleW4yeC5nc2MMAAAAZXF3MGFsZnUud2JrDAAAADBpdDFtZnhzLmpxMAwA
+ AABpbHl4dXR4ei5tNXoMAAAANHJobG9pcjAuaTAzDAAAADJ2b2NmZzNtLnhycwwAAABkd295eWll
+ aC5wZWMMAAAANWIycGk0NWEuZGk1DAAAAHlkbWRrMWJwLmtlaQwAAABqaWRjNW5paC41enEMAAAA
+ MDJnYjJ6aXQuM3VtDAAAAHE1ZmFjM2p6LnczaQwAAABnZmswc2JjMy5wYWsMAAAAd3Nnd3B0d2Iu
+ bG8xDAAAAGRtd3FycXpvLmthdQwAAAB5ZWVrbGp3YS5oZWwMAAAAdHpoNHN2dTIuaHp6DAAAAHBj
+ bXhrMWZuLjRseQwAAABjMWt1M3p2bS5hMXAMAAAAa2owMDExNWUudXZnDAAAAGJuNHN5cWdrLjBj
+ MgwAAAAyb21sNWJ2NS4zdGsMAAAAdzB5eHBjd3cubWwwDAAAAGQxZmNqYmsxLnFseAwAAAAzcmhv
+ M3Rkdy51MnoMAAAAb2FrdGoyZGMuZjVuDAAAAHoyaTF4MTIxLmY0eQwAAABra2lldXZ0NC5zY3gM
+ AAAAeHJweXVia3kub2NwDAAAADVieXR0Z29oLmRtMgwAAABkYXYzYmpvdi5waTIMAAAAb3NoaWh4
+ ZG8ueTFwDAAAAG0wYnJramU0LngwagwAAAB4ZHU1ZXg0cS5memUMAAAAeGVnNDBib2QudWp3DAAA
+ AHBnMXYzczJiLjN0egwAAABuc2FqdWY0ci52dGcMAAAAY3FrdWtzbHIuMjJwDAAAAGZ2dmh3aWs0
+ LjF0NAwAAABkanRudmJwdC5seHQMAAAAa3Nkdm1wMzEuenNzDAAAAGF3cHczZGpiLjBnZAwAAABw
+ b21kYzF0cS52amgMAAAAZHJqZm9pbnUuejQzDAAAAGYyc2NpaHI0LjJubQwAAABweWR1bGNpYi56
+ YzQMAAAAMDF3d3llNGcucGZzDAAAAGNxd2ZnaG11LnYydwwAAAB5anphNGJrbC5ocWcMAAAAbG5q
+ MmpyNW0udGJtDAAAAHl2MG9tcWl6LngxdAwAAABzYXNueWEyZC40d28MAAAAem5iejRoYmQubHoz
+ DAAAAHZ6MzFuYXNzLjM1cgwAAAAxc2I0bnlsZy5yejMMAAAAYTQzemVkaW4uMXYyDAAAAGV5YTUw
+ cnZmLmg1YQwAAABkMXV4YnFkMy53bjQMAAAAMHRsNTU0bWYuZnMxDAAAAHlmendwNHlxLnp5bAwA
+ AAAwYXNiZHJuci5yYXcMAAAAbjNqeXZrdnAuZ3doDAAAAHJja3A1c2ljLm1mawwAAABrZWVmcG1n
+ Yy50dGcMAAAAcXAwZXlrdDMucTRxDAAAAHowc3UwZ3c0LmxwaAwAAABkNWZ4cXpldS5ua2kMAAAA
+ bTVraGpscHcuZzMxDAAAAHRjMGtqeXF1LnV5ZQwAAABhaG5ncmlvdS56bWUMAAAAaGVxa2R1bHUu
+ dHE0DAAAAHlwZHZ3MXRtLnN0dQwAAAB2ZHc0NG4yMC5lcHkMAAAAbGN6aTQ1MnAuaWEyDAAAAGEw
+ cmY1azRwLnQwcwwAAABhcWg0YWc0bC5uZ2MMAAAAZWNwdWE1cWkubWd0DAAAADV3b25lcTUyLnJn
+ dwwAAAB3NW9rNWp2ZS5xbHcMAAAAMnpjcWJrZmEubGVvDAAAAGR1eXpvNXVlLjNuYwwAAABqNG9n
+ MnlzdS5sd2kMAAAAZGttcWp6ZTMuYjQyDAAAAGVmZ2FvcmRxLnhyeQwAAAA0bzNhY3B0ZC41c3EM
+ AAAAa2J5cHJpMm8ubGJnDAAAAGtxZ253ZXJ4LnB3dwwAAAB6dXRnenA1bi52enUMAAAAZHZycHZ5
+ M3EuejJzDAAAAHNidjFqcGh3LmdyYwwAAAB6ZDFoaDFsdy5wZGwMAAAAYW1veWtvZGkuNW9nDAAA
+ AG1uMWkzYjMzLmF5YQwAAAB2cHllbGFvci52M3IMAAAAeWpibmgwcGouMzF2DAAAADMwcndocHBs
+ Lmt1NQwAAABrdWJwcWxvYi53MXkMAAAAazNsZm9pbWEudGtmDAAAADNleGlsbXB2Lmp6aQwAAABs
+ YWF1bW1nby51em0MAAAAMHIwcTV0bHkud2ZwDAAAADN4YTBxZ2x5LmljcgwAAAA1NHBhMnBtdy5y
+ amkMAAAAYW9nZWs1dzEudzMzDAAAADNvZ2t3cWVvLmhpaQwAAABpZmxlaTFuMS5idGsMAAAAYmxk
+ d2R0b3Uudmk0DAAAAGFiMXNhdGo0Lm1xdQwAAABkd2ViZGwwbC5tcjIMAAAAYTRxZG94ZWsuajMx
+ DAAAAGszMHA1c2NuLnRsMwwAAAB1MHoxMHloby5pbXcMAAAAY3lrampkMWMuNGd5DAAAADVqM2wx
+ MHEwLnlmcgwAAABhdXF6cmp1aC5ld2QMAAAAemdubGx6bnUuc3FvDAAAAGI1ZjNmcWRpLjB5NQwA
+ AABzeWpobG9pby41YnMMAAAAcDVucm4weHkuMmkwDAAAAHVkeGxjdmdtLmpnagwAAAAzZmMwZXdi
+ bS5lYXUMAAAAejFkMHVvdDAudnNqDAAAADIzeTNzZnFjLmZnZAwAAABxMnRmYjB2ay5uMmQMAAAA
+ a2xieXcwczUuZ2ozDAAAADN0bWhjaHExLjFxdQwAAABjZXU1M2o1dy5rcXYMAAAAbWRjcGVld2Iu
+ NXhxDAAAAHl6MmFpd3k1Lm9scAwAAABidHZycTFiZy5jeXIMAAAAeXlhbGJ1Y3MuYW5nDAAAAHAz
+ eHRvcDFpLnFlZwwAAAB3ZXdrM2dmZC5uaW0MAAAAZm1qb2d4b2cuNTU0DAAAAGVydTJsbmowLnN1
+ dAwAAAB6bG5xa3hnYS53MHIMAAAAZXgxeDB1MXUuYnpuDAAAAHZmeGJidWFkLm5tNQwAAABidmo1
+ eWxwZC53ZnYMAAAAZW5rY3FzNTUudGx0DAAAAHdsZzBxcWh2LnNyZwwAAABvZWVrcjJ0eC51aXkM
+ AAAAdmh0aTB3cXAudWYxDAAAADV0cXh0enYzLnk0cgwAAAB4ZXdlbGRrdi56YXEMAAAAamJ4YzB3
+ dWkuMWlkDAAAAG9rdXB6MnN2LmhmaAwAAAB1MWJ5eDFlbi5taXIMAAAAaGhwejQyeHQuZ3F4DAAA
+ ADBxbDMzZXk0LmMwagwAAAA1bTVsbjVsbi4wdTIMAAAAcnN0a2JxdWwudWQyDAAAAG94MDQ1azFv
+ LmdtbwwAAAB0dWRrcW0wdS50dmwMAAAAY2ZjMWlvam8uNGluDAAAAGozcGM1c20wLm1sYwwAAABp
+ c2Q0MGpzdC50ZmcMAAAAazM0ZHdjd2IuejNtDAAAAHZleDV1c2RvLm1nYQwAAAB5ZWpnb2d4by55
+ bnAMAAAAdjRvbjB1bGwucHlmDAAAAHB3MmUwbHpzLjVnawwAAAB2enEzMW94Yi50djMMAAAAeHFz
+ MGthZ3QueTV4DAAAAGhyYmlrNGllLnNndgwAAABjZWtsNDBzaS5ycnkMAAAAMDV0Y3h0MmwucXo1
+ DAAAAHF4bHZnczFiLnVjbAwAAABnMndsNDBrMS5qeTIMAAAAdWExcnIxZGwudWVlDAAAAHFzdWdu
+ eXZmLnhycQwAAAB6bXoxd3V0dC40bzAMAAAAYTJuajNxZ3kuajR6DAAAADUxeW01YmhxLmVybAwA
+ AABpMXJsMnBlYi5odmoMAAAAcWJyanptcnUubWZqDAAAAHljNWdrZ3lsLm1wdAwAAABkZDV3dGh5
+ aS5xeGcMAAAAa3dlZHV2cG4uZnRhDAAAAGFqZDNkdjBoLmtqYwwAAABocGdudG5qaC56dHIMAAAA
+ eDRmYWF5b24uemd6DAAAAGRleDR4YjVsLnJtbQwAAAA1NWZvcXJybC4ybXUMAAAAd2lrdXB4b2ou
+ c2V1DAAAAHVkYWxnenR0LmMzbwwAAAA0czJ6aG15cC4waTEMAAAAMHB4MWRpY2wucWd3DAAAAHVx
+ YTF4bGRxLnQydgwAAAB1MXF1aHRzdi5xdXUMAAAAMnMycmJmdm8uanZpDAAAAGQ0bDQwbGJxLjUw
+ ZgwAAAB4YTNsajR3Yi5udHYMAAAAam9jZnc1dmQubG5tDAAAAHowYmNsa2R1LmNwawwAAAB3MGpv
+ Z3BzMS5hNXUMAAAAMDM0bDBvaDEuNWh2DAAAADNzY3Vzd2JzLnl3aQwAAABidXp6MmpuMi52MzUM
+ AAAAa2V0c2IyeHQuaXgzDAAAAG01a3RycmtsLmJmNQwAAABkeXVqMXRydC5rdXgMAAAAYzExcG9l
+ MDMuaHJjDAAAAGJvd2lyZDQzLmI0YgwAAAB6M2E1eDR6dS41em8MAAAANWw1MWswdGsueGRsDAAA
+ AGZzNXgyYWxuLmpkZwwAAABpcno1aHAxcC54dzEMAAAANDRobGZsdjQub2lpDAAAAHVzMzMyMDJy
+ Lm1tbQwAAAAwZGV2aGIwMC5lbm8MAAAAeWdva2FscHQubXpuDAAAAGx5ZmNscmh3LnJ0NAwAAABk
+ a3hrY2l1ai4zZnAMAAAAemtkbHNwcjEuaHQyDAAAAGE0aDNvMmFyLnBzNQwAAABxd2YwM2lxZC5o
+ ZmUMAAAAanl0cHZ2YWEudWYwDAAAAGFvdno1ZjRhLmlhMAwAAABjdjFlMnhvdS4xbngMAAAAbGFs
+ bzVncmoueWV6DAAAAHgzanRjbzRjLjJsaAwAAABycDR0c3ZibS5oa2kMAAAAeTB2MjM1eG4uMG5m
+ DAAAAG56eDR2MXBpLmNlMAwAAABocWFleXd2by5zazAMAAAAcXMwYmRudjEuNDVjDAAAAGhpM3p5
+ cjFsLmlidgwAAAB6YzJoM28xdy5iMnUMAAAAZ2F5eXo1dDUuNWNlDAAAAGZhZXEwdTNrLmZndQwA
+ AABtcmZwZ3FzdS5ldm4MAAAAY2hlbTRsb3kuZnMyDAAAAGlyc2xnb2hkLjVibgwAAAB2YWR0YXNs
+ aC5oeGIMAAAAZnhpMmwyeXAuNGdhDAAAAGd1aHFibjExLnVyagwAAABmcTJ5bmZiMS5tb3IMAAAA
+ Zm50aWR4dHEudDJjDAAAAHNxenZhcnQ1LnlmZgwAAABnbDEyZ2ZxMy5nZWYMAAAAcWNtYmpha2cu
+ cGc0DAAAAG4wanFyaDNjLnBtdQwAAABpNGdmdmN0Zy5sa3gMAAAAeW1vNXlsengudmt3DAAAAHZ1
+ bWFocGV0LmVqMAwAAABza254ZXVhby41eG0MAAAAdHF5bmFoaGcudW8zDAAAAG4zMm00aGVkLnRt
+ cgwAAAAwcHVpbjRwdy54NHAMAAAAbGgxZTBjM3QuamNlDAAAADBjeXBuZGVwLjNrdwwAAABrdWg0
+ NGp3aC53c3IMAAAAb3UzNDFwd2sud2lxDAAAAHBobWZtZ3dkLmlicAwAAABhc2szdXNzcy56YjUM
+ AAAAaHgwYzFnZmIudXQzDAAAAGFxaWloMGxlLnYyawwAAABleHVlaWVmZi5sc3gMAAAAa2pmMG9u
+ bmIueTNiDAAAADJ5dG1vZHpwLnMyZQwAAAB3NHczZjUyai5vaGEMAAAAajJuamJtZHEuMTRhDAAA
+ AG1xenExcGptLnM1NAwAAAA1ZjBvb2h4My4xamsMAAAAaWJxcjUwanAudmVnDAAAADFsM3phZ3F4
+ Lm80cQwAAABueGN4MzBpbS4wdDAMAAAAb3ZkYmVnZGcuMWRmDAAAADR3MTJncHAzLmRycwwAAABx
+ MnlkYjJtci4xNGQMAAAANWZyZHJqNG4udmduDAAAAGtua3B5MGtvLjFucAwAAAA0aW54a3YzZC54
+ eWgMAAAAYm1ucnBscWcuMHdxDAAAAHh5Z2U0ZDM0LjQ1eQwAAAAzbGN1aGZpcS4yYWYMAAAAeGtp
+ NXYxMGguZHkzDAAAADA0bWJzeWJzLnAzdQwAAAAzZXlpYjNqMi5sZ2sMAAAAeHlxZXE1ejMubTRh
+ DAAAAGtqcG9ud3hqLnNjYwwAAAA1a3EyYm0wby52azEMAAAAcnNjc21uNWkudzFuDAAAAHptNWtp
+ Y3JyLjV4ZgwAAAB3dGVvdHcxci54dW0MAAAAcXZkMDIzemguYmNwDAAAAHlranlrY3F4LnJqMAwA
+ AABqZHQxYnV0Zy41d2UMAAAAbW53ZjJnbXUuM3hxDAAAAG1nb2VrdTNhLnl3ZAwAAAA0bnAwdGdo
+ NS5ybWoMAAAANHF2c3JndnIudnBqDAAAAHhjZGN6cnl4LmZhcgwAAAA0azEwdnV6by56d3cMAAAA
+ b3NhZHYyeWouc2RnDAAAAGx4c2VsYXF2LjJjYwwAAAB2dGkyMDE0di4zY3YMAAAAaGNhMGx3cjMu
+ eGp0DAAAAGJqbnIxMHN6LnM1eQwAAABzcjVvZ25jNS5ocHMMAAAAYTJqaHRxeWIuczVjDAAAAGtm
+ ZG92aXptLmljdwwAAABvZDMzNDVvMS41MXoMAAAAY2VzM24zdjIudm53DAAAAHZycDBncG1mLnky
+ YQwAAAB2MDFmYWJsYi41djUMAAAAanIwZnRoYWYuNWJ1DAAAAG4xdnYxdHN1LjFpbAwAAABnZjFi
+ aDV6by5iNWkMAAAAY25sNHhpM3Uuc2NkDAAAAHMxaGpub2t0Lmx3agwAAABqbmE1em0wYy5hb3gM
+ AAAAY2phenp1bXguNXE0DAAAADVvaW81bWN4LnoxMQwAAABrbm41cW1ueS5kbDAMAAAAbTNkd3Jx
+ MmEuMnJ2DAAAAGJ3YmlmM20zLm94YgwAAAB0aXdpb3VsaS4yMmMMAAAAMXU1cjFuYXoueWhjDAAA
+ AG52MGgxNHRzLnBpeQwAAAB3cnNzY2htcy5obWEMAAAANXF4MG81MmIuZnlwDAAAAGJuNHJ6aXNy
+ LjV5cwwAAAB1cmZvMmJxYi51Y3cMAAAAc3ZlZ3Rpb2UuaWNzDAAAAGZ6aWpmcGpsLmMwagwAAABn
+ M3lwdTJobS5qanQMAAAAd2llaG1mejIuMTJkDAAAAGQ1eXViM3NuLmRoagwAAAAyZnZ3eGlsdi5p
+ d2gMAAAAdTV4NWtwMXguenJlDAAAADEyc3Q0MDVnLmJ4dQwAAABucWZtMWJvZS51ZG4MAAAAdGxh
+ czJ6Z2QuZWswDAAAAG0xdmhyMWl6LnhucgwAAAB6cHpuNHczeC5uM20MAAAAYnNqbDBudmkuaW5o
+ DAAAADJ0amlwd2J6LjR5NQwAAABnZ3BrZGxvdy5vd2QMAAAAZHpoM2NmYXguNWZmDAAAAGlnM2x0
+ ZWdkLjVpNQwAAAA1eTBnZWszdS5pMm4MAAAAa2JiZGEza3MubWl0DAAAAG1mbzF0amV4LjR5bAwA
+ AABlNXFpNXppYS5sMXgMAAAAeTRjNHZsM3EuMnF6DAAAAGRhZHhtMjN4Lmx4cQwAAAB6amlqZGV2
+ cS55bmEMAAAAM290ZXByancubW93DAAAAGQ1NXA0b3BjLng1aAwAAAB4bGE0NGYxaS5jbmIMAAAA
+ NTFiNWZndXkuaDB4DAAAAGdsb2RnM2lmLmlyMwwAAAAwZGR2anNhZS5vdWYMAAAAZG5qd25lcnYu
+ ZGZ4DAAAADRoYXA1c3ZsLmowMQwAAAB2a3JsbHFndS5zemcMAAAAMTEyYnFwcWYuaWMzDAAAAGtw
+ NHhyeWdmLm9tawwAAAB1dWx6bmFwdS4yaGQMAAAAb2V6cmgwc2kuajJ4DAAAAHNudnF3aGkxLml3
+ aAwAAAB6aWZsa24zcC5sMGoMAAAANGJ5ZnhkMDUucGJxDAAAAGRsc2Fpb2FzLmhzMwwAAAAweGZh
+ dDNxei5vYWkVABWO+gEVjvoBLBXQDxUAFQYVBhwYDHp6cTBrZnk0LnZibhgMMDF3d3llNGcucGZz
+ FgAW0A8YDHp6cTBrZnk0LnZibhgMMDF3d3llNGcucGZzAAAAAwAAANAPAQwAAABtZGlmanQ1NS5l
+ YTMMAAAANWRtdnFldmcuamswDAAAAHNmdGdtZ3N4LmIxZAwAAAB6cm9xdnM1dC5samkMAAAAYW8z
+ amF0bmMuMXZoDAAAAHUzYmZ1dmRsLjF3cgwAAABqcWN3M2VyMy5sdDIMAAAAc2gxc3doZXQuYncz
+ DAAAAGkwc3EzMDVvLmg1dQwAAAB1NTNjZWxhMC5zZ2IMAAAAemZybTVobHEud3J1DAAAAGN6Y2Nr
+ a3QyLnJpMAwAAABxMG40NTJlNC51bnkMAAAAanVvenVtYWEudmZ2DAAAADFtdGZvMTNtLnhlaQwA
+ AABjd3RhZWQyci5xZHcMAAAAM215czB5a2YuYWdqDAAAAHZlYXVpbTNtLjNhMwwAAAB1NHh1cWZx
+ ci5ubXEMAAAAbHd1aG5kbTAud2pmDAAAAGtqdXkycm50LnVqdAwAAABxeGNpd3JpMS5seDEMAAAA
+ bHBlYnRqNXcuZmMwDAAAAHp0aWoxcWNiLml5MwwAAAAzbXdyZXpwMi5xaTAMAAAAYXoyamF3M2Eu
+ Y2RmDAAAAHBjanpvdzF1Lm0wMAwAAAAzZHlxdmg0MS5wYWMMAAAAMGFqY3lkcHMuYTRkDAAAAGI1
+ MnJtY2htLnNoZQwAAABwczBzZGZzei5lcmMMAAAAZjUxdDNkaGIuanZjDAAAADV6cmhzYnpqLjF4
+ YgwAAABqMmxtZnpzMi5xZmIMAAAAcjBlcngxaXQuaXRyDAAAAGpiMGRzdTAxLnBlbwwAAAAzd2ow
+ ZGsybi5hczIMAAAAem5iemhnaXAuY2xxDAAAAG5xYmJwcHJ1LmZncQwAAABncDF4emYxZy4zeGQM
+ AAAAcm95ZG9udWsuYjJqDAAAAGVlZ2czY3FzLml0eAwAAABtNHYxd29sdC40bGgMAAAAcHV4MHp5
+ ZGMubHZsDAAAAGRiZGZtc3IyLmlrNAwAAAB1cXQ1c2EzaS5hbmsMAAAANWpjaWpoMWcua2dtDAAA
+ AHIwbm50eTRwLnFlMAwAAAA0eGMxcGMzai5vemYMAAAAZDN4dzNoZ2EuYWZkDAAAAHZlMHVtZnl5
+ Lms1agwAAABhcHljZ2h1aC5hbHIMAAAAY3l6Z2twaDQuM2ljDAAAAGJjZTJ5dmNxLmhhbQwAAABv
+ eGxhdGdudy5hdG8MAAAAdGpnb2tzZTIudTRzDAAAAGt1MWw1NDVkLnB3ZgwAAAB1Y2VhYmxjcS5o
+ dnUMAAAAc2x3dXZjaXkucXlmDAAAAG9seWMwcml2LmhuYgwAAAB3cmN6bXEwbC5yZ3cMAAAAc3F3
+ aTVla3UuZnl6DAAAAHdua2VzY25rLm5kbwwAAABoajRzbDVqMS5mdXkMAAAAczR4bmJoMmMudGgw
+ DAAAADVobHZvZ2l3LndtMQwAAABjcTBuNDVwei5mc3AMAAAAemYydndqaXIuZXVxDAAAADVqeHZk
+ NTMwLnp2NQwAAABqc2N2b3ljYy5xcWcMAAAAbHNqbnp2ZmIua3J3DAAAADRwYWliaHoxLnYxcAwA
+ AAB1cmkwMmFjMy5zYnkMAAAAbWc1cXdiMXEudGVqDAAAAG5sYmd5b2k1LmZkZwwAAABrM3ZiMW1v
+ by5xYWsMAAAAdmN5Z3FzcWUudXZiDAAAAGRobWFheWc1LnNrYQwAAAB0dW9sZ3lobS5seGQMAAAA
+ cW1mdXJrMWcucmNnDAAAAHMyZmdlMDAzLmNkMQwAAABpM25sY256dy4wNGwMAAAAc2UxNHJmeWwu
+ cG1zDAAAAHR0eW9kc251LjQ1ZQwAAABtcmQxamJ0Zy5uZjEMAAAAeWNtcG5ldzQueTFnDAAAAHd6
+ dmF6cHZqLmFoeAwAAAA1bXVyNGt2ei5mZWoMAAAAM2NoYnN6dmYubXl2DAAAAHBldGsyZzVxLmxn
+ ZwwAAAA1bTU0Zmdnby5rdjUMAAAAeXptczVvMHMuNTN6DAAAADB4NTRsZHN5LmdxdgwAAABnZWlz
+ emdhMS53ZnIMAAAAamExY2xhdHcuNWNpDAAAAG9ydHVzdnlwLnp1dwwAAAAyYTJueHNxbS5hdHIM
+ AAAAeW5sNXR0eWgubTVsDAAAAG5xY2k0bjUxLjM0dAwAAABrMjRraXpsZC50aXQMAAAAcHBwZmNw
+ MmQuenRxDAAAAGtnbGl5ZXN0LmFmdgwAAAAzbGFlb25nbi5qenoMAAAAaDA1djA1YnQuc253DAAA
+ AGVrZGp0Y3U1LjNicAwAAAA0dmp3eTJhei5kc3cMAAAAYzR3MjF6ZXAuYWNzDAAAAG1hZmtrdGh1
+ LjN5dAwAAABqaDV2ZGx6eC54aGIMAAAAanYzZ2lhMDAuemFxDAAAAGxucjAxemRkLmh0eAwAAABt
+ bmNkZjRudS5idnQMAAAAY3l1ajNjcjUuYmVhDAAAAGt2cG5kem94Lm1vbQwAAAAyZjB0c2Vuby5t
+ NWkMAAAAcTJvbGRtbDQuZHlyDAAAAHFqMTBqY3BjLmhrdwwAAABjMXZ3bWtvYi56azUMAAAAdWRt
+ NGFiMXMuM3FtDAAAAGtxZ2I1ZndsLnV6MwwAAABla21uYjBoZC55c3IMAAAAYWdqYnNrbnIuMmd5
+ DAAAAGZwNGRqamxsLm1meQwAAABibzVkZW1oeC5taHcMAAAAcnppZ29ldWkuYnhkDAAAAHhhZmUw
+ aWlrLnQ1ZQwAAABybXZreHN6ZS5id2EMAAAAaHRxNWZndm8uaGdlDAAAAGczeXBicGprLnY0ZQwA
+ AABtbXYwb3lieC5rM2cMAAAAZGhqMGIxY3kudm5tDAAAAGJoYm5kZGRjLnp1cgwAAABid2NicDQx
+ ZC55dG4MAAAAZGhoZ2d0dGkuMWhrDAAAAHFwa3J2MW40LmlvcAwAAABnMGNsdDUxbS5wYnEMAAAA
+ bnhsbGRhYW8ua2RwDAAAADBucTV0Y3J3LmpldAwAAAAzNDAzbW9tai5nbGgMAAAAcG1kNHp6aGsu
+ eXJzDAAAAGYxcmMwNGp0LjFrbAwAAAA0dXhmc2loaS5tMHUMAAAAZWx6Z2t4dmoucmplDAAAAGxr
+ dmY1b3gyLmpqMAwAAABhejIyNG1qci5zZ24MAAAAemYwemFwdW0udnZjDAAAAGNjZnBqMG95LjRp
+ ZgwAAABtazB4dXZ5MS5pMjEMAAAAMjRmbjJ6eHIudGtqDAAAAG96eWZ1b3JuLjFybgwAAABhdnN3
+ dTF2Zy5vYXMMAAAAcmNtaHhvczMucnptDAAAAGhyajVmZ3NnLjM1MQwAAAB0eWlibmV5bC54aHQM
+ AAAANXIzZHV6b2cuamlnDAAAAHBuMXJ5ZWFnLmV1bAwAAAB6MmFsbXJ6ZS5tdHkMAAAAenpxMGtm
+ eTQudmJuDAAAAHJ0cTBkZG9nLjV1ZwwAAAB3ZXRlc2hteS5kYW0MAAAAZWc0M2tvMG8uamhnDAAA
+ AHNxaGdhaW1wLnQ0YgwAAAB6cDRtdmh1Yy5xbW0MAAAAM2dnd3F3aHYuZ3MzDAAAAHd1emNxb3Z4
+ LmZqMgwAAAAxbDFtNDFiai5nZHcMAAAAdnFib3FrcHQuMzJ2DAAAAGU1bTR0MmVxLnhsNAwAAABm
+ MXhtMTN6eS5langMAAAAMXNlcTVjaG0ub3BoDAAAAHgzYmt3Z3JyLjViYQwAAAA1MXNqeWNncy51
+ bWgMAAAAMHNrdmJvanEueTBoDAAAAHo0anJ5YmYwLmVvbAwAAABxaXNmbDRsci5iZXEMAAAAb2xm
+ Z2RhYnoud3djDAAAAGFnem1oeHV1LmN3aAwAAABiNXB4bTR2dy5yamIMAAAAbTBzb28xanYubG5x
+ DAAAAHJ4dWJ2dmdwLnhnZgwAAAB0MzJuM3huZS5kZWgMAAAAdWZvMG1sNWsuanphDAAAAGJqZmQ0
+ cWNvLjRtZAwAAABkdnJmZW0ycC51bGgMAAAAdGJ6Z2loM3YudHQ1DAAAAGlmeTJlcHVrLnNxNQwA
+ AABmYWlsMzVieS5ycTMMAAAAbTVlZ24yZmsuYWllDAAAADBsaGlrbHFrLm9iegwAAABsb3h0eHlv
+ dS4wMWcMAAAAbXYzcm5lZW8ucmljDAAAAHI0cnpyeWkyLnF3NQwAAABxcmJsMDVxei4wNWUMAAAA
+ YXcycHJqYmEubTNhDAAAAGJoZ3l2aXZqLmNiMwwAAABkbHhlcTVjMC5vcnYMAAAAbjN2MDRyaHAu
+ YWV4DAAAAGQxcXZ1ZmltLnBidwwAAABveWVyanp2dS5wZm8MAAAAbnVheGtib3YucXB1DAAAAGtk
+ eWRhcWlyLndjcgwAAAB3YTM0Y3VrMy5iZGcMAAAAZTVuMWl4anoud3JrDAAAADJycmk0MXBqLmV2
+ cgwAAABoeHJqNHJzZS54Y20MAAAAdzQxanFwemMueDF4DAAAAGJqbTJhdTNyLnR5eQwAAAB5eTFi
+ eDNtZS5tbHgMAAAAZ2I1MG11bzUudTNoDAAAAG1pd3Z3anQ0Lmo0aQwAAABxY3JpbWFoby5jbnYM
+ AAAAdWdlc3R5dzEudXBsDAAAAHNqczJ1NGVwLmdlMwwAAAB6NWZqc2N3Yi41NWIMAAAAaGxmeDFn
+ cXMucTRqDAAAAG0zbnduMGUyLmhscAwAAAB2cm9iendrMS50cG0MAAAAaGFyYXF2ZGYuZDBkDAAA
+ AG16YTR0NXNnLnV1dgwAAAAwaGh2cGpkNS55bXAMAAAAcHByanQxbWIuZ3RzDAAAADE0dnJkemEy
+ LnhtcwwAAAAzbWltdnF1bi5odTAMAAAAa2NsbGdqdGUuY2I0DAAAAHN6eGdsYWlqLjJvdAwAAABu
+ bWg0bmg1MS4xbjAMAAAAZ2Zyb3ZieGwucWJtDAAAAGUwbnBsbndqLnlzZQwAAABkYWhodXF2Mi4z
+ b3IMAAAAcHhuMXQzemkuYWNnDAAAAHl0MDBodGtrLnd0dwwAAABwend4NTIzMi5ocWcMAAAAbXJ1
+ eWx6dHQua3BiDAAAADBiaWNzeXFvLmJxZAwAAABndnpwbnZ4cC5xbGwMAAAAM3V6bDFmaXUucmYy
+ DAAAAG9mZGptbnN2LnVodAwAAAAyeWhndHVzei4xa2YMAAAAMXcwYnhkY24ucHgxDAAAADFwbWx3
+ Ymt2Lml3MwwAAAB5ampoa3Fsbi5pdWIMAAAAMHh3MW95bG8udHdlDAAAAGtteml4cTR3LnUzcAwA
+ AAB0djEzd3F2eS55dWIMAAAAb2EyZzNlanQucmlmDAAAAGViZXBnanc1Lm10cQwAAAAyZnkxMzAz
+ Zy5ueXUMAAAAMGM1dXR1bWYuM3RzDAAAAGZuY3RrY2JnLmMwYwwAAABibmtzZXdzZy53em0MAAAA
+ eXlpajEwMW8ucGlqDAAAAHA1anlkbHI0Lmh2MgwAAAAzaXBjZGF3dy5hcXIMAAAAMDRtdzV6MnMu
+ dW0wDAAAAHdjdHBua2ZoLjJ1bQwAAAByenBxc2JzMC41dGEMAAAAdmFoeHF6MGMuMnBtDAAAAHZy
+ MHNza29yLm4ydwwAAAB4dDUwMHUyYi5yaGsMAAAAY3ZpeTI0ZHguY2t6DAAAAHU0c3dkb2x4LnFq
+ ZwwAAABqc2V0emMwZS5qaGUMAAAAaGI1NGIxdGkuM3F2DAAAAGVyNXFzcHZyLnUxMAwAAABibzRp
+ MnNmdi53MnUMAAAAbXpwdnNudWIua2xoDAAAAGtrMG14djBmLnNsbgwAAABjemJlbGVqZy5xaXEM
+ AAAANXhob2txNTQuY29qDAAAAHVyaWhzbjR5LmVreAwAAAB2dGFtaWl2MC5sd2IMAAAAbHhhc3g1
+ eTQuejMyDAAAAG12dnJ2czFuLmRodQwAAAB5ejJxa2h3ZC50ZGUMAAAAeGwyYWd6dHYuMXNmDAAA
+ AHZnNGNybm0yLjNjYgwAAABrNTVmNWtwcS55cWIMAAAAa2RlbGI0bWkucWNtDAAAADN4NWxldGk0
+ LmtkYgwAAABqd3FnYnVtYi5pcnQMAAAAaGVkbHlpNXQud3FsDAAAAGZ0ZXRzM2tvLmhtbAwAAABy
+ Z2MzdjN5cC4xY3AMAAAAZ3BoMzNqcGwudHoxDAAAADR1eDNzd2l5LjNhMgwAAABuY211d3V1MS41
+ ZjAMAAAAaGhrYjBrdzAueWkyDAAAAHZobG1ha3VwLmhzaQwAAAAyd3dkdXFzdy50dzEMAAAAamJm
+ Z3FxeDUudHoyDAAAAG80dWk0a2RyLnAybQwAAAB4aWd3ZHBxZS4zencMAAAAamIwemtsbDEuMmFo
+ DAAAADB3eHBpZWlpLmVndAwAAABuNDNudG81NS5ueWYMAAAAeW1ocjFxeDUuMW9yDAAAAGY0bGZ3
+ b3hpLm50ZgwAAABuemZyYmJ2eC5weXkMAAAAeWhyNXZvaXouMnVvDAAAADN5NXAyZXp3Lm55YwwA
+ AABuNXFnYWgxbS5vM28MAAAAcDNzMWUwMWQua2pnDAAAAGVxZDFoa2NhLnkzbgwAAAB2YTN1Y251
+ ay4yMXAMAAAAYWVrYTE1Z3EucXFkDAAAAGNwdDNvNGZhLnhzdwwAAABsMXMyZ3Fhay52cWQMAAAA
+ anJvM2hzcDMuMmYzDAAAAGJzZ2FhdTBvLnBvawwAAABybHgxZGVoaC56eHoMAAAAdmZlNGlibmMu
+ YjJyDAAAAG5paTFtc3YzLnBzdQwAAAA1cWtkbnR5ci5xa3QMAAAAa2Yxa3Yxb3kuaGsyDAAAAHh1
+ bmd3dWlqLnViMwwAAAB2Ymx3MndldC5rcm0MAAAAanFkZ29tNWEudmMxDAAAAHk1amtjbG4zLmxw
+ NQwAAABqcW1xeWVkdy5naWEMAAAAMW9qYjIwaWEudnRqDAAAAHRmaXZkdjIxLmF4MAwAAABwaWQw
+ aHpwcy5kdjUMAAAAd2ZnY2RxNGYueG8yDAAAAGNicDA1eG0yLnM1MAwAAABhMjAxYXBodi4wZjQM
+ AAAAZGwxMnl6bXIuZWJmDAAAAHgwZXZ5dHFyLmEydwwAAABnZm91NHlrMS55NXQMAAAAdzJqZHZs
+ MmIuZmJ3DAAAADJ4a3c0eHhyLnVpawwAAABneHFsaWdsMi5scHMMAAAAanN5dXl1emguZGhyDAAA
+ AGRkem5lMGpnLmV2NAwAAAB6d3pkdXBjcy5mMWMMAAAAbHZzYWFsYzEubWxqDAAAAHhheDBhZTVl
+ LnpjeAwAAAByZmRncm4xZS5yZHYMAAAAc201MnV4bm0uYjMwDAAAADF2cWt5NWZhLm54ZwwAAAB5
+ Y3lreGVnYy4zYmwMAAAAajNqMnV5ZGIuZ3JmDAAAAGh6aHozNG1mLnB6NAwAAABhMHJzaWUxci5p
+ cTUMAAAAMGp1cmoyMWkuNDAzDAAAADAyM3c0YnJ4LjNzMAwAAAA0em95YjRzdy4zbXMMAAAAcGlv
+ MnM1MHAueGprDAAAAHBpYWpibXpyLmgzcgwAAAA1ZDMxeW5ndS54a3IMAAAAZ2dlMGMwdWEucmsw
+ DAAAAGpvZHIxbHVjLmk0cAwAAAAxcmNrZDN5NC5pbWoMAAAAeGxhbXhwZ3YuMWp0DAAAADJlMGsz
+ MWJwLm4xdAwAAAB1MW1sazF3NC52bjIMAAAAa3Y1YWhldmoudjBuDAAAAGMwdDVyMm9jLnI1cAwA
+ AAB4d20wdGt2bS5xbHkMAAAAdWpqcW9pM3IuamoyDAAAAG5sdHl0amd4LjN3YQwAAABoZmF4Mnhy
+ di5yc3YMAAAAdmdyYnlxdXYucXQ0DAAAADFqc3d4YWh3Lnk1awwAAAAza3Ftb3d3di5ia24MAAAA
+ ZDFocWk1dmMuY20yDAAAADFxMGRseGNpLmhjcgwAAABkemJsazRyai52ZHYMAAAAZ3loeDBwNXQu
+ ZGlzDAAAAGNsaWY1b3h2LnQwbgwAAABwYm52dzJ2Yy5oMDUMAAAAaWUxajNldXoudmMyDAAAAGNq
+ cnNjaWp3LmJzcAwAAAAxcGxtbjN3ai5kZzIMAAAAd3BxeW15cWMuZXBvDAAAADNteGpyYTBhLjVu
+ dAwAAABhcGxhZTVocS5ibG0MAAAAc3VjajQwcG8uMzRjDAAAAHpiY2twcDQzLjV1agwAAABhbG5s
+ YjRlNS5ibnkMAAAAYWl3amdzcWUuZW1mDAAAAGswbzFsbTUwLmNxYwwAAAA0cm1tbDVlYi5xZXAM
+ AAAAYXBpbWdvdGYueXE0DAAAAGF6b3Jwd2QwLmR3NQwAAAB5M2x0ZGkzYi5xZXMMAAAANHhvbHRm
+ cDAuZDV0DAAAAGhocDI1d2FpLnFxMAwAAAB4Y21obGJ6NS5paXIMAAAAbnpqd3p6MGYudmprDAAA
+ AHhyMTFmNHVuLjJidQwAAAB3ZGhqeHBuei5neG0MAAAAMnh5bGlsM2wuazF4DAAAAHZzMXZqd2cx
+ LmdqMgwAAABrMHRzbjRmaC5va2wMAAAAZDFqb2N6MmQuaHljDAAAAHF2MmpucTVzLmx5ZAwAAABx
+ ZHpwNWRyby4xcXcMAAAAa2ZhYmkzdHYuaXRmDAAAAHB5NG9xeWRiLjJ6MgwAAAAyNGV0dGMwdS53
+ MGgMAAAAZGZkNDN6dHcubWlyDAAAAGF6Zno1eWk0Lm8zagwAAAAzdDV1d2Ruby5tdHoMAAAAb3ls
+ ZjF4aHguZ2RqDAAAADR5bnAwdmFuLnpidQwAAAA1enF4bXZqcC4yNTUMAAAANXFnc3F0Y2QuMmpk
+ DAAAADRuMm5kMGlvLm53ZAwAAAAxMm1qNWlrdy4yY3MMAAAAY3ZvZnd1dmwucXhnDAAAADBobHU1
+ ZnJ1LmRjcwwAAAB4NGpoNXBkci51bzUMAAAAcWRxNHdib24ucWFyDAAAAGhvMHBhbHF4LnNocgwA
+ AABhMmJ0bWJ5YS5xZ2UMAAAAbGk1b3NwamouMGxsDAAAAHpldGgyMTFkLjBoYwwAAABsY2Y0NXky
+ bi52bjQMAAAAZXpvemI0M2suYTR6DAAAAHR1ZHVoanlyLmdnbwwAAABuZHBqaXJneC5rbHUMAAAA
+ MnBsbXVrdHIuYnB4DAAAAGhmeGxnb3RjLmcxYwwAAAB2cGtiMTF5Zy5pMHEMAAAAcW4ybmpvMTMu
+ Z21sDAAAAHJpY2o0eGs1LnBqbQwAAABqZ2RuMmN5Zi4zYW4MAAAAZDB3aGk0djEuY2wwDAAAAHAx
+ bGdncnVzLnB5bAwAAABqb3R3cW95ei5jZjUMAAAAM3p1cnZ3Y2oueWZnDAAAAGkxcGFkdnVuLm96
+ bgwAAABhdGhucnJ6di5pdG8MAAAAc2Nmc21zZzQuc2lsDAAAAGdxZGp0MXNtLnZ4bAwAAAAzMG1i
+ aDNraS5rYm8MAAAAZzRoZnNoYWwuY2JpDAAAAHZlbmptanFtLnRmegwAAABhNTVpdnQ0My5zcWoM
+ AAAAbGY1cG14YXguYWJ6DAAAAGdtb3cwcmI0Lm13egwAAAByM3Nlemh6ai5xZzIMAAAAMGN2NHh6
+ dzUuaXU1DAAAAHlzMjMzZm52LmNscAwAAABzaDJuZ2Fvdi5lY3QMAAAAbXFudG4ybXEuend2DAAA
+ AG8ydHFzM2NuLjBxcgwAAABycnF5ZWt6di5pcnQMAAAAcDVxMXkzdmQucDV5DAAAAGUzYzVtY29q
+ LmExcAwAAABtNXNxd2Nkai5vbHkMAAAAeW1uaG40bGguZ2lpDAAAAGZ0ZmJrbXlyLmoxMgwAAABo
+ c3ozcWdoNC53MTMMAAAAZWN0Zm9paHMuenV1DAAAADVsbHl5b2dhLmp0cgwAAAB2cmd5Mnl0eC5k
+ MzMMAAAANXA1YW1ja2wuam1sDAAAAGdrZXpkZmNzLjAwdQwAAAB0MzF2eHViaS55cmIMAAAAZzJ1
+ MzJrenQudGllDAAAAGEzdG9nZnBjLjJ4MAwAAABrYzM1cDF2bC4wMXYMAAAAaml0MW9zNXcuanVj
+ DAAAAGVia3h2bXExLjJ0aQwAAABqYnd6cXVvbC54cDAMAAAAaHJrM2JwaHYuaW5qDAAAAHkweWNj
+ bTQxLnQxbAwAAAB3aW55a2FtZy5rMjMMAAAAaGtpamsxNTMuZTRwDAAAAGd4ZHprY3phLm1zbgwA
+ AAAzaWtwa2tteC5xZjIMAAAAYnRoc2dnNXQubnl4DAAAAG50M21pdGJ0LmowNQwAAABwamdpNTBu
+ MC41cWYMAAAAM25uZGNobWcueXZrDAAAADRhaXdwMWVhLjI1dAwAAABobXhjMmxqcC5ja3cMAAAA
+ d2lveTF5bmIuZ3gxDAAAAGdjdDNqbzEzLjJwMwwAAAB0cTB1MnZwbS4wdDMMAAAAb21ncW53dzEu
+ eTUxDAAAADIzcmVlbjI0LngzMgwAAAB6amVheWVzZy56dWsMAAAAZ2trd2x4MGYubnNvDAAAAHpz
+ dWl2em1jLnRmMwwAAABvMmt4bXBicS50bXEMAAAAdHBhbzNsMmgucG9zDAAAADBmbXozdHNxLndz
+ cQwAAAA0dDIxaDB0Yi56dDIMAAAAZXp1anB2ZXkuaWs1DAAAAHNoY2RzeW9nLmRlMwwAAABpdmt3
+ ZWxteC5kaHoMAAAAc2JvNHRjeXcuNHV3DAAAAHJzbnpkbWExLmFlcwwAAABjYXd3YW5pbi5nYncM
+ AAAAajJvNXdkcncuZ3VrDAAAAGF5MHVodG9mLnN5ZQwAAAAwYnQ0d2l6bi4yaWwMAAAAeHFtamtv
+ NTUueGZwDAAAADVvdnlydHptLmQxawwAAABsY3VoaDR3cC5ldzMMAAAAYWJ6cGhhMTEuM2tkDAAA
+ AHZ2MWVkcnI0Lm1rcAwAAAB1aXEwajFrei5yNXcMAAAAeHFydWd2NG8uYWpkDAAAAHo0a3hibjVm
+ LmJjcAwAAAB5ZGVzcGpjZy5pajUMAAAAb25yMHJvZGsubGN6DAAAAGoxd2Z3eGVhLnMyNAwAAAB0
+ cDRtNXR0dC53bXgMAAAAcGpkY3Bzd3MuYWoyDAAAAGtrcXgza25qLmh2ZgwAAABwdHJubm5jeC41
+ ZW8MAAAAc2I1MTJ5YmouM3JjDAAAAHExenBoamN2LmNpaQwAAABwdGNka2ZxYy55M2MMAAAAZGl5
+ bmJjc2gueHR1DAAAAG8yYTFiZjVoLmJlMAwAAABwMDBhc2psci5rengMAAAAM3hwYnRmYXMub2R5
+ DAAAAHNwZmZ3bHhwLjRtcQwAAABjZGMxd25iay5sbWgMAAAAYjBvbm5ueTQueHkxDAAAAGJ0cXdr
+ NWpmLnhjYgwAAABncTR4c3dxdC54ZjIMAAAAeHNheHVzbmsua2pzDAAAAG9pYzE0azI1LnducwwA
+ AABsdnpvdzRpMy5jNHYMAAAAankzbWtueGUuajJ0DAAAAGxnNXI1ZnFnLmJwNAwAAAAxZWFqZ2Js
+ aS5tcGQMAAAAbzBydHh1YmcuMWdnDAAAAG1panliYXlrLjRtNAwAAAAxNW9wZjIydC56aW0MAAAA
+ MGJlaDRta2QueWVrDAAAAHVjc2pka3FxLmJpbAwAAABwbjRndzJwZC5nZXMMAAAAem92ajRqYjUu
+ MXVhDAAAAGMyMjN6Y3JsLmljcgwAAABiamp0NWRhNC5heDMMAAAAMnl6a3Fvc3kuZ3Z5DAAAAGJr
+ NGVwa2hrLnVhdQwAAABzbG40cmZxYS5jMnAMAAAAdnB4aXh1dnEuMmR0DAAAAGtpdDJndzFhLmMz
+ dAwAAAB3ZWowcGhmbi4xa2sMAAAAdHh1aGhxcGUuNDEwDAAAAHhzeHR3NGgyLmZjdwwAAAAzZm4y
+ cmR0NC5qZmMMAAAAYmdpMnN0YTEuams1DAAAAGlxbmRvamJqLnA1YgwAAAB1cG4zYnh5bS53NTAM
+ AAAAbmdkdDBybnIueGtzDAAAAGN2M25tMjJlLmN3MQwAAABqZmZqeWE0bC41aWoMAAAAcmJhbXB0
+ NGkub3JrDAAAAHdveTFvZ3N0LmIyMAwAAABicHcyNHN6dy50am0MAAAAd3pmams0bDIuc2l0DAAA
+ AHYxcXRtZzFlLnV0cwwAAAByajJjcWRycC5taDQMAAAAMGU0dWRxd3cucG9qDAAAAG5lazV6c25y
+ LjB0MAwAAAA1am9zZG5oZi5ndmYMAAAAbXd6aXA0MWkuaTQ1DAAAAGlqZmsxc2l0LjR3eQwAAAAx
+ bXZ1eDFzcS55cHEMAAAAZnpiZ2JocDUueW1xDAAAAHVpMTFkenFuLnR0bAwAAABqMTBiMDNsaS54
+ NGMMAAAAMXJ4MHFuaXQueW96DAAAADJzc2puMWF2LnptbAwAAAA0bWMxMzR4dy5yNGcMAAAAaXRl
+ aTVxa3oudXZiDAAAAHIxMWlkZW5sLjBycwwAAABzaWoxMDU1eC50eGsMAAAAamIxMTJkYnQuY3Z2
+ DAAAAGIwd2tncGFuLm5xawwAAAAzNXBlamIzZC5mZDUMAAAAMm5oeHB4MmQudDNlDAAAADFkbnhr
+ bzRxLmRhdgwAAABhdzB5cWZwby4xbTIMAAAAb2U1MnN0cXguMnJsDAAAAHBubGhjd2t6Lmt4MwwA
+ AAB4bGdvNHgxdy5odXUMAAAAbzRrNHJvNW0uMmdiDAAAAGF1azJ3dHhnLmVmMAwAAAB3ZzBkYWwz
+ Zy50bXIMAAAAa2p4MGVyb2EucGYwDAAAADJnNHlwdHVlLjMzegwAAABoMjNpeXJlZS5qaWoMAAAA
+ aGR0dzNsZWouaHdyDAAAAG5zY3JjdXkyLjFkbgwAAABrY2ZudjJzcS5qMGUMAAAAMjJxMHB3Mmwu
+ NWZsDAAAAHhoZWd5d3Z6LncxYwwAAAByMnhzaTVtaC5wbzEMAAAAcHp2dTV5bXYudXh3DAAAADVx
+ ZGRrYmJiLnFnbgwAAAAzZnM0ZDBnMS5qeHcMAAAAZW9meW9ueDUudHpoDAAAAHd2djRwcW0xLmV4
+ dAwAAABweXZudXJ0ZC4zZGMMAAAAaXhlNGF0czQudHEzDAAAADFycjMxNGcyLmQyeQwAAAA1YmRz
+ eTR1cy4yMmQMAAAAamxiMGJ0enIubGt3DAAAADR1MGhiYWQzLnhyNQwAAAB2dmdrbDJjby4yeXQM
+ AAAAa2c1anNqNXIubG96DAAAAGkyaDNoZ3NhLnhkMwwAAABudnVkMTNicC5iNTQMAAAAYnAza21y
+ d3AuNHUzDAAAAHd3MGFzc3l4Lmp6MQwAAABvaGJ1dXNwdS5ha3cMAAAAcmNpNHpxemQuNHNmDAAA
+ AGZ1b2pmcTQwLmZ5dAwAAABtYXBiazJpdS5jNHEMAAAAanUxdm8wbG8ubHF5DAAAAG1hMHNxZXRq
+ LnF4cgwAAABxbnd1dGx6YS5neXkMAAAAamtybnJkdTMucW5vDAAAAGF2NHNsZ3cyLm5qNQwAAAB4
+ a2xpamN2ai4zcjEMAAAAc3cxYnZyMHIucWN3DAAAAHZydnI0amFwLnJkMwwAAAAzM2pqYXBhcS5x
+ bGMMAAAAczFwZ3psaHgueXRwDAAAAHBseDN3aWh0Lnp5bwwAAABwY2llMGp5Zi4ydGEMAAAAd3No
+ cmV0dGYubzAyDAAAAHNyZXZ3eGN4LmY0dwwAAAAyZjNleW4yeC5nc2MMAAAAZXF3MGFsZnUud2Jr
+ DAAAADBpdDFtZnhzLmpxMAwAAABpbHl4dXR4ei5tNXoMAAAANHJobG9pcjAuaTAzDAAAADJ2b2Nm
+ ZzNtLnhycwwAAABkd295eWllaC5wZWMMAAAANWIycGk0NWEuZGk1DAAAAHlkbWRrMWJwLmtlaQwA
+ AABqaWRjNW5paC41enEMAAAAMDJnYjJ6aXQuM3VtDAAAAHE1ZmFjM2p6LnczaQwAAABnZmswc2Jj
+ My5wYWsMAAAAd3Nnd3B0d2IubG8xDAAAAGRtd3FycXpvLmthdQwAAAB5ZWVrbGp3YS5oZWwMAAAA
+ dHpoNHN2dTIuaHp6DAAAAHBjbXhrMWZuLjRseQwAAABjMWt1M3p2bS5hMXAMAAAAa2owMDExNWUu
+ dXZnDAAAAGJuNHN5cWdrLjBjMgwAAAAyb21sNWJ2NS4zdGsMAAAAdzB5eHBjd3cubWwwDAAAAGQx
+ ZmNqYmsxLnFseAwAAAAzcmhvM3Rkdy51MnoMAAAAb2FrdGoyZGMuZjVuDAAAAHoyaTF4MTIxLmY0
+ eQwAAABra2lldXZ0NC5zY3gMAAAAeHJweXVia3kub2NwDAAAADVieXR0Z29oLmRtMgwAAABkYXYz
+ Ympvdi5waTIMAAAAb3NoaWh4ZG8ueTFwDAAAAG0wYnJramU0LngwagwAAAB4ZHU1ZXg0cS5memUM
+ AAAAeGVnNDBib2QudWp3DAAAAHBnMXYzczJiLjN0egwAAABuc2FqdWY0ci52dGcMAAAAY3FrdWtz
+ bHIuMjJwDAAAAGZ2dmh3aWs0LjF0NAwAAABkanRudmJwdC5seHQMAAAAa3Nkdm1wMzEuenNzDAAA
+ AGF3cHczZGpiLjBnZAwAAABwb21kYzF0cS52amgMAAAAZHJqZm9pbnUuejQzDAAAAGYyc2NpaHI0
+ LjJubQwAAABweWR1bGNpYi56YzQMAAAAMDF3d3llNGcucGZzDAAAAGNxd2ZnaG11LnYydwwAAAB5
+ anphNGJrbC5ocWcMAAAAbG5qMmpyNW0udGJtDAAAAHl2MG9tcWl6LngxdAwAAABzYXNueWEyZC40
+ d28MAAAAem5iejRoYmQubHozDAAAAHZ6MzFuYXNzLjM1cgwAAAAxc2I0bnlsZy5yejMMAAAAYTQz
+ emVkaW4uMXYyDAAAAGV5YTUwcnZmLmg1YQwAAABkMXV4YnFkMy53bjQMAAAAMHRsNTU0bWYuZnMx
+ DAAAAHlmendwNHlxLnp5bAwAAAAwYXNiZHJuci5yYXcMAAAAbjNqeXZrdnAuZ3doDAAAAHJja3A1
+ c2ljLm1mawwAAABrZWVmcG1nYy50dGcMAAAAcXAwZXlrdDMucTRxDAAAAHowc3UwZ3c0LmxwaAwA
+ AABkNWZ4cXpldS5ua2kMAAAAbTVraGpscHcuZzMxDAAAAHRjMGtqeXF1LnV5ZQwAAABhaG5ncmlv
+ dS56bWUMAAAAaGVxa2R1bHUudHE0DAAAAHlwZHZ3MXRtLnN0dQwAAAB2ZHc0NG4yMC5lcHkMAAAA
+ bGN6aTQ1MnAuaWEyDAAAAGEwcmY1azRwLnQwcwwAAABhcWg0YWc0bC5uZ2MMAAAAZWNwdWE1cWku
+ bWd0DAAAADV3b25lcTUyLnJndwwAAAB3NW9rNWp2ZS5xbHcMAAAAMnpjcWJrZmEubGVvDAAAAGR1
+ eXpvNXVlLjNuYwwAAABqNG9nMnlzdS5sd2kMAAAAZGttcWp6ZTMuYjQyDAAAAGVmZ2FvcmRxLnhy
+ eQwAAAA0bzNhY3B0ZC41c3EMAAAAa2J5cHJpMm8ubGJnDAAAAGtxZ253ZXJ4LnB3dwwAAAB6dXRn
+ enA1bi52enUMAAAAZHZycHZ5M3EuejJzDAAAAHNidjFqcGh3LmdyYwwAAAB6ZDFoaDFsdy5wZGwM
+ AAAAYW1veWtvZGkuNW9nDAAAAG1uMWkzYjMzLmF5YQwAAAB2cHllbGFvci52M3IMAAAAeWpibmgw
+ cGouMzF2DAAAADMwcndocHBsLmt1NQwAAABrdWJwcWxvYi53MXkMAAAAazNsZm9pbWEudGtmDAAA
+ ADNleGlsbXB2Lmp6aQwAAABsYWF1bW1nby51em0MAAAAMHIwcTV0bHkud2ZwDAAAADN4YTBxZ2x5
+ LmljcgwAAAA1NHBhMnBtdy5yamkMAAAAYW9nZWs1dzEudzMzDAAAADNvZ2t3cWVvLmhpaQwAAABp
+ ZmxlaTFuMS5idGsMAAAAYmxkd2R0b3Uudmk0DAAAAGFiMXNhdGo0Lm1xdQwAAABkd2ViZGwwbC5t
+ cjIMAAAAYTRxZG94ZWsuajMxDAAAAGszMHA1c2NuLnRsMwwAAAB1MHoxMHloby5pbXcMAAAAY3lr
+ ampkMWMuNGd5DAAAADVqM2wxMHEwLnlmcgwAAABhdXF6cmp1aC5ld2QMAAAAemdubGx6bnUuc3Fv
+ DAAAAGI1ZjNmcWRpLjB5NQwAAABzeWpobG9pby41YnMMAAAAcDVucm4weHkuMmkwDAAAAHVkeGxj
+ dmdtLmpnagwAAAAzZmMwZXdibS5lYXUMAAAAejFkMHVvdDAudnNqDAAAADIzeTNzZnFjLmZnZAwA
+ AABxMnRmYjB2ay5uMmQMAAAAa2xieXcwczUuZ2ozDAAAADN0bWhjaHExLjFxdQwAAABjZXU1M2o1
+ dy5rcXYMAAAAbWRjcGVld2IuNXhxDAAAAHl6MmFpd3k1Lm9scAwAAABidHZycTFiZy5jeXIMAAAA
+ eXlhbGJ1Y3MuYW5nDAAAAHAzeHRvcDFpLnFlZwwAAAB3ZXdrM2dmZC5uaW0MAAAAZm1qb2d4b2cu
+ NTU0DAAAAGVydTJsbmowLnN1dAwAAAB6bG5xa3hnYS53MHIMAAAAZXgxeDB1MXUuYnpuDAAAAHZm
+ eGJidWFkLm5tNQwAAABidmo1eWxwZC53ZnYMAAAAZW5rY3FzNTUudGx0DAAAAHdsZzBxcWh2LnNy
+ ZwwAAABvZWVrcjJ0eC51aXkMAAAAdmh0aTB3cXAudWYxDAAAADV0cXh0enYzLnk0cgwAAAB4ZXdl
+ bGRrdi56YXEMAAAAamJ4YzB3dWkuMWlkDAAAAG9rdXB6MnN2LmhmaAwAAAB1MWJ5eDFlbi5taXIM
+ AAAAaGhwejQyeHQuZ3F4DAAAADBxbDMzZXk0LmMwagwAAAA1bTVsbjVsbi4wdTIMAAAAcnN0a2Jx
+ dWwudWQyDAAAAG94MDQ1azFvLmdtbwwAAAB0dWRrcW0wdS50dmwMAAAAY2ZjMWlvam8uNGluDAAA
+ AGozcGM1c20wLm1sYwwAAABpc2Q0MGpzdC50ZmcMAAAAazM0ZHdjd2IuejNtDAAAAHZleDV1c2Rv
+ Lm1nYQwAAAB5ZWpnb2d4by55bnAMAAAAdjRvbjB1bGwucHlmDAAAAHB3MmUwbHpzLjVnawwAAAB2
+ enEzMW94Yi50djMMAAAAeHFzMGthZ3QueTV4DAAAAGhyYmlrNGllLnNndgwAAABjZWtsNDBzaS5y
+ cnkMAAAAMDV0Y3h0MmwucXo1DAAAAHF4bHZnczFiLnVjbAwAAABnMndsNDBrMS5qeTIMAAAAdWEx
+ cnIxZGwudWVlDAAAAHFzdWdueXZmLnhycQwAAAB6bXoxd3V0dC40bzAMAAAAYTJuajNxZ3kuajR6
+ DAAAADUxeW01YmhxLmVybAwAAABpMXJsMnBlYi5odmoMAAAAcWJyanptcnUubWZqDAAAAHljNWdr
+ Z3lsLm1wdAwAAABkZDV3dGh5aS5xeGcMAAAAa3dlZHV2cG4uZnRhDAAAAGFqZDNkdjBoLmtqYwwA
+ AABocGdudG5qaC56dHIMAAAAeDRmYWF5b24uemd6DAAAAGRleDR4YjVsLnJtbQwAAAA1NWZvcXJy
+ bC4ybXUMAAAAd2lrdXB4b2ouc2V1DAAAAHVkYWxnenR0LmMzbwwAAAA0czJ6aG15cC4waTEMAAAA
+ MHB4MWRpY2wucWd3DAAAAHVxYTF4bGRxLnQydgwAAAB1MXF1aHRzdi5xdXUMAAAAMnMycmJmdm8u
+ anZpDAAAAGQ0bDQwbGJxLjUwZgwAAAB4YTNsajR3Yi5udHYMAAAAam9jZnc1dmQubG5tDAAAAHow
+ YmNsa2R1LmNwawwAAAB3MGpvZ3BzMS5hNXUMAAAAMDM0bDBvaDEuNWh2DAAAADNzY3Vzd2JzLnl3
+ aQwAAABidXp6MmpuMi52MzUMAAAAa2V0c2IyeHQuaXgzDAAAAG01a3RycmtsLmJmNQwAAABkeXVq
+ MXRydC5rdXgMAAAAYzExcG9lMDMuaHJjDAAAAGJvd2lyZDQzLmI0YgwAAAB6M2E1eDR6dS41em8M
+ AAAANWw1MWswdGsueGRsDAAAAGZzNXgyYWxuLmpkZwwAAABpcno1aHAxcC54dzEMAAAANDRobGZs
+ djQub2lpDAAAAHVzMzMyMDJyLm1tbQwAAAAwZGV2aGIwMC5lbm8MAAAAeWdva2FscHQubXpuDAAA
+ AGx5ZmNscmh3LnJ0NAwAAABka3hrY2l1ai4zZnAMAAAAemtkbHNwcjEuaHQyDAAAAGE0aDNvMmFy
+ LnBzNQwAAABxd2YwM2lxZC5oZmUMAAAAanl0cHZ2YWEudWYwDAAAAGFvdno1ZjRhLmlhMAwAAABj
+ djFlMnhvdS4xbngMAAAAbGFsbzVncmoueWV6DAAAAHgzanRjbzRjLjJsaAwAAABycDR0c3ZibS5o
+ a2kMAAAAeTB2MjM1eG4uMG5mDAAAAG56eDR2MXBpLmNlMAwAAABocWFleXd2by5zazAMAAAAcXMw
+ YmRudjEuNDVjDAAAAGhpM3p5cjFsLmlidgwAAAB6YzJoM28xdy5iMnUMAAAAZ2F5eXo1dDUuNWNl
+ DAAAAGZhZXEwdTNrLmZndQwAAABtcmZwZ3FzdS5ldm4MAAAAY2hlbTRsb3kuZnMyDAAAAGlyc2xn
+ b2hkLjVibgwAAAB2YWR0YXNsaC5oeGIMAAAAZnhpMmwyeXAuNGdhDAAAAGd1aHFibjExLnVyagwA
+ AABmcTJ5bmZiMS5tb3IMAAAAZm50aWR4dHEudDJjDAAAAHNxenZhcnQ1LnlmZgwAAABnbDEyZ2Zx
+ My5nZWYMAAAAcWNtYmpha2cucGc0DAAAAG4wanFyaDNjLnBtdQwAAABpNGdmdmN0Zy5sa3gMAAAA
+ eW1vNXlsengudmt3DAAAAHZ1bWFocGV0LmVqMAwAAABza254ZXVhby41eG0MAAAAdHF5bmFoaGcu
+ dW8zDAAAAG4zMm00aGVkLnRtcgwAAAAwcHVpbjRwdy54NHAMAAAAbGgxZTBjM3QuamNlDAAAADBj
+ eXBuZGVwLjNrdwwAAABrdWg0NGp3aC53c3IMAAAAb3UzNDFwd2sud2lxDAAAAHBobWZtZ3dkLmli
+ cAwAAABhc2szdXNzcy56YjUMAAAAaHgwYzFnZmIudXQzDAAAAGFxaWloMGxlLnYyawwAAABleHVl
+ aWVmZi5sc3gMAAAAa2pmMG9ubmIueTNiDAAAADJ5dG1vZHpwLnMyZQwAAAB3NHczZjUyai5vaGEM
+ AAAAajJuamJtZHEuMTRhDAAAAG1xenExcGptLnM1NAwAAAA1ZjBvb2h4My4xamsMAAAAaWJxcjUw
+ anAudmVnDAAAADFsM3phZ3F4Lm80cQwAAABueGN4MzBpbS4wdDAMAAAAb3ZkYmVnZGcuMWRmDAAA
+ ADR3MTJncHAzLmRycwwAAABxMnlkYjJtci4xNGQMAAAANWZyZHJqNG4udmduDAAAAGtua3B5MGtv
+ LjFucAwAAAA0aW54a3YzZC54eWgMAAAAYm1ucnBscWcuMHdxDAAAAHh5Z2U0ZDM0LjQ1eQwAAAAz
+ bGN1aGZpcS4yYWYMAAAAeGtpNXYxMGguZHkzDAAAADA0bWJzeWJzLnAzdQwAAAAzZXlpYjNqMi5s
+ Z2sMAAAAeHlxZXE1ejMubTRhDAAAAGtqcG9ud3hqLnNjYwwAAAA1a3EyYm0wby52azEMAAAAcnNj
+ c21uNWkudzFuDAAAAHptNWtpY3JyLjV4ZgwAAAB3dGVvdHcxci54dW0MAAAAcXZkMDIzemguYmNw
+ DAAAAHlranlrY3F4LnJqMAwAAABqZHQxYnV0Zy41d2UMAAAAbW53ZjJnbXUuM3hxDAAAAG1nb2Vr
+ dTNhLnl3ZAwAAAA0bnAwdGdoNS5ybWoMAAAANHF2c3JndnIudnBqDAAAAHhjZGN6cnl4LmZhcgwA
+ AAA0azEwdnV6by56d3cMAAAAb3NhZHYyeWouc2RnDAAAAGx4c2VsYXF2LjJjYwwAAAB2dGkyMDE0
+ di4zY3YMAAAAaGNhMGx3cjMueGp0DAAAAGJqbnIxMHN6LnM1eQwAAABzcjVvZ25jNS5ocHMMAAAA
+ YTJqaHRxeWIuczVjDAAAAGtmZG92aXptLmljdwwAAABvZDMzNDVvMS41MXoMAAAAY2VzM24zdjIu
+ dm53DAAAAHZycDBncG1mLnkyYQwAAAB2MDFmYWJsYi41djUMAAAAanIwZnRoYWYuNWJ1DAAAAG4x
+ dnYxdHN1LjFpbAwAAABnZjFiaDV6by5iNWkMAAAAY25sNHhpM3Uuc2NkDAAAAHMxaGpub2t0Lmx3
+ agwAAABqbmE1em0wYy5hb3gMAAAAY2phenp1bXguNXE0DAAAADVvaW81bWN4LnoxMQwAAABrbm41
+ cW1ueS5kbDAMAAAAbTNkd3JxMmEuMnJ2DAAAAGJ3YmlmM20zLm94YgwAAAB0aXdpb3VsaS4yMmMM
+ AAAAMXU1cjFuYXoueWhjDAAAAG52MGgxNHRzLnBpeQwAAAB3cnNzY2htcy5obWEMAAAANXF4MG81
+ MmIuZnlwDAAAAGJuNHJ6aXNyLjV5cwwAAAB1cmZvMmJxYi51Y3cMAAAAc3ZlZ3Rpb2UuaWNzDAAA
+ AGZ6aWpmcGpsLmMwagwAAABnM3lwdTJobS5qanQMAAAAd2llaG1mejIuMTJkDAAAAGQ1eXViM3Nu
+ LmRoagwAAAAyZnZ3eGlsdi5pd2gMAAAAdTV4NWtwMXguenJlDAAAADEyc3Q0MDVnLmJ4dQwAAABu
+ cWZtMWJvZS51ZG4MAAAAdGxhczJ6Z2QuZWswDAAAAG0xdmhyMWl6LnhucgwAAAB6cHpuNHczeC5u
+ M20MAAAAYnNqbDBudmkuaW5oDAAAADJ0amlwd2J6LjR5NQwAAABnZ3BrZGxvdy5vd2QMAAAAZHpo
+ M2NmYXguNWZmDAAAAGlnM2x0ZWdkLjVpNQwAAAA1eTBnZWszdS5pMm4MAAAAa2JiZGEza3MubWl0
+ DAAAAG1mbzF0amV4LjR5bAwAAABlNXFpNXppYS5sMXgMAAAAeTRjNHZsM3EuMnF6DAAAAGRhZHht
+ MjN4Lmx4cQwAAAB6amlqZGV2cS55bmEMAAAAM290ZXByancubW93DAAAAGQ1NXA0b3BjLng1aAwA
+ AAB4bGE0NGYxaS5jbmIMAAAANTFiNWZndXkuaDB4DAAAAGdsb2RnM2lmLmlyMwwAAAAwZGR2anNh
+ ZS5vdWYMAAAAZG5qd25lcnYuZGZ4DAAAADRoYXA1c3ZsLmowMQwAAAB2a3JsbHFndS5zemcMAAAA
+ MTEyYnFwcWYuaWMzDAAAAGtwNHhyeWdmLm9tawwAAAB1dWx6bmFwdS4yaGQMAAAAb2V6cmgwc2ku
+ ajJ4DAAAAHNudnF3aGkxLml3aAwAAAB6aWZsa24zcC5sMGoMAAAANGJ5ZnhkMDUucGJxDAAAAGRs
+ c2Fpb2FzLmhzMwwAAAAweGZhdDNxei5vYWkVABWOfRWOfSwV0A8VABUGFQYcGAQxOTk5GAQxMDAw
+ FgAW0A8YBDE5OTkYBDEwMDAAAAADAAAA0A8BBAAAADEwMDAEAAAAMTAwMQQAAAAxMDAyBAAAADEw
+ MDMEAAAAMTAwNAQAAAAxMDA1BAAAADEwMDYEAAAAMTAwNwQAAAAxMDA4BAAAADEwMDkEAAAAMTAx
+ MAQAAAAxMDExBAAAADEwMTIEAAAAMTAxMwQAAAAxMDE0BAAAADEwMTUEAAAAMTAxNgQAAAAxMDE3
+ BAAAADEwMTgEAAAAMTAxOQQAAAAxMDIwBAAAADEwMjEEAAAAMTAyMgQAAAAxMDIzBAAAADEwMjQE
+ AAAAMTAyNQQAAAAxMDI2BAAAADEwMjcEAAAAMTAyOAQAAAAxMDI5BAAAADEwMzAEAAAAMTAzMQQA
+ AAAxMDMyBAAAADEwMzMEAAAAMTAzNAQAAAAxMDM1BAAAADEwMzYEAAAAMTAzNwQAAAAxMDM4BAAA
+ ADEwMzkEAAAAMTA0MAQAAAAxMDQxBAAAADEwNDIEAAAAMTA0MwQAAAAxMDQ0BAAAADEwNDUEAAAA
+ MTA0NgQAAAAxMDQ3BAAAADEwNDgEAAAAMTA0OQQAAAAxMDUwBAAAADEwNTEEAAAAMTA1MgQAAAAx
+ MDUzBAAAADEwNTQEAAAAMTA1NQQAAAAxMDU2BAAAADEwNTcEAAAAMTA1OAQAAAAxMDU5BAAAADEw
+ NjAEAAAAMTA2MQQAAAAxMDYyBAAAADEwNjMEAAAAMTA2NAQAAAAxMDY1BAAAADEwNjYEAAAAMTA2
+ NwQAAAAxMDY4BAAAADEwNjkEAAAAMTA3MAQAAAAxMDcxBAAAADEwNzIEAAAAMTA3MwQAAAAxMDc0
+ BAAAADEwNzUEAAAAMTA3NgQAAAAxMDc3BAAAADEwNzgEAAAAMTA3OQQAAAAxMDgwBAAAADEwODEE
+ AAAAMTA4MgQAAAAxMDgzBAAAADEwODQEAAAAMTA4NQQAAAAxMDg2BAAAADEwODcEAAAAMTA4OAQA
+ AAAxMDg5BAAAADEwOTAEAAAAMTA5MQQAAAAxMDkyBAAAADEwOTMEAAAAMTA5NAQAAAAxMDk1BAAA
+ ADEwOTYEAAAAMTA5NwQAAAAxMDk4BAAAADEwOTkEAAAAMTEwMAQAAAAxMTAxBAAAADExMDIEAAAA
+ MTEwMwQAAAAxMTA0BAAAADExMDUEAAAAMTEwNgQAAAAxMTA3BAAAADExMDgEAAAAMTEwOQQAAAAx
+ MTEwBAAAADExMTEEAAAAMTExMgQAAAAxMTEzBAAAADExMTQEAAAAMTExNQQAAAAxMTE2BAAAADEx
+ MTcEAAAAMTExOAQAAAAxMTE5BAAAADExMjAEAAAAMTEyMQQAAAAxMTIyBAAAADExMjMEAAAAMTEy
+ NAQAAAAxMTI1BAAAADExMjYEAAAAMTEyNwQAAAAxMTI4BAAAADExMjkEAAAAMTEzMAQAAAAxMTMx
+ BAAAADExMzIEAAAAMTEzMwQAAAAxMTM0BAAAADExMzUEAAAAMTEzNgQAAAAxMTM3BAAAADExMzgE
+ AAAAMTEzOQQAAAAxMTQwBAAAADExNDEEAAAAMTE0MgQAAAAxMTQzBAAAADExNDQEAAAAMTE0NQQA
+ AAAxMTQ2BAAAADExNDcEAAAAMTE0OAQAAAAxMTQ5BAAAADExNTAEAAAAMTE1MQQAAAAxMTUyBAAA
+ ADExNTMEAAAAMTE1NAQAAAAxMTU1BAAAADExNTYEAAAAMTE1NwQAAAAxMTU4BAAAADExNTkEAAAA
+ MTE2MAQAAAAxMTYxBAAAADExNjIEAAAAMTE2MwQAAAAxMTY0BAAAADExNjUEAAAAMTE2NgQAAAAx
+ MTY3BAAAADExNjgEAAAAMTE2OQQAAAAxMTcwBAAAADExNzEEAAAAMTE3MgQAAAAxMTczBAAAADEx
+ NzQEAAAAMTE3NQQAAAAxMTc2BAAAADExNzcEAAAAMTE3OAQAAAAxMTc5BAAAADExODAEAAAAMTE4
+ MQQAAAAxMTgyBAAAADExODMEAAAAMTE4NAQAAAAxMTg1BAAAADExODYEAAAAMTE4NwQAAAAxMTg4
+ BAAAADExODkEAAAAMTE5MAQAAAAxMTkxBAAAADExOTIEAAAAMTE5MwQAAAAxMTk0BAAAADExOTUE
+ AAAAMTE5NgQAAAAxMTk3BAAAADExOTgEAAAAMTE5OQQAAAAxMjAwBAAAADEyMDEEAAAAMTIwMgQA
+ AAAxMjAzBAAAADEyMDQEAAAAMTIwNQQAAAAxMjA2BAAAADEyMDcEAAAAMTIwOAQAAAAxMjA5BAAA
+ ADEyMTAEAAAAMTIxMQQAAAAxMjEyBAAAADEyMTMEAAAAMTIxNAQAAAAxMjE1BAAAADEyMTYEAAAA
+ MTIxNwQAAAAxMjE4BAAAADEyMTkEAAAAMTIyMAQAAAAxMjIxBAAAADEyMjIEAAAAMTIyMwQAAAAx
+ MjI0BAAAADEyMjUEAAAAMTIyNgQAAAAxMjI3BAAAADEyMjgEAAAAMTIyOQQAAAAxMjMwBAAAADEy
+ MzEEAAAAMTIzMgQAAAAxMjMzBAAAADEyMzQEAAAAMTIzNQQAAAAxMjM2BAAAADEyMzcEAAAAMTIz
+ OAQAAAAxMjM5BAAAADEyNDAEAAAAMTI0MQQAAAAxMjQyBAAAADEyNDMEAAAAMTI0NAQAAAAxMjQ1
+ BAAAADEyNDYEAAAAMTI0NwQAAAAxMjQ4BAAAADEyNDkEAAAAMTI1MAQAAAAxMjUxBAAAADEyNTIE
+ AAAAMTI1MwQAAAAxMjU0BAAAADEyNTUEAAAAMTI1NgQAAAAxMjU3BAAAADEyNTgEAAAAMTI1OQQA
+ AAAxMjYwBAAAADEyNjEEAAAAMTI2MgQAAAAxMjYzBAAAADEyNjQEAAAAMTI2NQQAAAAxMjY2BAAA
+ ADEyNjcEAAAAMTI2OAQAAAAxMjY5BAAAADEyNzAEAAAAMTI3MQQAAAAxMjcyBAAAADEyNzMEAAAA
+ MTI3NAQAAAAxMjc1BAAAADEyNzYEAAAAMTI3NwQAAAAxMjc4BAAAADEyNzkEAAAAMTI4MAQAAAAx
+ MjgxBAAAADEyODIEAAAAMTI4MwQAAAAxMjg0BAAAADEyODUEAAAAMTI4NgQAAAAxMjg3BAAAADEy
+ ODgEAAAAMTI4OQQAAAAxMjkwBAAAADEyOTEEAAAAMTI5MgQAAAAxMjkzBAAAADEyOTQEAAAAMTI5
+ NQQAAAAxMjk2BAAAADEyOTcEAAAAMTI5OAQAAAAxMjk5BAAAADEzMDAEAAAAMTMwMQQAAAAxMzAy
+ BAAAADEzMDMEAAAAMTMwNAQAAAAxMzA1BAAAADEzMDYEAAAAMTMwNwQAAAAxMzA4BAAAADEzMDkE
+ AAAAMTMxMAQAAAAxMzExBAAAADEzMTIEAAAAMTMxMwQAAAAxMzE0BAAAADEzMTUEAAAAMTMxNgQA
+ AAAxMzE3BAAAADEzMTgEAAAAMTMxOQQAAAAxMzIwBAAAADEzMjEEAAAAMTMyMgQAAAAxMzIzBAAA
+ ADEzMjQEAAAAMTMyNQQAAAAxMzI2BAAAADEzMjcEAAAAMTMyOAQAAAAxMzI5BAAAADEzMzAEAAAA
+ MTMzMQQAAAAxMzMyBAAAADEzMzMEAAAAMTMzNAQAAAAxMzM1BAAAADEzMzYEAAAAMTMzNwQAAAAx
+ MzM4BAAAADEzMzkEAAAAMTM0MAQAAAAxMzQxBAAAADEzNDIEAAAAMTM0MwQAAAAxMzQ0BAAAADEz
+ NDUEAAAAMTM0NgQAAAAxMzQ3BAAAADEzNDgEAAAAMTM0OQQAAAAxMzUwBAAAADEzNTEEAAAAMTM1
+ MgQAAAAxMzUzBAAAADEzNTQEAAAAMTM1NQQAAAAxMzU2BAAAADEzNTcEAAAAMTM1OAQAAAAxMzU5
+ BAAAADEzNjAEAAAAMTM2MQQAAAAxMzYyBAAAADEzNjMEAAAAMTM2NAQAAAAxMzY1BAAAADEzNjYE
+ AAAAMTM2NwQAAAAxMzY4BAAAADEzNjkEAAAAMTM3MAQAAAAxMzcxBAAAADEzNzIEAAAAMTM3MwQA
+ AAAxMzc0BAAAADEzNzUEAAAAMTM3NgQAAAAxMzc3BAAAADEzNzgEAAAAMTM3OQQAAAAxMzgwBAAA
+ ADEzODEEAAAAMTM4MgQAAAAxMzgzBAAAADEzODQEAAAAMTM4NQQAAAAxMzg2BAAAADEzODcEAAAA
+ MTM4OAQAAAAxMzg5BAAAADEzOTAEAAAAMTM5MQQAAAAxMzkyBAAAADEzOTMEAAAAMTM5NAQAAAAx
+ Mzk1BAAAADEzOTYEAAAAMTM5NwQAAAAxMzk4BAAAADEzOTkEAAAAMTQwMAQAAAAxNDAxBAAAADE0
+ MDIEAAAAMTQwMwQAAAAxNDA0BAAAADE0MDUEAAAAMTQwNgQAAAAxNDA3BAAAADE0MDgEAAAAMTQw
+ OQQAAAAxNDEwBAAAADE0MTEEAAAAMTQxMgQAAAAxNDEzBAAAADE0MTQEAAAAMTQxNQQAAAAxNDE2
+ BAAAADE0MTcEAAAAMTQxOAQAAAAxNDE5BAAAADE0MjAEAAAAMTQyMQQAAAAxNDIyBAAAADE0MjME
+ AAAAMTQyNAQAAAAxNDI1BAAAADE0MjYEAAAAMTQyNwQAAAAxNDI4BAAAADE0MjkEAAAAMTQzMAQA
+ AAAxNDMxBAAAADE0MzIEAAAAMTQzMwQAAAAxNDM0BAAAADE0MzUEAAAAMTQzNgQAAAAxNDM3BAAA
+ ADE0MzgEAAAAMTQzOQQAAAAxNDQwBAAAADE0NDEEAAAAMTQ0MgQAAAAxNDQzBAAAADE0NDQEAAAA
+ MTQ0NQQAAAAxNDQ2BAAAADE0NDcEAAAAMTQ0OAQAAAAxNDQ5BAAAADE0NTAEAAAAMTQ1MQQAAAAx
+ NDUyBAAAADE0NTMEAAAAMTQ1NAQAAAAxNDU1BAAAADE0NTYEAAAAMTQ1NwQAAAAxNDU4BAAAADE0
+ NTkEAAAAMTQ2MAQAAAAxNDYxBAAAADE0NjIEAAAAMTQ2MwQAAAAxNDY0BAAAADE0NjUEAAAAMTQ2
+ NgQAAAAxNDY3BAAAADE0NjgEAAAAMTQ2OQQAAAAxNDcwBAAAADE0NzEEAAAAMTQ3MgQAAAAxNDcz
+ BAAAADE0NzQEAAAAMTQ3NQQAAAAxNDc2BAAAADE0NzcEAAAAMTQ3OAQAAAAxNDc5BAAAADE0ODAE
+ AAAAMTQ4MQQAAAAxNDgyBAAAADE0ODMEAAAAMTQ4NAQAAAAxNDg1BAAAADE0ODYEAAAAMTQ4NwQA
+ AAAxNDg4BAAAADE0ODkEAAAAMTQ5MAQAAAAxNDkxBAAAADE0OTIEAAAAMTQ5MwQAAAAxNDk0BAAA
+ ADE0OTUEAAAAMTQ5NgQAAAAxNDk3BAAAADE0OTgEAAAAMTQ5OQQAAAAxNTAwBAAAADE1MDEEAAAA
+ MTUwMgQAAAAxNTAzBAAAADE1MDQEAAAAMTUwNQQAAAAxNTA2BAAAADE1MDcEAAAAMTUwOAQAAAAx
+ NTA5BAAAADE1MTAEAAAAMTUxMQQAAAAxNTEyBAAAADE1MTMEAAAAMTUxNAQAAAAxNTE1BAAAADE1
+ MTYEAAAAMTUxNwQAAAAxNTE4BAAAADE1MTkEAAAAMTUyMAQAAAAxNTIxBAAAADE1MjIEAAAAMTUy
+ MwQAAAAxNTI0BAAAADE1MjUEAAAAMTUyNgQAAAAxNTI3BAAAADE1MjgEAAAAMTUyOQQAAAAxNTMw
+ BAAAADE1MzEEAAAAMTUzMgQAAAAxNTMzBAAAADE1MzQEAAAAMTUzNQQAAAAxNTM2BAAAADE1MzcE
+ AAAAMTUzOAQAAAAxNTM5BAAAADE1NDAEAAAAMTU0MQQAAAAxNTQyBAAAADE1NDMEAAAAMTU0NAQA
+ AAAxNTQ1BAAAADE1NDYEAAAAMTU0NwQAAAAxNTQ4BAAAADE1NDkEAAAAMTU1MAQAAAAxNTUxBAAA
+ ADE1NTIEAAAAMTU1MwQAAAAxNTU0BAAAADE1NTUEAAAAMTU1NgQAAAAxNTU3BAAAADE1NTgEAAAA
+ MTU1OQQAAAAxNTYwBAAAADE1NjEEAAAAMTU2MgQAAAAxNTYzBAAAADE1NjQEAAAAMTU2NQQAAAAx
+ NTY2BAAAADE1NjcEAAAAMTU2OAQAAAAxNTY5BAAAADE1NzAEAAAAMTU3MQQAAAAxNTcyBAAAADE1
+ NzMEAAAAMTU3NAQAAAAxNTc1BAAAADE1NzYEAAAAMTU3NwQAAAAxNTc4BAAAADE1NzkEAAAAMTU4
+ MAQAAAAxNTgxBAAAADE1ODIEAAAAMTU4MwQAAAAxNTg0BAAAADE1ODUEAAAAMTU4NgQAAAAxNTg3
+ BAAAADE1ODgEAAAAMTU4OQQAAAAxNTkwBAAAADE1OTEEAAAAMTU5MgQAAAAxNTkzBAAAADE1OTQE
+ AAAAMTU5NQQAAAAxNTk2BAAAADE1OTcEAAAAMTU5OAQAAAAxNTk5BAAAADE2MDAEAAAAMTYwMQQA
+ AAAxNjAyBAAAADE2MDMEAAAAMTYwNAQAAAAxNjA1BAAAADE2MDYEAAAAMTYwNwQAAAAxNjA4BAAA
+ ADE2MDkEAAAAMTYxMAQAAAAxNjExBAAAADE2MTIEAAAAMTYxMwQAAAAxNjE0BAAAADE2MTUEAAAA
+ MTYxNgQAAAAxNjE3BAAAADE2MTgEAAAAMTYxOQQAAAAxNjIwBAAAADE2MjEEAAAAMTYyMgQAAAAx
+ NjIzBAAAADE2MjQEAAAAMTYyNQQAAAAxNjI2BAAAADE2MjcEAAAAMTYyOAQAAAAxNjI5BAAAADE2
+ MzAEAAAAMTYzMQQAAAAxNjMyBAAAADE2MzMEAAAAMTYzNAQAAAAxNjM1BAAAADE2MzYEAAAAMTYz
+ NwQAAAAxNjM4BAAAADE2MzkEAAAAMTY0MAQAAAAxNjQxBAAAADE2NDIEAAAAMTY0MwQAAAAxNjQ0
+ BAAAADE2NDUEAAAAMTY0NgQAAAAxNjQ3BAAAADE2NDgEAAAAMTY0OQQAAAAxNjUwBAAAADE2NTEE
+ AAAAMTY1MgQAAAAxNjUzBAAAADE2NTQEAAAAMTY1NQQAAAAxNjU2BAAAADE2NTcEAAAAMTY1OAQA
+ AAAxNjU5BAAAADE2NjAEAAAAMTY2MQQAAAAxNjYyBAAAADE2NjMEAAAAMTY2NAQAAAAxNjY1BAAA
+ ADE2NjYEAAAAMTY2NwQAAAAxNjY4BAAAADE2NjkEAAAAMTY3MAQAAAAxNjcxBAAAADE2NzIEAAAA
+ MTY3MwQAAAAxNjc0BAAAADE2NzUEAAAAMTY3NgQAAAAxNjc3BAAAADE2NzgEAAAAMTY3OQQAAAAx
+ NjgwBAAAADE2ODEEAAAAMTY4MgQAAAAxNjgzBAAAADE2ODQEAAAAMTY4NQQAAAAxNjg2BAAAADE2
+ ODcEAAAAMTY4OAQAAAAxNjg5BAAAADE2OTAEAAAAMTY5MQQAAAAxNjkyBAAAADE2OTMEAAAAMTY5
+ NAQAAAAxNjk1BAAAADE2OTYEAAAAMTY5NwQAAAAxNjk4BAAAADE2OTkEAAAAMTcwMAQAAAAxNzAx
+ BAAAADE3MDIEAAAAMTcwMwQAAAAxNzA0BAAAADE3MDUEAAAAMTcwNgQAAAAxNzA3BAAAADE3MDgE
+ AAAAMTcwOQQAAAAxNzEwBAAAADE3MTEEAAAAMTcxMgQAAAAxNzEzBAAAADE3MTQEAAAAMTcxNQQA
+ AAAxNzE2BAAAADE3MTcEAAAAMTcxOAQAAAAxNzE5BAAAADE3MjAEAAAAMTcyMQQAAAAxNzIyBAAA
+ ADE3MjMEAAAAMTcyNAQAAAAxNzI1BAAAADE3MjYEAAAAMTcyNwQAAAAxNzI4BAAAADE3MjkEAAAA
+ MTczMAQAAAAxNzMxBAAAADE3MzIEAAAAMTczMwQAAAAxNzM0BAAAADE3MzUEAAAAMTczNgQAAAAx
+ NzM3BAAAADE3MzgEAAAAMTczOQQAAAAxNzQwBAAAADE3NDEEAAAAMTc0MgQAAAAxNzQzBAAAADE3
+ NDQEAAAAMTc0NQQAAAAxNzQ2BAAAADE3NDcEAAAAMTc0OAQAAAAxNzQ5BAAAADE3NTAEAAAAMTc1
+ MQQAAAAxNzUyBAAAADE3NTMEAAAAMTc1NAQAAAAxNzU1BAAAADE3NTYEAAAAMTc1NwQAAAAxNzU4
+ BAAAADE3NTkEAAAAMTc2MAQAAAAxNzYxBAAAADE3NjIEAAAAMTc2MwQAAAAxNzY0BAAAADE3NjUE
+ AAAAMTc2NgQAAAAxNzY3BAAAADE3NjgEAAAAMTc2OQQAAAAxNzcwBAAAADE3NzEEAAAAMTc3MgQA
+ AAAxNzczBAAAADE3NzQEAAAAMTc3NQQAAAAxNzc2BAAAADE3NzcEAAAAMTc3OAQAAAAxNzc5BAAA
+ ADE3ODAEAAAAMTc4MQQAAAAxNzgyBAAAADE3ODMEAAAAMTc4NAQAAAAxNzg1BAAAADE3ODYEAAAA
+ MTc4NwQAAAAxNzg4BAAAADE3ODkEAAAAMTc5MAQAAAAxNzkxBAAAADE3OTIEAAAAMTc5MwQAAAAx
+ Nzk0BAAAADE3OTUEAAAAMTc5NgQAAAAxNzk3BAAAADE3OTgEAAAAMTc5OQQAAAAxODAwBAAAADE4
+ MDEEAAAAMTgwMgQAAAAxODAzBAAAADE4MDQEAAAAMTgwNQQAAAAxODA2BAAAADE4MDcEAAAAMTgw
+ OAQAAAAxODA5BAAAADE4MTAEAAAAMTgxMQQAAAAxODEyBAAAADE4MTMEAAAAMTgxNAQAAAAxODE1
+ BAAAADE4MTYEAAAAMTgxNwQAAAAxODE4BAAAADE4MTkEAAAAMTgyMAQAAAAxODIxBAAAADE4MjIE
+ AAAAMTgyMwQAAAAxODI0BAAAADE4MjUEAAAAMTgyNgQAAAAxODI3BAAAADE4MjgEAAAAMTgyOQQA
+ AAAxODMwBAAAADE4MzEEAAAAMTgzMgQAAAAxODMzBAAAADE4MzQEAAAAMTgzNQQAAAAxODM2BAAA
+ ADE4MzcEAAAAMTgzOAQAAAAxODM5BAAAADE4NDAEAAAAMTg0MQQAAAAxODQyBAAAADE4NDMEAAAA
+ MTg0NAQAAAAxODQ1BAAAADE4NDYEAAAAMTg0NwQAAAAxODQ4BAAAADE4NDkEAAAAMTg1MAQAAAAx
+ ODUxBAAAADE4NTIEAAAAMTg1MwQAAAAxODU0BAAAADE4NTUEAAAAMTg1NgQAAAAxODU3BAAAADE4
+ NTgEAAAAMTg1OQQAAAAxODYwBAAAADE4NjEEAAAAMTg2MgQAAAAxODYzBAAAADE4NjQEAAAAMTg2
+ NQQAAAAxODY2BAAAADE4NjcEAAAAMTg2OAQAAAAxODY5BAAAADE4NzAEAAAAMTg3MQQAAAAxODcy
+ BAAAADE4NzMEAAAAMTg3NAQAAAAxODc1BAAAADE4NzYEAAAAMTg3NwQAAAAxODc4BAAAADE4NzkE
+ AAAAMTg4MAQAAAAxODgxBAAAADE4ODIEAAAAMTg4MwQAAAAxODg0BAAAADE4ODUEAAAAMTg4NgQA
+ AAAxODg3BAAAADE4ODgEAAAAMTg4OQQAAAAxODkwBAAAADE4OTEEAAAAMTg5MgQAAAAxODkzBAAA
+ ADE4OTQEAAAAMTg5NQQAAAAxODk2BAAAADE4OTcEAAAAMTg5OAQAAAAxODk5BAAAADE5MDAEAAAA
+ MTkwMQQAAAAxOTAyBAAAADE5MDMEAAAAMTkwNAQAAAAxOTA1BAAAADE5MDYEAAAAMTkwNwQAAAAx
+ OTA4BAAAADE5MDkEAAAAMTkxMAQAAAAxOTExBAAAADE5MTIEAAAAMTkxMwQAAAAxOTE0BAAAADE5
+ MTUEAAAAMTkxNgQAAAAxOTE3BAAAADE5MTgEAAAAMTkxOQQAAAAxOTIwBAAAADE5MjEEAAAAMTky
+ MgQAAAAxOTIzBAAAADE5MjQEAAAAMTkyNQQAAAAxOTI2BAAAADE5MjcEAAAAMTkyOAQAAAAxOTI5
+ BAAAADE5MzAEAAAAMTkzMQQAAAAxOTMyBAAAADE5MzMEAAAAMTkzNAQAAAAxOTM1BAAAADE5MzYE
+ AAAAMTkzNwQAAAAxOTM4BAAAADE5MzkEAAAAMTk0MAQAAAAxOTQxBAAAADE5NDIEAAAAMTk0MwQA
+ AAAxOTQ0BAAAADE5NDUEAAAAMTk0NgQAAAAxOTQ3BAAAADE5NDgEAAAAMTk0OQQAAAAxOTUwBAAA
+ ADE5NTEEAAAAMTk1MgQAAAAxOTUzBAAAADE5NTQEAAAAMTk1NQQAAAAxOTU2BAAAADE5NTcEAAAA
+ MTk1OAQAAAAxOTU5BAAAADE5NjAEAAAAMTk2MQQAAAAxOTYyBAAAADE5NjMEAAAAMTk2NAQAAAAx
+ OTY1BAAAADE5NjYEAAAAMTk2NwQAAAAxOTY4BAAAADE5NjkEAAAAMTk3MAQAAAAxOTcxBAAAADE5
+ NzIEAAAAMTk3MwQAAAAxOTc0BAAAADE5NzUEAAAAMTk3NgQAAAAxOTc3BAAAADE5NzgEAAAAMTk3
+ OQQAAAAxOTgwBAAAADE5ODEEAAAAMTk4MgQAAAAxOTgzBAAAADE5ODQEAAAAMTk4NQQAAAAxOTg2
+ BAAAADE5ODcEAAAAMTk4OAQAAAAxOTg5BAAAADE5OTAEAAAAMTk5MQQAAAAxOTkyBAAAADE5OTME
+ AAAAMTk5NAQAAAAxOTk1BAAAADE5OTYEAAAAMTk5NwQAAAAxOTk4BAAAADE5OTkVABWO+gEVjvoB
+ LBXQDxUAFQYVBhwYDHp6bGd5eGE1LjR5YRgMMDExY3FhbjQueXpzFgAW0A8YDHp6bGd5eGE1LjR5
+ YRgMMDExY3FhbjQueXpzAAAAAwAAANAPAQwAAAB2MWtnNWhtci5maGoMAAAAZG5zdGNwbHYuZWRr
+ DAAAAG1ta3lucHR0Lmw0awwAAAB5c3E1d2NrZy5idG8MAAAAcHJlZXpmdGwubXEzDAAAAGdmdXg0
+ MWF2LmNvegwAAABnaHpnMmNqZS4yaDEMAAAAM2R0dngwMWkuZ2tyDAAAAGV1emQxYjQxLmJxMgwA
+ AAA0YXRkMnpuby5nNDEMAAAAeWtkc240dWkuYjNlDAAAAHRud2tmaXNkLnFqNQwAAAB2ZmtpbGsy
+ dS4xYjQMAAAAdWN0MnIzdG0ubjEwDAAAAGRjdHdocWNvLnZnegwAAABhc2hvYXZvMS5vamYMAAAA
+ dWdzcWJicHMuNXQyDAAAADBwcHlyNGVoLmhtcQwAAABsNWRheHZ1cy5wcDIMAAAAa3d3MTFwMmEu
+ ZHhvDAAAAHNobWx6YzNpLnpkMAwAAABraTJva2FteC5hc2QMAAAAaTFiYnUyd2IuZGpqDAAAADJ5
+ dnZ1ZnRsLm1lcQwAAABmZzB4Y2xoay5odGgMAAAAY2l6cHh1c20ubDQzDAAAAGFtcnRlMGxhLjJ0
+ cwwAAAA1ZDUzZWY1NC5tMHkMAAAAcmxpczR4NG4ubXp6DAAAAHp5aGRjdnZsLnhieAwAAAB4ZDR3
+ MGZxZi5sMHMMAAAAdnFzeWFoNDAuYmFuDAAAAGtvYW1raWJxLmtvcgwAAABzNHBtdTI0dC5ia3AM
+ AAAAMzE1ZzI0aGsucTQ0DAAAAHN3aDVxZmVnLnduagwAAAB3Z2Z4d3dmNC5jMmsMAAAAMWpwMmls
+ d3IubDVzDAAAAGNvcW90NHU1LmhncQwAAABsaXgzZ2dmaS5leG0MAAAAcnhlbnNva3UuamlmDAAA
+ AGUya2d5aWQ0LmYwYwwAAABkZWs1NHB4bC5pYmoMAAAAdTRpMDNiYXAubjJ4DAAAADVqd3Yyc2M1
+ LjJydAwAAAB1ZzR6NGxtcC4xMzAMAAAAMW5lMXVjbmgua2gzDAAAADQzb3N5cjVuLmpzaQwAAAB1
+ NWpicGFmMi5mcjAMAAAAbWMxY2FvYmcuMW9xDAAAAGJlemVteHZyLmlhZwwAAABleHJ0Z2xhMS4x
+ dTEMAAAAb21waWxlYWwucjFnDAAAAGg0bXoxdmFiLmJlbgwAAAByZ3BkYWx2dy5kaXgMAAAANW1p
+ b2NiNWsuaHR0DAAAAGt0c25mdnBlLnEwZQwAAABjNDFoYWV5Yi5zdW4MAAAAaHVobGZpdTMubG5q
+ DAAAADBlb2F2Y3BvLmxwNQwAAABrajQ1ZXpyeC5tZTIMAAAAYXNtejVvNW0ueXVtDAAAAHN5ZGJq
+ cG9uLmRmeQwAAAB5dHc1Y3FtaS5iZGMMAAAAcTN6M3JlamQuMHRmDAAAAG8zdHB2cmJkLmtncAwA
+ AABpbWp1MWcxay40bWQMAAAAaGVwdzF0ankuZGRyDAAAADJic2NpYWd6LmF1ZAwAAABwdWN5bWFl
+ di5xajAMAAAAb29ncmtlY3kuMGdiDAAAAHZnMXBjNHd6LmFoeAwAAAB3ZHRkcXRnYy5oNXAMAAAA
+ Y2FieHdwbzAub3pxDAAAADIxcWFjYnRwLmlpdgwAAABqMHltdWJpYS40amwMAAAAMmUzeWliNXku
+ b294DAAAAGIxMjF0YnlvLjFtZgwAAAAyZWVpeXRteC5jMmEMAAAAaXdramt2djQudWcyDAAAAGh4
+ aGgwb3gwLmh4ZwwAAABkcWFpanYyZi5mYTQMAAAAejJ2YjNqbWEudjUzDAAAAHBzNHZqdHhwLnNj
+ NAwAAAAzMHlyMW1kZS5lZGMMAAAAeGlhZ2UzazQuZTRlDAAAADRoNG93YWFiLmh5cAwAAABiejR0
+ M2xkYy5ybnIMAAAANHFhZ2cwY3ouMG12DAAAAHB4aWxodWtxLm9jcAwAAAB6c2hjMXAxeC5yY2wM
+ AAAAMWphMXlzNW0uYXFnDAAAAHQ1ZGh0c2txLnVpdgwAAAB4cm5mZGJveS5mdmEMAAAAdnp6MDJw
+ YWQuMHdrDAAAAHB2eHNpNXRwLnFzdAwAAAB5MnZhdG1iMS5vZTUMAAAAYW1taWp6bjAuYXMxDAAA
+ AGt3dnVlMG0yLm01cQwAAABiNDVyYzF2di5xZjQMAAAAdWJwMDBxYWYuNDNzDAAAAHdybXpvaTFu
+ Lm1yZAwAAAB6NDBpY3hmMS54YTQMAAAAY241eXkxaDUuYWh0DAAAAGRkbjNmaXF0LmR6YwwAAABv
+ dXJ4ZTJrcS5mam4MAAAANXgzMXpwM2MuZ2pqDAAAAGdtMW5oZXBzLmJzYgwAAABmbWZ4cnRsZS5j
+ MXQMAAAAenZwYW1hc3kuemRwDAAAAHV0empqb2VmLnBscgwAAAB2Z3l3bmt2Zi5hNHMMAAAAY2lu
+ eG0zYXouYXkyDAAAAGp6YnF5czBtLmdzZwwAAAAxeGltM2lwdS4xYmsMAAAAYTRzZDU0aW0ueWIz
+ DAAAAGV6YXQwZ2dsLnVqMgwAAAB2cWxmM25sMy5ieGUMAAAAYXFjNXUzeHouNW5pDAAAAGlxYWYw
+ eHZuLmQ1bwwAAAB3YzJyM3pmdi5zY3AMAAAAbHJxbHp1bmIuMW90DAAAADFvY2FnM2Y1LnBxbQwA
+ AAB6YmIxaDJ5Yy5kZGoMAAAAbWFreDB4c2oud2NpDAAAADNyZ3RmamdsLmg0cAwAAAB1M2hyMGFn
+ NC5ndHQMAAAAcjRqZmlxdTIuZmJpDAAAAGllaXoyNTBqLmswdgwAAAB1cjR4YjFtcC56dmUMAAAA
+ MjVuZ3FqeWgueWp2DAAAAGQwZDRyYnJmLjVnagwAAAAxb2ZjaGZkNC53NGwMAAAAa25sYXRpYWcu
+ eTV2DAAAAGtyb3dza2xkLm5sYgwAAABlZWl1Mnhnbi5ldWQMAAAAbGVyeWt1dWUuYnl4DAAAAG9u
+ eDEwa2dnLnVnawwAAAB3Z2NlYjIwYS5jcm4MAAAAb3NycHMyczQucG95DAAAAHkyc2FtZTR4LmZx
+ cwwAAABkc2kydGRsMi5rdHUMAAAAc3FyMHAyNGcuMTJrDAAAAG1zcmt0ejNoLnJuaAwAAAB1YjR1
+ dmNpbC5ocjAMAAAANTFxb2tiNGEuc29vDAAAAHVxcDR2dWhsLnZleAwAAAB4aHExcTVrbC5ydDEM
+ AAAAZ3h3aDNzdnQubjFvDAAAAGYza20ycXNwLmdtdgwAAAAxaHJjcHI1ZC5hc24MAAAAMXp5MzB6
+ M2EubXpsDAAAAGhvc2R5b2ozLnJnNAwAAAA1anRoam14ZC5kZXYMAAAAdmhreTVrMGkuYm9pDAAA
+ AG5tcGVsdjEzLjIxNQwAAAA0ZXp5czFmZy5mcnQMAAAAYWNlYmtlMTUuMzJlDAAAAHdtbXBobjNw
+ LjNidQwAAABidHNmZXJpcS5naXIMAAAAeWQwbzJ1emsubHpwDAAAAGwzbmdsYXQyLjIzeAwAAABy
+ NGdob3hxYi5veHgMAAAAdnp2dG9vMXEucXJzDAAAADRoa3djbmRnLmVvYwwAAAB6MDFjMm55ei55
+ ZHoMAAAAem1vcjExeDQucTAyDAAAAGI1eHZ0YjMzLjFxbAwAAABxcjNjbXluNS5vcGUMAAAAbTVj
+ dmJoMnouYjF2DAAAAGJrMWZybG4zLmp4cQwAAAB5c3pleWdkbS5zZjIMAAAAbWJ3Z2xiNTQuZWRi
+ DAAAAHFjMWJseTNuLjMxZQwAAABhamMwaWtycy56dXYMAAAAc2VjYm5yankuMXdpDAAAADUydWFs
+ aGFwLml5MwwAAAA0b2pzcXlyay4wcmwMAAAAeWxrNG9udncuc2JwDAAAAGNjNTJhdmh1LnAxZQwA
+ AABvdmF1ZmVoZi50bHIMAAAAdzJmbGZtYWYuc2RsDAAAAHZhY2tvaWN0LnZ3YgwAAAB5dHRhaHdi
+ eS4waGUMAAAAcHpiY3I1ZGkud3U1DAAAAGluajBueGpiLmkxdAwAAABleGZoeWIzby4ya3oMAAAA
+ NTFuY295dDQubGxjDAAAAHFkamUzbmZiLjFyMAwAAABkeHl5NTRtei4wcDAMAAAAZm9iZXcwbHgu
+ bnViDAAAAHB2ZDJjamdhLmhnYQwAAAAwcHNhMWJmNC5qejAMAAAAaXVsM2d6eGouem9tDAAAAHY0
+ MG5rZXByLmlycgwAAAB0MWIxcmQwZi56YmoMAAAAemJ2NWJncTAuMjB2DAAAAGhkb3UwbTBpLnlv
+ dwwAAAAzZTFzaDQxay5pbWwMAAAAZW12b3pjeG4ubGtsDAAAAGwycHp1MXBrLnBnbAwAAABjMWhv
+ cXJtZi5na3EMAAAAeG1ma3R4M3Iua3g0DAAAAHB5NXR2eWFtLmRsegwAAABkZ2l1ZXlmbS5taXMM
+ AAAAZG5wZzN0ZGMueGhjDAAAAHV6d256Y3FhLm94egwAAAB0YXoxdm5kci5uNHAMAAAAdGFwdnB0
+ aHIueXdzDAAAAGRwMXk1anZ0Lmc1dQwAAAA0M2V1dnFkZC51emkMAAAAMDIwbG0xMGgud3dlDAAA
+ AGNkM2dtbWVpLmwxZgwAAAB4ZW1tM2VkcS54enQMAAAANHV3M3d4dHUubnAxDAAAADNjbGtrdmQy
+ LnJsbgwAAAB1NHRpajN4ZS5vY20MAAAANWdicTFxaHouM3dyDAAAAGpvZXJnd3cyLm5mMgwAAAB2
+ MnVqbXd0bi5pZngMAAAAc3lkb3hrZncuZ253DAAAAGJ1dzE0bGQ1LmdmcwwAAAB3M2FrbGVxdS52
+ Z2kMAAAAY2NwaDF3ZDIueGR5DAAAADBnMG9vcW4zLnZwaQwAAABjcmFmMGYwbC5icWQMAAAAcHBl
+ ZnVobjAuM2hmDAAAAGljemt4NHozLmhjaAwAAABncTRhY25laC5pYW8MAAAAbWQ1cXRwbXcub3pt
+ DAAAAG5jY3ZtZTMwLndvagwAAABpbWVyYW5yaC54aTUMAAAAb2J4ZXZsdXIuZjBlDAAAADVoZ3p1
+ c3ZrLmVlYgwAAABzazA0Y215bC5keXoMAAAANHh1cXZ2M3ouaWMxDAAAAHZveHV1b2ZxLm1jcQwA
+ AAB0djUzc21idy5hbTAMAAAAcHU0azJ2aXYuMHJyDAAAAGtubHNvaW1uLnZsdgwAAABlMGQ0NGo0
+ ei53NG4MAAAAcDBoaWZ3dDEudjVtDAAAAHJoY2F6c3FzLmx2aAwAAABheWFtY2RicS5zMHkMAAAA
+ Ynh1Z3FsbDEubTFlDAAAADB4Y3V4b2ZtLm94dgwAAAB2cXZ2bXdjcS5sMzEMAAAAaG5mbzRwd2Iu
+ cjBiDAAAAHV1eDNmaHBzLmw1MQwAAABpNWpoeWJncy5tdGkMAAAAb3pmNXIza2Eudnh2DAAAAGR6
+ dDR4bmNwLmJldQwAAABqNGpnNDRlYS5jM3IMAAAAYmlvajVxYXguNGNlDAAAAHVtdDAwcXZyLjJm
+ bwwAAABhZXprenJwby5mZ3cMAAAAZG40ZmJxNHcuajF4DAAAAGRkeXp2bnFkLmNtcgwAAABhbXIy
+ ZWx1Mi5yaGcMAAAAZmY0cTJiemkuc20xDAAAADU0aXZ2ancwLnFiZQwAAAAwMWVid2p0bi53eXkM
+ AAAAaGJ1bWRqZGkuYmZ5DAAAAGxsdmNlMTBhLnF0ZQwAAAAxeXF6MXN1Yi4wb2YMAAAAa3RsbXh4
+ ZTUucHJjDAAAAGM0NGMzemd4Lmd4dAwAAABwd3h2MnJibC4zY3gMAAAAMjFuNWl1bm4ubzFiDAAA
+ AHNpM2JnYmUxLm5hdAwAAAB3cXRieWkzeS5td2IMAAAAcDBrd2NkcGkucHphDAAAAG53dnRjcWIw
+ LmMwYwwAAAA1eTRmbnIzZi5wZHgMAAAAeWlxdHdlenkuZjExDAAAAHJwbnZuenpyLm40cgwAAABu
+ a3ExdXExZi53MmsMAAAAZ3cxbHBjbmYueTN2DAAAADBwbHVhbDJ1LmpkMgwAAAB1a2RsMzAwZC5z
+ b3AMAAAAd2NubG92aHcuMWxiDAAAAGNwZXVjcjN6LnZ6egwAAABic2tqemJnYy41ajQMAAAANDNk
+ eml5ZHYubXZpDAAAAHd5anJ5d3FrLmtycgwAAABieTF0NHVucC54YmsMAAAAaWloZWVmbWYudnFt
+ DAAAADJrdWZ6eWtxLmE1MgwAAABkaG01eDFkMi50dmQMAAAAbmc0NGVoNDMuZzV4DAAAAGp6cGZt
+ M21qLnJreAwAAABwcXR1bHdwMS5iYXUMAAAAYmlwaWlvemcucjBpDAAAAGxyYzJnNHNrLnJudwwA
+ AAA0NWhnZHhxZS5scHEMAAAAd3B4emZoZWQubDUxDAAAAHg0MTJuand6LmJ4eQwAAABwdGZieWxj
+ Yy5tYnEMAAAAeXA0eHNuZ3guZXlvDAAAAG16NTJ5cXAwLnBkZQwAAAByajJyZGhhei5za3QMAAAA
+ Y3pobjJzZ3Iub2J6DAAAAHFveGVweWE0LnR4MgwAAAB6bDRoZXBuby55eTIMAAAAYWh1cHFwMHou
+ d2NlDAAAAHltMzBuajF3LnAydAwAAAAzcDBubzNvYy5xNG4MAAAAMGZncXVya3MuY2RhDAAAAHh3
+ MGFxY3VyLnEycAwAAAB6a2ZzZnRveC4xYWUMAAAAbHZoZ3gyZ2wuZ2wzDAAAAHlmcnRtamViLnhz
+ cwwAAABoYTBqb25jeS5hNWoMAAAAc3VqNXl1NG0uMmV0DAAAAHZqb3NnMDI0LmswdwwAAABxcGx0
+ cXd1cS5vbWYMAAAANGZhcjBnd3ouemJsDAAAAGNibGVrY2Z6LmxkbQwAAABlMHF1dm5qYi5rbGYM
+ AAAAZnp3NW12cjQuNHNqDAAAADJpbGN0MzVtLnpucQwAAABxb2FrZnk0dy4xeWMMAAAAZ3N2bDA1
+ bnIuZGVvDAAAADRud2kzb3l2LnVybgwAAABheDMyZ2N1by5sanEMAAAANG5xMnBvY2YuM2RwDAAA
+ AHlncHNodmJ0LjNmcAwAAABrZjEwZTVqdy5iYjIMAAAAMHoxbTFjNGoud3l0DAAAAG9waWt3aWpo
+ LnM0egwAAABkZmhydTQway52eXEMAAAAem1zemMxcWIuZG51DAAAAGF5NW5rMTN4LnJmdwwAAABl
+ bDFjajBtaC5kZGYMAAAAbmNrdGh4bDIua2ZoDAAAAGtuZnoxMTVlLmU1awwAAABoZGt3NWdnai5h
+ Zm0MAAAAczN4c2FtbHcuZG55DAAAAHUwZDFxbWRlLm9ubgwAAAAyMnlodDV0cy40eHEMAAAAbXpt
+ MGl2ZXkudTEzDAAAAGExNG8yd3p2LmowbAwAAABwZzBuMzI0ZC5mejIMAAAAdGkxM2M1MW8uNXps
+ DAAAAHphYnYxaTVjLmJiegwAAAB0ZWh3cHJldi55bjIMAAAAenpsZ3l4YTUuNHlhDAAAADVjNTI1
+ MGNmLmZzeQwAAAB6dGFzcms1dC5peWoMAAAAdDBuNW5uZXAudnNhDAAAAG55dmVvc3gwLndvcAwA
+ AABsZ3hjZHRoMC5hbWEMAAAAdGIwb3FwM2wuZXZ3DAAAAGRlY2J1azEzLmxwZQwAAABzZnFjNXJ3
+ eS5uZGYMAAAAMnQ1M2p5NWEua2lqDAAAAG12Z2hqdW8xLmdpagwAAAB4MWZodmlrby5wcnoMAAAA
+ czM1eWVmZ3AuYXVqDAAAAG1vZ2FhYm15Lm9sbQwAAABzZGo0M2g1bS5iZXEMAAAAdHZyaDRuM2wu
+ a3hxDAAAAGNka3oycnd0LnUxcAwAAAB4enkwaHZvci5nMHEMAAAAbWpscWlrc2wuYml1DAAAAHgz
+ cWZxNTFxLnh3ZQwAAAAwemZwYWVlYy5rNTIMAAAAY2wzM2xwZWoudGc1DAAAADUxcTRxa2duLmw1
+ dAwAAABiNHZucjNqby41d3gMAAAAMXVmb2YxZ3UuYjJoDAAAAG1rbTJ0a2h0LnhheQwAAAA0bWJx
+ bjVyNC52MGsMAAAAcXZxb2NjeXkuZnlnDAAAADRqbHgwamkxLndqcAwAAABmenlyNXlmbS5wZG8M
+ AAAAbTVyeXI0ZG4ubGZoDAAAAGxsMXFidHF4LnRidwwAAABtbDQ0em90NC5yaG0MAAAAbjNqcDV2
+ Zm8ubjV1DAAAAHh4eW91cm8wLnA0cAwAAABkY2s1MXRwdi5jcWwMAAAAcmRvMmxxYnEueXFsDAAA
+ AGx2cnEzb2ZjLml2dwwAAABmaHY0MDJyaS55ZWIMAAAAM2h2ZXYxbWsucXdkDAAAAGp2bnRvZWY1
+ LnJueQwAAABieXVzeW1kdS5wc2gMAAAAb2lib2x2cHAucGplDAAAAGZ5NGFnMGgzLmR6ZAwAAABx
+ ZmlleHpsZy5mMngMAAAAd3V3Yno1anYucHZ6DAAAAG9qNHJoNXN4LmgwawwAAAA0Mm52c2k1dS4y
+ ZG8MAAAAMnZ4dTVsZGMua295DAAAAHdsbGxxdXptLmR4NQwAAAB3M3ZweGxyYy4yM3kMAAAAaGFp
+ Y2gza2YucmVnDAAAAHdvZGQ0b2V2LndpYgwAAAByMGFvc3FvaS5ocmwMAAAAc3k0YnhsdnIuYm14
+ DAAAAHJuMXU1MXd1LmhsZQwAAABqazVudm90ei5iM2QMAAAAb3BvY3V3ZHUubjVwDAAAAGt2MHB2
+ dWl3LnZidQwAAABoMjQwNXptZC5kNG0MAAAAdXl0aXZzZW8udjR3DAAAAHdiZ29md3phLmZxZAwA
+ AABzcWRpcHl1dS5qcXYMAAAANG8wYmp2YWcuNTM1DAAAAGdhNHBkc3BhLjUzYgwAAABiaXBiaTVj
+ di5ham4MAAAAeHhyaWEwaGMudHZmDAAAAHp2ZXVvZWN6LjRrZgwAAAB5eWFseW50Mi50bWEMAAAA
+ ZDIxbG41NTEubjBxDAAAAGp3Z29mbGYzLnlwMAwAAAA0bWpwc3diYy5udGcMAAAAMnMya3Bjc2Mu
+ cW16DAAAAGY0cjJmdnJ5Lnp1awwAAAA0eWhtcTVheS5uczEMAAAAd3hmMjVlZHAuaDBzDAAAAGUy
+ d3htMXF3Lm96egwAAAAyc2M0NXB3aS4xZXcMAAAAanEzbWp6NXcuYTRsDAAAADJncGFua2d4Lnlx
+ egwAAABreHNtZWNycS5oeGkMAAAAMnhlMmlzM28uMXUyDAAAADRpd3Brb3MzLnp4ZgwAAAAwbmI1
+ Z2Nwbi5paWMMAAAAcm5tbDUwMDEuMWN5DAAAAGplcWZoZjBuLnltegwAAABzem9yc2tlcS54cjQM
+ AAAAbjRiMjB4MmUud2ZvDAAAAG11ZHlyYXUyLmtnMgwAAABoMTRhZG51ci5uc2cMAAAAZDJnNWdk
+ MjAucjR1DAAAADRneGNodXMxLjFvdAwAAABva2t0dnFmdC56cmsMAAAAbDBtbXp2bTMuZGd5DAAA
+ AGFtY3hma2J6LnZobAwAAABzMjNrYjNqYS5zbGcMAAAAZ3h4b20za3MueG5oDAAAAHV6bHdlbGo0
+ LjRyagwAAAAycHRjMDJzay5jbGYMAAAANGtiZmMxemQuYXcxDAAAADBha2Roam5rLmF3bAwAAABs
+ bHNiM3Z3eS5lM3gMAAAAYmp3eHp5YzQueHNwDAAAAGdpM3lsdnJoLnRxcQwAAAAyc2l2YW5iaS5k
+ aHEMAAAAajIxZ2M0ZTMuM2NsDAAAAGJnMjRpZHh6Lm4yZQwAAAB2b3pnZXJmai5yd3YMAAAAY2py
+ MXcxdGouazRkDAAAAGdoam5seGVjLjFuegwAAAB2dnllcGFjNC5qNGIMAAAAYWF1dHN2YnYucWRu
+ DAAAAHF3ZTAwYzJiLjExcQwAAABjYXh2d3AzZy55bjIMAAAAbXJpYzF1YWQuMHJsDAAAAGp0YjVz
+ ZXF1LmF4MgwAAABzY3pyZ2xlaS5oZnUMAAAAamdseDB3aHcuZW1lDAAAAGR4cG4xa210LmtkbgwA
+ AABteHplZG1qaS5qcnIMAAAAa3FiajRjNWouYXp3DAAAADR0MnJhejFvLnlqaQwAAAB1a2Z3aTNl
+ Yy5nemQMAAAAemVjbmx6b2QubDM1DAAAAGVia2JhZDFyLnlocQwAAAB5am1xaXlycC5ld2sMAAAA
+ Z3ozaWVnNHAuaWQwDAAAADBlbmFvZXQ1LnVvagwAAAB2cGUzZTJwaS5qZHAMAAAANXVsdGpweWQu
+ c3RvDAAAAHQybmtiNHJlLmkwZwwAAAAxaHI0M2R0di4wc3EMAAAAMXdhZ2pyencueXRxDAAAAHlt
+ Y3VieWdrLnduZwwAAABibG1tMmdtei52Y2gMAAAAbXM0cm1lZjEuaGxlDAAAAHN1eG9vanFmLmxu
+ dQwAAABnamFpb2JiMC55cmkMAAAAa3lkbWU1c28ueHRiDAAAAHEydTN1cmh5Lm5zeQwAAAAxeTJm
+ bHp1dC53M2IMAAAAZnJwbHlwc24ubWFpDAAAADJsbm1hdzRwLnJnegwAAABzeXRkd2J2aS5jd3oM
+ AAAAeWc1ZTJmemYuZjFoDAAAAGZpYjVnaGZrLndlMAwAAABjMmJ1MTF6eC5jY2UMAAAAYnc1aW1p
+ YjUuMDJ3DAAAAHRhZTBmb2x5LmxlcAwAAABnamExM254eS41aGUMAAAAengzbWt0bzQuNXV5DAAA
+ AGVrend6bTMyLnNicwwAAABnZzB6MXh2Yi5mNG0MAAAAczIwNDVkaDQudGJqDAAAADUwcmdoYmhi
+ LnBzZgwAAAB5ajAxcHAzdS4za2oMAAAAcjFzaHdtYm8uYm9rDAAAADQxYWQxdWFlLmRhdQwAAABk
+ ZmJ2MDJ1ei4xZTUMAAAAenQyMGs1ZGwubzFqDAAAAGV3Y2Npemp6LnZ6YgwAAABzZDF5cTU1Yy41
+ M2cMAAAAaDBpaGZmd2MuY3BvDAAAAHV1NDBraDBkLjR5ZwwAAABkam4yZXczMC5lbmIMAAAAc3Uw
+ emdtaG0uaHkzDAAAADRhaXRtd2psLnpyYgwAAABzYng1Zmlwbi40cHQMAAAAY2NjeGlicG0ud2Ji
+ DAAAADBieHVxeDJuLmEzMAwAAAB4ZWxqcGx5dC55dWUMAAAAcXQ0bTJnYXoueXlmDAAAADN4aWJp
+ Y3R4LmJ1ZAwAAABnb3BhMWY0cC5icnAMAAAAcG9oc2pmMDIuaGUyDAAAAGFmYm1peXU0Lnl6bwwA
+ AAAwbXJsZWdreC5wa2gMAAAAeW5sempseGwubmR2DAAAAGZ0eWNtMTJrLmJkdAwAAABzMWVpa3hv
+ dy5qZTIMAAAAaG9sYjNjZmkuYW9iDAAAAHp4dDNhc3IxLm40agwAAAB0ZnMxZmxrMy51ZGwMAAAA
+ ZTJ6ZWZkYzQuNHRvDAAAAHFhdXI1cTFvLmthdQwAAABoNHRjMjVxMi5yNWoMAAAAajBibmhleG8u
+ YWp0DAAAAHF0cm1rNXV0LjRpMwwAAABrZ2NuZnI0eC5oaGkMAAAAMHRweTNjdnQuaDNiDAAAAHlr
+ MHBicGkzLmxycgwAAABkand1ZGkyaS5rdW8MAAAAaDRxamo1aWQuNGZtDAAAAGxyNDB0amIwLm8y
+ cwwAAAB5emxjdTB5bi5pd2UMAAAAMHZlcDViZDUuZ2ZrDAAAAHhtenhibnJnLmY1egwAAAB6bnFx
+ bWp3dy52aHMMAAAAYmhycmx4YnUucHkwDAAAAGJvcHplMTNvLmxhagwAAABzNGJ4ejBndy51bTMM
+ AAAAMmgyb3J6ZHAudnUzDAAAAGpkZGs1bWZ1Lm9hawwAAABhdHExanlseC55cXkMAAAAMGV5Y3hm
+ d2wuaWY1DAAAADBnMmpqbXZnLnUyaQwAAABlMGJtdXJ5bi5sZnMMAAAAaWRmazE0aTUueG5tDAAA
+ AGVzMndic3RzLmxmdgwAAABycXVyb3V1aS54eGEMAAAAdGNxMXJjejIucXhtDAAAAGRoeXRzdXhl
+ LjU1egwAAAByMGNzeWxodC5samYMAAAAandndzNmM2MuaWZiDAAAAHptcGVvbHkzLjR0MwwAAAB6
+ aXdtNHRtbS5yd2oMAAAAeXhrdnhneTEud3RhDAAAAHM0emF4cWE1LnpvcwwAAAB4cW5icmkwdC5t
+ bnEMAAAAMmV2M2MzZ3AuZHpmDAAAAHBxNXZiem9wLmh3agwAAABjM3Qzd3IzMy5qY3gMAAAANXhq
+ a2YxenMudTF2DAAAAGtkbXVvYzNrLmhodAwAAABhZ2RkY3V2bC5lbnoMAAAAMnZseXYyYzUucWp1
+ DAAAADV2c29rY2I0LnBocgwAAABiZmZnNWZmby40dGQMAAAAa2thY25xdHkuMnptDAAAAHcxdGs0
+ cjUxLjBkNAwAAABudG5sbmJ4bi51c2sMAAAAcHQya3pobGsucTRwDAAAAHd1cmcyb2IzLjVjMwwA
+ AAA1cXA0MmdvaS50cGMMAAAAdGQ1dnBla3EuM2p0DAAAAHdwd20zY24xLmNqegwAAABtYWZhdnRk
+ Yi56cXUMAAAAcWZuams0a28ucXpkDAAAAGRja2wxdTN3LmtwYQwAAAAxc3Jha291MS5rMG8MAAAA
+ YWRrazQwdXYuaXhkDAAAAG5uMXE0MGxvLnYzYgwAAABpY2JnbWF3by5hdnEMAAAAYTRkMWZleTIu
+ NXNvDAAAAGcxejVzMWJ4LndwYQwAAAAwZWt1djU1Mi5mczAMAAAAaWcxNTFwZngua29tDAAAAHZ6
+ cGJocDBnLnBxZAwAAABmMDV3dmUzby5xZDQMAAAAMWV6dWt0cXIudmZvDAAAAHpxbXB1aTRtLjNq
+ MwwAAABjNXFkaXBpMy55cGsMAAAAbnhvZXhvbG4udHFtDAAAAG8wazQxcTFtLmwydgwAAAA1Ymp5
+ dzRibi4xNDIMAAAAZjNkZGRwaXIuM3Z5DAAAAGpnbzR6YWhsLnZpNAwAAAA0ZGMzcnNteC4zMHEM
+ AAAAZGNxMGozNGEuY2dqDAAAAHBhNWRsa3NzLmNxcAwAAABobGhhZXFsMy5zMG4MAAAAZHlweWJ0
+ cWQuMTBpDAAAAG50NDBmZ3JqLmRqeQwAAAAzZ3V1emJubC4yMnIMAAAAd2Qyc29zcHcuMWVpDAAA
+ ADRnNWxhc2liLmVyMQwAAAB6aGtlYmxkcC5xbW0MAAAANHl3cGRxMWguZHpuDAAAAGpjMmJ4aHRu
+ Lmw1cgwAAAB6djJqZG93cS5reW4MAAAAM2N0cXZncnkuMTFvDAAAADMyMjV2cXpoLms0YwwAAABr
+ b2gxMGMxMC5mbWEMAAAAemlieGR1ZXcuNXJjDAAAAHZ6cTFtYmFyLjEyZgwAAAB5cnBucDJnZy5p
+ NGsMAAAAY3N0MGl4cXUudmNnDAAAAG5veXkzY3p6LmwybwwAAABvdmdvaWs1cS54c3MMAAAAaW5x
+ cHhxMHoueWdpDAAAAGJ0ZGtnazBrLnZxcQwAAABjazFzbXlnei5xb3UMAAAAeXBicndkd3YubWFi
+ DAAAAGlmYml0ejJ1LmpvMAwAAAB5YXcwMjUxMi5xY2UMAAAAYWZ1cTNzb3IubGRiDAAAAHFyeXJh
+ MWFsLjJwdQwAAAAzZ3cwdGtrdy5sNWEMAAAAdXF2eGJ6NGMuenhmDAAAAGZ4cTVmZHplLnJ1bwwA
+ AAB6aTRvZGpvNS52Z2IMAAAAaXJpdmN5c20ubjVpDAAAAG15NHlwcmVoLnVueAwAAAB5c2ZocWpq
+ dS4xa2UMAAAAMmQwazA0MHkuM2kwDAAAAHk1NWhud29kLnp4dQwAAABsNXV2YTNoaC5oNHAMAAAA
+ cDVoYXZ2bmMubHo1DAAAAHhraHpzdmZsLjB4dwwAAAA1dDN3cjFhaC5hdW4MAAAAaHdwMDRjZnUu
+ bWFjDAAAAHJvNHkwMXc1LmowawwAAABrdXozYmN0ai40dG0MAAAAcnR3c2prd3MubzF3DAAAADNj
+ eXN0cGtuLnZ2YwwAAAAyZWR5M2hrcS56cmsMAAAAczN1emNqeTUueGF0DAAAADM1ZmNndWpwLjNs
+ dAwAAAAybmEzbXpmei5mY3oMAAAANXllcWphYXouMjBvDAAAADBna29pNHZwLmI1dwwAAAAyZHli
+ ZWN2NC5iYWUMAAAAaWQxbno1YTUua3d5DAAAAGZzc3ExM3FvLm9yZgwAAAAxeGJxMjBudi5oM2YM
+ AAAAazRsZ3F4aTAuZjN4DAAAAGgxYTR3MWZoLmRmbQwAAABqYTB0eDFiay53MDAMAAAAbDVmZnhk
+ YnkuMHVhDAAAADJzZTRhZ3B4Lmc1bAwAAABnbmdzY2l3MS53MGsMAAAAMWZ0bXhrYzMubGF0DAAA
+ AHNzbWF0b3JiLmJtbAwAAABseHlkajNidS4wYm0MAAAAaGwwaWkxc2suMHAzDAAAAGJhbnJ4MWwx
+ LmJ2bgwAAABwcnppcGd0eS51MXQMAAAANWFhNWwwcG8ucmUzDAAAAHQzM2VjeHI0LmJpaQwAAABp
+ bHh6MTRoMC5ycXAMAAAAdWFxMmx1MGsuemF2DAAAAGl6eTM1ZGZiLnluZgwAAABvMjJjYmV2bS5j
+ bGIMAAAAcGxsNGhjaXYuZHNnDAAAAHRidWl3c3RuLjJneAwAAABnM3dnMmJ0aS4yd2MMAAAAMWNv
+ NWY1MXIuMjRnDAAAAHNnZG56cXhkLjBqbgwAAAByenh6MTMzei55bW4MAAAAMm95ZWVpajEuMXVs
+ DAAAAHVmYnZ2MTRjLjBhNQwAAABhYWJnY2VtaC5iZm4MAAAAMXd1eGJhZncubHp6DAAAADFwdDEy
+ ZGxxLmxzdQwAAAAybjJ2d2U0bi51ajAMAAAAdTFnZ3YzdzAuaHkzDAAAAGlua2kxbXB3LmhkMgwA
+ AABrc3V5bWx6by5reHgMAAAAbWt4enR0cWMubXR5DAAAADNiNGI1czR0Lnd2bwwAAAB5enVoaGdw
+ NS5oZnQMAAAAbjNneWM0cTUuZzMwDAAAAGVndW9ldHg0LmNtMAwAAABta2JobmJyZS51djUMAAAA
+ eWt5eHYwbjQuc3NmDAAAAGw0bmhhYWFsLnFnbQwAAAB6b3hlMGVnZC50MXkMAAAAZnZhbXQycWou
+ MWVlDAAAAG16Y2J2b2ljLnE0cwwAAABoMmtrZGdsbi5vemYMAAAAYnpkbGhhMTEuczJyDAAAADVj
+ MWZxb2RmLnBxcwwAAABkanRxcXN1aS55MnYMAAAAYXVpdG13NWEuemZtDAAAAG9kdzEwZ3RsLmFx
+ NAwAAAB4cHJkdDFwcS52NW0MAAAAbG1qcWtycXYuYjFuDAAAAHBhY21pcjJnLnBkNAwAAABvbGdo
+ M2F3Zi5qanAMAAAAeXF6bG9uMHQucnMwDAAAAHh6eHNpeGdvLnVocAwAAAB0emt1bG5jaS5ndGcM
+ AAAAd2tlamFwMHkuemZlDAAAAGwzYnQzb2UwLmxnbAwAAAB6YnVoYmNlci40d2QMAAAAMnFwcDNu
+ b2QuZmNnDAAAAHZ4M3IydHZ2Lnl1MAwAAAB6NHVidnQxby5xYWkMAAAAemNlc2JuZW4uM3ZyDAAA
+ ADV5Znh2ZHV1LmhtbwwAAABvbXdjajFoNS5zbnIMAAAAaTJuaG9rZGEuM21zDAAAAHc1aGxwYXg1
+ Lms1ZQwAAAB2NHAzcHQ0Zy52Z2oMAAAAMzMwNXFtZGguZngzDAAAAHNycjV2a2liLjN0NQwAAAB2
+ cHJ0Z3N6ai4yYWkMAAAAY2dva3pqc2EuYWdwDAAAAGk0MGFzeDN4LjAybQwAAABnMGgxZ3d5aC4y
+ NDAMAAAAZWIwczBoaGYucjByDAAAAHlscnFua21nLndyZwwAAAA0c3Ayd3J2My40bzIMAAAAcXE1
+ Z2ZyZ2YuZTRkDAAAAHprMjF4aHRxLnM1bwwAAAA0aWh3NXEzcC5zMDQMAAAAZmRxdmdmNG8udGxs
+ DAAAAGYxdnlnbmQzLnF3MwwAAAB4bGN6cWV0Mi5maXoMAAAAamVpNXl0NGEuNHVhDAAAAHJmNGti
+ ZmdmLndxegwAAAB4bnNoYWJ0aS5oYnQMAAAAenhwcnN4cnkuaGJ6DAAAADFnYWI1dW1kLnN5ZAwA
+ AABvdm1uem01MS5sNXYMAAAAd3BlZGF0NWcub2thDAAAAGp4YjV3aDU0LjVnZAwAAAAxYTIyZXBj
+ cS4xMnoMAAAAM2VucDFsaHYueDVhDAAAAGRtd29ocGdpLnJuYgwAAABqdmZ1MGRwMC4weXUMAAAA
+ Zmt6aHVwcjIudGx1DAAAAGN6Z2l3emV4LmRqYgwAAABxcGptM201ei56dmIMAAAAMHd1d2VobW4u
+ bW9hDAAAAHkxZ3FtajEzLnFkZAwAAABoc2pwYWlkdS40eWwMAAAAaG52cHdyMWUuaTRrDAAAAHNt
+ dG1yZHlmLnYwawwAAABrdXBlb3hqbi5mMzAMAAAAZW9ucGNubnguYmIzDAAAAGRvdmh5MXd4Lmhl
+ YgwAAAAydHRuMXRjby5nZmgMAAAAMmhkbzQ0bjAucmRiDAAAAGVpZTF1dmJtLmxkZgwAAABqenBl
+ dXduay4wZjQMAAAAZDIxZjVjenYudWN4DAAAAHB5aWZmaTRxLnlxNAwAAABtZXNsNXRldy40dmYM
+ AAAAc3ZyMDFjcHEudWduDAAAAGpvemx1Mmp4LnJnZwwAAAB4cGhoZWEycy5rbG0MAAAAbnJ3cTVt
+ NWkuMmx5DAAAAGlqZ3Nnc3Q0LjBmbwwAAAA0dWdmbHVmei5xdGUMAAAAeHkxZG4xMWkucDBsDAAA
+ AGR0dHdvY2R1LjNuNAwAAABxYW9xMGdhaS5uMW0MAAAAbHNncnB3bXcuemsxDAAAAGUxMHhwb2Jx
+ LmZnbwwAAAAzbGMydGo0aC5lemIMAAAAa3d3azBydjUuMm8xDAAAAHAya3ZhZGNpLmpkYgwAAAB4
+ cmR2bW5sbi52MXcMAAAAYXowYm51bG4ua3drDAAAAGNtaXF5NHZqLmFlMwwAAAAxbmNmMmEwbC5s
+ MXQMAAAAMzVhM2ZmcmIuZmFnDAAAAGh4bHJpZDIwLmNhbQwAAABhczNwcHNmdS5xd2IMAAAAdjBp
+ MXZ6ZXguZXduDAAAAHczcHNqZ21iLnYxZwwAAAB4angyNG9uZy56bGYMAAAAM3RnbzFnZnAuYnIx
+ DAAAAGkxaDJ1b2hqLmt3NQwAAAB4ZGp6YWIway53eXEMAAAAZGphMnowMjEuNTJpDAAAAHBxdHpo
+ cmNkLm93cgwAAABobXZkaXdndy4wb2cMAAAAM2d5aGd0YzMuanBkDAAAAHgxYWxnZGVuLnd0dgwA
+ AABqYjBrcGhneC51MHgMAAAAa2kxMjRpdmQuMHhqDAAAAHkxYnpyb3p1LmZqaQwAAABtM20xZGIz
+ di5ka2IMAAAAZDAzbHB2cWYuaHl3DAAAAHdvcmZyZnhuLjJ0agwAAABjMnJxemk0bC5kdXIMAAAA
+ MjNoMmtraHEuc2h6DAAAAGxjeXl3Y2ZrLmZjegwAAABleWQ0M2NyYy41d2kMAAAAMmhycWdzM28u
+ amkyDAAAADJ0eTR1a2tsLjVjcwwAAAB3aHJnbmQ1Yi5lYTAMAAAAamcxa2J2Y2cuYXR2DAAAADFq
+ cWFyemhiLmNyYgwAAAAwdWhkbWY0NS5meW4MAAAAamIzYW9tMm8uMGhtDAAAAHR1cnppcTRvLmpi
+ bgwAAAB5c2d0dHN4aS5ucHcMAAAAcDN0eHVtcXIubWFzDAAAAHZqemVlanEzLmsydwwAAABmcG01
+ bmdrcy52eDAMAAAAbXBzMXRtcXguM3VvDAAAADVoajFsajJkLnp5cAwAAABtMXhnb3oyay50Z3IM
+ AAAAZHNpcXpvdGgucnFqDAAAAHFxb3B5d3R5LmhoaQwAAABjaXVsYWtzdC5wdXEMAAAAeWdvNGJ1
+ MmsuMnVnDAAAAGZtY2ticm5vLnIxYgwAAABobGhhaDRuby5wcncMAAAAZGI1dm92cGoudXFzDAAA
+ ADM1MnpoM3h5LjJhYgwAAAAzY3poa3VvMC5penMMAAAAM2YxanljZzMuajB2DAAAAGtiZHIwdzR1
+ LmdtdAwAAAB6eDNhNHZsYS51c2sMAAAAc2J1ZmZibjQubzRwDAAAADJjMGZ2c2UzLmt2eQwAAABw
+ ZWN4MzNjMS56MDQMAAAAa21zYjFrNDIuNXBqDAAAAGNwM3ZianZ0LnU1egwAAAAwbDRkbWhxdC40
+ eG4MAAAAYWwzM2piY2MuZ3hrDAAAADNxaXBqeHYxLnhhMAwAAABlaTVjZ3BiMi5qdWEMAAAAZTVv
+ dWNnd2subW1mDAAAAGVqZmpzMGhzLm1jbAwAAAAzaXhuZWt4bS54d28MAAAAdGRybWdoenoudGNi
+ DAAAAHU0dzFldjNnLnJ5ZAwAAAByY3Bta3p3ai5lcXcMAAAANWVrbG41MHcuNXM0DAAAAHh4NWx6
+ djBtLnV3bQwAAAAwMTFjcWFuNC55enMMAAAAa25iY3JwYmwuZmx6DAAAADUzbXo1d2dvLnVsbQwA
+ AAB6eTByMGxzci5zMjIMAAAAYWhudGJ4ajQuYmJtDAAAADQybDF3MnlhLmJzawwAAAB6bzAxNW01
+ aS50enQMAAAAYmF2YWZndTIucTNlDAAAAGdzaHljcXFmLjFpZAwAAAA1YjAzNXN5ZC4ybGcMAAAA
+ bHlpZnkwaG4uenh3DAAAAGV0YXBwbGdqLmczYQwAAABtNGp0dXFhdi52ZWwMAAAAcWRvb2t5eHYu
+ cnF3DAAAAG9qeGI0YWhsLnZjMAwAAAA0eWNqeXd6ai54aWQMAAAAc3ZqdW1uNXguNW9rDAAAADJ4
+ amZsMmZhLm9icgwAAABjd2Z0aHBqdC5hcXMMAAAAdGM1M2JxeHMueDRjDAAAAHl4amRnYnYwLm9s
+ aAwAAABpcW5tNWh0ZS4wd2IMAAAAbGcxeXprNHEuNWpkDAAAADUydG92MmJ6LjVkaAwAAABrYzNx
+ MWtjMS5qeXkMAAAAZ3NoeHYzeTEuNXR6DAAAAGpydWtvMGNxLnJnYwwAAABlamFydmxmaS41cDUM
+ AAAAeXgwdGpzeWEudGlvDAAAAGd1MGJ5NGJvLm4weAwAAABrejVraDB6Yy53MGQMAAAAejNwZm5h
+ eHIuaWF6DAAAAHR5ZWI1YnFqLjN4NQwAAAByd3RzbmJuci56dGEMAAAANXB0dDV5MzQuNWhiDAAA
+ AGhwZmVwMHFyLmFrYwwAAABiaW5rMHlyYy5qd28MAAAAcG1lenBzamwuamQzDAAAADAzbGVnZHRv
+ Lmx5eQwAAABiMzNkYWk0My5xZXgMAAAAZGxudHFnbzMubm5xDAAAAGJnaGJoa2VlLnRpcwwAAABy
+ azBxM3Btay5jNDAMAAAAdnFjYXIxMnUua3pwDAAAADVid2FvZmJuLnVwZwwAAABiZzJremkwZS53
+ cGkMAAAAZTU0enhjZnMubHR5DAAAAGVtMDVzMnBpLm90MQwAAABvYjFwMzUxbi54bWwMAAAAMGh1
+ a3R4d2wuamV0DAAAAGtiaDF6dWxpLnA0MgwAAAB6b2NrZWtiYy5razAMAAAAd2pwYTFjMnIudmpx
+ DAAAAHVkbmFrMXlhLjJscQwAAABub3BsenF1Zy5mY3cMAAAAZWdhZGJpd2EuZnN0DAAAAGJ2cmdk
+ M2tjLmZmYgwAAABybnhrY2xnMy5lcmEMAAAAZGhmeGtoMmwud2wxDAAAAGFyZHBqbDNoLmJvYwwA
+ AAB3a2gzdWZ4eC55cGoMAAAAeXF5YmJoc2IucHVpDAAAAHRtem41cXlzLnpwcwwAAABhNGVjZ3Zi
+ Yi51cGsMAAAAem5wMmd6MmoubGwwDAAAAHJwMHJhcHhuLml6cwwAAAA0dHp0ZWRtbC54ZXcMAAAA
+ bXEwc2Zqem0uMGVyDAAAAGN5Mmx3b24xLnczdwwAAAAxbHV1cm5xYi5qcGUMAAAAc2g1dmdrM3Au
+ aHRqDAAAAHRlMHduYm8yLmJwcgwAAABteTB1czE1NC51b24MAAAANWhmZ2NyanYuanJjDAAAAGlm
+ bGxpMHl3LjNkegwAAAA1eWJkamdnaC5nZHEMAAAAY2dqaWFvejUubHlpDAAAAHJ6aXc1MnViLmM0
+ ZQwAAAByNG1xMGlzZC4xbWMMAAAAeGJlcW5md2UuNG8xDAAAAHVwdTF3aXN4LnhvaQwAAABoaGd4
+ ZHk0cS5qYnYMAAAAcXYzYjBqb3AubWFhDAAAAGR3NGQxZ2hjLjRjMQwAAAB0cHNrdnJyMS5iczAM
+ AAAAb3h0Z2N1M2EuZ2gxDAAAADNvamFlaGJ4Lm9rdAwAAAA1dGF0ZmZwby50ZjQMAAAAdHM1c2N5
+ c2gudnZwDAAAAHZncGE0amJrLnRrMgwAAABoamN3c2RvMi5waHEMAAAAenZjMTMwZ3UuYjBpDAAA
+ AHI0MWdrb2pjLnV3ZwwAAABnaHUwazByai40c24MAAAAZnoxM294NGgubWxqDAAAAHMyZ2JjNXBq
+ LnF0NQwAAAAycHJmb3Joai5mYjEMAAAAdm1icm1ucWIubGIzDAAAAG1paHd2NWxhLmFmZwwAAABk
+ dGhuZTRubC5saWsMAAAAdHh0dmZpdHcubnN2DAAAAGtiZHR5bjBsLjFhaAwAAABzYmhia3Zhcy5q
+ Mm8MAAAAMHJzcDRtZmouZXU1DAAAAHpxeXVzZTV3LmY1NQwAAABrZ2dwZzVzZS5nYWgMAAAAbTRj
+ aTV4ZXoubGxhDAAAADEycTFkenBxLmEwdAwAAABuY3lyMnFzcy41YTAMAAAAc2Zka2VsbW0ub3Ry
+ DAAAADRiZWdsMmZtLnh4NQwAAABzdnBscXhoNS5lbHcMAAAAZ3hhb2FhbzUuZjJ4DAAAAG40c3Jk
+ Zmt6LjQ0dgwAAABicHR2Mm5qbS50amwMAAAAY2FoZTBidGouYTBzDAAAAGFkMGQ1dHJoLm0xdgwA
+ AAB6dWswMW9hMy51M3gMAAAAcXoxdm90c2kudXg1DAAAAGl2YnduMjAxLnIzNQwAAABveW5xaHd2
+ YS5ldGIMAAAAdHAzaG56b3AuZjVlDAAAAGpxcjJwbHhqLmVldAwAAABnY2FvZG1iYS56M3MMAAAA
+ andxejBkaGEueGF1DAAAAGt2MG5oMmZuLnZpYgwAAAAxNGMzanEwdS5peW0MAAAAM212NGw0NTEu
+ aGFsDAAAAGVxbXpoMXgwLjJuawwAAABzbGZub2xndy5jMHgMAAAAdTNmZjVkdmIuZHozDAAAADVw
+ NWZlMm9pLnN6cwwAAAAybmF5ajFwdS5pZG8MAAAAZDAycmZiM24udjBhDAAAAGx3eW40d29jLmQy
+ ZwwAAAAycjR6bHRubS5qMWoMAAAAMWlyYnltMnQudXdpDAAAADBheHpqbTRwLjJycQwAAABibXR1
+ eTBsaS4yZ2UVABWO+gEVjvoBLBXQDxUAFQYVBhwYDHp6bGd5eGE1LjR5YRgMMDExY3FhbjQueXpz
+ FgAW0A8YDHp6bGd5eGE1LjR5YRgMMDExY3FhbjQueXpzAAAAAwAAANAPAQwAAAB2MWtnNWhtci5m
+ aGoMAAAAZG5zdGNwbHYuZWRrDAAAAG1ta3lucHR0Lmw0awwAAAB5c3E1d2NrZy5idG8MAAAAcHJl
+ ZXpmdGwubXEzDAAAAGdmdXg0MWF2LmNvegwAAABnaHpnMmNqZS4yaDEMAAAAM2R0dngwMWkuZ2ty
+ DAAAAGV1emQxYjQxLmJxMgwAAAA0YXRkMnpuby5nNDEMAAAAeWtkc240dWkuYjNlDAAAAHRud2tm
+ aXNkLnFqNQwAAAB2ZmtpbGsydS4xYjQMAAAAdWN0MnIzdG0ubjEwDAAAAGRjdHdocWNvLnZnegwA
+ AABhc2hvYXZvMS5vamYMAAAAdWdzcWJicHMuNXQyDAAAADBwcHlyNGVoLmhtcQwAAABsNWRheHZ1
+ cy5wcDIMAAAAa3d3MTFwMmEuZHhvDAAAAHNobWx6YzNpLnpkMAwAAABraTJva2FteC5hc2QMAAAA
+ aTFiYnUyd2IuZGpqDAAAADJ5dnZ1ZnRsLm1lcQwAAABmZzB4Y2xoay5odGgMAAAAY2l6cHh1c20u
+ bDQzDAAAAGFtcnRlMGxhLjJ0cwwAAAA1ZDUzZWY1NC5tMHkMAAAAcmxpczR4NG4ubXp6DAAAAHp5
+ aGRjdnZsLnhieAwAAAB4ZDR3MGZxZi5sMHMMAAAAdnFzeWFoNDAuYmFuDAAAAGtvYW1raWJxLmtv
+ cgwAAABzNHBtdTI0dC5ia3AMAAAAMzE1ZzI0aGsucTQ0DAAAAHN3aDVxZmVnLnduagwAAAB3Z2Z4
+ d3dmNC5jMmsMAAAAMWpwMmlsd3IubDVzDAAAAGNvcW90NHU1LmhncQwAAABsaXgzZ2dmaS5leG0M
+ AAAAcnhlbnNva3UuamlmDAAAAGUya2d5aWQ0LmYwYwwAAABkZWs1NHB4bC5pYmoMAAAAdTRpMDNi
+ YXAubjJ4DAAAADVqd3Yyc2M1LjJydAwAAAB1ZzR6NGxtcC4xMzAMAAAAMW5lMXVjbmgua2gzDAAA
+ ADQzb3N5cjVuLmpzaQwAAAB1NWpicGFmMi5mcjAMAAAAbWMxY2FvYmcuMW9xDAAAAGJlemVteHZy
+ LmlhZwwAAABleHJ0Z2xhMS4xdTEMAAAAb21waWxlYWwucjFnDAAAAGg0bXoxdmFiLmJlbgwAAABy
+ Z3BkYWx2dy5kaXgMAAAANW1pb2NiNWsuaHR0DAAAAGt0c25mdnBlLnEwZQwAAABjNDFoYWV5Yi5z
+ dW4MAAAAaHVobGZpdTMubG5qDAAAADBlb2F2Y3BvLmxwNQwAAABrajQ1ZXpyeC5tZTIMAAAAYXNt
+ ejVvNW0ueXVtDAAAAHN5ZGJqcG9uLmRmeQwAAAB5dHc1Y3FtaS5iZGMMAAAAcTN6M3JlamQuMHRm
+ DAAAAG8zdHB2cmJkLmtncAwAAABpbWp1MWcxay40bWQMAAAAaGVwdzF0ankuZGRyDAAAADJic2Np
+ YWd6LmF1ZAwAAABwdWN5bWFldi5xajAMAAAAb29ncmtlY3kuMGdiDAAAAHZnMXBjNHd6LmFoeAwA
+ AAB3ZHRkcXRnYy5oNXAMAAAAY2FieHdwbzAub3pxDAAAADIxcWFjYnRwLmlpdgwAAABqMHltdWJp
+ YS40amwMAAAAMmUzeWliNXkub294DAAAAGIxMjF0YnlvLjFtZgwAAAAyZWVpeXRteC5jMmEMAAAA
+ aXdramt2djQudWcyDAAAAGh4aGgwb3gwLmh4ZwwAAABkcWFpanYyZi5mYTQMAAAAejJ2YjNqbWEu
+ djUzDAAAAHBzNHZqdHhwLnNjNAwAAAAzMHlyMW1kZS5lZGMMAAAAeGlhZ2UzazQuZTRlDAAAADRo
+ NG93YWFiLmh5cAwAAABiejR0M2xkYy5ybnIMAAAANHFhZ2cwY3ouMG12DAAAAHB4aWxodWtxLm9j
+ cAwAAAB6c2hjMXAxeC5yY2wMAAAAMWphMXlzNW0uYXFnDAAAAHQ1ZGh0c2txLnVpdgwAAAB4cm5m
+ ZGJveS5mdmEMAAAAdnp6MDJwYWQuMHdrDAAAAHB2eHNpNXRwLnFzdAwAAAB5MnZhdG1iMS5vZTUM
+ AAAAYW1taWp6bjAuYXMxDAAAAGt3dnVlMG0yLm01cQwAAABiNDVyYzF2di5xZjQMAAAAdWJwMDBx
+ YWYuNDNzDAAAAHdybXpvaTFuLm1yZAwAAAB6NDBpY3hmMS54YTQMAAAAY241eXkxaDUuYWh0DAAA
+ AGRkbjNmaXF0LmR6YwwAAABvdXJ4ZTJrcS5mam4MAAAANXgzMXpwM2MuZ2pqDAAAAGdtMW5oZXBz
+ LmJzYgwAAABmbWZ4cnRsZS5jMXQMAAAAenZwYW1hc3kuemRwDAAAAHV0empqb2VmLnBscgwAAAB2
+ Z3l3bmt2Zi5hNHMMAAAAY2lueG0zYXouYXkyDAAAAGp6YnF5czBtLmdzZwwAAAAxeGltM2lwdS4x
+ YmsMAAAAYTRzZDU0aW0ueWIzDAAAAGV6YXQwZ2dsLnVqMgwAAAB2cWxmM25sMy5ieGUMAAAAYXFj
+ NXUzeHouNW5pDAAAAGlxYWYweHZuLmQ1bwwAAAB3YzJyM3pmdi5zY3AMAAAAbHJxbHp1bmIuMW90
+ DAAAADFvY2FnM2Y1LnBxbQwAAAB6YmIxaDJ5Yy5kZGoMAAAAbWFreDB4c2oud2NpDAAAADNyZ3Rm
+ amdsLmg0cAwAAAB1M2hyMGFnNC5ndHQMAAAAcjRqZmlxdTIuZmJpDAAAAGllaXoyNTBqLmswdgwA
+ AAB1cjR4YjFtcC56dmUMAAAAMjVuZ3FqeWgueWp2DAAAAGQwZDRyYnJmLjVnagwAAAAxb2ZjaGZk
+ NC53NGwMAAAAa25sYXRpYWcueTV2DAAAAGtyb3dza2xkLm5sYgwAAABlZWl1Mnhnbi5ldWQMAAAA
+ bGVyeWt1dWUuYnl4DAAAAG9ueDEwa2dnLnVnawwAAAB3Z2NlYjIwYS5jcm4MAAAAb3NycHMyczQu
+ cG95DAAAAHkyc2FtZTR4LmZxcwwAAABkc2kydGRsMi5rdHUMAAAAc3FyMHAyNGcuMTJrDAAAAG1z
+ cmt0ejNoLnJuaAwAAAB1YjR1dmNpbC5ocjAMAAAANTFxb2tiNGEuc29vDAAAAHVxcDR2dWhsLnZl
+ eAwAAAB4aHExcTVrbC5ydDEMAAAAZ3h3aDNzdnQubjFvDAAAAGYza20ycXNwLmdtdgwAAAAxaHJj
+ cHI1ZC5hc24MAAAAMXp5MzB6M2EubXpsDAAAAGhvc2R5b2ozLnJnNAwAAAA1anRoam14ZC5kZXYM
+ AAAAdmhreTVrMGkuYm9pDAAAAG5tcGVsdjEzLjIxNQwAAAA0ZXp5czFmZy5mcnQMAAAAYWNlYmtl
+ MTUuMzJlDAAAAHdtbXBobjNwLjNidQwAAABidHNmZXJpcS5naXIMAAAAeWQwbzJ1emsubHpwDAAA
+ AGwzbmdsYXQyLjIzeAwAAAByNGdob3hxYi5veHgMAAAAdnp2dG9vMXEucXJzDAAAADRoa3djbmRn
+ LmVvYwwAAAB6MDFjMm55ei55ZHoMAAAAem1vcjExeDQucTAyDAAAAGI1eHZ0YjMzLjFxbAwAAABx
+ cjNjbXluNS5vcGUMAAAAbTVjdmJoMnouYjF2DAAAAGJrMWZybG4zLmp4cQwAAAB5c3pleWdkbS5z
+ ZjIMAAAAbWJ3Z2xiNTQuZWRiDAAAAHFjMWJseTNuLjMxZQwAAABhamMwaWtycy56dXYMAAAAc2Vj
+ Ym5yankuMXdpDAAAADUydWFsaGFwLml5MwwAAAA0b2pzcXlyay4wcmwMAAAAeWxrNG9udncuc2Jw
+ DAAAAGNjNTJhdmh1LnAxZQwAAABvdmF1ZmVoZi50bHIMAAAAdzJmbGZtYWYuc2RsDAAAAHZhY2tv
+ aWN0LnZ3YgwAAAB5dHRhaHdieS4waGUMAAAAcHpiY3I1ZGkud3U1DAAAAGluajBueGpiLmkxdAwA
+ AABleGZoeWIzby4ya3oMAAAANTFuY295dDQubGxjDAAAAHFkamUzbmZiLjFyMAwAAABkeHl5NTRt
+ ei4wcDAMAAAAZm9iZXcwbHgubnViDAAAAHB2ZDJjamdhLmhnYQwAAAAwcHNhMWJmNC5qejAMAAAA
+ aXVsM2d6eGouem9tDAAAAHY0MG5rZXByLmlycgwAAAB0MWIxcmQwZi56YmoMAAAAemJ2NWJncTAu
+ MjB2DAAAAGhkb3UwbTBpLnlvdwwAAAAzZTFzaDQxay5pbWwMAAAAZW12b3pjeG4ubGtsDAAAAGwy
+ cHp1MXBrLnBnbAwAAABjMWhvcXJtZi5na3EMAAAAeG1ma3R4M3Iua3g0DAAAAHB5NXR2eWFtLmRs
+ egwAAABkZ2l1ZXlmbS5taXMMAAAAZG5wZzN0ZGMueGhjDAAAAHV6d256Y3FhLm94egwAAAB0YXox
+ dm5kci5uNHAMAAAAdGFwdnB0aHIueXdzDAAAAGRwMXk1anZ0Lmc1dQwAAAA0M2V1dnFkZC51emkM
+ AAAAMDIwbG0xMGgud3dlDAAAAGNkM2dtbWVpLmwxZgwAAAB4ZW1tM2VkcS54enQMAAAANHV3M3d4
+ dHUubnAxDAAAADNjbGtrdmQyLnJsbgwAAAB1NHRpajN4ZS5vY20MAAAANWdicTFxaHouM3dyDAAA
+ AGpvZXJnd3cyLm5mMgwAAAB2MnVqbXd0bi5pZngMAAAAc3lkb3hrZncuZ253DAAAAGJ1dzE0bGQ1
+ LmdmcwwAAAB3M2FrbGVxdS52Z2kMAAAAY2NwaDF3ZDIueGR5DAAAADBnMG9vcW4zLnZwaQwAAABj
+ cmFmMGYwbC5icWQMAAAAcHBlZnVobjAuM2hmDAAAAGljemt4NHozLmhjaAwAAABncTRhY25laC5p
+ YW8MAAAAbWQ1cXRwbXcub3ptDAAAAG5jY3ZtZTMwLndvagwAAABpbWVyYW5yaC54aTUMAAAAb2J4
+ ZXZsdXIuZjBlDAAAADVoZ3p1c3ZrLmVlYgwAAABzazA0Y215bC5keXoMAAAANHh1cXZ2M3ouaWMx
+ DAAAAHZveHV1b2ZxLm1jcQwAAAB0djUzc21idy5hbTAMAAAAcHU0azJ2aXYuMHJyDAAAAGtubHNv
+ aW1uLnZsdgwAAABlMGQ0NGo0ei53NG4MAAAAcDBoaWZ3dDEudjVtDAAAAHJoY2F6c3FzLmx2aAwA
+ AABheWFtY2RicS5zMHkMAAAAYnh1Z3FsbDEubTFlDAAAADB4Y3V4b2ZtLm94dgwAAAB2cXZ2bXdj
+ cS5sMzEMAAAAaG5mbzRwd2IucjBiDAAAAHV1eDNmaHBzLmw1MQwAAABpNWpoeWJncy5tdGkMAAAA
+ b3pmNXIza2Eudnh2DAAAAGR6dDR4bmNwLmJldQwAAABqNGpnNDRlYS5jM3IMAAAAYmlvajVxYXgu
+ NGNlDAAAAHVtdDAwcXZyLjJmbwwAAABhZXprenJwby5mZ3cMAAAAZG40ZmJxNHcuajF4DAAAAGRk
+ eXp2bnFkLmNtcgwAAABhbXIyZWx1Mi5yaGcMAAAAZmY0cTJiemkuc20xDAAAADU0aXZ2ancwLnFi
+ ZQwAAAAwMWVid2p0bi53eXkMAAAAaGJ1bWRqZGkuYmZ5DAAAAGxsdmNlMTBhLnF0ZQwAAAAxeXF6
+ MXN1Yi4wb2YMAAAAa3RsbXh4ZTUucHJjDAAAAGM0NGMzemd4Lmd4dAwAAABwd3h2MnJibC4zY3gM
+ AAAAMjFuNWl1bm4ubzFiDAAAAHNpM2JnYmUxLm5hdAwAAAB3cXRieWkzeS5td2IMAAAAcDBrd2Nk
+ cGkucHphDAAAAG53dnRjcWIwLmMwYwwAAAA1eTRmbnIzZi5wZHgMAAAAeWlxdHdlenkuZjExDAAA
+ AHJwbnZuenpyLm40cgwAAABua3ExdXExZi53MmsMAAAAZ3cxbHBjbmYueTN2DAAAADBwbHVhbDJ1
+ LmpkMgwAAAB1a2RsMzAwZC5zb3AMAAAAd2NubG92aHcuMWxiDAAAAGNwZXVjcjN6LnZ6egwAAABi
+ c2tqemJnYy41ajQMAAAANDNkeml5ZHYubXZpDAAAAHd5anJ5d3FrLmtycgwAAABieTF0NHVucC54
+ YmsMAAAAaWloZWVmbWYudnFtDAAAADJrdWZ6eWtxLmE1MgwAAABkaG01eDFkMi50dmQMAAAAbmc0
+ NGVoNDMuZzV4DAAAAGp6cGZtM21qLnJreAwAAABwcXR1bHdwMS5iYXUMAAAAYmlwaWlvemcucjBp
+ DAAAAGxyYzJnNHNrLnJudwwAAAA0NWhnZHhxZS5scHEMAAAAd3B4emZoZWQubDUxDAAAAHg0MTJu
+ and6LmJ4eQwAAABwdGZieWxjYy5tYnEMAAAAeXA0eHNuZ3guZXlvDAAAAG16NTJ5cXAwLnBkZQwA
+ AAByajJyZGhhei5za3QMAAAAY3pobjJzZ3Iub2J6DAAAAHFveGVweWE0LnR4MgwAAAB6bDRoZXBu
+ by55eTIMAAAAYWh1cHFwMHoud2NlDAAAAHltMzBuajF3LnAydAwAAAAzcDBubzNvYy5xNG4MAAAA
+ MGZncXVya3MuY2RhDAAAAHh3MGFxY3VyLnEycAwAAAB6a2ZzZnRveC4xYWUMAAAAbHZoZ3gyZ2wu
+ Z2wzDAAAAHlmcnRtamViLnhzcwwAAABoYTBqb25jeS5hNWoMAAAAc3VqNXl1NG0uMmV0DAAAAHZq
+ b3NnMDI0LmswdwwAAABxcGx0cXd1cS5vbWYMAAAANGZhcjBnd3ouemJsDAAAAGNibGVrY2Z6Lmxk
+ bQwAAABlMHF1dm5qYi5rbGYMAAAAZnp3NW12cjQuNHNqDAAAADJpbGN0MzVtLnpucQwAAABxb2Fr
+ Znk0dy4xeWMMAAAAZ3N2bDA1bnIuZGVvDAAAADRud2kzb3l2LnVybgwAAABheDMyZ2N1by5sanEM
+ AAAANG5xMnBvY2YuM2RwDAAAAHlncHNodmJ0LjNmcAwAAABrZjEwZTVqdy5iYjIMAAAAMHoxbTFj
+ NGoud3l0DAAAAG9waWt3aWpoLnM0egwAAABkZmhydTQway52eXEMAAAAem1zemMxcWIuZG51DAAA
+ AGF5NW5rMTN4LnJmdwwAAABlbDFjajBtaC5kZGYMAAAAbmNrdGh4bDIua2ZoDAAAAGtuZnoxMTVl
+ LmU1awwAAABoZGt3NWdnai5hZm0MAAAAczN4c2FtbHcuZG55DAAAAHUwZDFxbWRlLm9ubgwAAAAy
+ MnlodDV0cy40eHEMAAAAbXptMGl2ZXkudTEzDAAAAGExNG8yd3p2LmowbAwAAABwZzBuMzI0ZC5m
+ ejIMAAAAdGkxM2M1MW8uNXpsDAAAAHphYnYxaTVjLmJiegwAAAB0ZWh3cHJldi55bjIMAAAAenps
+ Z3l4YTUuNHlhDAAAADVjNTI1MGNmLmZzeQwAAAB6dGFzcms1dC5peWoMAAAAdDBuNW5uZXAudnNh
+ DAAAAG55dmVvc3gwLndvcAwAAABsZ3hjZHRoMC5hbWEMAAAAdGIwb3FwM2wuZXZ3DAAAAGRlY2J1
+ azEzLmxwZQwAAABzZnFjNXJ3eS5uZGYMAAAAMnQ1M2p5NWEua2lqDAAAAG12Z2hqdW8xLmdpagwA
+ AAB4MWZodmlrby5wcnoMAAAAczM1eWVmZ3AuYXVqDAAAAG1vZ2FhYm15Lm9sbQwAAABzZGo0M2g1
+ bS5iZXEMAAAAdHZyaDRuM2wua3hxDAAAAGNka3oycnd0LnUxcAwAAAB4enkwaHZvci5nMHEMAAAA
+ bWpscWlrc2wuYml1DAAAAHgzcWZxNTFxLnh3ZQwAAAAwemZwYWVlYy5rNTIMAAAAY2wzM2xwZWou
+ dGc1DAAAADUxcTRxa2duLmw1dAwAAABiNHZucjNqby41d3gMAAAAMXVmb2YxZ3UuYjJoDAAAAG1r
+ bTJ0a2h0LnhheQwAAAA0bWJxbjVyNC52MGsMAAAAcXZxb2NjeXkuZnlnDAAAADRqbHgwamkxLndq
+ cAwAAABmenlyNXlmbS5wZG8MAAAAbTVyeXI0ZG4ubGZoDAAAAGxsMXFidHF4LnRidwwAAABtbDQ0
+ em90NC5yaG0MAAAAbjNqcDV2Zm8ubjV1DAAAAHh4eW91cm8wLnA0cAwAAABkY2s1MXRwdi5jcWwM
+ AAAAcmRvMmxxYnEueXFsDAAAAGx2cnEzb2ZjLml2dwwAAABmaHY0MDJyaS55ZWIMAAAAM2h2ZXYx
+ bWsucXdkDAAAAGp2bnRvZWY1LnJueQwAAABieXVzeW1kdS5wc2gMAAAAb2lib2x2cHAucGplDAAA
+ AGZ5NGFnMGgzLmR6ZAwAAABxZmlleHpsZy5mMngMAAAAd3V3Yno1anYucHZ6DAAAAG9qNHJoNXN4
+ LmgwawwAAAA0Mm52c2k1dS4yZG8MAAAAMnZ4dTVsZGMua295DAAAAHdsbGxxdXptLmR4NQwAAAB3
+ M3ZweGxyYy4yM3kMAAAAaGFpY2gza2YucmVnDAAAAHdvZGQ0b2V2LndpYgwAAAByMGFvc3FvaS5o
+ cmwMAAAAc3k0YnhsdnIuYm14DAAAAHJuMXU1MXd1LmhsZQwAAABqazVudm90ei5iM2QMAAAAb3Bv
+ Y3V3ZHUubjVwDAAAAGt2MHB2dWl3LnZidQwAAABoMjQwNXptZC5kNG0MAAAAdXl0aXZzZW8udjR3
+ DAAAAHdiZ29md3phLmZxZAwAAABzcWRpcHl1dS5qcXYMAAAANG8wYmp2YWcuNTM1DAAAAGdhNHBk
+ c3BhLjUzYgwAAABiaXBiaTVjdi5ham4MAAAAeHhyaWEwaGMudHZmDAAAAHp2ZXVvZWN6LjRrZgwA
+ AAB5eWFseW50Mi50bWEMAAAAZDIxbG41NTEubjBxDAAAAGp3Z29mbGYzLnlwMAwAAAA0bWpwc3di
+ Yy5udGcMAAAAMnMya3Bjc2MucW16DAAAAGY0cjJmdnJ5Lnp1awwAAAA0eWhtcTVheS5uczEMAAAA
+ d3hmMjVlZHAuaDBzDAAAAGUyd3htMXF3Lm96egwAAAAyc2M0NXB3aS4xZXcMAAAAanEzbWp6NXcu
+ YTRsDAAAADJncGFua2d4LnlxegwAAABreHNtZWNycS5oeGkMAAAAMnhlMmlzM28uMXUyDAAAADRp
+ d3Brb3MzLnp4ZgwAAAAwbmI1Z2Nwbi5paWMMAAAAcm5tbDUwMDEuMWN5DAAAAGplcWZoZjBuLnlt
+ egwAAABzem9yc2tlcS54cjQMAAAAbjRiMjB4MmUud2ZvDAAAAG11ZHlyYXUyLmtnMgwAAABoMTRh
+ ZG51ci5uc2cMAAAAZDJnNWdkMjAucjR1DAAAADRneGNodXMxLjFvdAwAAABva2t0dnFmdC56cmsM
+ AAAAbDBtbXp2bTMuZGd5DAAAAGFtY3hma2J6LnZobAwAAABzMjNrYjNqYS5zbGcMAAAAZ3h4b20z
+ a3MueG5oDAAAAHV6bHdlbGo0LjRyagwAAAAycHRjMDJzay5jbGYMAAAANGtiZmMxemQuYXcxDAAA
+ ADBha2Roam5rLmF3bAwAAABsbHNiM3Z3eS5lM3gMAAAAYmp3eHp5YzQueHNwDAAAAGdpM3lsdnJo
+ LnRxcQwAAAAyc2l2YW5iaS5kaHEMAAAAajIxZ2M0ZTMuM2NsDAAAAGJnMjRpZHh6Lm4yZQwAAAB2
+ b3pnZXJmai5yd3YMAAAAY2pyMXcxdGouazRkDAAAAGdoam5seGVjLjFuegwAAAB2dnllcGFjNC5q
+ NGIMAAAAYWF1dHN2YnYucWRuDAAAAHF3ZTAwYzJiLjExcQwAAABjYXh2d3AzZy55bjIMAAAAbXJp
+ YzF1YWQuMHJsDAAAAGp0YjVzZXF1LmF4MgwAAABzY3pyZ2xlaS5oZnUMAAAAamdseDB3aHcuZW1l
+ DAAAAGR4cG4xa210LmtkbgwAAABteHplZG1qaS5qcnIMAAAAa3FiajRjNWouYXp3DAAAADR0MnJh
+ ejFvLnlqaQwAAAB1a2Z3aTNlYy5nemQMAAAAemVjbmx6b2QubDM1DAAAAGVia2JhZDFyLnlocQwA
+ AAB5am1xaXlycC5ld2sMAAAAZ3ozaWVnNHAuaWQwDAAAADBlbmFvZXQ1LnVvagwAAAB2cGUzZTJw
+ aS5qZHAMAAAANXVsdGpweWQuc3RvDAAAAHQybmtiNHJlLmkwZwwAAAAxaHI0M2R0di4wc3EMAAAA
+ MXdhZ2pyencueXRxDAAAAHltY3VieWdrLnduZwwAAABibG1tMmdtei52Y2gMAAAAbXM0cm1lZjEu
+ aGxlDAAAAHN1eG9vanFmLmxudQwAAABnamFpb2JiMC55cmkMAAAAa3lkbWU1c28ueHRiDAAAAHEy
+ dTN1cmh5Lm5zeQwAAAAxeTJmbHp1dC53M2IMAAAAZnJwbHlwc24ubWFpDAAAADJsbm1hdzRwLnJn
+ egwAAABzeXRkd2J2aS5jd3oMAAAAeWc1ZTJmemYuZjFoDAAAAGZpYjVnaGZrLndlMAwAAABjMmJ1
+ MTF6eC5jY2UMAAAAYnc1aW1pYjUuMDJ3DAAAAHRhZTBmb2x5LmxlcAwAAABnamExM254eS41aGUM
+ AAAAengzbWt0bzQuNXV5DAAAAGVrend6bTMyLnNicwwAAABnZzB6MXh2Yi5mNG0MAAAAczIwNDVk
+ aDQudGJqDAAAADUwcmdoYmhiLnBzZgwAAAB5ajAxcHAzdS4za2oMAAAAcjFzaHdtYm8uYm9rDAAA
+ ADQxYWQxdWFlLmRhdQwAAABkZmJ2MDJ1ei4xZTUMAAAAenQyMGs1ZGwubzFqDAAAAGV3Y2Npemp6
+ LnZ6YgwAAABzZDF5cTU1Yy41M2cMAAAAaDBpaGZmd2MuY3BvDAAAAHV1NDBraDBkLjR5ZwwAAABk
+ am4yZXczMC5lbmIMAAAAc3UwemdtaG0uaHkzDAAAADRhaXRtd2psLnpyYgwAAABzYng1Zmlwbi40
+ cHQMAAAAY2NjeGlicG0ud2JiDAAAADBieHVxeDJuLmEzMAwAAAB4ZWxqcGx5dC55dWUMAAAAcXQ0
+ bTJnYXoueXlmDAAAADN4aWJpY3R4LmJ1ZAwAAABnb3BhMWY0cC5icnAMAAAAcG9oc2pmMDIuaGUy
+ DAAAAGFmYm1peXU0Lnl6bwwAAAAwbXJsZWdreC5wa2gMAAAAeW5sempseGwubmR2DAAAAGZ0eWNt
+ MTJrLmJkdAwAAABzMWVpa3hvdy5qZTIMAAAAaG9sYjNjZmkuYW9iDAAAAHp4dDNhc3IxLm40agwA
+ AAB0ZnMxZmxrMy51ZGwMAAAAZTJ6ZWZkYzQuNHRvDAAAAHFhdXI1cTFvLmthdQwAAABoNHRjMjVx
+ Mi5yNWoMAAAAajBibmhleG8uYWp0DAAAAHF0cm1rNXV0LjRpMwwAAABrZ2NuZnI0eC5oaGkMAAAA
+ MHRweTNjdnQuaDNiDAAAAHlrMHBicGkzLmxycgwAAABkand1ZGkyaS5rdW8MAAAAaDRxamo1aWQu
+ NGZtDAAAAGxyNDB0amIwLm8ycwwAAAB5emxjdTB5bi5pd2UMAAAAMHZlcDViZDUuZ2ZrDAAAAHht
+ enhibnJnLmY1egwAAAB6bnFxbWp3dy52aHMMAAAAYmhycmx4YnUucHkwDAAAAGJvcHplMTNvLmxh
+ agwAAABzNGJ4ejBndy51bTMMAAAAMmgyb3J6ZHAudnUzDAAAAGpkZGs1bWZ1Lm9hawwAAABhdHEx
+ anlseC55cXkMAAAAMGV5Y3hmd2wuaWY1DAAAADBnMmpqbXZnLnUyaQwAAABlMGJtdXJ5bi5sZnMM
+ AAAAaWRmazE0aTUueG5tDAAAAGVzMndic3RzLmxmdgwAAABycXVyb3V1aS54eGEMAAAAdGNxMXJj
+ ejIucXhtDAAAAGRoeXRzdXhlLjU1egwAAAByMGNzeWxodC5samYMAAAAandndzNmM2MuaWZiDAAA
+ AHptcGVvbHkzLjR0MwwAAAB6aXdtNHRtbS5yd2oMAAAAeXhrdnhneTEud3RhDAAAAHM0emF4cWE1
+ LnpvcwwAAAB4cW5icmkwdC5tbnEMAAAAMmV2M2MzZ3AuZHpmDAAAAHBxNXZiem9wLmh3agwAAABj
+ M3Qzd3IzMy5qY3gMAAAANXhqa2YxenMudTF2DAAAAGtkbXVvYzNrLmhodAwAAABhZ2RkY3V2bC5l
+ bnoMAAAAMnZseXYyYzUucWp1DAAAADV2c29rY2I0LnBocgwAAABiZmZnNWZmby40dGQMAAAAa2th
+ Y25xdHkuMnptDAAAAHcxdGs0cjUxLjBkNAwAAABudG5sbmJ4bi51c2sMAAAAcHQya3pobGsucTRw
+ DAAAAHd1cmcyb2IzLjVjMwwAAAA1cXA0MmdvaS50cGMMAAAAdGQ1dnBla3EuM2p0DAAAAHdwd20z
+ Y24xLmNqegwAAABtYWZhdnRkYi56cXUMAAAAcWZuams0a28ucXpkDAAAAGRja2wxdTN3LmtwYQwA
+ AAAxc3Jha291MS5rMG8MAAAAYWRrazQwdXYuaXhkDAAAAG5uMXE0MGxvLnYzYgwAAABpY2JnbWF3
+ by5hdnEMAAAAYTRkMWZleTIuNXNvDAAAAGcxejVzMWJ4LndwYQwAAAAwZWt1djU1Mi5mczAMAAAA
+ aWcxNTFwZngua29tDAAAAHZ6cGJocDBnLnBxZAwAAABmMDV3dmUzby5xZDQMAAAAMWV6dWt0cXIu
+ dmZvDAAAAHpxbXB1aTRtLjNqMwwAAABjNXFkaXBpMy55cGsMAAAAbnhvZXhvbG4udHFtDAAAAG8w
+ azQxcTFtLmwydgwAAAA1Ymp5dzRibi4xNDIMAAAAZjNkZGRwaXIuM3Z5DAAAAGpnbzR6YWhsLnZp
+ NAwAAAA0ZGMzcnNteC4zMHEMAAAAZGNxMGozNGEuY2dqDAAAAHBhNWRsa3NzLmNxcAwAAABobGhh
+ ZXFsMy5zMG4MAAAAZHlweWJ0cWQuMTBpDAAAAG50NDBmZ3JqLmRqeQwAAAAzZ3V1emJubC4yMnIM
+ AAAAd2Qyc29zcHcuMWVpDAAAADRnNWxhc2liLmVyMQwAAAB6aGtlYmxkcC5xbW0MAAAANHl3cGRx
+ MWguZHpuDAAAAGpjMmJ4aHRuLmw1cgwAAAB6djJqZG93cS5reW4MAAAAM2N0cXZncnkuMTFvDAAA
+ ADMyMjV2cXpoLms0YwwAAABrb2gxMGMxMC5mbWEMAAAAemlieGR1ZXcuNXJjDAAAAHZ6cTFtYmFy
+ LjEyZgwAAAB5cnBucDJnZy5pNGsMAAAAY3N0MGl4cXUudmNnDAAAAG5veXkzY3p6LmwybwwAAABv
+ dmdvaWs1cS54c3MMAAAAaW5xcHhxMHoueWdpDAAAAGJ0ZGtnazBrLnZxcQwAAABjazFzbXlnei5x
+ b3UMAAAAeXBicndkd3YubWFiDAAAAGlmYml0ejJ1LmpvMAwAAAB5YXcwMjUxMi5xY2UMAAAAYWZ1
+ cTNzb3IubGRiDAAAAHFyeXJhMWFsLjJwdQwAAAAzZ3cwdGtrdy5sNWEMAAAAdXF2eGJ6NGMuenhm
+ DAAAAGZ4cTVmZHplLnJ1bwwAAAB6aTRvZGpvNS52Z2IMAAAAaXJpdmN5c20ubjVpDAAAAG15NHlw
+ cmVoLnVueAwAAAB5c2ZocWpqdS4xa2UMAAAAMmQwazA0MHkuM2kwDAAAAHk1NWhud29kLnp4dQwA
+ AABsNXV2YTNoaC5oNHAMAAAAcDVoYXZ2bmMubHo1DAAAAHhraHpzdmZsLjB4dwwAAAA1dDN3cjFh
+ aC5hdW4MAAAAaHdwMDRjZnUubWFjDAAAAHJvNHkwMXc1LmowawwAAABrdXozYmN0ai40dG0MAAAA
+ cnR3c2prd3MubzF3DAAAADNjeXN0cGtuLnZ2YwwAAAAyZWR5M2hrcS56cmsMAAAAczN1emNqeTUu
+ eGF0DAAAADM1ZmNndWpwLjNsdAwAAAAybmEzbXpmei5mY3oMAAAANXllcWphYXouMjBvDAAAADBn
+ a29pNHZwLmI1dwwAAAAyZHliZWN2NC5iYWUMAAAAaWQxbno1YTUua3d5DAAAAGZzc3ExM3FvLm9y
+ ZgwAAAAxeGJxMjBudi5oM2YMAAAAazRsZ3F4aTAuZjN4DAAAAGgxYTR3MWZoLmRmbQwAAABqYTB0
+ eDFiay53MDAMAAAAbDVmZnhkYnkuMHVhDAAAADJzZTRhZ3B4Lmc1bAwAAABnbmdzY2l3MS53MGsM
+ AAAAMWZ0bXhrYzMubGF0DAAAAHNzbWF0b3JiLmJtbAwAAABseHlkajNidS4wYm0MAAAAaGwwaWkx
+ c2suMHAzDAAAAGJhbnJ4MWwxLmJ2bgwAAABwcnppcGd0eS51MXQMAAAANWFhNWwwcG8ucmUzDAAA
+ AHQzM2VjeHI0LmJpaQwAAABpbHh6MTRoMC5ycXAMAAAAdWFxMmx1MGsuemF2DAAAAGl6eTM1ZGZi
+ LnluZgwAAABvMjJjYmV2bS5jbGIMAAAAcGxsNGhjaXYuZHNnDAAAAHRidWl3c3RuLjJneAwAAABn
+ M3dnMmJ0aS4yd2MMAAAAMWNvNWY1MXIuMjRnDAAAAHNnZG56cXhkLjBqbgwAAAByenh6MTMzei55
+ bW4MAAAAMm95ZWVpajEuMXVsDAAAAHVmYnZ2MTRjLjBhNQwAAABhYWJnY2VtaC5iZm4MAAAAMXd1
+ eGJhZncubHp6DAAAADFwdDEyZGxxLmxzdQwAAAAybjJ2d2U0bi51ajAMAAAAdTFnZ3YzdzAuaHkz
+ DAAAAGlua2kxbXB3LmhkMgwAAABrc3V5bWx6by5reHgMAAAAbWt4enR0cWMubXR5DAAAADNiNGI1
+ czR0Lnd2bwwAAAB5enVoaGdwNS5oZnQMAAAAbjNneWM0cTUuZzMwDAAAAGVndW9ldHg0LmNtMAwA
+ AABta2JobmJyZS51djUMAAAAeWt5eHYwbjQuc3NmDAAAAGw0bmhhYWFsLnFnbQwAAAB6b3hlMGVn
+ ZC50MXkMAAAAZnZhbXQycWouMWVlDAAAAG16Y2J2b2ljLnE0cwwAAABoMmtrZGdsbi5vemYMAAAA
+ YnpkbGhhMTEuczJyDAAAADVjMWZxb2RmLnBxcwwAAABkanRxcXN1aS55MnYMAAAAYXVpdG13NWEu
+ emZtDAAAAG9kdzEwZ3RsLmFxNAwAAAB4cHJkdDFwcS52NW0MAAAAbG1qcWtycXYuYjFuDAAAAHBh
+ Y21pcjJnLnBkNAwAAABvbGdoM2F3Zi5qanAMAAAAeXF6bG9uMHQucnMwDAAAAHh6eHNpeGdvLnVo
+ cAwAAAB0emt1bG5jaS5ndGcMAAAAd2tlamFwMHkuemZlDAAAAGwzYnQzb2UwLmxnbAwAAAB6YnVo
+ YmNlci40d2QMAAAAMnFwcDNub2QuZmNnDAAAAHZ4M3IydHZ2Lnl1MAwAAAB6NHVidnQxby5xYWkM
+ AAAAemNlc2JuZW4uM3ZyDAAAADV5Znh2ZHV1LmhtbwwAAABvbXdjajFoNS5zbnIMAAAAaTJuaG9r
+ ZGEuM21zDAAAAHc1aGxwYXg1Lms1ZQwAAAB2NHAzcHQ0Zy52Z2oMAAAAMzMwNXFtZGguZngzDAAA
+ AHNycjV2a2liLjN0NQwAAAB2cHJ0Z3N6ai4yYWkMAAAAY2dva3pqc2EuYWdwDAAAAGk0MGFzeDN4
+ LjAybQwAAABnMGgxZ3d5aC4yNDAMAAAAZWIwczBoaGYucjByDAAAAHlscnFua21nLndyZwwAAAA0
+ c3Ayd3J2My40bzIMAAAAcXE1Z2ZyZ2YuZTRkDAAAAHprMjF4aHRxLnM1bwwAAAA0aWh3NXEzcC5z
+ MDQMAAAAZmRxdmdmNG8udGxsDAAAAGYxdnlnbmQzLnF3MwwAAAB4bGN6cWV0Mi5maXoMAAAAamVp
+ NXl0NGEuNHVhDAAAAHJmNGtiZmdmLndxegwAAAB4bnNoYWJ0aS5oYnQMAAAAenhwcnN4cnkuaGJ6
+ DAAAADFnYWI1dW1kLnN5ZAwAAABvdm1uem01MS5sNXYMAAAAd3BlZGF0NWcub2thDAAAAGp4YjV3
+ aDU0LjVnZAwAAAAxYTIyZXBjcS4xMnoMAAAAM2VucDFsaHYueDVhDAAAAGRtd29ocGdpLnJuYgwA
+ AABqdmZ1MGRwMC4weXUMAAAAZmt6aHVwcjIudGx1DAAAAGN6Z2l3emV4LmRqYgwAAABxcGptM201
+ ei56dmIMAAAAMHd1d2VobW4ubW9hDAAAAHkxZ3FtajEzLnFkZAwAAABoc2pwYWlkdS40eWwMAAAA
+ aG52cHdyMWUuaTRrDAAAAHNtdG1yZHlmLnYwawwAAABrdXBlb3hqbi5mMzAMAAAAZW9ucGNubngu
+ YmIzDAAAAGRvdmh5MXd4LmhlYgwAAAAydHRuMXRjby5nZmgMAAAAMmhkbzQ0bjAucmRiDAAAAGVp
+ ZTF1dmJtLmxkZgwAAABqenBldXduay4wZjQMAAAAZDIxZjVjenYudWN4DAAAAHB5aWZmaTRxLnlx
+ NAwAAABtZXNsNXRldy40dmYMAAAAc3ZyMDFjcHEudWduDAAAAGpvemx1Mmp4LnJnZwwAAAB4cGho
+ ZWEycy5rbG0MAAAAbnJ3cTVtNWkuMmx5DAAAAGlqZ3Nnc3Q0LjBmbwwAAAA0dWdmbHVmei5xdGUM
+ AAAAeHkxZG4xMWkucDBsDAAAAGR0dHdvY2R1LjNuNAwAAABxYW9xMGdhaS5uMW0MAAAAbHNncnB3
+ bXcuemsxDAAAAGUxMHhwb2JxLmZnbwwAAAAzbGMydGo0aC5lemIMAAAAa3d3azBydjUuMm8xDAAA
+ AHAya3ZhZGNpLmpkYgwAAAB4cmR2bW5sbi52MXcMAAAAYXowYm51bG4ua3drDAAAAGNtaXF5NHZq
+ LmFlMwwAAAAxbmNmMmEwbC5sMXQMAAAAMzVhM2ZmcmIuZmFnDAAAAGh4bHJpZDIwLmNhbQwAAABh
+ czNwcHNmdS5xd2IMAAAAdjBpMXZ6ZXguZXduDAAAAHczcHNqZ21iLnYxZwwAAAB4angyNG9uZy56
+ bGYMAAAAM3RnbzFnZnAuYnIxDAAAAGkxaDJ1b2hqLmt3NQwAAAB4ZGp6YWIway53eXEMAAAAZGph
+ MnowMjEuNTJpDAAAAHBxdHpocmNkLm93cgwAAABobXZkaXdndy4wb2cMAAAAM2d5aGd0YzMuanBk
+ DAAAAHgxYWxnZGVuLnd0dgwAAABqYjBrcGhneC51MHgMAAAAa2kxMjRpdmQuMHhqDAAAAHkxYnpy
+ b3p1LmZqaQwAAABtM20xZGIzdi5ka2IMAAAAZDAzbHB2cWYuaHl3DAAAAHdvcmZyZnhuLjJ0agwA
+ AABjMnJxemk0bC5kdXIMAAAAMjNoMmtraHEuc2h6DAAAAGxjeXl3Y2ZrLmZjegwAAABleWQ0M2Ny
+ Yy41d2kMAAAAMmhycWdzM28uamkyDAAAADJ0eTR1a2tsLjVjcwwAAAB3aHJnbmQ1Yi5lYTAMAAAA
+ amcxa2J2Y2cuYXR2DAAAADFqcWFyemhiLmNyYgwAAAAwdWhkbWY0NS5meW4MAAAAamIzYW9tMm8u
+ MGhtDAAAAHR1cnppcTRvLmpibgwAAAB5c2d0dHN4aS5ucHcMAAAAcDN0eHVtcXIubWFzDAAAAHZq
+ emVlanEzLmsydwwAAABmcG01bmdrcy52eDAMAAAAbXBzMXRtcXguM3VvDAAAADVoajFsajJkLnp5
+ cAwAAABtMXhnb3oyay50Z3IMAAAAZHNpcXpvdGgucnFqDAAAAHFxb3B5d3R5LmhoaQwAAABjaXVs
+ YWtzdC5wdXEMAAAAeWdvNGJ1MmsuMnVnDAAAAGZtY2ticm5vLnIxYgwAAABobGhhaDRuby5wcncM
+ AAAAZGI1dm92cGoudXFzDAAAADM1MnpoM3h5LjJhYgwAAAAzY3poa3VvMC5penMMAAAAM2Yxanlj
+ ZzMuajB2DAAAAGtiZHIwdzR1LmdtdAwAAAB6eDNhNHZsYS51c2sMAAAAc2J1ZmZibjQubzRwDAAA
+ ADJjMGZ2c2UzLmt2eQwAAABwZWN4MzNjMS56MDQMAAAAa21zYjFrNDIuNXBqDAAAAGNwM3ZianZ0
+ LnU1egwAAAAwbDRkbWhxdC40eG4MAAAAYWwzM2piY2MuZ3hrDAAAADNxaXBqeHYxLnhhMAwAAABl
+ aTVjZ3BiMi5qdWEMAAAAZTVvdWNnd2subW1mDAAAAGVqZmpzMGhzLm1jbAwAAAAzaXhuZWt4bS54
+ d28MAAAAdGRybWdoenoudGNiDAAAAHU0dzFldjNnLnJ5ZAwAAAByY3Bta3p3ai5lcXcMAAAANWVr
+ bG41MHcuNXM0DAAAAHh4NWx6djBtLnV3bQwAAAAwMTFjcWFuNC55enMMAAAAa25iY3JwYmwuZmx6
+ DAAAADUzbXo1d2dvLnVsbQwAAAB6eTByMGxzci5zMjIMAAAAYWhudGJ4ajQuYmJtDAAAADQybDF3
+ MnlhLmJzawwAAAB6bzAxNW01aS50enQMAAAAYmF2YWZndTIucTNlDAAAAGdzaHljcXFmLjFpZAwA
+ AAA1YjAzNXN5ZC4ybGcMAAAAbHlpZnkwaG4uenh3DAAAAGV0YXBwbGdqLmczYQwAAABtNGp0dXFh
+ di52ZWwMAAAAcWRvb2t5eHYucnF3DAAAAG9qeGI0YWhsLnZjMAwAAAA0eWNqeXd6ai54aWQMAAAA
+ c3ZqdW1uNXguNW9rDAAAADJ4amZsMmZhLm9icgwAAABjd2Z0aHBqdC5hcXMMAAAAdGM1M2JxeHMu
+ eDRjDAAAAHl4amRnYnYwLm9saAwAAABpcW5tNWh0ZS4wd2IMAAAAbGcxeXprNHEuNWpkDAAAADUy
+ dG92MmJ6LjVkaAwAAABrYzNxMWtjMS5qeXkMAAAAZ3NoeHYzeTEuNXR6DAAAAGpydWtvMGNxLnJn
+ YwwAAABlamFydmxmaS41cDUMAAAAeXgwdGpzeWEudGlvDAAAAGd1MGJ5NGJvLm4weAwAAABrejVr
+ aDB6Yy53MGQMAAAAejNwZm5heHIuaWF6DAAAAHR5ZWI1YnFqLjN4NQwAAAByd3RzbmJuci56dGEM
+ AAAANXB0dDV5MzQuNWhiDAAAAGhwZmVwMHFyLmFrYwwAAABiaW5rMHlyYy5qd28MAAAAcG1lenBz
+ amwuamQzDAAAADAzbGVnZHRvLmx5eQwAAABiMzNkYWk0My5xZXgMAAAAZGxudHFnbzMubm5xDAAA
+ AGJnaGJoa2VlLnRpcwwAAAByazBxM3Btay5jNDAMAAAAdnFjYXIxMnUua3pwDAAAADVid2FvZmJu
+ LnVwZwwAAABiZzJremkwZS53cGkMAAAAZTU0enhjZnMubHR5DAAAAGVtMDVzMnBpLm90MQwAAABv
+ YjFwMzUxbi54bWwMAAAAMGh1a3R4d2wuamV0DAAAAGtiaDF6dWxpLnA0MgwAAAB6b2NrZWtiYy5r
+ azAMAAAAd2pwYTFjMnIudmpxDAAAAHVkbmFrMXlhLjJscQwAAABub3BsenF1Zy5mY3cMAAAAZWdh
+ ZGJpd2EuZnN0DAAAAGJ2cmdkM2tjLmZmYgwAAABybnhrY2xnMy5lcmEMAAAAZGhmeGtoMmwud2wx
+ DAAAAGFyZHBqbDNoLmJvYwwAAAB3a2gzdWZ4eC55cGoMAAAAeXF5YmJoc2IucHVpDAAAAHRtem41
+ cXlzLnpwcwwAAABhNGVjZ3ZiYi51cGsMAAAAem5wMmd6MmoubGwwDAAAAHJwMHJhcHhuLml6cwwA
+ AAA0dHp0ZWRtbC54ZXcMAAAAbXEwc2Zqem0uMGVyDAAAAGN5Mmx3b24xLnczdwwAAAAxbHV1cm5x
+ Yi5qcGUMAAAAc2g1dmdrM3AuaHRqDAAAAHRlMHduYm8yLmJwcgwAAABteTB1czE1NC51b24MAAAA
+ NWhmZ2NyanYuanJjDAAAAGlmbGxpMHl3LjNkegwAAAA1eWJkamdnaC5nZHEMAAAAY2dqaWFvejUu
+ bHlpDAAAAHJ6aXc1MnViLmM0ZQwAAAByNG1xMGlzZC4xbWMMAAAAeGJlcW5md2UuNG8xDAAAAHVw
+ dTF3aXN4LnhvaQwAAABoaGd4ZHk0cS5qYnYMAAAAcXYzYjBqb3AubWFhDAAAAGR3NGQxZ2hjLjRj
+ MQwAAAB0cHNrdnJyMS5iczAMAAAAb3h0Z2N1M2EuZ2gxDAAAADNvamFlaGJ4Lm9rdAwAAAA1dGF0
+ ZmZwby50ZjQMAAAAdHM1c2N5c2gudnZwDAAAAHZncGE0amJrLnRrMgwAAABoamN3c2RvMi5waHEM
+ AAAAenZjMTMwZ3UuYjBpDAAAAHI0MWdrb2pjLnV3ZwwAAABnaHUwazByai40c24MAAAAZnoxM294
+ NGgubWxqDAAAAHMyZ2JjNXBqLnF0NQwAAAAycHJmb3Joai5mYjEMAAAAdm1icm1ucWIubGIzDAAA
+ AG1paHd2NWxhLmFmZwwAAABkdGhuZTRubC5saWsMAAAAdHh0dmZpdHcubnN2DAAAAGtiZHR5bjBs
+ LjFhaAwAAABzYmhia3Zhcy5qMm8MAAAAMHJzcDRtZmouZXU1DAAAAHpxeXVzZTV3LmY1NQwAAABr
+ Z2dwZzVzZS5nYWgMAAAAbTRjaTV4ZXoubGxhDAAAADEycTFkenBxLmEwdAwAAABuY3lyMnFzcy41
+ YTAMAAAAc2Zka2VsbW0ub3RyDAAAADRiZWdsMmZtLnh4NQwAAABzdnBscXhoNS5lbHcMAAAAZ3hh
+ b2FhbzUuZjJ4DAAAAG40c3JkZmt6LjQ0dgwAAABicHR2Mm5qbS50amwMAAAAY2FoZTBidGouYTBz
+ DAAAAGFkMGQ1dHJoLm0xdgwAAAB6dWswMW9hMy51M3gMAAAAcXoxdm90c2kudXg1DAAAAGl2Yndu
+ MjAxLnIzNQwAAABveW5xaHd2YS5ldGIMAAAAdHAzaG56b3AuZjVlDAAAAGpxcjJwbHhqLmVldAwA
+ AABnY2FvZG1iYS56M3MMAAAAandxejBkaGEueGF1DAAAAGt2MG5oMmZuLnZpYgwAAAAxNGMzanEw
+ dS5peW0MAAAAM212NGw0NTEuaGFsDAAAAGVxbXpoMXgwLjJuawwAAABzbGZub2xndy5jMHgMAAAA
+ dTNmZjVkdmIuZHozDAAAADVwNWZlMm9pLnN6cwwAAAAybmF5ajFwdS5pZG8MAAAAZDAycmZiM24u
+ djBhDAAAAGx3eW40d29jLmQyZwwAAAAycjR6bHRubS5qMWoMAAAAMWlyYnltMnQudXdpDAAAADBh
+ eHpqbTRwLjJycQwAAABibXR1eTBsaS4yZ2UVAhlMSBVwYXJxdWV0LWRvdG5ldC1zY2hlbWEVBgAV
+ DCUCGAJpZCUAABUMJQIYB3N0cmluZzElAAAVDCUCGAdzdHJpbmcyJQAAFqAfGSwZPCYIHBUMGTUG
+ CAAZGAJpZBUAFtAPFrhsFrhsJgg8GAM5OTkYATAWABbQDxgDOTk5GAEwAAAAJsBsHBUMGTUGCAAZ
+ GAdzdHJpbmcxFQAW0A8WuPsBFrj7ASbAbDwYDHp6cTBrZnk0LnZibhgMMDF3d3llNGcucGZzFgAW
+ 0A8YDHp6cTBrZnk0LnZibhgMMDF3d3llNGcucGZzAAAAJvjnAhwVDBk1BggAGRgHc3RyaW5nMhUA
+ FtAPFrj7ARa4+wEm+OcCPBgMenpxMGtmeTQudmJuGAwwMXd3eWU0Zy5wZnMWABbQDxgMenpxMGtm
+ eTQudmJuGAwwMXd3eWU0Zy5wZnMAAAAWqOMEFtAPABk8JrDjBBwVDBk1BggAGRgCaWQVABbQDxb0
+ fRb0fSaw4wQ8GAQxOTk5GAQxMDAwFgAW0A8YBDE5OTkYBDEwMDAAAAAmpOEFHBUMGTUGCAAZGAdz
+ dHJpbmcxFQAW0A8WuPsBFrj7ASak4QU8GAx6emxneXhhNS40eWEYDDAxMWNxYW40Lnl6cxYAFtAP
+ GAx6emxneXhhNS40eWEYDDAxMWNxYW40Lnl6cwAAACbc3AccFQwZNQYIABkYB3N0cmluZzIVABbQ
+ Dxa4+wEWuPsBJtzcBzwYDHp6bGd5eGE1LjR5YRgMMDExY3FhbjQueXpzFgAW0A8YDHp6bGd5eGE1
+ LjR5YRgMMDExY3FhbjQueXpzAAAAFuT0BBbQDwAoTFBhcnF1ZXQuTmV0IHZlcnNpb24gMy41LjMg
+ KGJ1aWxkICcwNTc0NTFiMzc2ZmE3ZDM1ODFmMmQxODAxZmIwOTY1YWZiZWFhMGMyJykAxQIAAFBB
+ UjE=
+ headers:
+ Accept:
+ - application/xml
+ Accept-Encoding:
+ - gzip, deflate
+ Connection:
+ - keep-alive
+ Content-Length:
+ - '80087'
+ Content-Type:
+ - application/octet-stream
+ User-Agent:
+ - azsdk-python-storage-blob/12.8.0 Python/3.8.5 (Windows-10-10.0.19041-SP0)
+ x-ms-blob-type:
+ - BlockBlob
+ x-ms-date:
+ - Fri, 09 Apr 2021 04:19:10 GMT
+ x-ms-encryption-algorithm:
+ - AES256
+ x-ms-version:
+ - '2020-08-04'
+ method: PUT
+ uri: https://storagename.blob.core.windows.net/utqqcontainercdb31860/csvfilecdb31860
+ response:
+ body:
+ string: ''
+ headers:
+ content-md5:
+ - z1EKaBGYeFFPXcMBK90K+w==
+ date:
+ - Fri, 09 Apr 2021 04:19:10 GMT
+ etag:
+ - '"0x8D8FB0EA01A1F5E"'
+ last-modified:
+ - Fri, 09 Apr 2021 04:19:10 GMT
+ server:
+ - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0
+ transfer-encoding:
+ - chunked
+ x-ms-content-crc64:
+ - f7IDcRFZujI=
+ x-ms-request-server-encrypted:
+ - 'true'
+ x-ms-version:
+ - '2020-08-04'
+ status:
+ code: 201
+ message: Created
+version: 1
diff --git a/sdk/storage/azure-storage-blob/tests/test_quick_query.py b/sdk/storage/azure-storage-blob/tests/test_quick_query.py
index cf2e1d62ed98..98f9a6b7f343 100644
--- a/sdk/storage/azure-storage-blob/tests/test_quick_query.py
+++ b/sdk/storage/azure-storage-blob/tests/test_quick_query.py
@@ -6,6 +6,7 @@
# license information.
# --------------------------------------------------------------------------
import base64
+import os
import pytest
@@ -18,7 +19,7 @@
)
# ------------------------------------------------------------------------------
-from azure.storage.blob._models import ArrowDialect, ArrowType
+from azure.storage.blob import ArrowDialect, ArrowType, ParquetDialect, QuickQueryDialect
CSV_DATA = b'Service,Package,Version,RepoPath,MissingDocs\r\nApp Configuration,' \
b'azure-data-appconfiguration,1,appconfiguration,FALSE\r\nEvent Hubs' \
@@ -936,4 +937,52 @@ def on_error(error):
on_error=on_error,
blob_format=input_format)
+ @GlobalStorageAccountPreparer()
+ def test_quick_query_input_in_parquet_format(self, resource_group, location, storage_account, storage_account_key):
+ # Arrange
+ bsc = BlobServiceClient(
+ self.account_url(storage_account, "blob"),
+ credential=storage_account_key)
+ self._setup(bsc)
+ expression = "select * from blobstorage where id < 1;"
+ expected_data = b"0,mdifjt55.ea3,mdifjt55.ea3\n"
+
+ blob_name = self._get_blob_reference()
+ blob_client = bsc.get_blob_client(self.container_name, blob_name)
+ parquet_path = "parquet.parquet"
+ with open(parquet_path, "rb") as parquet_data:
+ blob_client.upload_blob(parquet_data, overwrite=True)
+ errors = []
+
+ def on_error(error):
+ errors.append(error)
+
+ reader = blob_client.query_blob(expression, blob_format=QuickQueryDialect.ParquetDialect, on_error=on_error)
+ real_data = reader.readall()
+
+ self.assertEqual(real_data, expected_data)
+
+ @GlobalStorageAccountPreparer()
+ def test_quick_query_output_in_parquet_format(self, resource_group, location, storage_account, storage_account_key):
+ # Arrange
+ bsc = BlobServiceClient(
+ self.account_url(storage_account, "blob"),
+ credential=storage_account_key)
+ self._setup(bsc)
+ expression = "SELECT * from BlobStorage"
+
+ blob_name = self._get_blob_reference()
+ blob_client = bsc.get_blob_client(self.container_name, blob_name)
+ parquet_path = "parquet.parquet"
+ with open(parquet_path, "rb") as parquet_data:
+ blob_client.upload_blob(parquet_data, overwrite=True)
+ errors = []
+
+ def on_error(error):
+ errors.append(error)
+
+ with self.assertRaises(ValueError):
+ blob_client.query_blob(
+ expression, blob_format=ParquetDialect(), output_format=ParquetDialect(), on_error=on_error)
+
# ------------------------------------------------------------------------------
diff --git a/sdk/storage/azure-storage-file-datalake/azure/storage/filedatalake/__init__.py b/sdk/storage/azure-storage-file-datalake/azure/storage/filedatalake/__init__.py
index c5e918819b78..8158ed9d74ab 100644
--- a/sdk/storage/azure-storage-file-datalake/azure/storage/filedatalake/__init__.py
+++ b/sdk/storage/azure-storage-file-datalake/azure/storage/filedatalake/__init__.py
@@ -31,6 +31,8 @@
DelimitedJsonDialect,
ArrowDialect,
ArrowType,
+ QuickQueryDialect,
+ ParquetDialect,
DataLakeFileQueryError,
AccessControlChangeResult,
AccessControlChangeCounters,
@@ -40,7 +42,8 @@
Metrics,
RetentionPolicy,
StaticWebsite,
- CorsRule
+ CorsRule,
+ DeletedPathProperties
)
from ._shared_access_signature import generate_account_sas, generate_file_system_sas, generate_directory_sas, \
@@ -90,6 +93,8 @@
'DelimitedTextDialect',
'DelimitedJsonDialect',
'DataLakeFileQueryError',
+ 'ParquetDialect',
+ 'QuickQueryDialect',
'ArrowDialect',
'ArrowType',
'DataLakeFileQueryError',
@@ -97,5 +102,6 @@
'Metrics',
'RetentionPolicy',
'StaticWebsite',
- 'CorsRule'
+ 'CorsRule',
+ 'DeletedPathProperties'
]
diff --git a/sdk/storage/azure-storage-file-datalake/azure/storage/filedatalake/_data_lake_file_client.py b/sdk/storage/azure-storage-file-datalake/azure/storage/filedatalake/_data_lake_file_client.py
index c88f655abd15..61959bb3f799 100644
--- a/sdk/storage/azure-storage-file-datalake/azure/storage/filedatalake/_data_lake_file_client.py
+++ b/sdk/storage/azure-storage-file-datalake/azure/storage/filedatalake/_data_lake_file_client.py
@@ -724,16 +724,20 @@ def query_file(self, query_expression, **kwargs):
:keyword file_format:
Optional. Defines the serialization of the data currently stored in the file. The default is to
treat the file data as CSV data formatted in the default dialect. This can be overridden with
- a custom DelimitedTextDialect, or alternatively a DelimitedJsonDialect.
+ a custom DelimitedTextDialect, or alternatively a DelimitedJsonDialect or ParquetDialect.
+ These dialects can be passed through their respective classes, the QuickQueryDialect enum or as a string
:paramtype file_format:
- ~azure.storage.filedatalake.DelimitedTextDialect or ~azure.storage.filedatalake.DelimitedJsonDialect
+ ~azure.storage.filedatalake.DelimitedTextDialect or ~azure.storage.filedatalake.DelimitedJsonDialect or
+ ~azure.storage.filedatalake.ParquetDialect or ~azure.storage.filedatalake.QuickQueryDialect or str
:keyword output_format:
Optional. Defines the output serialization for the data stream. By default the data will be returned
- as it is represented in the file. By providing an output format, the file data will be reformatted
- according to that profile. This value can be a DelimitedTextDialect or a DelimitedJsonDialect.
+ as it is represented in the file. By providing an output format,
+ the file data will be reformatted according to that profile.
+ This value can be a DelimitedTextDialect or a DelimitedJsonDialect or ArrowDialect.
+ These dialects can be passed through their respective classes, the QuickQueryDialect enum or as a string
:paramtype output_format:
- ~azure.storage.filedatalake.DelimitedTextDialect, ~azure.storage.filedatalake.DelimitedJsonDialect
- or list[~azure.storage.filedatalake.ArrowDialect]
+ ~azure.storage.filedatalake.DelimitedTextDialect or ~azure.storage.filedatalake.DelimitedJsonDialect
+ or list[~azure.storage.filedatalake.ArrowDialect] or ~azure.storage.filedatalake.QuickQueryDialect or str
:keyword lease:
Required if the file has an active lease. Value can be a DataLakeLeaseClient object
or the lease ID as a string.
diff --git a/sdk/storage/azure-storage-file-datalake/azure/storage/filedatalake/_data_lake_service_client.py b/sdk/storage/azure-storage-file-datalake/azure/storage/filedatalake/_data_lake_service_client.py
index b8cc3dc71121..21da8026db34 100644
--- a/sdk/storage/azure-storage-file-datalake/azure/storage/filedatalake/_data_lake_service_client.py
+++ b/sdk/storage/azure-storage-file-datalake/azure/storage/filedatalake/_data_lake_service_client.py
@@ -19,8 +19,7 @@
from ._file_system_client import FileSystemClient
from ._data_lake_directory_client import DataLakeDirectoryClient
from ._data_lake_file_client import DataLakeFileClient
-from ._models import UserDelegationKey, FileSystemPropertiesPaged, LocationMode, AnalyticsLogging, \
- CorsRule, RetentionPolicy, StaticWebsite, Metrics
+from ._models import UserDelegationKey, FileSystemPropertiesPaged, LocationMode
from ._serialize import convert_dfs_url_to_blob_url
@@ -495,17 +494,8 @@ def get_file_client(self, file_system, # type: Union[FileSystemProperties, str]
key_encryption_key=self.key_encryption_key,
key_resolver_function=self.key_resolver_function)
- def set_service_properties(
- self, analytics_logging=None, # type: Optional[AnalyticsLogging]
- hour_metrics=None, # type: Optional[Metrics]
- minute_metrics=None, # type: Optional[Metrics]
- cors=None, # type: Optional[List[CorsRule]]
- target_version=None, # type: Optional[str]
- delete_retention_policy=None, # type: Optional[RetentionPolicy]
- static_website=None, # type: Optional[StaticWebsite]
- **kwargs
- ):
- # type: (...) -> None
+ def set_service_properties(self, **kwargs):
+ # type: (Any) -> None
"""Sets the properties of a storage account's Datalake service, including
Azure Storage Analytics.
@@ -515,30 +505,30 @@ def set_service_properties(
If an element (e.g. analytics_logging) is left as None, the
existing settings on the service for that functionality are preserved.
- :param analytics_logging:
+ :keyword analytics_logging:
Groups the Azure Analytics Logging settings.
:type analytics_logging: ~azure.storage.filedatalake.AnalyticsLogging
- :param hour_metrics:
+ :keyword hour_metrics:
The hour metrics settings provide a summary of request
statistics grouped by API in hourly aggregates.
:type hour_metrics: ~azure.storage.filedatalake.Metrics
- :param minute_metrics:
+ :keyword minute_metrics:
The minute metrics settings provide request statistics
for each minute.
:type minute_metrics: ~azure.storage.filedatalake.Metrics
- :param cors:
+ :keyword cors:
You can include up to five CorsRule elements in the
list. If an empty list is specified, all CORS rules will be deleted,
and CORS will be disabled for the service.
:type cors: list[~azure.storage.filedatalake.CorsRule]
- :param str target_version:
+ :keyword str target_version:
Indicates the default version to use for requests if an incoming
request's version is not specified.
- :param delete_retention_policy:
+ :keyword delete_retention_policy:
The delete retention policy specifies whether to retain deleted files/directories.
It also specifies the number of days and versions of file/directory to keep.
:type delete_retention_policy: ~azure.storage.filedatalake.RetentionPolicy
- :param static_website:
+ :keyword static_website:
Specifies whether the static website feature is enabled,
and if yes, indicates the index document and 404 error document to use.
:type static_website: ~azure.storage.filedatalake.StaticWebsite
@@ -546,14 +536,7 @@ def set_service_properties(
The timeout parameter is expressed in seconds.
:rtype: None
"""
- return self._blob_service_client.set_service_properties(analytics_logging=analytics_logging,
- hour_metrics=hour_metrics,
- minute_metrics=minute_metrics,
- cors=cors,
- target_version=target_version,
- delete_retention_policy=delete_retention_policy,
- static_website=static_website,
- **kwargs) # pylint: disable=protected-access
+ return self._blob_service_client.set_service_properties(**kwargs) # pylint: disable=protected-access
def get_service_properties(self, **kwargs):
# type: (Any) -> Dict[str, Any]
diff --git a/sdk/storage/azure-storage-file-datalake/azure/storage/filedatalake/_file_system_client.py b/sdk/storage/azure-storage-file-datalake/azure/storage/filedatalake/_file_system_client.py
index 7aafe4efc78e..49f9b079f34b 100644
--- a/sdk/storage/azure-storage-file-datalake/azure/storage/filedatalake/_file_system_client.py
+++ b/sdk/storage/azure-storage-file-datalake/azure/storage/filedatalake/_file_system_client.py
@@ -884,18 +884,16 @@ def get_file_client(self, file_path # type: Union[FileProperties, str]
key_encryption_key=self.key_encryption_key,
key_resolver_function=self.key_resolver_function)
- def get_deleted_paths(self,
- name_starts_with=None, # type: Optional[str],
- **kwargs):
- # type: (...) -> ItemPaged[DeletedPathProperties]
- """Returns a generator to list the paths(could be files or directories) under the specified file system.
+ def list_deleted_paths(self, **kwargs):
+ # type: (Any) -> ItemPaged[DeletedPathProperties]
+ """Returns a generator to list the deleted (file or directory) paths under the specified file system.
The generator will lazily follow the continuation tokens returned by
the service.
.. versionadded:: 12.4.0
This operation was introduced in API version '2020-06-12'.
- :param str name_starts_with:
+ :keyword str path_prefix:
Filters the results to return only paths under the specified path.
:keyword int max_results:
An optional value that specifies the maximum number of items to return per page.
@@ -906,6 +904,7 @@ def get_deleted_paths(self,
:rtype:
~azure.core.paging.ItemPaged[~azure.storage.filedatalake.DeletedPathProperties]
"""
+ path_prefix = kwargs.pop('path_prefix', None)
results_per_page = kwargs.pop('max_results', None)
timeout = kwargs.pop('timeout', None)
command = functools.partial(
@@ -914,5 +913,5 @@ def get_deleted_paths(self,
timeout=timeout,
**kwargs)
return ItemPaged(
- command, prefix=name_starts_with, page_iterator_class=DeletedPathPropertiesPaged,
+ command, prefix=path_prefix, page_iterator_class=DeletedPathPropertiesPaged,
results_per_page=results_per_page, **kwargs)
diff --git a/sdk/storage/azure-storage-file-datalake/azure/storage/filedatalake/_models.py b/sdk/storage/azure-storage-file-datalake/azure/storage/filedatalake/_models.py
index f0204b02fc8d..70b4a24ab0e6 100644
--- a/sdk/storage/azure-storage-file-datalake/azure/storage/filedatalake/_models.py
+++ b/sdk/storage/azure-storage-file-datalake/azure/storage/filedatalake/_models.py
@@ -16,6 +16,7 @@
from azure.storage.blob import AccessPolicy as BlobAccessPolicy
from azure.storage.blob import DelimitedTextDialect as BlobDelimitedTextDialect
from azure.storage.blob import DelimitedJsonDialect as BlobDelimitedJSON
+from azure.storage.blob import ParquetDialect as BlobParquetDialect
from azure.storage.blob import ArrowDialect as BlobArrowDialect
from azure.storage.blob._models import ContainerPropertiesPaged
from azure.storage.blob._generated.models import Logging as GenLogging, Metrics as GenMetrics, \
@@ -712,6 +713,11 @@ class DelimitedTextDialect(BlobDelimitedTextDialect):
"""
+class ParquetDialect(BlobParquetDialect):
+ """Defines parquet input serialization for a file query request."""
+ pass
+
+
class ArrowDialect(BlobArrowDialect):
"""field of an arrow schema.
@@ -724,6 +730,14 @@ class ArrowDialect(BlobArrowDialect):
"""
+class QuickQueryDialect(str, Enum):
+ """Specifies the quick query input/output dialect."""
+
+ DelimitedTextDialect = 'DelimitedTextDialect'
+ DelimitedJsonDialect = 'DelimitedJsonDialect'
+ ParquetDialect = 'ParquetDialect'
+
+
class ArrowType(str, Enum):
INT64 = "int64"
diff --git a/sdk/storage/azure-storage-file-datalake/azure/storage/filedatalake/aio/_data_lake_service_client_async.py b/sdk/storage/azure-storage-file-datalake/azure/storage/filedatalake/aio/_data_lake_service_client_async.py
index f8bbc59eb8da..ba43b0903b1d 100644
--- a/sdk/storage/azure-storage-file-datalake/azure/storage/filedatalake/aio/_data_lake_service_client_async.py
+++ b/sdk/storage/azure-storage-file-datalake/azure/storage/filedatalake/aio/_data_lake_service_client_async.py
@@ -19,8 +19,7 @@
from ._data_lake_directory_client_async import DataLakeDirectoryClient
from ._data_lake_file_client_async import DataLakeFileClient
from ._models import FileSystemPropertiesPaged
-from .._models import UserDelegationKey, LocationMode, AnalyticsLogging, Metrics, CorsRule, \
- RetentionPolicy, StaticWebsite
+from .._models import UserDelegationKey, LocationMode
class DataLakeServiceClient(AsyncStorageAccountHostsMixin, DataLakeServiceClientBase):
@@ -444,17 +443,8 @@ def get_file_client(self, file_system, # type: Union[FileSystemProperties, str]
key_encryption_key=self.key_encryption_key,
key_resolver_function=self.key_resolver_function)
- async def set_service_properties(
- self, analytics_logging=None, # type: Optional[AnalyticsLogging]
- hour_metrics=None, # type: Optional[Metrics]
- minute_metrics=None, # type: Optional[Metrics]
- cors=None, # type: Optional[List[CorsRule]]
- target_version=None, # type: Optional[str]
- delete_retention_policy=None, # type: Optional[RetentionPolicy]
- static_website=None, # type: Optional[StaticWebsite]
- **kwargs
- ):
- # type: (...) -> None
+ async def set_service_properties(self, **kwargs):
+ # type: (Any) -> None
"""Sets the properties of a storage account's Datalake service, including
Azure Storage Analytics.
@@ -464,30 +454,30 @@ async def set_service_properties(
.. versionadded:: 12.4.0
This operation was introduced in API version '2020-06-12'.
- :param analytics_logging:
+ :keyword analytics_logging:
Groups the Azure Analytics Logging settings.
:type analytics_logging: ~azure.storage.filedatalake.AnalyticsLogging
- :param hour_metrics:
+ :keyword hour_metrics:
The hour metrics settings provide a summary of request
statistics grouped by API in hourly aggregates.
:type hour_metrics: ~azure.storage.filedatalake.Metrics
- :param minute_metrics:
+ :keyword minute_metrics:
The minute metrics settings provide request statistics
for each minute.
:type minute_metrics: ~azure.storage.filedatalake.Metrics
- :param cors:
+ :keyword cors:
You can include up to five CorsRule elements in the
list. If an empty list is specified, all CORS rules will be deleted,
and CORS will be disabled for the service.
:type cors: list[~azure.storage.filedatalake.CorsRule]
- :param str target_version:
+ :keyword str target_version:
Indicates the default version to use for requests if an incoming
request's version is not specified.
- :param delete_retention_policy:
+ :keyword delete_retention_policy:
The delete retention policy specifies whether to retain deleted files/directories.
It also specifies the number of days and versions of file/directory to keep.
:type delete_retention_policy: ~azure.storage.filedatalake.RetentionPolicy
- :param static_website:
+ :keyword static_website:
Specifies whether the static website feature is enabled,
and if yes, indicates the index document and 404 error document to use.
:type static_website: ~azure.storage.filedatalake.StaticWebsite
@@ -495,14 +485,7 @@ async def set_service_properties(
The timeout parameter is expressed in seconds.
:rtype: None
"""
- return await self._blob_service_client.set_service_properties(analytics_logging=analytics_logging,
- hour_metrics=hour_metrics,
- minute_metrics=minute_metrics,
- cors=cors,
- target_version=target_version,
- delete_retention_policy=delete_retention_policy,
- static_website=static_website,
- **kwargs) # pylint: disable=protected-access
+ return await self._blob_service_client.set_service_properties(**kwargs) # pylint: disable=protected-access
async def get_service_properties(self, **kwargs):
# type: (Any) -> Dict[str, Any]
diff --git a/sdk/storage/azure-storage-file-datalake/azure/storage/filedatalake/aio/_file_system_client_async.py b/sdk/storage/azure-storage-file-datalake/azure/storage/filedatalake/aio/_file_system_client_async.py
index 91c954b896f1..7122970713fa 100644
--- a/sdk/storage/azure-storage-file-datalake/azure/storage/filedatalake/aio/_file_system_client_async.py
+++ b/sdk/storage/azure-storage-file-datalake/azure/storage/filedatalake/aio/_file_system_client_async.py
@@ -834,18 +834,16 @@ def get_file_client(self, file_path # type: Union[FileProperties, str]
key_resolver_function=self.key_resolver_function, loop=self._loop)
@distributed_trace
- def get_deleted_paths(self,
- name_starts_with=None, # type: Optional[str],
- **kwargs):
- # type: (...) -> AsyncItemPaged[DeletedPathProperties]
- """Returns a generator to list the paths(could be files or directories) under the specified file system.
+ def list_deleted_paths(self, **kwargs):
+ # type: (Any) -> AsyncItemPaged[DeletedPathProperties]
+ """Returns a generator to list the deleted (file or directory) paths under the specified file system.
The generator will lazily follow the continuation tokens returned by
the service.
.. versionadded:: 12.4.0
This operation was introduced in API version '2020-06-12'.
- :param str name_starts_with:
+ :keyword str path_prefix:
Filters the results to return only paths under the specified path.
:keyword int max_results:
An optional value that specifies the maximum number of items to return per page.
@@ -856,6 +854,7 @@ def get_deleted_paths(self,
:rtype:
~azure.core.paging.ItemPaged[~azure.storage.filedatalake.DeletedPathProperties]
"""
+ path_prefix = kwargs.pop('path_prefix', None)
results_per_page = kwargs.pop('max_results', None)
timeout = kwargs.pop('timeout', None)
command = functools.partial(
@@ -864,5 +863,5 @@ def get_deleted_paths(self,
timeout=timeout,
**kwargs)
return AsyncItemPaged(
- command, prefix=name_starts_with, page_iterator_class=DeletedPathPropertiesPaged,
+ command, prefix=path_prefix, page_iterator_class=DeletedPathPropertiesPaged,
results_per_page=results_per_page, **kwargs)
diff --git a/sdk/storage/azure-storage-file-datalake/setup.py b/sdk/storage/azure-storage-file-datalake/setup.py
index 22814c62477b..82ef758246cf 100644
--- a/sdk/storage/azure-storage-file-datalake/setup.py
+++ b/sdk/storage/azure-storage-file-datalake/setup.py
@@ -93,8 +93,8 @@
]),
install_requires=[
"azure-core<2.0.0,>=1.10.0",
- "msrest>=0.6.18",
- "azure-storage-blob<13.0.0,>=12.8.0b1"
+ "msrest>=0.6.21",
+ "azure-storage-blob<13.0.0,>=12.9.0b1"
],
extras_require={
":python_version<'3.0'": ['futures', 'azure-storage-nspkg<4.0.0,>=3.0.0'],
diff --git a/sdk/storage/azure-storage-file-datalake/tests/parquet.parquet b/sdk/storage/azure-storage-file-datalake/tests/parquet.parquet
new file mode 100644
index 000000000000..8eff6678085d
Binary files /dev/null and b/sdk/storage/azure-storage-file-datalake/tests/parquet.parquet differ
diff --git a/sdk/storage/azure-storage-file-datalake/tests/recordings/test_datalake_service_client.test_set_hour_metrics.yaml b/sdk/storage/azure-storage-file-datalake/tests/recordings/test_datalake_service_client.test_set_hour_metrics.yaml
index 8a3aaef8a699..75808cd7d66e 100644
--- a/sdk/storage/azure-storage-file-datalake/tests/recordings/test_datalake_service_client.test_set_hour_metrics.yaml
+++ b/sdk/storage/azure-storage-file-datalake/tests/recordings/test_datalake_service_client.test_set_hour_metrics.yaml
@@ -2,7 +2,7 @@ interactions:
- request:
body: '
- 1.0truetruetrue5'
+ 1.0truefalsetrue5'
headers:
Accept:
- application/xml
@@ -11,17 +11,17 @@ interactions:
Connection:
- keep-alive
Content-Length:
- - '267'
+ - '268'
Content-Type:
- application/xml
User-Agent:
- - azsdk-python-storage-blob/12.8.1b1 Python/3.8.5 (Windows-10-10.0.19041-SP0)
+ - azsdk-python-storage-blob/12.9.0b1 Python/3.8.5 (Windows-10-10.0.19041-SP0)
x-ms-client-request-id:
- - 7675879d-9bea-11eb-9017-c8348e5fffbf
+ - 3249dac5-a7c6-11eb-b681-c8348e5fffbf
x-ms-date:
- - Mon, 12 Apr 2021 23:54:47 GMT
+ - Wed, 28 Apr 2021 02:05:25 GMT
x-ms-version:
- - '2020-06-12'
+ - '2020-08-04'
method: PUT
uri: https://storagename.blob.core.windows.net/?restype=service&comp=properties
response:
@@ -31,13 +31,13 @@ interactions:
Content-Length:
- '0'
Date:
- - Mon, 12 Apr 2021 23:54:47 GMT
+ - Wed, 28 Apr 2021 02:05:24 GMT
Server:
- Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0
x-ms-request-id:
- - e5c9e03f-801e-0055-5cf7-2f5d2b000000
+ - 80857b38-d01e-0044-6ed2-3bf560000000
x-ms-version:
- - '2020-06-12'
+ - '2020-08-04'
status:
code: 202
message: Accepted
@@ -51,32 +51,32 @@ interactions:
Connection:
- keep-alive
User-Agent:
- - azsdk-python-storage-blob/12.8.1b1 Python/3.8.5 (Windows-10-10.0.19041-SP0)
+ - azsdk-python-storage-blob/12.9.0b1 Python/3.8.5 (Windows-10-10.0.19041-SP0)
x-ms-client-request-id:
- - 76e307d5-9bea-11eb-9616-c8348e5fffbf
+ - 32788c99-a7c6-11eb-8724-c8348e5fffbf
x-ms-date:
- - Mon, 12 Apr 2021 23:54:48 GMT
+ - Wed, 28 Apr 2021 02:05:25 GMT
x-ms-version:
- - '2020-06-12'
+ - '2020-08-04'
method: GET
uri: https://storagename.blob.core.windows.net/?restype=service&comp=properties
response:
body:
- string: "\uFEFF1.0falsefalsefalsefalse1.0truetruetrue51.0falsefalsetrue5falsefalse2014-02-14"
+ string: "\uFEFF1.0falsefalsefalsefalse1.0truefalsetrue51.0falsefalsefalsefalsetrueindex.htmlerrors/error/404error.html"
headers:
Content-Type:
- application/xml
Date:
- - Mon, 12 Apr 2021 23:54:47 GMT
+ - Wed, 28 Apr 2021 02:05:24 GMT
Server:
- Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0
Transfer-Encoding:
- chunked
x-ms-request-id:
- - e5c9e0ab-801e-0055-14f7-2f5d2b000000
+ - 80857bb9-d01e-0044-5bd2-3bf560000000
x-ms-version:
- - '2020-06-12'
+ - '2020-08-04'
status:
code: 200
message: OK
diff --git a/sdk/storage/azure-storage-file-datalake/tests/recordings/test_datalake_service_client_async.test_set_hour_metrics.yaml b/sdk/storage/azure-storage-file-datalake/tests/recordings/test_datalake_service_client_async.test_set_hour_metrics.yaml
index 8dea1faa9409..f1e279a11dc7 100644
--- a/sdk/storage/azure-storage-file-datalake/tests/recordings/test_datalake_service_client_async.test_set_hour_metrics.yaml
+++ b/sdk/storage/azure-storage-file-datalake/tests/recordings/test_datalake_service_client_async.test_set_hour_metrics.yaml
@@ -2,22 +2,22 @@ interactions:
- request:
body: '
- 1.0truetruetrue5'
+ 1.0truefalsetrue5'
headers:
Accept:
- application/xml
Content-Length:
- - '267'
+ - '268'
Content-Type:
- application/xml
User-Agent:
- - azsdk-python-storage-blob/12.8.1b1 Python/3.8.5 (Windows-10-10.0.19041-SP0)
+ - azsdk-python-storage-blob/12.9.0b1 Python/3.8.5 (Windows-10-10.0.19041-SP0)
x-ms-client-request-id:
- - d182be6d-9bea-11eb-8465-c8348e5fffbf
+ - 2b37dee6-a7c6-11eb-9248-c8348e5fffbf
x-ms-date:
- - Mon, 12 Apr 2021 23:57:20 GMT
+ - Wed, 28 Apr 2021 02:05:13 GMT
x-ms-version:
- - '2020-06-12'
+ - '2020-08-04'
method: PUT
uri: https://storagename.blob.core.windows.net/?restype=service&comp=properties
response:
@@ -25,42 +25,42 @@ interactions:
string: ''
headers:
Content-Length: '0'
- Date: Mon, 12 Apr 2021 23:57:19 GMT
+ Date: Wed, 28 Apr 2021 02:05:12 GMT
Server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0
- x-ms-request-id: 40d35052-701e-006e-50f7-2f188f000000
- x-ms-version: '2020-06-12'
+ x-ms-request-id: 59421d43-b01e-006d-32d2-3bcb14000000
+ x-ms-version: '2020-08-04'
status:
code: 202
message: Accepted
- url: https://seannsecanary.blob.core.windows.net/?restype=service&comp=properties
+ url: https://seannse.blob.core.windows.net/?restype=service&comp=properties
- request:
body: null
headers:
Accept:
- application/xml
User-Agent:
- - azsdk-python-storage-blob/12.8.1b1 Python/3.8.5 (Windows-10-10.0.19041-SP0)
+ - azsdk-python-storage-blob/12.9.0b1 Python/3.8.5 (Windows-10-10.0.19041-SP0)
x-ms-client-request-id:
- - d1c4844a-9bea-11eb-be81-c8348e5fffbf
+ - 2b50bdfa-a7c6-11eb-a412-c8348e5fffbf
x-ms-date:
- - Mon, 12 Apr 2021 23:57:20 GMT
+ - Wed, 28 Apr 2021 02:05:13 GMT
x-ms-version:
- - '2020-06-12'
+ - '2020-08-04'
method: GET
uri: https://storagename.blob.core.windows.net/?restype=service&comp=properties
response:
body:
- string: "\uFEFF1.0falsefalsefalsefalse1.0truetruetrue51.0truetruetrue5true5falsefalse2014-02-14"
+ string: "\uFEFF1.0falsefalsefalsefalse1.0truefalsetrue51.0falsefalsefalsefalsetrueindex.htmlerrors/error/404error.html"
headers:
Content-Type: application/xml
- Date: Mon, 12 Apr 2021 23:57:19 GMT
+ Date: Wed, 28 Apr 2021 02:05:12 GMT
Server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0
Transfer-Encoding: chunked
- x-ms-request-id: 40d350ad-701e-006e-03f7-2f188f000000
- x-ms-version: '2020-06-12'
+ x-ms-request-id: 59421dd9-b01e-006d-03d2-3bcb14000000
+ x-ms-version: '2020-08-04'
status:
code: 200
message: OK
- url: https://seannsecanary.blob.core.windows.net/?restype=service&comp=properties
+ url: https://seannse.blob.core.windows.net/?restype=service&comp=properties
version: 1
diff --git a/sdk/storage/azure-storage-file-datalake/tests/recordings/test_quick_query.test_quick_query_input_in_parquet_format.yaml b/sdk/storage/azure-storage-file-datalake/tests/recordings/test_quick_query.test_quick_query_input_in_parquet_format.yaml
new file mode 100644
index 000000000000..227c3694ab89
--- /dev/null
+++ b/sdk/storage/azure-storage-file-datalake/tests/recordings/test_quick_query.test_quick_query_input_in_parquet_format.yaml
@@ -0,0 +1,1643 @@
+interactions:
+- request:
+ body: null
+ headers:
+ Accept:
+ - application/json
+ Accept-Encoding:
+ - gzip, deflate
+ Connection:
+ - keep-alive
+ Content-Length:
+ - '0'
+ User-Agent:
+ - azsdk-python-storage-dfs/12.4.0b1 Python/3.8.5 (Windows-10-10.0.19041-SP0)
+ x-ms-client-request-id:
+ - 60cf3f29-996d-11eb-a886-c8348e5fffbf
+ x-ms-date:
+ - Fri, 09 Apr 2021 19:54:21 GMT
+ x-ms-properties:
+ - ''
+ x-ms-version:
+ - '2020-06-12'
+ method: PUT
+ uri: https://storagename.dfs.core.windows.net/utqqcontainerb38317df/csvfileb38317df?resource=file
+ response:
+ body:
+ string: ''
+ headers:
+ Content-Length:
+ - '0'
+ Date:
+ - Fri, 09 Apr 2021 19:54:21 GMT
+ ETag:
+ - '"0x8D8FB9145645382"'
+ Last-Modified:
+ - Fri, 09 Apr 2021 19:54:22 GMT
+ Server:
+ - Windows-Azure-HDFS/1.0 Microsoft-HTTPAPI/2.0
+ x-ms-request-id:
+ - 1577b503-101f-0007-357a-2d398a000000
+ x-ms-request-server-encrypted:
+ - 'true'
+ x-ms-version:
+ - '2020-06-12'
+ status:
+ code: 201
+ message: Created
+- request:
+ body: !!binary |
+ UEFSMRUAFeJrFeJrLBXQDxUAFQYVBhwYAzk5ORgBMBYAFtAPGAM5OTkYATAAAAADAAAA0A8BAQAA
+ ADABAAAAMQEAAAAyAQAAADMBAAAANAEAAAA1AQAAADYBAAAANwEAAAA4AQAAADkCAAAAMTACAAAA
+ MTECAAAAMTICAAAAMTMCAAAAMTQCAAAAMTUCAAAAMTYCAAAAMTcCAAAAMTgCAAAAMTkCAAAAMjAC
+ AAAAMjECAAAAMjICAAAAMjMCAAAAMjQCAAAAMjUCAAAAMjYCAAAAMjcCAAAAMjgCAAAAMjkCAAAA
+ MzACAAAAMzECAAAAMzICAAAAMzMCAAAAMzQCAAAAMzUCAAAAMzYCAAAAMzcCAAAAMzgCAAAAMzkC
+ AAAANDACAAAANDECAAAANDICAAAANDMCAAAANDQCAAAANDUCAAAANDYCAAAANDcCAAAANDgCAAAA
+ NDkCAAAANTACAAAANTECAAAANTICAAAANTMCAAAANTQCAAAANTUCAAAANTYCAAAANTcCAAAANTgC
+ AAAANTkCAAAANjACAAAANjECAAAANjICAAAANjMCAAAANjQCAAAANjUCAAAANjYCAAAANjcCAAAA
+ NjgCAAAANjkCAAAANzACAAAANzECAAAANzICAAAANzMCAAAANzQCAAAANzUCAAAANzYCAAAANzcC
+ AAAANzgCAAAANzkCAAAAODACAAAAODECAAAAODICAAAAODMCAAAAODQCAAAAODUCAAAAODYCAAAA
+ ODcCAAAAODgCAAAAODkCAAAAOTACAAAAOTECAAAAOTICAAAAOTMCAAAAOTQCAAAAOTUCAAAAOTYC
+ AAAAOTcCAAAAOTgCAAAAOTkDAAAAMTAwAwAAADEwMQMAAAAxMDIDAAAAMTAzAwAAADEwNAMAAAAx
+ MDUDAAAAMTA2AwAAADEwNwMAAAAxMDgDAAAAMTA5AwAAADExMAMAAAAxMTEDAAAAMTEyAwAAADEx
+ MwMAAAAxMTQDAAAAMTE1AwAAADExNgMAAAAxMTcDAAAAMTE4AwAAADExOQMAAAAxMjADAAAAMTIx
+ AwAAADEyMgMAAAAxMjMDAAAAMTI0AwAAADEyNQMAAAAxMjYDAAAAMTI3AwAAADEyOAMAAAAxMjkD
+ AAAAMTMwAwAAADEzMQMAAAAxMzIDAAAAMTMzAwAAADEzNAMAAAAxMzUDAAAAMTM2AwAAADEzNwMA
+ AAAxMzgDAAAAMTM5AwAAADE0MAMAAAAxNDEDAAAAMTQyAwAAADE0MwMAAAAxNDQDAAAAMTQ1AwAA
+ ADE0NgMAAAAxNDcDAAAAMTQ4AwAAADE0OQMAAAAxNTADAAAAMTUxAwAAADE1MgMAAAAxNTMDAAAA
+ MTU0AwAAADE1NQMAAAAxNTYDAAAAMTU3AwAAADE1OAMAAAAxNTkDAAAAMTYwAwAAADE2MQMAAAAx
+ NjIDAAAAMTYzAwAAADE2NAMAAAAxNjUDAAAAMTY2AwAAADE2NwMAAAAxNjgDAAAAMTY5AwAAADE3
+ MAMAAAAxNzEDAAAAMTcyAwAAADE3MwMAAAAxNzQDAAAAMTc1AwAAADE3NgMAAAAxNzcDAAAAMTc4
+ AwAAADE3OQMAAAAxODADAAAAMTgxAwAAADE4MgMAAAAxODMDAAAAMTg0AwAAADE4NQMAAAAxODYD
+ AAAAMTg3AwAAADE4OAMAAAAxODkDAAAAMTkwAwAAADE5MQMAAAAxOTIDAAAAMTkzAwAAADE5NAMA
+ AAAxOTUDAAAAMTk2AwAAADE5NwMAAAAxOTgDAAAAMTk5AwAAADIwMAMAAAAyMDEDAAAAMjAyAwAA
+ ADIwMwMAAAAyMDQDAAAAMjA1AwAAADIwNgMAAAAyMDcDAAAAMjA4AwAAADIwOQMAAAAyMTADAAAA
+ MjExAwAAADIxMgMAAAAyMTMDAAAAMjE0AwAAADIxNQMAAAAyMTYDAAAAMjE3AwAAADIxOAMAAAAy
+ MTkDAAAAMjIwAwAAADIyMQMAAAAyMjIDAAAAMjIzAwAAADIyNAMAAAAyMjUDAAAAMjI2AwAAADIy
+ NwMAAAAyMjgDAAAAMjI5AwAAADIzMAMAAAAyMzEDAAAAMjMyAwAAADIzMwMAAAAyMzQDAAAAMjM1
+ AwAAADIzNgMAAAAyMzcDAAAAMjM4AwAAADIzOQMAAAAyNDADAAAAMjQxAwAAADI0MgMAAAAyNDMD
+ AAAAMjQ0AwAAADI0NQMAAAAyNDYDAAAAMjQ3AwAAADI0OAMAAAAyNDkDAAAAMjUwAwAAADI1MQMA
+ AAAyNTIDAAAAMjUzAwAAADI1NAMAAAAyNTUDAAAAMjU2AwAAADI1NwMAAAAyNTgDAAAAMjU5AwAA
+ ADI2MAMAAAAyNjEDAAAAMjYyAwAAADI2MwMAAAAyNjQDAAAAMjY1AwAAADI2NgMAAAAyNjcDAAAA
+ MjY4AwAAADI2OQMAAAAyNzADAAAAMjcxAwAAADI3MgMAAAAyNzMDAAAAMjc0AwAAADI3NQMAAAAy
+ NzYDAAAAMjc3AwAAADI3OAMAAAAyNzkDAAAAMjgwAwAAADI4MQMAAAAyODIDAAAAMjgzAwAAADI4
+ NAMAAAAyODUDAAAAMjg2AwAAADI4NwMAAAAyODgDAAAAMjg5AwAAADI5MAMAAAAyOTEDAAAAMjky
+ AwAAADI5MwMAAAAyOTQDAAAAMjk1AwAAADI5NgMAAAAyOTcDAAAAMjk4AwAAADI5OQMAAAAzMDAD
+ AAAAMzAxAwAAADMwMgMAAAAzMDMDAAAAMzA0AwAAADMwNQMAAAAzMDYDAAAAMzA3AwAAADMwOAMA
+ AAAzMDkDAAAAMzEwAwAAADMxMQMAAAAzMTIDAAAAMzEzAwAAADMxNAMAAAAzMTUDAAAAMzE2AwAA
+ ADMxNwMAAAAzMTgDAAAAMzE5AwAAADMyMAMAAAAzMjEDAAAAMzIyAwAAADMyMwMAAAAzMjQDAAAA
+ MzI1AwAAADMyNgMAAAAzMjcDAAAAMzI4AwAAADMyOQMAAAAzMzADAAAAMzMxAwAAADMzMgMAAAAz
+ MzMDAAAAMzM0AwAAADMzNQMAAAAzMzYDAAAAMzM3AwAAADMzOAMAAAAzMzkDAAAAMzQwAwAAADM0
+ MQMAAAAzNDIDAAAAMzQzAwAAADM0NAMAAAAzNDUDAAAAMzQ2AwAAADM0NwMAAAAzNDgDAAAAMzQ5
+ AwAAADM1MAMAAAAzNTEDAAAAMzUyAwAAADM1MwMAAAAzNTQDAAAAMzU1AwAAADM1NgMAAAAzNTcD
+ AAAAMzU4AwAAADM1OQMAAAAzNjADAAAAMzYxAwAAADM2MgMAAAAzNjMDAAAAMzY0AwAAADM2NQMA
+ AAAzNjYDAAAAMzY3AwAAADM2OAMAAAAzNjkDAAAAMzcwAwAAADM3MQMAAAAzNzIDAAAAMzczAwAA
+ ADM3NAMAAAAzNzUDAAAAMzc2AwAAADM3NwMAAAAzNzgDAAAAMzc5AwAAADM4MAMAAAAzODEDAAAA
+ MzgyAwAAADM4MwMAAAAzODQDAAAAMzg1AwAAADM4NgMAAAAzODcDAAAAMzg4AwAAADM4OQMAAAAz
+ OTADAAAAMzkxAwAAADM5MgMAAAAzOTMDAAAAMzk0AwAAADM5NQMAAAAzOTYDAAAAMzk3AwAAADM5
+ OAMAAAAzOTkDAAAANDAwAwAAADQwMQMAAAA0MDIDAAAANDAzAwAAADQwNAMAAAA0MDUDAAAANDA2
+ AwAAADQwNwMAAAA0MDgDAAAANDA5AwAAADQxMAMAAAA0MTEDAAAANDEyAwAAADQxMwMAAAA0MTQD
+ AAAANDE1AwAAADQxNgMAAAA0MTcDAAAANDE4AwAAADQxOQMAAAA0MjADAAAANDIxAwAAADQyMgMA
+ AAA0MjMDAAAANDI0AwAAADQyNQMAAAA0MjYDAAAANDI3AwAAADQyOAMAAAA0MjkDAAAANDMwAwAA
+ ADQzMQMAAAA0MzIDAAAANDMzAwAAADQzNAMAAAA0MzUDAAAANDM2AwAAADQzNwMAAAA0MzgDAAAA
+ NDM5AwAAADQ0MAMAAAA0NDEDAAAANDQyAwAAADQ0MwMAAAA0NDQDAAAANDQ1AwAAADQ0NgMAAAA0
+ NDcDAAAANDQ4AwAAADQ0OQMAAAA0NTADAAAANDUxAwAAADQ1MgMAAAA0NTMDAAAANDU0AwAAADQ1
+ NQMAAAA0NTYDAAAANDU3AwAAADQ1OAMAAAA0NTkDAAAANDYwAwAAADQ2MQMAAAA0NjIDAAAANDYz
+ AwAAADQ2NAMAAAA0NjUDAAAANDY2AwAAADQ2NwMAAAA0NjgDAAAANDY5AwAAADQ3MAMAAAA0NzED
+ AAAANDcyAwAAADQ3MwMAAAA0NzQDAAAANDc1AwAAADQ3NgMAAAA0NzcDAAAANDc4AwAAADQ3OQMA
+ AAA0ODADAAAANDgxAwAAADQ4MgMAAAA0ODMDAAAANDg0AwAAADQ4NQMAAAA0ODYDAAAANDg3AwAA
+ ADQ4OAMAAAA0ODkDAAAANDkwAwAAADQ5MQMAAAA0OTIDAAAANDkzAwAAADQ5NAMAAAA0OTUDAAAA
+ NDk2AwAAADQ5NwMAAAA0OTgDAAAANDk5AwAAADUwMAMAAAA1MDEDAAAANTAyAwAAADUwMwMAAAA1
+ MDQDAAAANTA1AwAAADUwNgMAAAA1MDcDAAAANTA4AwAAADUwOQMAAAA1MTADAAAANTExAwAAADUx
+ MgMAAAA1MTMDAAAANTE0AwAAADUxNQMAAAA1MTYDAAAANTE3AwAAADUxOAMAAAA1MTkDAAAANTIw
+ AwAAADUyMQMAAAA1MjIDAAAANTIzAwAAADUyNAMAAAA1MjUDAAAANTI2AwAAADUyNwMAAAA1MjgD
+ AAAANTI5AwAAADUzMAMAAAA1MzEDAAAANTMyAwAAADUzMwMAAAA1MzQDAAAANTM1AwAAADUzNgMA
+ AAA1MzcDAAAANTM4AwAAADUzOQMAAAA1NDADAAAANTQxAwAAADU0MgMAAAA1NDMDAAAANTQ0AwAA
+ ADU0NQMAAAA1NDYDAAAANTQ3AwAAADU0OAMAAAA1NDkDAAAANTUwAwAAADU1MQMAAAA1NTIDAAAA
+ NTUzAwAAADU1NAMAAAA1NTUDAAAANTU2AwAAADU1NwMAAAA1NTgDAAAANTU5AwAAADU2MAMAAAA1
+ NjEDAAAANTYyAwAAADU2MwMAAAA1NjQDAAAANTY1AwAAADU2NgMAAAA1NjcDAAAANTY4AwAAADU2
+ OQMAAAA1NzADAAAANTcxAwAAADU3MgMAAAA1NzMDAAAANTc0AwAAADU3NQMAAAA1NzYDAAAANTc3
+ AwAAADU3OAMAAAA1NzkDAAAANTgwAwAAADU4MQMAAAA1ODIDAAAANTgzAwAAADU4NAMAAAA1ODUD
+ AAAANTg2AwAAADU4NwMAAAA1ODgDAAAANTg5AwAAADU5MAMAAAA1OTEDAAAANTkyAwAAADU5MwMA
+ AAA1OTQDAAAANTk1AwAAADU5NgMAAAA1OTcDAAAANTk4AwAAADU5OQMAAAA2MDADAAAANjAxAwAA
+ ADYwMgMAAAA2MDMDAAAANjA0AwAAADYwNQMAAAA2MDYDAAAANjA3AwAAADYwOAMAAAA2MDkDAAAA
+ NjEwAwAAADYxMQMAAAA2MTIDAAAANjEzAwAAADYxNAMAAAA2MTUDAAAANjE2AwAAADYxNwMAAAA2
+ MTgDAAAANjE5AwAAADYyMAMAAAA2MjEDAAAANjIyAwAAADYyMwMAAAA2MjQDAAAANjI1AwAAADYy
+ NgMAAAA2MjcDAAAANjI4AwAAADYyOQMAAAA2MzADAAAANjMxAwAAADYzMgMAAAA2MzMDAAAANjM0
+ AwAAADYzNQMAAAA2MzYDAAAANjM3AwAAADYzOAMAAAA2MzkDAAAANjQwAwAAADY0MQMAAAA2NDID
+ AAAANjQzAwAAADY0NAMAAAA2NDUDAAAANjQ2AwAAADY0NwMAAAA2NDgDAAAANjQ5AwAAADY1MAMA
+ AAA2NTEDAAAANjUyAwAAADY1MwMAAAA2NTQDAAAANjU1AwAAADY1NgMAAAA2NTcDAAAANjU4AwAA
+ ADY1OQMAAAA2NjADAAAANjYxAwAAADY2MgMAAAA2NjMDAAAANjY0AwAAADY2NQMAAAA2NjYDAAAA
+ NjY3AwAAADY2OAMAAAA2NjkDAAAANjcwAwAAADY3MQMAAAA2NzIDAAAANjczAwAAADY3NAMAAAA2
+ NzUDAAAANjc2AwAAADY3NwMAAAA2NzgDAAAANjc5AwAAADY4MAMAAAA2ODEDAAAANjgyAwAAADY4
+ MwMAAAA2ODQDAAAANjg1AwAAADY4NgMAAAA2ODcDAAAANjg4AwAAADY4OQMAAAA2OTADAAAANjkx
+ AwAAADY5MgMAAAA2OTMDAAAANjk0AwAAADY5NQMAAAA2OTYDAAAANjk3AwAAADY5OAMAAAA2OTkD
+ AAAANzAwAwAAADcwMQMAAAA3MDIDAAAANzAzAwAAADcwNAMAAAA3MDUDAAAANzA2AwAAADcwNwMA
+ AAA3MDgDAAAANzA5AwAAADcxMAMAAAA3MTEDAAAANzEyAwAAADcxMwMAAAA3MTQDAAAANzE1AwAA
+ ADcxNgMAAAA3MTcDAAAANzE4AwAAADcxOQMAAAA3MjADAAAANzIxAwAAADcyMgMAAAA3MjMDAAAA
+ NzI0AwAAADcyNQMAAAA3MjYDAAAANzI3AwAAADcyOAMAAAA3MjkDAAAANzMwAwAAADczMQMAAAA3
+ MzIDAAAANzMzAwAAADczNAMAAAA3MzUDAAAANzM2AwAAADczNwMAAAA3MzgDAAAANzM5AwAAADc0
+ MAMAAAA3NDEDAAAANzQyAwAAADc0MwMAAAA3NDQDAAAANzQ1AwAAADc0NgMAAAA3NDcDAAAANzQ4
+ AwAAADc0OQMAAAA3NTADAAAANzUxAwAAADc1MgMAAAA3NTMDAAAANzU0AwAAADc1NQMAAAA3NTYD
+ AAAANzU3AwAAADc1OAMAAAA3NTkDAAAANzYwAwAAADc2MQMAAAA3NjIDAAAANzYzAwAAADc2NAMA
+ AAA3NjUDAAAANzY2AwAAADc2NwMAAAA3NjgDAAAANzY5AwAAADc3MAMAAAA3NzEDAAAANzcyAwAA
+ ADc3MwMAAAA3NzQDAAAANzc1AwAAADc3NgMAAAA3NzcDAAAANzc4AwAAADc3OQMAAAA3ODADAAAA
+ NzgxAwAAADc4MgMAAAA3ODMDAAAANzg0AwAAADc4NQMAAAA3ODYDAAAANzg3AwAAADc4OAMAAAA3
+ ODkDAAAANzkwAwAAADc5MQMAAAA3OTIDAAAANzkzAwAAADc5NAMAAAA3OTUDAAAANzk2AwAAADc5
+ NwMAAAA3OTgDAAAANzk5AwAAADgwMAMAAAA4MDEDAAAAODAyAwAAADgwMwMAAAA4MDQDAAAAODA1
+ AwAAADgwNgMAAAA4MDcDAAAAODA4AwAAADgwOQMAAAA4MTADAAAAODExAwAAADgxMgMAAAA4MTMD
+ AAAAODE0AwAAADgxNQMAAAA4MTYDAAAAODE3AwAAADgxOAMAAAA4MTkDAAAAODIwAwAAADgyMQMA
+ AAA4MjIDAAAAODIzAwAAADgyNAMAAAA4MjUDAAAAODI2AwAAADgyNwMAAAA4MjgDAAAAODI5AwAA
+ ADgzMAMAAAA4MzEDAAAAODMyAwAAADgzMwMAAAA4MzQDAAAAODM1AwAAADgzNgMAAAA4MzcDAAAA
+ ODM4AwAAADgzOQMAAAA4NDADAAAAODQxAwAAADg0MgMAAAA4NDMDAAAAODQ0AwAAADg0NQMAAAA4
+ NDYDAAAAODQ3AwAAADg0OAMAAAA4NDkDAAAAODUwAwAAADg1MQMAAAA4NTIDAAAAODUzAwAAADg1
+ NAMAAAA4NTUDAAAAODU2AwAAADg1NwMAAAA4NTgDAAAAODU5AwAAADg2MAMAAAA4NjEDAAAAODYy
+ AwAAADg2MwMAAAA4NjQDAAAAODY1AwAAADg2NgMAAAA4NjcDAAAAODY4AwAAADg2OQMAAAA4NzAD
+ AAAAODcxAwAAADg3MgMAAAA4NzMDAAAAODc0AwAAADg3NQMAAAA4NzYDAAAAODc3AwAAADg3OAMA
+ AAA4NzkDAAAAODgwAwAAADg4MQMAAAA4ODIDAAAAODgzAwAAADg4NAMAAAA4ODUDAAAAODg2AwAA
+ ADg4NwMAAAA4ODgDAAAAODg5AwAAADg5MAMAAAA4OTEDAAAAODkyAwAAADg5MwMAAAA4OTQDAAAA
+ ODk1AwAAADg5NgMAAAA4OTcDAAAAODk4AwAAADg5OQMAAAA5MDADAAAAOTAxAwAAADkwMgMAAAA5
+ MDMDAAAAOTA0AwAAADkwNQMAAAA5MDYDAAAAOTA3AwAAADkwOAMAAAA5MDkDAAAAOTEwAwAAADkx
+ MQMAAAA5MTIDAAAAOTEzAwAAADkxNAMAAAA5MTUDAAAAOTE2AwAAADkxNwMAAAA5MTgDAAAAOTE5
+ AwAAADkyMAMAAAA5MjEDAAAAOTIyAwAAADkyMwMAAAA5MjQDAAAAOTI1AwAAADkyNgMAAAA5MjcD
+ AAAAOTI4AwAAADkyOQMAAAA5MzADAAAAOTMxAwAAADkzMgMAAAA5MzMDAAAAOTM0AwAAADkzNQMA
+ AAA5MzYDAAAAOTM3AwAAADkzOAMAAAA5MzkDAAAAOTQwAwAAADk0MQMAAAA5NDIDAAAAOTQzAwAA
+ ADk0NAMAAAA5NDUDAAAAOTQ2AwAAADk0NwMAAAA5NDgDAAAAOTQ5AwAAADk1MAMAAAA5NTEDAAAA
+ OTUyAwAAADk1MwMAAAA5NTQDAAAAOTU1AwAAADk1NgMAAAA5NTcDAAAAOTU4AwAAADk1OQMAAAA5
+ NjADAAAAOTYxAwAAADk2MgMAAAA5NjMDAAAAOTY0AwAAADk2NQMAAAA5NjYDAAAAOTY3AwAAADk2
+ OAMAAAA5NjkDAAAAOTcwAwAAADk3MQMAAAA5NzIDAAAAOTczAwAAADk3NAMAAAA5NzUDAAAAOTc2
+ AwAAADk3NwMAAAA5NzgDAAAAOTc5AwAAADk4MAMAAAA5ODEDAAAAOTgyAwAAADk4MwMAAAA5ODQD
+ AAAAOTg1AwAAADk4NgMAAAA5ODcDAAAAOTg4AwAAADk4OQMAAAA5OTADAAAAOTkxAwAAADk5MgMA
+ AAA5OTMDAAAAOTk0AwAAADk5NQMAAAA5OTYDAAAAOTk3AwAAADk5OAMAAAA5OTkVABWO+gEVjvoB
+ LBXQDxUAFQYVBhwYDHp6cTBrZnk0LnZibhgMMDF3d3llNGcucGZzFgAW0A8YDHp6cTBrZnk0LnZi
+ bhgMMDF3d3llNGcucGZzAAAAAwAAANAPAQwAAABtZGlmanQ1NS5lYTMMAAAANWRtdnFldmcuamsw
+ DAAAAHNmdGdtZ3N4LmIxZAwAAAB6cm9xdnM1dC5samkMAAAAYW8zamF0bmMuMXZoDAAAAHUzYmZ1
+ dmRsLjF3cgwAAABqcWN3M2VyMy5sdDIMAAAAc2gxc3doZXQuYnczDAAAAGkwc3EzMDVvLmg1dQwA
+ AAB1NTNjZWxhMC5zZ2IMAAAAemZybTVobHEud3J1DAAAAGN6Y2Nra3QyLnJpMAwAAABxMG40NTJl
+ NC51bnkMAAAAanVvenVtYWEudmZ2DAAAADFtdGZvMTNtLnhlaQwAAABjd3RhZWQyci5xZHcMAAAA
+ M215czB5a2YuYWdqDAAAAHZlYXVpbTNtLjNhMwwAAAB1NHh1cWZxci5ubXEMAAAAbHd1aG5kbTAu
+ d2pmDAAAAGtqdXkycm50LnVqdAwAAABxeGNpd3JpMS5seDEMAAAAbHBlYnRqNXcuZmMwDAAAAHp0
+ aWoxcWNiLml5MwwAAAAzbXdyZXpwMi5xaTAMAAAAYXoyamF3M2EuY2RmDAAAAHBjanpvdzF1Lm0w
+ MAwAAAAzZHlxdmg0MS5wYWMMAAAAMGFqY3lkcHMuYTRkDAAAAGI1MnJtY2htLnNoZQwAAABwczBz
+ ZGZzei5lcmMMAAAAZjUxdDNkaGIuanZjDAAAADV6cmhzYnpqLjF4YgwAAABqMmxtZnpzMi5xZmIM
+ AAAAcjBlcngxaXQuaXRyDAAAAGpiMGRzdTAxLnBlbwwAAAAzd2owZGsybi5hczIMAAAAem5iemhn
+ aXAuY2xxDAAAAG5xYmJwcHJ1LmZncQwAAABncDF4emYxZy4zeGQMAAAAcm95ZG9udWsuYjJqDAAA
+ AGVlZ2czY3FzLml0eAwAAABtNHYxd29sdC40bGgMAAAAcHV4MHp5ZGMubHZsDAAAAGRiZGZtc3Iy
+ LmlrNAwAAAB1cXQ1c2EzaS5hbmsMAAAANWpjaWpoMWcua2dtDAAAAHIwbm50eTRwLnFlMAwAAAA0
+ eGMxcGMzai5vemYMAAAAZDN4dzNoZ2EuYWZkDAAAAHZlMHVtZnl5Lms1agwAAABhcHljZ2h1aC5h
+ bHIMAAAAY3l6Z2twaDQuM2ljDAAAAGJjZTJ5dmNxLmhhbQwAAABveGxhdGdudy5hdG8MAAAAdGpn
+ b2tzZTIudTRzDAAAAGt1MWw1NDVkLnB3ZgwAAAB1Y2VhYmxjcS5odnUMAAAAc2x3dXZjaXkucXlm
+ DAAAAG9seWMwcml2LmhuYgwAAAB3cmN6bXEwbC5yZ3cMAAAAc3F3aTVla3UuZnl6DAAAAHdua2Vz
+ Y25rLm5kbwwAAABoajRzbDVqMS5mdXkMAAAAczR4bmJoMmMudGgwDAAAADVobHZvZ2l3LndtMQwA
+ AABjcTBuNDVwei5mc3AMAAAAemYydndqaXIuZXVxDAAAADVqeHZkNTMwLnp2NQwAAABqc2N2b3lj
+ Yy5xcWcMAAAAbHNqbnp2ZmIua3J3DAAAADRwYWliaHoxLnYxcAwAAAB1cmkwMmFjMy5zYnkMAAAA
+ bWc1cXdiMXEudGVqDAAAAG5sYmd5b2k1LmZkZwwAAABrM3ZiMW1vby5xYWsMAAAAdmN5Z3FzcWUu
+ dXZiDAAAAGRobWFheWc1LnNrYQwAAAB0dW9sZ3lobS5seGQMAAAAcW1mdXJrMWcucmNnDAAAAHMy
+ ZmdlMDAzLmNkMQwAAABpM25sY256dy4wNGwMAAAAc2UxNHJmeWwucG1zDAAAAHR0eW9kc251LjQ1
+ ZQwAAABtcmQxamJ0Zy5uZjEMAAAAeWNtcG5ldzQueTFnDAAAAHd6dmF6cHZqLmFoeAwAAAA1bXVy
+ NGt2ei5mZWoMAAAAM2NoYnN6dmYubXl2DAAAAHBldGsyZzVxLmxnZwwAAAA1bTU0Zmdnby5rdjUM
+ AAAAeXptczVvMHMuNTN6DAAAADB4NTRsZHN5LmdxdgwAAABnZWlzemdhMS53ZnIMAAAAamExY2xh
+ dHcuNWNpDAAAAG9ydHVzdnlwLnp1dwwAAAAyYTJueHNxbS5hdHIMAAAAeW5sNXR0eWgubTVsDAAA
+ AG5xY2k0bjUxLjM0dAwAAABrMjRraXpsZC50aXQMAAAAcHBwZmNwMmQuenRxDAAAAGtnbGl5ZXN0
+ LmFmdgwAAAAzbGFlb25nbi5qenoMAAAAaDA1djA1YnQuc253DAAAAGVrZGp0Y3U1LjNicAwAAAA0
+ dmp3eTJhei5kc3cMAAAAYzR3MjF6ZXAuYWNzDAAAAG1hZmtrdGh1LjN5dAwAAABqaDV2ZGx6eC54
+ aGIMAAAAanYzZ2lhMDAuemFxDAAAAGxucjAxemRkLmh0eAwAAABtbmNkZjRudS5idnQMAAAAY3l1
+ ajNjcjUuYmVhDAAAAGt2cG5kem94Lm1vbQwAAAAyZjB0c2Vuby5tNWkMAAAAcTJvbGRtbDQuZHly
+ DAAAAHFqMTBqY3BjLmhrdwwAAABjMXZ3bWtvYi56azUMAAAAdWRtNGFiMXMuM3FtDAAAAGtxZ2I1
+ ZndsLnV6MwwAAABla21uYjBoZC55c3IMAAAAYWdqYnNrbnIuMmd5DAAAAGZwNGRqamxsLm1meQwA
+ AABibzVkZW1oeC5taHcMAAAAcnppZ29ldWkuYnhkDAAAAHhhZmUwaWlrLnQ1ZQwAAABybXZreHN6
+ ZS5id2EMAAAAaHRxNWZndm8uaGdlDAAAAGczeXBicGprLnY0ZQwAAABtbXYwb3lieC5rM2cMAAAA
+ ZGhqMGIxY3kudm5tDAAAAGJoYm5kZGRjLnp1cgwAAABid2NicDQxZC55dG4MAAAAZGhoZ2d0dGku
+ MWhrDAAAAHFwa3J2MW40LmlvcAwAAABnMGNsdDUxbS5wYnEMAAAAbnhsbGRhYW8ua2RwDAAAADBu
+ cTV0Y3J3LmpldAwAAAAzNDAzbW9tai5nbGgMAAAAcG1kNHp6aGsueXJzDAAAAGYxcmMwNGp0LjFr
+ bAwAAAA0dXhmc2loaS5tMHUMAAAAZWx6Z2t4dmoucmplDAAAAGxrdmY1b3gyLmpqMAwAAABhejIy
+ NG1qci5zZ24MAAAAemYwemFwdW0udnZjDAAAAGNjZnBqMG95LjRpZgwAAABtazB4dXZ5MS5pMjEM
+ AAAAMjRmbjJ6eHIudGtqDAAAAG96eWZ1b3JuLjFybgwAAABhdnN3dTF2Zy5vYXMMAAAAcmNtaHhv
+ czMucnptDAAAAGhyajVmZ3NnLjM1MQwAAAB0eWlibmV5bC54aHQMAAAANXIzZHV6b2cuamlnDAAA
+ AHBuMXJ5ZWFnLmV1bAwAAAB6MmFsbXJ6ZS5tdHkMAAAAenpxMGtmeTQudmJuDAAAAHJ0cTBkZG9n
+ LjV1ZwwAAAB3ZXRlc2hteS5kYW0MAAAAZWc0M2tvMG8uamhnDAAAAHNxaGdhaW1wLnQ0YgwAAAB6
+ cDRtdmh1Yy5xbW0MAAAAM2dnd3F3aHYuZ3MzDAAAAHd1emNxb3Z4LmZqMgwAAAAxbDFtNDFiai5n
+ ZHcMAAAAdnFib3FrcHQuMzJ2DAAAAGU1bTR0MmVxLnhsNAwAAABmMXhtMTN6eS5langMAAAAMXNl
+ cTVjaG0ub3BoDAAAAHgzYmt3Z3JyLjViYQwAAAA1MXNqeWNncy51bWgMAAAAMHNrdmJvanEueTBo
+ DAAAAHo0anJ5YmYwLmVvbAwAAABxaXNmbDRsci5iZXEMAAAAb2xmZ2RhYnoud3djDAAAAGFnem1o
+ eHV1LmN3aAwAAABiNXB4bTR2dy5yamIMAAAAbTBzb28xanYubG5xDAAAAHJ4dWJ2dmdwLnhnZgwA
+ AAB0MzJuM3huZS5kZWgMAAAAdWZvMG1sNWsuanphDAAAAGJqZmQ0cWNvLjRtZAwAAABkdnJmZW0y
+ cC51bGgMAAAAdGJ6Z2loM3YudHQ1DAAAAGlmeTJlcHVrLnNxNQwAAABmYWlsMzVieS5ycTMMAAAA
+ bTVlZ24yZmsuYWllDAAAADBsaGlrbHFrLm9iegwAAABsb3h0eHlvdS4wMWcMAAAAbXYzcm5lZW8u
+ cmljDAAAAHI0cnpyeWkyLnF3NQwAAABxcmJsMDVxei4wNWUMAAAAYXcycHJqYmEubTNhDAAAAGJo
+ Z3l2aXZqLmNiMwwAAABkbHhlcTVjMC5vcnYMAAAAbjN2MDRyaHAuYWV4DAAAAGQxcXZ1ZmltLnBi
+ dwwAAABveWVyanp2dS5wZm8MAAAAbnVheGtib3YucXB1DAAAAGtkeWRhcWlyLndjcgwAAAB3YTM0
+ Y3VrMy5iZGcMAAAAZTVuMWl4anoud3JrDAAAADJycmk0MXBqLmV2cgwAAABoeHJqNHJzZS54Y20M
+ AAAAdzQxanFwemMueDF4DAAAAGJqbTJhdTNyLnR5eQwAAAB5eTFieDNtZS5tbHgMAAAAZ2I1MG11
+ bzUudTNoDAAAAG1pd3Z3anQ0Lmo0aQwAAABxY3JpbWFoby5jbnYMAAAAdWdlc3R5dzEudXBsDAAA
+ AHNqczJ1NGVwLmdlMwwAAAB6NWZqc2N3Yi41NWIMAAAAaGxmeDFncXMucTRqDAAAAG0zbnduMGUy
+ LmhscAwAAAB2cm9iendrMS50cG0MAAAAaGFyYXF2ZGYuZDBkDAAAAG16YTR0NXNnLnV1dgwAAAAw
+ aGh2cGpkNS55bXAMAAAAcHByanQxbWIuZ3RzDAAAADE0dnJkemEyLnhtcwwAAAAzbWltdnF1bi5o
+ dTAMAAAAa2NsbGdqdGUuY2I0DAAAAHN6eGdsYWlqLjJvdAwAAABubWg0bmg1MS4xbjAMAAAAZ2Zy
+ b3ZieGwucWJtDAAAAGUwbnBsbndqLnlzZQwAAABkYWhodXF2Mi4zb3IMAAAAcHhuMXQzemkuYWNn
+ DAAAAHl0MDBodGtrLnd0dwwAAABwend4NTIzMi5ocWcMAAAAbXJ1eWx6dHQua3BiDAAAADBiaWNz
+ eXFvLmJxZAwAAABndnpwbnZ4cC5xbGwMAAAAM3V6bDFmaXUucmYyDAAAAG9mZGptbnN2LnVodAwA
+ AAAyeWhndHVzei4xa2YMAAAAMXcwYnhkY24ucHgxDAAAADFwbWx3Ymt2Lml3MwwAAAB5ampoa3Fs
+ bi5pdWIMAAAAMHh3MW95bG8udHdlDAAAAGtteml4cTR3LnUzcAwAAAB0djEzd3F2eS55dWIMAAAA
+ b2EyZzNlanQucmlmDAAAAGViZXBnanc1Lm10cQwAAAAyZnkxMzAzZy5ueXUMAAAAMGM1dXR1bWYu
+ M3RzDAAAAGZuY3RrY2JnLmMwYwwAAABibmtzZXdzZy53em0MAAAAeXlpajEwMW8ucGlqDAAAAHA1
+ anlkbHI0Lmh2MgwAAAAzaXBjZGF3dy5hcXIMAAAAMDRtdzV6MnMudW0wDAAAAHdjdHBua2ZoLjJ1
+ bQwAAAByenBxc2JzMC41dGEMAAAAdmFoeHF6MGMuMnBtDAAAAHZyMHNza29yLm4ydwwAAAB4dDUw
+ MHUyYi5yaGsMAAAAY3ZpeTI0ZHguY2t6DAAAAHU0c3dkb2x4LnFqZwwAAABqc2V0emMwZS5qaGUM
+ AAAAaGI1NGIxdGkuM3F2DAAAAGVyNXFzcHZyLnUxMAwAAABibzRpMnNmdi53MnUMAAAAbXpwdnNu
+ dWIua2xoDAAAAGtrMG14djBmLnNsbgwAAABjemJlbGVqZy5xaXEMAAAANXhob2txNTQuY29qDAAA
+ AHVyaWhzbjR5LmVreAwAAAB2dGFtaWl2MC5sd2IMAAAAbHhhc3g1eTQuejMyDAAAAG12dnJ2czFu
+ LmRodQwAAAB5ejJxa2h3ZC50ZGUMAAAAeGwyYWd6dHYuMXNmDAAAAHZnNGNybm0yLjNjYgwAAABr
+ NTVmNWtwcS55cWIMAAAAa2RlbGI0bWkucWNtDAAAADN4NWxldGk0LmtkYgwAAABqd3FnYnVtYi5p
+ cnQMAAAAaGVkbHlpNXQud3FsDAAAAGZ0ZXRzM2tvLmhtbAwAAAByZ2MzdjN5cC4xY3AMAAAAZ3Bo
+ MzNqcGwudHoxDAAAADR1eDNzd2l5LjNhMgwAAABuY211d3V1MS41ZjAMAAAAaGhrYjBrdzAueWky
+ DAAAAHZobG1ha3VwLmhzaQwAAAAyd3dkdXFzdy50dzEMAAAAamJmZ3FxeDUudHoyDAAAAG80dWk0
+ a2RyLnAybQwAAAB4aWd3ZHBxZS4zencMAAAAamIwemtsbDEuMmFoDAAAADB3eHBpZWlpLmVndAwA
+ AABuNDNudG81NS5ueWYMAAAAeW1ocjFxeDUuMW9yDAAAAGY0bGZ3b3hpLm50ZgwAAABuemZyYmJ2
+ eC5weXkMAAAAeWhyNXZvaXouMnVvDAAAADN5NXAyZXp3Lm55YwwAAABuNXFnYWgxbS5vM28MAAAA
+ cDNzMWUwMWQua2pnDAAAAGVxZDFoa2NhLnkzbgwAAAB2YTN1Y251ay4yMXAMAAAAYWVrYTE1Z3Eu
+ cXFkDAAAAGNwdDNvNGZhLnhzdwwAAABsMXMyZ3Fhay52cWQMAAAAanJvM2hzcDMuMmYzDAAAAGJz
+ Z2FhdTBvLnBvawwAAABybHgxZGVoaC56eHoMAAAAdmZlNGlibmMuYjJyDAAAAG5paTFtc3YzLnBz
+ dQwAAAA1cWtkbnR5ci5xa3QMAAAAa2Yxa3Yxb3kuaGsyDAAAAHh1bmd3dWlqLnViMwwAAAB2Ymx3
+ MndldC5rcm0MAAAAanFkZ29tNWEudmMxDAAAAHk1amtjbG4zLmxwNQwAAABqcW1xeWVkdy5naWEM
+ AAAAMW9qYjIwaWEudnRqDAAAAHRmaXZkdjIxLmF4MAwAAABwaWQwaHpwcy5kdjUMAAAAd2ZnY2Rx
+ NGYueG8yDAAAAGNicDA1eG0yLnM1MAwAAABhMjAxYXBodi4wZjQMAAAAZGwxMnl6bXIuZWJmDAAA
+ AHgwZXZ5dHFyLmEydwwAAABnZm91NHlrMS55NXQMAAAAdzJqZHZsMmIuZmJ3DAAAADJ4a3c0eHhy
+ LnVpawwAAABneHFsaWdsMi5scHMMAAAAanN5dXl1emguZGhyDAAAAGRkem5lMGpnLmV2NAwAAAB6
+ d3pkdXBjcy5mMWMMAAAAbHZzYWFsYzEubWxqDAAAAHhheDBhZTVlLnpjeAwAAAByZmRncm4xZS5y
+ ZHYMAAAAc201MnV4bm0uYjMwDAAAADF2cWt5NWZhLm54ZwwAAAB5Y3lreGVnYy4zYmwMAAAAajNq
+ MnV5ZGIuZ3JmDAAAAGh6aHozNG1mLnB6NAwAAABhMHJzaWUxci5pcTUMAAAAMGp1cmoyMWkuNDAz
+ DAAAADAyM3c0YnJ4LjNzMAwAAAA0em95YjRzdy4zbXMMAAAAcGlvMnM1MHAueGprDAAAAHBpYWpi
+ bXpyLmgzcgwAAAA1ZDMxeW5ndS54a3IMAAAAZ2dlMGMwdWEucmswDAAAAGpvZHIxbHVjLmk0cAwA
+ AAAxcmNrZDN5NC5pbWoMAAAAeGxhbXhwZ3YuMWp0DAAAADJlMGszMWJwLm4xdAwAAAB1MW1sazF3
+ NC52bjIMAAAAa3Y1YWhldmoudjBuDAAAAGMwdDVyMm9jLnI1cAwAAAB4d20wdGt2bS5xbHkMAAAA
+ dWpqcW9pM3IuamoyDAAAAG5sdHl0amd4LjN3YQwAAABoZmF4Mnhydi5yc3YMAAAAdmdyYnlxdXYu
+ cXQ0DAAAADFqc3d4YWh3Lnk1awwAAAAza3Ftb3d3di5ia24MAAAAZDFocWk1dmMuY20yDAAAADFx
+ MGRseGNpLmhjcgwAAABkemJsazRyai52ZHYMAAAAZ3loeDBwNXQuZGlzDAAAAGNsaWY1b3h2LnQw
+ bgwAAABwYm52dzJ2Yy5oMDUMAAAAaWUxajNldXoudmMyDAAAAGNqcnNjaWp3LmJzcAwAAAAxcGxt
+ bjN3ai5kZzIMAAAAd3BxeW15cWMuZXBvDAAAADNteGpyYTBhLjVudAwAAABhcGxhZTVocS5ibG0M
+ AAAAc3VjajQwcG8uMzRjDAAAAHpiY2twcDQzLjV1agwAAABhbG5sYjRlNS5ibnkMAAAAYWl3amdz
+ cWUuZW1mDAAAAGswbzFsbTUwLmNxYwwAAAA0cm1tbDVlYi5xZXAMAAAAYXBpbWdvdGYueXE0DAAA
+ AGF6b3Jwd2QwLmR3NQwAAAB5M2x0ZGkzYi5xZXMMAAAANHhvbHRmcDAuZDV0DAAAAGhocDI1d2Fp
+ LnFxMAwAAAB4Y21obGJ6NS5paXIMAAAAbnpqd3p6MGYudmprDAAAAHhyMTFmNHVuLjJidQwAAAB3
+ ZGhqeHBuei5neG0MAAAAMnh5bGlsM2wuazF4DAAAAHZzMXZqd2cxLmdqMgwAAABrMHRzbjRmaC5v
+ a2wMAAAAZDFqb2N6MmQuaHljDAAAAHF2MmpucTVzLmx5ZAwAAABxZHpwNWRyby4xcXcMAAAAa2Zh
+ YmkzdHYuaXRmDAAAAHB5NG9xeWRiLjJ6MgwAAAAyNGV0dGMwdS53MGgMAAAAZGZkNDN6dHcubWly
+ DAAAAGF6Zno1eWk0Lm8zagwAAAAzdDV1d2Ruby5tdHoMAAAAb3lsZjF4aHguZ2RqDAAAADR5bnAw
+ dmFuLnpidQwAAAA1enF4bXZqcC4yNTUMAAAANXFnc3F0Y2QuMmpkDAAAADRuMm5kMGlvLm53ZAwA
+ AAAxMm1qNWlrdy4yY3MMAAAAY3ZvZnd1dmwucXhnDAAAADBobHU1ZnJ1LmRjcwwAAAB4NGpoNXBk
+ ci51bzUMAAAAcWRxNHdib24ucWFyDAAAAGhvMHBhbHF4LnNocgwAAABhMmJ0bWJ5YS5xZ2UMAAAA
+ bGk1b3NwamouMGxsDAAAAHpldGgyMTFkLjBoYwwAAABsY2Y0NXkybi52bjQMAAAAZXpvemI0M2su
+ YTR6DAAAAHR1ZHVoanlyLmdnbwwAAABuZHBqaXJneC5rbHUMAAAAMnBsbXVrdHIuYnB4DAAAAGhm
+ eGxnb3RjLmcxYwwAAAB2cGtiMTF5Zy5pMHEMAAAAcW4ybmpvMTMuZ21sDAAAAHJpY2o0eGs1LnBq
+ bQwAAABqZ2RuMmN5Zi4zYW4MAAAAZDB3aGk0djEuY2wwDAAAAHAxbGdncnVzLnB5bAwAAABqb3R3
+ cW95ei5jZjUMAAAAM3p1cnZ3Y2oueWZnDAAAAGkxcGFkdnVuLm96bgwAAABhdGhucnJ6di5pdG8M
+ AAAAc2Nmc21zZzQuc2lsDAAAAGdxZGp0MXNtLnZ4bAwAAAAzMG1iaDNraS5rYm8MAAAAZzRoZnNo
+ YWwuY2JpDAAAAHZlbmptanFtLnRmegwAAABhNTVpdnQ0My5zcWoMAAAAbGY1cG14YXguYWJ6DAAA
+ AGdtb3cwcmI0Lm13egwAAAByM3Nlemh6ai5xZzIMAAAAMGN2NHh6dzUuaXU1DAAAAHlzMjMzZm52
+ LmNscAwAAABzaDJuZ2Fvdi5lY3QMAAAAbXFudG4ybXEuend2DAAAAG8ydHFzM2NuLjBxcgwAAABy
+ cnF5ZWt6di5pcnQMAAAAcDVxMXkzdmQucDV5DAAAAGUzYzVtY29qLmExcAwAAABtNXNxd2Nkai5v
+ bHkMAAAAeW1uaG40bGguZ2lpDAAAAGZ0ZmJrbXlyLmoxMgwAAABoc3ozcWdoNC53MTMMAAAAZWN0
+ Zm9paHMuenV1DAAAADVsbHl5b2dhLmp0cgwAAAB2cmd5Mnl0eC5kMzMMAAAANXA1YW1ja2wuam1s
+ DAAAAGdrZXpkZmNzLjAwdQwAAAB0MzF2eHViaS55cmIMAAAAZzJ1MzJrenQudGllDAAAAGEzdG9n
+ ZnBjLjJ4MAwAAABrYzM1cDF2bC4wMXYMAAAAaml0MW9zNXcuanVjDAAAAGVia3h2bXExLjJ0aQwA
+ AABqYnd6cXVvbC54cDAMAAAAaHJrM2JwaHYuaW5qDAAAAHkweWNjbTQxLnQxbAwAAAB3aW55a2Ft
+ Zy5rMjMMAAAAaGtpamsxNTMuZTRwDAAAAGd4ZHprY3phLm1zbgwAAAAzaWtwa2tteC5xZjIMAAAA
+ YnRoc2dnNXQubnl4DAAAAG50M21pdGJ0LmowNQwAAABwamdpNTBuMC41cWYMAAAAM25uZGNobWcu
+ eXZrDAAAADRhaXdwMWVhLjI1dAwAAABobXhjMmxqcC5ja3cMAAAAd2lveTF5bmIuZ3gxDAAAAGdj
+ dDNqbzEzLjJwMwwAAAB0cTB1MnZwbS4wdDMMAAAAb21ncW53dzEueTUxDAAAADIzcmVlbjI0Lngz
+ MgwAAAB6amVheWVzZy56dWsMAAAAZ2trd2x4MGYubnNvDAAAAHpzdWl2em1jLnRmMwwAAABvMmt4
+ bXBicS50bXEMAAAAdHBhbzNsMmgucG9zDAAAADBmbXozdHNxLndzcQwAAAA0dDIxaDB0Yi56dDIM
+ AAAAZXp1anB2ZXkuaWs1DAAAAHNoY2RzeW9nLmRlMwwAAABpdmt3ZWxteC5kaHoMAAAAc2JvNHRj
+ eXcuNHV3DAAAAHJzbnpkbWExLmFlcwwAAABjYXd3YW5pbi5nYncMAAAAajJvNXdkcncuZ3VrDAAA
+ AGF5MHVodG9mLnN5ZQwAAAAwYnQ0d2l6bi4yaWwMAAAAeHFtamtvNTUueGZwDAAAADVvdnlydHpt
+ LmQxawwAAABsY3VoaDR3cC5ldzMMAAAAYWJ6cGhhMTEuM2tkDAAAAHZ2MWVkcnI0Lm1rcAwAAAB1
+ aXEwajFrei5yNXcMAAAAeHFydWd2NG8uYWpkDAAAAHo0a3hibjVmLmJjcAwAAAB5ZGVzcGpjZy5p
+ ajUMAAAAb25yMHJvZGsubGN6DAAAAGoxd2Z3eGVhLnMyNAwAAAB0cDRtNXR0dC53bXgMAAAAcGpk
+ Y3Bzd3MuYWoyDAAAAGtrcXgza25qLmh2ZgwAAABwdHJubm5jeC41ZW8MAAAAc2I1MTJ5YmouM3Jj
+ DAAAAHExenBoamN2LmNpaQwAAABwdGNka2ZxYy55M2MMAAAAZGl5bmJjc2gueHR1DAAAAG8yYTFi
+ ZjVoLmJlMAwAAABwMDBhc2psci5rengMAAAAM3hwYnRmYXMub2R5DAAAAHNwZmZ3bHhwLjRtcQwA
+ AABjZGMxd25iay5sbWgMAAAAYjBvbm5ueTQueHkxDAAAAGJ0cXdrNWpmLnhjYgwAAABncTR4c3dx
+ dC54ZjIMAAAAeHNheHVzbmsua2pzDAAAAG9pYzE0azI1LnducwwAAABsdnpvdzRpMy5jNHYMAAAA
+ ankzbWtueGUuajJ0DAAAAGxnNXI1ZnFnLmJwNAwAAAAxZWFqZ2JsaS5tcGQMAAAAbzBydHh1Ymcu
+ MWdnDAAAAG1panliYXlrLjRtNAwAAAAxNW9wZjIydC56aW0MAAAAMGJlaDRta2QueWVrDAAAAHVj
+ c2pka3FxLmJpbAwAAABwbjRndzJwZC5nZXMMAAAAem92ajRqYjUuMXVhDAAAAGMyMjN6Y3JsLmlj
+ cgwAAABiamp0NWRhNC5heDMMAAAAMnl6a3Fvc3kuZ3Z5DAAAAGJrNGVwa2hrLnVhdQwAAABzbG40
+ cmZxYS5jMnAMAAAAdnB4aXh1dnEuMmR0DAAAAGtpdDJndzFhLmMzdAwAAAB3ZWowcGhmbi4xa2sM
+ AAAAdHh1aGhxcGUuNDEwDAAAAHhzeHR3NGgyLmZjdwwAAAAzZm4ycmR0NC5qZmMMAAAAYmdpMnN0
+ YTEuams1DAAAAGlxbmRvamJqLnA1YgwAAAB1cG4zYnh5bS53NTAMAAAAbmdkdDBybnIueGtzDAAA
+ AGN2M25tMjJlLmN3MQwAAABqZmZqeWE0bC41aWoMAAAAcmJhbXB0NGkub3JrDAAAAHdveTFvZ3N0
+ LmIyMAwAAABicHcyNHN6dy50am0MAAAAd3pmams0bDIuc2l0DAAAAHYxcXRtZzFlLnV0cwwAAABy
+ ajJjcWRycC5taDQMAAAAMGU0dWRxd3cucG9qDAAAAG5lazV6c25yLjB0MAwAAAA1am9zZG5oZi5n
+ dmYMAAAAbXd6aXA0MWkuaTQ1DAAAAGlqZmsxc2l0LjR3eQwAAAAxbXZ1eDFzcS55cHEMAAAAZnpi
+ Z2JocDUueW1xDAAAAHVpMTFkenFuLnR0bAwAAABqMTBiMDNsaS54NGMMAAAAMXJ4MHFuaXQueW96
+ DAAAADJzc2puMWF2LnptbAwAAAA0bWMxMzR4dy5yNGcMAAAAaXRlaTVxa3oudXZiDAAAAHIxMWlk
+ ZW5sLjBycwwAAABzaWoxMDU1eC50eGsMAAAAamIxMTJkYnQuY3Z2DAAAAGIwd2tncGFuLm5xawwA
+ AAAzNXBlamIzZC5mZDUMAAAAMm5oeHB4MmQudDNlDAAAADFkbnhrbzRxLmRhdgwAAABhdzB5cWZw
+ by4xbTIMAAAAb2U1MnN0cXguMnJsDAAAAHBubGhjd2t6Lmt4MwwAAAB4bGdvNHgxdy5odXUMAAAA
+ bzRrNHJvNW0uMmdiDAAAAGF1azJ3dHhnLmVmMAwAAAB3ZzBkYWwzZy50bXIMAAAAa2p4MGVyb2Eu
+ cGYwDAAAADJnNHlwdHVlLjMzegwAAABoMjNpeXJlZS5qaWoMAAAAaGR0dzNsZWouaHdyDAAAAG5z
+ Y3JjdXkyLjFkbgwAAABrY2ZudjJzcS5qMGUMAAAAMjJxMHB3MmwuNWZsDAAAAHhoZWd5d3Z6Lncx
+ YwwAAAByMnhzaTVtaC5wbzEMAAAAcHp2dTV5bXYudXh3DAAAADVxZGRrYmJiLnFnbgwAAAAzZnM0
+ ZDBnMS5qeHcMAAAAZW9meW9ueDUudHpoDAAAAHd2djRwcW0xLmV4dAwAAABweXZudXJ0ZC4zZGMM
+ AAAAaXhlNGF0czQudHEzDAAAADFycjMxNGcyLmQyeQwAAAA1YmRzeTR1cy4yMmQMAAAAamxiMGJ0
+ enIubGt3DAAAADR1MGhiYWQzLnhyNQwAAAB2dmdrbDJjby4yeXQMAAAAa2c1anNqNXIubG96DAAA
+ AGkyaDNoZ3NhLnhkMwwAAABudnVkMTNicC5iNTQMAAAAYnAza21yd3AuNHUzDAAAAHd3MGFzc3l4
+ Lmp6MQwAAABvaGJ1dXNwdS5ha3cMAAAAcmNpNHpxemQuNHNmDAAAAGZ1b2pmcTQwLmZ5dAwAAABt
+ YXBiazJpdS5jNHEMAAAAanUxdm8wbG8ubHF5DAAAAG1hMHNxZXRqLnF4cgwAAABxbnd1dGx6YS5n
+ eXkMAAAAamtybnJkdTMucW5vDAAAAGF2NHNsZ3cyLm5qNQwAAAB4a2xpamN2ai4zcjEMAAAAc3cx
+ YnZyMHIucWN3DAAAAHZydnI0amFwLnJkMwwAAAAzM2pqYXBhcS5xbGMMAAAAczFwZ3psaHgueXRw
+ DAAAAHBseDN3aWh0Lnp5bwwAAABwY2llMGp5Zi4ydGEMAAAAd3NocmV0dGYubzAyDAAAAHNyZXZ3
+ eGN4LmY0dwwAAAAyZjNleW4yeC5nc2MMAAAAZXF3MGFsZnUud2JrDAAAADBpdDFtZnhzLmpxMAwA
+ AABpbHl4dXR4ei5tNXoMAAAANHJobG9pcjAuaTAzDAAAADJ2b2NmZzNtLnhycwwAAABkd295eWll
+ aC5wZWMMAAAANWIycGk0NWEuZGk1DAAAAHlkbWRrMWJwLmtlaQwAAABqaWRjNW5paC41enEMAAAA
+ MDJnYjJ6aXQuM3VtDAAAAHE1ZmFjM2p6LnczaQwAAABnZmswc2JjMy5wYWsMAAAAd3Nnd3B0d2Iu
+ bG8xDAAAAGRtd3FycXpvLmthdQwAAAB5ZWVrbGp3YS5oZWwMAAAAdHpoNHN2dTIuaHp6DAAAAHBj
+ bXhrMWZuLjRseQwAAABjMWt1M3p2bS5hMXAMAAAAa2owMDExNWUudXZnDAAAAGJuNHN5cWdrLjBj
+ MgwAAAAyb21sNWJ2NS4zdGsMAAAAdzB5eHBjd3cubWwwDAAAAGQxZmNqYmsxLnFseAwAAAAzcmhv
+ M3Rkdy51MnoMAAAAb2FrdGoyZGMuZjVuDAAAAHoyaTF4MTIxLmY0eQwAAABra2lldXZ0NC5zY3gM
+ AAAAeHJweXVia3kub2NwDAAAADVieXR0Z29oLmRtMgwAAABkYXYzYmpvdi5waTIMAAAAb3NoaWh4
+ ZG8ueTFwDAAAAG0wYnJramU0LngwagwAAAB4ZHU1ZXg0cS5memUMAAAAeGVnNDBib2QudWp3DAAA
+ AHBnMXYzczJiLjN0egwAAABuc2FqdWY0ci52dGcMAAAAY3FrdWtzbHIuMjJwDAAAAGZ2dmh3aWs0
+ LjF0NAwAAABkanRudmJwdC5seHQMAAAAa3Nkdm1wMzEuenNzDAAAAGF3cHczZGpiLjBnZAwAAABw
+ b21kYzF0cS52amgMAAAAZHJqZm9pbnUuejQzDAAAAGYyc2NpaHI0LjJubQwAAABweWR1bGNpYi56
+ YzQMAAAAMDF3d3llNGcucGZzDAAAAGNxd2ZnaG11LnYydwwAAAB5anphNGJrbC5ocWcMAAAAbG5q
+ MmpyNW0udGJtDAAAAHl2MG9tcWl6LngxdAwAAABzYXNueWEyZC40d28MAAAAem5iejRoYmQubHoz
+ DAAAAHZ6MzFuYXNzLjM1cgwAAAAxc2I0bnlsZy5yejMMAAAAYTQzemVkaW4uMXYyDAAAAGV5YTUw
+ cnZmLmg1YQwAAABkMXV4YnFkMy53bjQMAAAAMHRsNTU0bWYuZnMxDAAAAHlmendwNHlxLnp5bAwA
+ AAAwYXNiZHJuci5yYXcMAAAAbjNqeXZrdnAuZ3doDAAAAHJja3A1c2ljLm1mawwAAABrZWVmcG1n
+ Yy50dGcMAAAAcXAwZXlrdDMucTRxDAAAAHowc3UwZ3c0LmxwaAwAAABkNWZ4cXpldS5ua2kMAAAA
+ bTVraGpscHcuZzMxDAAAAHRjMGtqeXF1LnV5ZQwAAABhaG5ncmlvdS56bWUMAAAAaGVxa2R1bHUu
+ dHE0DAAAAHlwZHZ3MXRtLnN0dQwAAAB2ZHc0NG4yMC5lcHkMAAAAbGN6aTQ1MnAuaWEyDAAAAGEw
+ cmY1azRwLnQwcwwAAABhcWg0YWc0bC5uZ2MMAAAAZWNwdWE1cWkubWd0DAAAADV3b25lcTUyLnJn
+ dwwAAAB3NW9rNWp2ZS5xbHcMAAAAMnpjcWJrZmEubGVvDAAAAGR1eXpvNXVlLjNuYwwAAABqNG9n
+ MnlzdS5sd2kMAAAAZGttcWp6ZTMuYjQyDAAAAGVmZ2FvcmRxLnhyeQwAAAA0bzNhY3B0ZC41c3EM
+ AAAAa2J5cHJpMm8ubGJnDAAAAGtxZ253ZXJ4LnB3dwwAAAB6dXRnenA1bi52enUMAAAAZHZycHZ5
+ M3EuejJzDAAAAHNidjFqcGh3LmdyYwwAAAB6ZDFoaDFsdy5wZGwMAAAAYW1veWtvZGkuNW9nDAAA
+ AG1uMWkzYjMzLmF5YQwAAAB2cHllbGFvci52M3IMAAAAeWpibmgwcGouMzF2DAAAADMwcndocHBs
+ Lmt1NQwAAABrdWJwcWxvYi53MXkMAAAAazNsZm9pbWEudGtmDAAAADNleGlsbXB2Lmp6aQwAAABs
+ YWF1bW1nby51em0MAAAAMHIwcTV0bHkud2ZwDAAAADN4YTBxZ2x5LmljcgwAAAA1NHBhMnBtdy5y
+ amkMAAAAYW9nZWs1dzEudzMzDAAAADNvZ2t3cWVvLmhpaQwAAABpZmxlaTFuMS5idGsMAAAAYmxk
+ d2R0b3Uudmk0DAAAAGFiMXNhdGo0Lm1xdQwAAABkd2ViZGwwbC5tcjIMAAAAYTRxZG94ZWsuajMx
+ DAAAAGszMHA1c2NuLnRsMwwAAAB1MHoxMHloby5pbXcMAAAAY3lrampkMWMuNGd5DAAAADVqM2wx
+ MHEwLnlmcgwAAABhdXF6cmp1aC5ld2QMAAAAemdubGx6bnUuc3FvDAAAAGI1ZjNmcWRpLjB5NQwA
+ AABzeWpobG9pby41YnMMAAAAcDVucm4weHkuMmkwDAAAAHVkeGxjdmdtLmpnagwAAAAzZmMwZXdi
+ bS5lYXUMAAAAejFkMHVvdDAudnNqDAAAADIzeTNzZnFjLmZnZAwAAABxMnRmYjB2ay5uMmQMAAAA
+ a2xieXcwczUuZ2ozDAAAADN0bWhjaHExLjFxdQwAAABjZXU1M2o1dy5rcXYMAAAAbWRjcGVld2Iu
+ NXhxDAAAAHl6MmFpd3k1Lm9scAwAAABidHZycTFiZy5jeXIMAAAAeXlhbGJ1Y3MuYW5nDAAAAHAz
+ eHRvcDFpLnFlZwwAAAB3ZXdrM2dmZC5uaW0MAAAAZm1qb2d4b2cuNTU0DAAAAGVydTJsbmowLnN1
+ dAwAAAB6bG5xa3hnYS53MHIMAAAAZXgxeDB1MXUuYnpuDAAAAHZmeGJidWFkLm5tNQwAAABidmo1
+ eWxwZC53ZnYMAAAAZW5rY3FzNTUudGx0DAAAAHdsZzBxcWh2LnNyZwwAAABvZWVrcjJ0eC51aXkM
+ AAAAdmh0aTB3cXAudWYxDAAAADV0cXh0enYzLnk0cgwAAAB4ZXdlbGRrdi56YXEMAAAAamJ4YzB3
+ dWkuMWlkDAAAAG9rdXB6MnN2LmhmaAwAAAB1MWJ5eDFlbi5taXIMAAAAaGhwejQyeHQuZ3F4DAAA
+ ADBxbDMzZXk0LmMwagwAAAA1bTVsbjVsbi4wdTIMAAAAcnN0a2JxdWwudWQyDAAAAG94MDQ1azFv
+ LmdtbwwAAAB0dWRrcW0wdS50dmwMAAAAY2ZjMWlvam8uNGluDAAAAGozcGM1c20wLm1sYwwAAABp
+ c2Q0MGpzdC50ZmcMAAAAazM0ZHdjd2IuejNtDAAAAHZleDV1c2RvLm1nYQwAAAB5ZWpnb2d4by55
+ bnAMAAAAdjRvbjB1bGwucHlmDAAAAHB3MmUwbHpzLjVnawwAAAB2enEzMW94Yi50djMMAAAAeHFz
+ MGthZ3QueTV4DAAAAGhyYmlrNGllLnNndgwAAABjZWtsNDBzaS5ycnkMAAAAMDV0Y3h0MmwucXo1
+ DAAAAHF4bHZnczFiLnVjbAwAAABnMndsNDBrMS5qeTIMAAAAdWExcnIxZGwudWVlDAAAAHFzdWdu
+ eXZmLnhycQwAAAB6bXoxd3V0dC40bzAMAAAAYTJuajNxZ3kuajR6DAAAADUxeW01YmhxLmVybAwA
+ AABpMXJsMnBlYi5odmoMAAAAcWJyanptcnUubWZqDAAAAHljNWdrZ3lsLm1wdAwAAABkZDV3dGh5
+ aS5xeGcMAAAAa3dlZHV2cG4uZnRhDAAAAGFqZDNkdjBoLmtqYwwAAABocGdudG5qaC56dHIMAAAA
+ eDRmYWF5b24uemd6DAAAAGRleDR4YjVsLnJtbQwAAAA1NWZvcXJybC4ybXUMAAAAd2lrdXB4b2ou
+ c2V1DAAAAHVkYWxnenR0LmMzbwwAAAA0czJ6aG15cC4waTEMAAAAMHB4MWRpY2wucWd3DAAAAHVx
+ YTF4bGRxLnQydgwAAAB1MXF1aHRzdi5xdXUMAAAAMnMycmJmdm8uanZpDAAAAGQ0bDQwbGJxLjUw
+ ZgwAAAB4YTNsajR3Yi5udHYMAAAAam9jZnc1dmQubG5tDAAAAHowYmNsa2R1LmNwawwAAAB3MGpv
+ Z3BzMS5hNXUMAAAAMDM0bDBvaDEuNWh2DAAAADNzY3Vzd2JzLnl3aQwAAABidXp6MmpuMi52MzUM
+ AAAAa2V0c2IyeHQuaXgzDAAAAG01a3RycmtsLmJmNQwAAABkeXVqMXRydC5rdXgMAAAAYzExcG9l
+ MDMuaHJjDAAAAGJvd2lyZDQzLmI0YgwAAAB6M2E1eDR6dS41em8MAAAANWw1MWswdGsueGRsDAAA
+ AGZzNXgyYWxuLmpkZwwAAABpcno1aHAxcC54dzEMAAAANDRobGZsdjQub2lpDAAAAHVzMzMyMDJy
+ Lm1tbQwAAAAwZGV2aGIwMC5lbm8MAAAAeWdva2FscHQubXpuDAAAAGx5ZmNscmh3LnJ0NAwAAABk
+ a3hrY2l1ai4zZnAMAAAAemtkbHNwcjEuaHQyDAAAAGE0aDNvMmFyLnBzNQwAAABxd2YwM2lxZC5o
+ ZmUMAAAAanl0cHZ2YWEudWYwDAAAAGFvdno1ZjRhLmlhMAwAAABjdjFlMnhvdS4xbngMAAAAbGFs
+ bzVncmoueWV6DAAAAHgzanRjbzRjLjJsaAwAAABycDR0c3ZibS5oa2kMAAAAeTB2MjM1eG4uMG5m
+ DAAAAG56eDR2MXBpLmNlMAwAAABocWFleXd2by5zazAMAAAAcXMwYmRudjEuNDVjDAAAAGhpM3p5
+ cjFsLmlidgwAAAB6YzJoM28xdy5iMnUMAAAAZ2F5eXo1dDUuNWNlDAAAAGZhZXEwdTNrLmZndQwA
+ AABtcmZwZ3FzdS5ldm4MAAAAY2hlbTRsb3kuZnMyDAAAAGlyc2xnb2hkLjVibgwAAAB2YWR0YXNs
+ aC5oeGIMAAAAZnhpMmwyeXAuNGdhDAAAAGd1aHFibjExLnVyagwAAABmcTJ5bmZiMS5tb3IMAAAA
+ Zm50aWR4dHEudDJjDAAAAHNxenZhcnQ1LnlmZgwAAABnbDEyZ2ZxMy5nZWYMAAAAcWNtYmpha2cu
+ cGc0DAAAAG4wanFyaDNjLnBtdQwAAABpNGdmdmN0Zy5sa3gMAAAAeW1vNXlsengudmt3DAAAAHZ1
+ bWFocGV0LmVqMAwAAABza254ZXVhby41eG0MAAAAdHF5bmFoaGcudW8zDAAAAG4zMm00aGVkLnRt
+ cgwAAAAwcHVpbjRwdy54NHAMAAAAbGgxZTBjM3QuamNlDAAAADBjeXBuZGVwLjNrdwwAAABrdWg0
+ NGp3aC53c3IMAAAAb3UzNDFwd2sud2lxDAAAAHBobWZtZ3dkLmlicAwAAABhc2szdXNzcy56YjUM
+ AAAAaHgwYzFnZmIudXQzDAAAAGFxaWloMGxlLnYyawwAAABleHVlaWVmZi5sc3gMAAAAa2pmMG9u
+ bmIueTNiDAAAADJ5dG1vZHpwLnMyZQwAAAB3NHczZjUyai5vaGEMAAAAajJuamJtZHEuMTRhDAAA
+ AG1xenExcGptLnM1NAwAAAA1ZjBvb2h4My4xamsMAAAAaWJxcjUwanAudmVnDAAAADFsM3phZ3F4
+ Lm80cQwAAABueGN4MzBpbS4wdDAMAAAAb3ZkYmVnZGcuMWRmDAAAADR3MTJncHAzLmRycwwAAABx
+ MnlkYjJtci4xNGQMAAAANWZyZHJqNG4udmduDAAAAGtua3B5MGtvLjFucAwAAAA0aW54a3YzZC54
+ eWgMAAAAYm1ucnBscWcuMHdxDAAAAHh5Z2U0ZDM0LjQ1eQwAAAAzbGN1aGZpcS4yYWYMAAAAeGtp
+ NXYxMGguZHkzDAAAADA0bWJzeWJzLnAzdQwAAAAzZXlpYjNqMi5sZ2sMAAAAeHlxZXE1ejMubTRh
+ DAAAAGtqcG9ud3hqLnNjYwwAAAA1a3EyYm0wby52azEMAAAAcnNjc21uNWkudzFuDAAAAHptNWtp
+ Y3JyLjV4ZgwAAAB3dGVvdHcxci54dW0MAAAAcXZkMDIzemguYmNwDAAAAHlranlrY3F4LnJqMAwA
+ AABqZHQxYnV0Zy41d2UMAAAAbW53ZjJnbXUuM3hxDAAAAG1nb2VrdTNhLnl3ZAwAAAA0bnAwdGdo
+ NS5ybWoMAAAANHF2c3JndnIudnBqDAAAAHhjZGN6cnl4LmZhcgwAAAA0azEwdnV6by56d3cMAAAA
+ b3NhZHYyeWouc2RnDAAAAGx4c2VsYXF2LjJjYwwAAAB2dGkyMDE0di4zY3YMAAAAaGNhMGx3cjMu
+ eGp0DAAAAGJqbnIxMHN6LnM1eQwAAABzcjVvZ25jNS5ocHMMAAAAYTJqaHRxeWIuczVjDAAAAGtm
+ ZG92aXptLmljdwwAAABvZDMzNDVvMS41MXoMAAAAY2VzM24zdjIudm53DAAAAHZycDBncG1mLnky
+ YQwAAAB2MDFmYWJsYi41djUMAAAAanIwZnRoYWYuNWJ1DAAAAG4xdnYxdHN1LjFpbAwAAABnZjFi
+ aDV6by5iNWkMAAAAY25sNHhpM3Uuc2NkDAAAAHMxaGpub2t0Lmx3agwAAABqbmE1em0wYy5hb3gM
+ AAAAY2phenp1bXguNXE0DAAAADVvaW81bWN4LnoxMQwAAABrbm41cW1ueS5kbDAMAAAAbTNkd3Jx
+ MmEuMnJ2DAAAAGJ3YmlmM20zLm94YgwAAAB0aXdpb3VsaS4yMmMMAAAAMXU1cjFuYXoueWhjDAAA
+ AG52MGgxNHRzLnBpeQwAAAB3cnNzY2htcy5obWEMAAAANXF4MG81MmIuZnlwDAAAAGJuNHJ6aXNy
+ LjV5cwwAAAB1cmZvMmJxYi51Y3cMAAAAc3ZlZ3Rpb2UuaWNzDAAAAGZ6aWpmcGpsLmMwagwAAABn
+ M3lwdTJobS5qanQMAAAAd2llaG1mejIuMTJkDAAAAGQ1eXViM3NuLmRoagwAAAAyZnZ3eGlsdi5p
+ d2gMAAAAdTV4NWtwMXguenJlDAAAADEyc3Q0MDVnLmJ4dQwAAABucWZtMWJvZS51ZG4MAAAAdGxh
+ czJ6Z2QuZWswDAAAAG0xdmhyMWl6LnhucgwAAAB6cHpuNHczeC5uM20MAAAAYnNqbDBudmkuaW5o
+ DAAAADJ0amlwd2J6LjR5NQwAAABnZ3BrZGxvdy5vd2QMAAAAZHpoM2NmYXguNWZmDAAAAGlnM2x0
+ ZWdkLjVpNQwAAAA1eTBnZWszdS5pMm4MAAAAa2JiZGEza3MubWl0DAAAAG1mbzF0amV4LjR5bAwA
+ AABlNXFpNXppYS5sMXgMAAAAeTRjNHZsM3EuMnF6DAAAAGRhZHhtMjN4Lmx4cQwAAAB6amlqZGV2
+ cS55bmEMAAAAM290ZXByancubW93DAAAAGQ1NXA0b3BjLng1aAwAAAB4bGE0NGYxaS5jbmIMAAAA
+ NTFiNWZndXkuaDB4DAAAAGdsb2RnM2lmLmlyMwwAAAAwZGR2anNhZS5vdWYMAAAAZG5qd25lcnYu
+ ZGZ4DAAAADRoYXA1c3ZsLmowMQwAAAB2a3JsbHFndS5zemcMAAAAMTEyYnFwcWYuaWMzDAAAAGtw
+ NHhyeWdmLm9tawwAAAB1dWx6bmFwdS4yaGQMAAAAb2V6cmgwc2kuajJ4DAAAAHNudnF3aGkxLml3
+ aAwAAAB6aWZsa24zcC5sMGoMAAAANGJ5ZnhkMDUucGJxDAAAAGRsc2Fpb2FzLmhzMwwAAAAweGZh
+ dDNxei5vYWkVABWO+gEVjvoBLBXQDxUAFQYVBhwYDHp6cTBrZnk0LnZibhgMMDF3d3llNGcucGZz
+ FgAW0A8YDHp6cTBrZnk0LnZibhgMMDF3d3llNGcucGZzAAAAAwAAANAPAQwAAABtZGlmanQ1NS5l
+ YTMMAAAANWRtdnFldmcuamswDAAAAHNmdGdtZ3N4LmIxZAwAAAB6cm9xdnM1dC5samkMAAAAYW8z
+ amF0bmMuMXZoDAAAAHUzYmZ1dmRsLjF3cgwAAABqcWN3M2VyMy5sdDIMAAAAc2gxc3doZXQuYncz
+ DAAAAGkwc3EzMDVvLmg1dQwAAAB1NTNjZWxhMC5zZ2IMAAAAemZybTVobHEud3J1DAAAAGN6Y2Nr
+ a3QyLnJpMAwAAABxMG40NTJlNC51bnkMAAAAanVvenVtYWEudmZ2DAAAADFtdGZvMTNtLnhlaQwA
+ AABjd3RhZWQyci5xZHcMAAAAM215czB5a2YuYWdqDAAAAHZlYXVpbTNtLjNhMwwAAAB1NHh1cWZx
+ ci5ubXEMAAAAbHd1aG5kbTAud2pmDAAAAGtqdXkycm50LnVqdAwAAABxeGNpd3JpMS5seDEMAAAA
+ bHBlYnRqNXcuZmMwDAAAAHp0aWoxcWNiLml5MwwAAAAzbXdyZXpwMi5xaTAMAAAAYXoyamF3M2Eu
+ Y2RmDAAAAHBjanpvdzF1Lm0wMAwAAAAzZHlxdmg0MS5wYWMMAAAAMGFqY3lkcHMuYTRkDAAAAGI1
+ MnJtY2htLnNoZQwAAABwczBzZGZzei5lcmMMAAAAZjUxdDNkaGIuanZjDAAAADV6cmhzYnpqLjF4
+ YgwAAABqMmxtZnpzMi5xZmIMAAAAcjBlcngxaXQuaXRyDAAAAGpiMGRzdTAxLnBlbwwAAAAzd2ow
+ ZGsybi5hczIMAAAAem5iemhnaXAuY2xxDAAAAG5xYmJwcHJ1LmZncQwAAABncDF4emYxZy4zeGQM
+ AAAAcm95ZG9udWsuYjJqDAAAAGVlZ2czY3FzLml0eAwAAABtNHYxd29sdC40bGgMAAAAcHV4MHp5
+ ZGMubHZsDAAAAGRiZGZtc3IyLmlrNAwAAAB1cXQ1c2EzaS5hbmsMAAAANWpjaWpoMWcua2dtDAAA
+ AHIwbm50eTRwLnFlMAwAAAA0eGMxcGMzai5vemYMAAAAZDN4dzNoZ2EuYWZkDAAAAHZlMHVtZnl5
+ Lms1agwAAABhcHljZ2h1aC5hbHIMAAAAY3l6Z2twaDQuM2ljDAAAAGJjZTJ5dmNxLmhhbQwAAABv
+ eGxhdGdudy5hdG8MAAAAdGpnb2tzZTIudTRzDAAAAGt1MWw1NDVkLnB3ZgwAAAB1Y2VhYmxjcS5o
+ dnUMAAAAc2x3dXZjaXkucXlmDAAAAG9seWMwcml2LmhuYgwAAAB3cmN6bXEwbC5yZ3cMAAAAc3F3
+ aTVla3UuZnl6DAAAAHdua2VzY25rLm5kbwwAAABoajRzbDVqMS5mdXkMAAAAczR4bmJoMmMudGgw
+ DAAAADVobHZvZ2l3LndtMQwAAABjcTBuNDVwei5mc3AMAAAAemYydndqaXIuZXVxDAAAADVqeHZk
+ NTMwLnp2NQwAAABqc2N2b3ljYy5xcWcMAAAAbHNqbnp2ZmIua3J3DAAAADRwYWliaHoxLnYxcAwA
+ AAB1cmkwMmFjMy5zYnkMAAAAbWc1cXdiMXEudGVqDAAAAG5sYmd5b2k1LmZkZwwAAABrM3ZiMW1v
+ by5xYWsMAAAAdmN5Z3FzcWUudXZiDAAAAGRobWFheWc1LnNrYQwAAAB0dW9sZ3lobS5seGQMAAAA
+ cW1mdXJrMWcucmNnDAAAAHMyZmdlMDAzLmNkMQwAAABpM25sY256dy4wNGwMAAAAc2UxNHJmeWwu
+ cG1zDAAAAHR0eW9kc251LjQ1ZQwAAABtcmQxamJ0Zy5uZjEMAAAAeWNtcG5ldzQueTFnDAAAAHd6
+ dmF6cHZqLmFoeAwAAAA1bXVyNGt2ei5mZWoMAAAAM2NoYnN6dmYubXl2DAAAAHBldGsyZzVxLmxn
+ ZwwAAAA1bTU0Zmdnby5rdjUMAAAAeXptczVvMHMuNTN6DAAAADB4NTRsZHN5LmdxdgwAAABnZWlz
+ emdhMS53ZnIMAAAAamExY2xhdHcuNWNpDAAAAG9ydHVzdnlwLnp1dwwAAAAyYTJueHNxbS5hdHIM
+ AAAAeW5sNXR0eWgubTVsDAAAAG5xY2k0bjUxLjM0dAwAAABrMjRraXpsZC50aXQMAAAAcHBwZmNw
+ MmQuenRxDAAAAGtnbGl5ZXN0LmFmdgwAAAAzbGFlb25nbi5qenoMAAAAaDA1djA1YnQuc253DAAA
+ AGVrZGp0Y3U1LjNicAwAAAA0dmp3eTJhei5kc3cMAAAAYzR3MjF6ZXAuYWNzDAAAAG1hZmtrdGh1
+ LjN5dAwAAABqaDV2ZGx6eC54aGIMAAAAanYzZ2lhMDAuemFxDAAAAGxucjAxemRkLmh0eAwAAABt
+ bmNkZjRudS5idnQMAAAAY3l1ajNjcjUuYmVhDAAAAGt2cG5kem94Lm1vbQwAAAAyZjB0c2Vuby5t
+ NWkMAAAAcTJvbGRtbDQuZHlyDAAAAHFqMTBqY3BjLmhrdwwAAABjMXZ3bWtvYi56azUMAAAAdWRt
+ NGFiMXMuM3FtDAAAAGtxZ2I1ZndsLnV6MwwAAABla21uYjBoZC55c3IMAAAAYWdqYnNrbnIuMmd5
+ DAAAAGZwNGRqamxsLm1meQwAAABibzVkZW1oeC5taHcMAAAAcnppZ29ldWkuYnhkDAAAAHhhZmUw
+ aWlrLnQ1ZQwAAABybXZreHN6ZS5id2EMAAAAaHRxNWZndm8uaGdlDAAAAGczeXBicGprLnY0ZQwA
+ AABtbXYwb3lieC5rM2cMAAAAZGhqMGIxY3kudm5tDAAAAGJoYm5kZGRjLnp1cgwAAABid2NicDQx
+ ZC55dG4MAAAAZGhoZ2d0dGkuMWhrDAAAAHFwa3J2MW40LmlvcAwAAABnMGNsdDUxbS5wYnEMAAAA
+ bnhsbGRhYW8ua2RwDAAAADBucTV0Y3J3LmpldAwAAAAzNDAzbW9tai5nbGgMAAAAcG1kNHp6aGsu
+ eXJzDAAAAGYxcmMwNGp0LjFrbAwAAAA0dXhmc2loaS5tMHUMAAAAZWx6Z2t4dmoucmplDAAAAGxr
+ dmY1b3gyLmpqMAwAAABhejIyNG1qci5zZ24MAAAAemYwemFwdW0udnZjDAAAAGNjZnBqMG95LjRp
+ ZgwAAABtazB4dXZ5MS5pMjEMAAAAMjRmbjJ6eHIudGtqDAAAAG96eWZ1b3JuLjFybgwAAABhdnN3
+ dTF2Zy5vYXMMAAAAcmNtaHhvczMucnptDAAAAGhyajVmZ3NnLjM1MQwAAAB0eWlibmV5bC54aHQM
+ AAAANXIzZHV6b2cuamlnDAAAAHBuMXJ5ZWFnLmV1bAwAAAB6MmFsbXJ6ZS5tdHkMAAAAenpxMGtm
+ eTQudmJuDAAAAHJ0cTBkZG9nLjV1ZwwAAAB3ZXRlc2hteS5kYW0MAAAAZWc0M2tvMG8uamhnDAAA
+ AHNxaGdhaW1wLnQ0YgwAAAB6cDRtdmh1Yy5xbW0MAAAAM2dnd3F3aHYuZ3MzDAAAAHd1emNxb3Z4
+ LmZqMgwAAAAxbDFtNDFiai5nZHcMAAAAdnFib3FrcHQuMzJ2DAAAAGU1bTR0MmVxLnhsNAwAAABm
+ MXhtMTN6eS5langMAAAAMXNlcTVjaG0ub3BoDAAAAHgzYmt3Z3JyLjViYQwAAAA1MXNqeWNncy51
+ bWgMAAAAMHNrdmJvanEueTBoDAAAAHo0anJ5YmYwLmVvbAwAAABxaXNmbDRsci5iZXEMAAAAb2xm
+ Z2RhYnoud3djDAAAAGFnem1oeHV1LmN3aAwAAABiNXB4bTR2dy5yamIMAAAAbTBzb28xanYubG5x
+ DAAAAHJ4dWJ2dmdwLnhnZgwAAAB0MzJuM3huZS5kZWgMAAAAdWZvMG1sNWsuanphDAAAAGJqZmQ0
+ cWNvLjRtZAwAAABkdnJmZW0ycC51bGgMAAAAdGJ6Z2loM3YudHQ1DAAAAGlmeTJlcHVrLnNxNQwA
+ AABmYWlsMzVieS5ycTMMAAAAbTVlZ24yZmsuYWllDAAAADBsaGlrbHFrLm9iegwAAABsb3h0eHlv
+ dS4wMWcMAAAAbXYzcm5lZW8ucmljDAAAAHI0cnpyeWkyLnF3NQwAAABxcmJsMDVxei4wNWUMAAAA
+ YXcycHJqYmEubTNhDAAAAGJoZ3l2aXZqLmNiMwwAAABkbHhlcTVjMC5vcnYMAAAAbjN2MDRyaHAu
+ YWV4DAAAAGQxcXZ1ZmltLnBidwwAAABveWVyanp2dS5wZm8MAAAAbnVheGtib3YucXB1DAAAAGtk
+ eWRhcWlyLndjcgwAAAB3YTM0Y3VrMy5iZGcMAAAAZTVuMWl4anoud3JrDAAAADJycmk0MXBqLmV2
+ cgwAAABoeHJqNHJzZS54Y20MAAAAdzQxanFwemMueDF4DAAAAGJqbTJhdTNyLnR5eQwAAAB5eTFi
+ eDNtZS5tbHgMAAAAZ2I1MG11bzUudTNoDAAAAG1pd3Z3anQ0Lmo0aQwAAABxY3JpbWFoby5jbnYM
+ AAAAdWdlc3R5dzEudXBsDAAAAHNqczJ1NGVwLmdlMwwAAAB6NWZqc2N3Yi41NWIMAAAAaGxmeDFn
+ cXMucTRqDAAAAG0zbnduMGUyLmhscAwAAAB2cm9iendrMS50cG0MAAAAaGFyYXF2ZGYuZDBkDAAA
+ AG16YTR0NXNnLnV1dgwAAAAwaGh2cGpkNS55bXAMAAAAcHByanQxbWIuZ3RzDAAAADE0dnJkemEy
+ LnhtcwwAAAAzbWltdnF1bi5odTAMAAAAa2NsbGdqdGUuY2I0DAAAAHN6eGdsYWlqLjJvdAwAAABu
+ bWg0bmg1MS4xbjAMAAAAZ2Zyb3ZieGwucWJtDAAAAGUwbnBsbndqLnlzZQwAAABkYWhodXF2Mi4z
+ b3IMAAAAcHhuMXQzemkuYWNnDAAAAHl0MDBodGtrLnd0dwwAAABwend4NTIzMi5ocWcMAAAAbXJ1
+ eWx6dHQua3BiDAAAADBiaWNzeXFvLmJxZAwAAABndnpwbnZ4cC5xbGwMAAAAM3V6bDFmaXUucmYy
+ DAAAAG9mZGptbnN2LnVodAwAAAAyeWhndHVzei4xa2YMAAAAMXcwYnhkY24ucHgxDAAAADFwbWx3
+ Ymt2Lml3MwwAAAB5ampoa3Fsbi5pdWIMAAAAMHh3MW95bG8udHdlDAAAAGtteml4cTR3LnUzcAwA
+ AAB0djEzd3F2eS55dWIMAAAAb2EyZzNlanQucmlmDAAAAGViZXBnanc1Lm10cQwAAAAyZnkxMzAz
+ Zy5ueXUMAAAAMGM1dXR1bWYuM3RzDAAAAGZuY3RrY2JnLmMwYwwAAABibmtzZXdzZy53em0MAAAA
+ eXlpajEwMW8ucGlqDAAAAHA1anlkbHI0Lmh2MgwAAAAzaXBjZGF3dy5hcXIMAAAAMDRtdzV6MnMu
+ dW0wDAAAAHdjdHBua2ZoLjJ1bQwAAAByenBxc2JzMC41dGEMAAAAdmFoeHF6MGMuMnBtDAAAAHZy
+ MHNza29yLm4ydwwAAAB4dDUwMHUyYi5yaGsMAAAAY3ZpeTI0ZHguY2t6DAAAAHU0c3dkb2x4LnFq
+ ZwwAAABqc2V0emMwZS5qaGUMAAAAaGI1NGIxdGkuM3F2DAAAAGVyNXFzcHZyLnUxMAwAAABibzRp
+ MnNmdi53MnUMAAAAbXpwdnNudWIua2xoDAAAAGtrMG14djBmLnNsbgwAAABjemJlbGVqZy5xaXEM
+ AAAANXhob2txNTQuY29qDAAAAHVyaWhzbjR5LmVreAwAAAB2dGFtaWl2MC5sd2IMAAAAbHhhc3g1
+ eTQuejMyDAAAAG12dnJ2czFuLmRodQwAAAB5ejJxa2h3ZC50ZGUMAAAAeGwyYWd6dHYuMXNmDAAA
+ AHZnNGNybm0yLjNjYgwAAABrNTVmNWtwcS55cWIMAAAAa2RlbGI0bWkucWNtDAAAADN4NWxldGk0
+ LmtkYgwAAABqd3FnYnVtYi5pcnQMAAAAaGVkbHlpNXQud3FsDAAAAGZ0ZXRzM2tvLmhtbAwAAABy
+ Z2MzdjN5cC4xY3AMAAAAZ3BoMzNqcGwudHoxDAAAADR1eDNzd2l5LjNhMgwAAABuY211d3V1MS41
+ ZjAMAAAAaGhrYjBrdzAueWkyDAAAAHZobG1ha3VwLmhzaQwAAAAyd3dkdXFzdy50dzEMAAAAamJm
+ Z3FxeDUudHoyDAAAAG80dWk0a2RyLnAybQwAAAB4aWd3ZHBxZS4zencMAAAAamIwemtsbDEuMmFo
+ DAAAADB3eHBpZWlpLmVndAwAAABuNDNudG81NS5ueWYMAAAAeW1ocjFxeDUuMW9yDAAAAGY0bGZ3
+ b3hpLm50ZgwAAABuemZyYmJ2eC5weXkMAAAAeWhyNXZvaXouMnVvDAAAADN5NXAyZXp3Lm55YwwA
+ AABuNXFnYWgxbS5vM28MAAAAcDNzMWUwMWQua2pnDAAAAGVxZDFoa2NhLnkzbgwAAAB2YTN1Y251
+ ay4yMXAMAAAAYWVrYTE1Z3EucXFkDAAAAGNwdDNvNGZhLnhzdwwAAABsMXMyZ3Fhay52cWQMAAAA
+ anJvM2hzcDMuMmYzDAAAAGJzZ2FhdTBvLnBvawwAAABybHgxZGVoaC56eHoMAAAAdmZlNGlibmMu
+ YjJyDAAAAG5paTFtc3YzLnBzdQwAAAA1cWtkbnR5ci5xa3QMAAAAa2Yxa3Yxb3kuaGsyDAAAAHh1
+ bmd3dWlqLnViMwwAAAB2Ymx3MndldC5rcm0MAAAAanFkZ29tNWEudmMxDAAAAHk1amtjbG4zLmxw
+ NQwAAABqcW1xeWVkdy5naWEMAAAAMW9qYjIwaWEudnRqDAAAAHRmaXZkdjIxLmF4MAwAAABwaWQw
+ aHpwcy5kdjUMAAAAd2ZnY2RxNGYueG8yDAAAAGNicDA1eG0yLnM1MAwAAABhMjAxYXBodi4wZjQM
+ AAAAZGwxMnl6bXIuZWJmDAAAAHgwZXZ5dHFyLmEydwwAAABnZm91NHlrMS55NXQMAAAAdzJqZHZs
+ MmIuZmJ3DAAAADJ4a3c0eHhyLnVpawwAAABneHFsaWdsMi5scHMMAAAAanN5dXl1emguZGhyDAAA
+ AGRkem5lMGpnLmV2NAwAAAB6d3pkdXBjcy5mMWMMAAAAbHZzYWFsYzEubWxqDAAAAHhheDBhZTVl
+ LnpjeAwAAAByZmRncm4xZS5yZHYMAAAAc201MnV4bm0uYjMwDAAAADF2cWt5NWZhLm54ZwwAAAB5
+ Y3lreGVnYy4zYmwMAAAAajNqMnV5ZGIuZ3JmDAAAAGh6aHozNG1mLnB6NAwAAABhMHJzaWUxci5p
+ cTUMAAAAMGp1cmoyMWkuNDAzDAAAADAyM3c0YnJ4LjNzMAwAAAA0em95YjRzdy4zbXMMAAAAcGlv
+ MnM1MHAueGprDAAAAHBpYWpibXpyLmgzcgwAAAA1ZDMxeW5ndS54a3IMAAAAZ2dlMGMwdWEucmsw
+ DAAAAGpvZHIxbHVjLmk0cAwAAAAxcmNrZDN5NC5pbWoMAAAAeGxhbXhwZ3YuMWp0DAAAADJlMGsz
+ MWJwLm4xdAwAAAB1MW1sazF3NC52bjIMAAAAa3Y1YWhldmoudjBuDAAAAGMwdDVyMm9jLnI1cAwA
+ AAB4d20wdGt2bS5xbHkMAAAAdWpqcW9pM3IuamoyDAAAAG5sdHl0amd4LjN3YQwAAABoZmF4Mnhy
+ di5yc3YMAAAAdmdyYnlxdXYucXQ0DAAAADFqc3d4YWh3Lnk1awwAAAAza3Ftb3d3di5ia24MAAAA
+ ZDFocWk1dmMuY20yDAAAADFxMGRseGNpLmhjcgwAAABkemJsazRyai52ZHYMAAAAZ3loeDBwNXQu
+ ZGlzDAAAAGNsaWY1b3h2LnQwbgwAAABwYm52dzJ2Yy5oMDUMAAAAaWUxajNldXoudmMyDAAAAGNq
+ cnNjaWp3LmJzcAwAAAAxcGxtbjN3ai5kZzIMAAAAd3BxeW15cWMuZXBvDAAAADNteGpyYTBhLjVu
+ dAwAAABhcGxhZTVocS5ibG0MAAAAc3VjajQwcG8uMzRjDAAAAHpiY2twcDQzLjV1agwAAABhbG5s
+ YjRlNS5ibnkMAAAAYWl3amdzcWUuZW1mDAAAAGswbzFsbTUwLmNxYwwAAAA0cm1tbDVlYi5xZXAM
+ AAAAYXBpbWdvdGYueXE0DAAAAGF6b3Jwd2QwLmR3NQwAAAB5M2x0ZGkzYi5xZXMMAAAANHhvbHRm
+ cDAuZDV0DAAAAGhocDI1d2FpLnFxMAwAAAB4Y21obGJ6NS5paXIMAAAAbnpqd3p6MGYudmprDAAA
+ AHhyMTFmNHVuLjJidQwAAAB3ZGhqeHBuei5neG0MAAAAMnh5bGlsM2wuazF4DAAAAHZzMXZqd2cx
+ LmdqMgwAAABrMHRzbjRmaC5va2wMAAAAZDFqb2N6MmQuaHljDAAAAHF2MmpucTVzLmx5ZAwAAABx
+ ZHpwNWRyby4xcXcMAAAAa2ZhYmkzdHYuaXRmDAAAAHB5NG9xeWRiLjJ6MgwAAAAyNGV0dGMwdS53
+ MGgMAAAAZGZkNDN6dHcubWlyDAAAAGF6Zno1eWk0Lm8zagwAAAAzdDV1d2Ruby5tdHoMAAAAb3ls
+ ZjF4aHguZ2RqDAAAADR5bnAwdmFuLnpidQwAAAA1enF4bXZqcC4yNTUMAAAANXFnc3F0Y2QuMmpk
+ DAAAADRuMm5kMGlvLm53ZAwAAAAxMm1qNWlrdy4yY3MMAAAAY3ZvZnd1dmwucXhnDAAAADBobHU1
+ ZnJ1LmRjcwwAAAB4NGpoNXBkci51bzUMAAAAcWRxNHdib24ucWFyDAAAAGhvMHBhbHF4LnNocgwA
+ AABhMmJ0bWJ5YS5xZ2UMAAAAbGk1b3NwamouMGxsDAAAAHpldGgyMTFkLjBoYwwAAABsY2Y0NXky
+ bi52bjQMAAAAZXpvemI0M2suYTR6DAAAAHR1ZHVoanlyLmdnbwwAAABuZHBqaXJneC5rbHUMAAAA
+ MnBsbXVrdHIuYnB4DAAAAGhmeGxnb3RjLmcxYwwAAAB2cGtiMTF5Zy5pMHEMAAAAcW4ybmpvMTMu
+ Z21sDAAAAHJpY2o0eGs1LnBqbQwAAABqZ2RuMmN5Zi4zYW4MAAAAZDB3aGk0djEuY2wwDAAAAHAx
+ bGdncnVzLnB5bAwAAABqb3R3cW95ei5jZjUMAAAAM3p1cnZ3Y2oueWZnDAAAAGkxcGFkdnVuLm96
+ bgwAAABhdGhucnJ6di5pdG8MAAAAc2Nmc21zZzQuc2lsDAAAAGdxZGp0MXNtLnZ4bAwAAAAzMG1i
+ aDNraS5rYm8MAAAAZzRoZnNoYWwuY2JpDAAAAHZlbmptanFtLnRmegwAAABhNTVpdnQ0My5zcWoM
+ AAAAbGY1cG14YXguYWJ6DAAAAGdtb3cwcmI0Lm13egwAAAByM3Nlemh6ai5xZzIMAAAAMGN2NHh6
+ dzUuaXU1DAAAAHlzMjMzZm52LmNscAwAAABzaDJuZ2Fvdi5lY3QMAAAAbXFudG4ybXEuend2DAAA
+ AG8ydHFzM2NuLjBxcgwAAABycnF5ZWt6di5pcnQMAAAAcDVxMXkzdmQucDV5DAAAAGUzYzVtY29q
+ LmExcAwAAABtNXNxd2Nkai5vbHkMAAAAeW1uaG40bGguZ2lpDAAAAGZ0ZmJrbXlyLmoxMgwAAABo
+ c3ozcWdoNC53MTMMAAAAZWN0Zm9paHMuenV1DAAAADVsbHl5b2dhLmp0cgwAAAB2cmd5Mnl0eC5k
+ MzMMAAAANXA1YW1ja2wuam1sDAAAAGdrZXpkZmNzLjAwdQwAAAB0MzF2eHViaS55cmIMAAAAZzJ1
+ MzJrenQudGllDAAAAGEzdG9nZnBjLjJ4MAwAAABrYzM1cDF2bC4wMXYMAAAAaml0MW9zNXcuanVj
+ DAAAAGVia3h2bXExLjJ0aQwAAABqYnd6cXVvbC54cDAMAAAAaHJrM2JwaHYuaW5qDAAAAHkweWNj
+ bTQxLnQxbAwAAAB3aW55a2FtZy5rMjMMAAAAaGtpamsxNTMuZTRwDAAAAGd4ZHprY3phLm1zbgwA
+ AAAzaWtwa2tteC5xZjIMAAAAYnRoc2dnNXQubnl4DAAAAG50M21pdGJ0LmowNQwAAABwamdpNTBu
+ MC41cWYMAAAAM25uZGNobWcueXZrDAAAADRhaXdwMWVhLjI1dAwAAABobXhjMmxqcC5ja3cMAAAA
+ d2lveTF5bmIuZ3gxDAAAAGdjdDNqbzEzLjJwMwwAAAB0cTB1MnZwbS4wdDMMAAAAb21ncW53dzEu
+ eTUxDAAAADIzcmVlbjI0LngzMgwAAAB6amVheWVzZy56dWsMAAAAZ2trd2x4MGYubnNvDAAAAHpz
+ dWl2em1jLnRmMwwAAABvMmt4bXBicS50bXEMAAAAdHBhbzNsMmgucG9zDAAAADBmbXozdHNxLndz
+ cQwAAAA0dDIxaDB0Yi56dDIMAAAAZXp1anB2ZXkuaWs1DAAAAHNoY2RzeW9nLmRlMwwAAABpdmt3
+ ZWxteC5kaHoMAAAAc2JvNHRjeXcuNHV3DAAAAHJzbnpkbWExLmFlcwwAAABjYXd3YW5pbi5nYncM
+ AAAAajJvNXdkcncuZ3VrDAAAAGF5MHVodG9mLnN5ZQwAAAAwYnQ0d2l6bi4yaWwMAAAAeHFtamtv
+ NTUueGZwDAAAADVvdnlydHptLmQxawwAAABsY3VoaDR3cC5ldzMMAAAAYWJ6cGhhMTEuM2tkDAAA
+ AHZ2MWVkcnI0Lm1rcAwAAAB1aXEwajFrei5yNXcMAAAAeHFydWd2NG8uYWpkDAAAAHo0a3hibjVm
+ LmJjcAwAAAB5ZGVzcGpjZy5pajUMAAAAb25yMHJvZGsubGN6DAAAAGoxd2Z3eGVhLnMyNAwAAAB0
+ cDRtNXR0dC53bXgMAAAAcGpkY3Bzd3MuYWoyDAAAAGtrcXgza25qLmh2ZgwAAABwdHJubm5jeC41
+ ZW8MAAAAc2I1MTJ5YmouM3JjDAAAAHExenBoamN2LmNpaQwAAABwdGNka2ZxYy55M2MMAAAAZGl5
+ bmJjc2gueHR1DAAAAG8yYTFiZjVoLmJlMAwAAABwMDBhc2psci5rengMAAAAM3hwYnRmYXMub2R5
+ DAAAAHNwZmZ3bHhwLjRtcQwAAABjZGMxd25iay5sbWgMAAAAYjBvbm5ueTQueHkxDAAAAGJ0cXdr
+ NWpmLnhjYgwAAABncTR4c3dxdC54ZjIMAAAAeHNheHVzbmsua2pzDAAAAG9pYzE0azI1LnducwwA
+ AABsdnpvdzRpMy5jNHYMAAAAankzbWtueGUuajJ0DAAAAGxnNXI1ZnFnLmJwNAwAAAAxZWFqZ2Js
+ aS5tcGQMAAAAbzBydHh1YmcuMWdnDAAAAG1panliYXlrLjRtNAwAAAAxNW9wZjIydC56aW0MAAAA
+ MGJlaDRta2QueWVrDAAAAHVjc2pka3FxLmJpbAwAAABwbjRndzJwZC5nZXMMAAAAem92ajRqYjUu
+ MXVhDAAAAGMyMjN6Y3JsLmljcgwAAABiamp0NWRhNC5heDMMAAAAMnl6a3Fvc3kuZ3Z5DAAAAGJr
+ NGVwa2hrLnVhdQwAAABzbG40cmZxYS5jMnAMAAAAdnB4aXh1dnEuMmR0DAAAAGtpdDJndzFhLmMz
+ dAwAAAB3ZWowcGhmbi4xa2sMAAAAdHh1aGhxcGUuNDEwDAAAAHhzeHR3NGgyLmZjdwwAAAAzZm4y
+ cmR0NC5qZmMMAAAAYmdpMnN0YTEuams1DAAAAGlxbmRvamJqLnA1YgwAAAB1cG4zYnh5bS53NTAM
+ AAAAbmdkdDBybnIueGtzDAAAAGN2M25tMjJlLmN3MQwAAABqZmZqeWE0bC41aWoMAAAAcmJhbXB0
+ NGkub3JrDAAAAHdveTFvZ3N0LmIyMAwAAABicHcyNHN6dy50am0MAAAAd3pmams0bDIuc2l0DAAA
+ AHYxcXRtZzFlLnV0cwwAAAByajJjcWRycC5taDQMAAAAMGU0dWRxd3cucG9qDAAAAG5lazV6c25y
+ LjB0MAwAAAA1am9zZG5oZi5ndmYMAAAAbXd6aXA0MWkuaTQ1DAAAAGlqZmsxc2l0LjR3eQwAAAAx
+ bXZ1eDFzcS55cHEMAAAAZnpiZ2JocDUueW1xDAAAAHVpMTFkenFuLnR0bAwAAABqMTBiMDNsaS54
+ NGMMAAAAMXJ4MHFuaXQueW96DAAAADJzc2puMWF2LnptbAwAAAA0bWMxMzR4dy5yNGcMAAAAaXRl
+ aTVxa3oudXZiDAAAAHIxMWlkZW5sLjBycwwAAABzaWoxMDU1eC50eGsMAAAAamIxMTJkYnQuY3Z2
+ DAAAAGIwd2tncGFuLm5xawwAAAAzNXBlamIzZC5mZDUMAAAAMm5oeHB4MmQudDNlDAAAADFkbnhr
+ bzRxLmRhdgwAAABhdzB5cWZwby4xbTIMAAAAb2U1MnN0cXguMnJsDAAAAHBubGhjd2t6Lmt4MwwA
+ AAB4bGdvNHgxdy5odXUMAAAAbzRrNHJvNW0uMmdiDAAAAGF1azJ3dHhnLmVmMAwAAAB3ZzBkYWwz
+ Zy50bXIMAAAAa2p4MGVyb2EucGYwDAAAADJnNHlwdHVlLjMzegwAAABoMjNpeXJlZS5qaWoMAAAA
+ aGR0dzNsZWouaHdyDAAAAG5zY3JjdXkyLjFkbgwAAABrY2ZudjJzcS5qMGUMAAAAMjJxMHB3Mmwu
+ NWZsDAAAAHhoZWd5d3Z6LncxYwwAAAByMnhzaTVtaC5wbzEMAAAAcHp2dTV5bXYudXh3DAAAADVx
+ ZGRrYmJiLnFnbgwAAAAzZnM0ZDBnMS5qeHcMAAAAZW9meW9ueDUudHpoDAAAAHd2djRwcW0xLmV4
+ dAwAAABweXZudXJ0ZC4zZGMMAAAAaXhlNGF0czQudHEzDAAAADFycjMxNGcyLmQyeQwAAAA1YmRz
+ eTR1cy4yMmQMAAAAamxiMGJ0enIubGt3DAAAADR1MGhiYWQzLnhyNQwAAAB2dmdrbDJjby4yeXQM
+ AAAAa2c1anNqNXIubG96DAAAAGkyaDNoZ3NhLnhkMwwAAABudnVkMTNicC5iNTQMAAAAYnAza21y
+ d3AuNHUzDAAAAHd3MGFzc3l4Lmp6MQwAAABvaGJ1dXNwdS5ha3cMAAAAcmNpNHpxemQuNHNmDAAA
+ AGZ1b2pmcTQwLmZ5dAwAAABtYXBiazJpdS5jNHEMAAAAanUxdm8wbG8ubHF5DAAAAG1hMHNxZXRq
+ LnF4cgwAAABxbnd1dGx6YS5neXkMAAAAamtybnJkdTMucW5vDAAAAGF2NHNsZ3cyLm5qNQwAAAB4
+ a2xpamN2ai4zcjEMAAAAc3cxYnZyMHIucWN3DAAAAHZydnI0amFwLnJkMwwAAAAzM2pqYXBhcS5x
+ bGMMAAAAczFwZ3psaHgueXRwDAAAAHBseDN3aWh0Lnp5bwwAAABwY2llMGp5Zi4ydGEMAAAAd3No
+ cmV0dGYubzAyDAAAAHNyZXZ3eGN4LmY0dwwAAAAyZjNleW4yeC5nc2MMAAAAZXF3MGFsZnUud2Jr
+ DAAAADBpdDFtZnhzLmpxMAwAAABpbHl4dXR4ei5tNXoMAAAANHJobG9pcjAuaTAzDAAAADJ2b2Nm
+ ZzNtLnhycwwAAABkd295eWllaC5wZWMMAAAANWIycGk0NWEuZGk1DAAAAHlkbWRrMWJwLmtlaQwA
+ AABqaWRjNW5paC41enEMAAAAMDJnYjJ6aXQuM3VtDAAAAHE1ZmFjM2p6LnczaQwAAABnZmswc2Jj
+ My5wYWsMAAAAd3Nnd3B0d2IubG8xDAAAAGRtd3FycXpvLmthdQwAAAB5ZWVrbGp3YS5oZWwMAAAA
+ dHpoNHN2dTIuaHp6DAAAAHBjbXhrMWZuLjRseQwAAABjMWt1M3p2bS5hMXAMAAAAa2owMDExNWUu
+ dXZnDAAAAGJuNHN5cWdrLjBjMgwAAAAyb21sNWJ2NS4zdGsMAAAAdzB5eHBjd3cubWwwDAAAAGQx
+ ZmNqYmsxLnFseAwAAAAzcmhvM3Rkdy51MnoMAAAAb2FrdGoyZGMuZjVuDAAAAHoyaTF4MTIxLmY0
+ eQwAAABra2lldXZ0NC5zY3gMAAAAeHJweXVia3kub2NwDAAAADVieXR0Z29oLmRtMgwAAABkYXYz
+ Ympvdi5waTIMAAAAb3NoaWh4ZG8ueTFwDAAAAG0wYnJramU0LngwagwAAAB4ZHU1ZXg0cS5memUM
+ AAAAeGVnNDBib2QudWp3DAAAAHBnMXYzczJiLjN0egwAAABuc2FqdWY0ci52dGcMAAAAY3FrdWtz
+ bHIuMjJwDAAAAGZ2dmh3aWs0LjF0NAwAAABkanRudmJwdC5seHQMAAAAa3Nkdm1wMzEuenNzDAAA
+ AGF3cHczZGpiLjBnZAwAAABwb21kYzF0cS52amgMAAAAZHJqZm9pbnUuejQzDAAAAGYyc2NpaHI0
+ LjJubQwAAABweWR1bGNpYi56YzQMAAAAMDF3d3llNGcucGZzDAAAAGNxd2ZnaG11LnYydwwAAAB5
+ anphNGJrbC5ocWcMAAAAbG5qMmpyNW0udGJtDAAAAHl2MG9tcWl6LngxdAwAAABzYXNueWEyZC40
+ d28MAAAAem5iejRoYmQubHozDAAAAHZ6MzFuYXNzLjM1cgwAAAAxc2I0bnlsZy5yejMMAAAAYTQz
+ emVkaW4uMXYyDAAAAGV5YTUwcnZmLmg1YQwAAABkMXV4YnFkMy53bjQMAAAAMHRsNTU0bWYuZnMx
+ DAAAAHlmendwNHlxLnp5bAwAAAAwYXNiZHJuci5yYXcMAAAAbjNqeXZrdnAuZ3doDAAAAHJja3A1
+ c2ljLm1mawwAAABrZWVmcG1nYy50dGcMAAAAcXAwZXlrdDMucTRxDAAAAHowc3UwZ3c0LmxwaAwA
+ AABkNWZ4cXpldS5ua2kMAAAAbTVraGpscHcuZzMxDAAAAHRjMGtqeXF1LnV5ZQwAAABhaG5ncmlv
+ dS56bWUMAAAAaGVxa2R1bHUudHE0DAAAAHlwZHZ3MXRtLnN0dQwAAAB2ZHc0NG4yMC5lcHkMAAAA
+ bGN6aTQ1MnAuaWEyDAAAAGEwcmY1azRwLnQwcwwAAABhcWg0YWc0bC5uZ2MMAAAAZWNwdWE1cWku
+ bWd0DAAAADV3b25lcTUyLnJndwwAAAB3NW9rNWp2ZS5xbHcMAAAAMnpjcWJrZmEubGVvDAAAAGR1
+ eXpvNXVlLjNuYwwAAABqNG9nMnlzdS5sd2kMAAAAZGttcWp6ZTMuYjQyDAAAAGVmZ2FvcmRxLnhy
+ eQwAAAA0bzNhY3B0ZC41c3EMAAAAa2J5cHJpMm8ubGJnDAAAAGtxZ253ZXJ4LnB3dwwAAAB6dXRn
+ enA1bi52enUMAAAAZHZycHZ5M3EuejJzDAAAAHNidjFqcGh3LmdyYwwAAAB6ZDFoaDFsdy5wZGwM
+ AAAAYW1veWtvZGkuNW9nDAAAAG1uMWkzYjMzLmF5YQwAAAB2cHllbGFvci52M3IMAAAAeWpibmgw
+ cGouMzF2DAAAADMwcndocHBsLmt1NQwAAABrdWJwcWxvYi53MXkMAAAAazNsZm9pbWEudGtmDAAA
+ ADNleGlsbXB2Lmp6aQwAAABsYWF1bW1nby51em0MAAAAMHIwcTV0bHkud2ZwDAAAADN4YTBxZ2x5
+ LmljcgwAAAA1NHBhMnBtdy5yamkMAAAAYW9nZWs1dzEudzMzDAAAADNvZ2t3cWVvLmhpaQwAAABp
+ ZmxlaTFuMS5idGsMAAAAYmxkd2R0b3Uudmk0DAAAAGFiMXNhdGo0Lm1xdQwAAABkd2ViZGwwbC5t
+ cjIMAAAAYTRxZG94ZWsuajMxDAAAAGszMHA1c2NuLnRsMwwAAAB1MHoxMHloby5pbXcMAAAAY3lr
+ ampkMWMuNGd5DAAAADVqM2wxMHEwLnlmcgwAAABhdXF6cmp1aC5ld2QMAAAAemdubGx6bnUuc3Fv
+ DAAAAGI1ZjNmcWRpLjB5NQwAAABzeWpobG9pby41YnMMAAAAcDVucm4weHkuMmkwDAAAAHVkeGxj
+ dmdtLmpnagwAAAAzZmMwZXdibS5lYXUMAAAAejFkMHVvdDAudnNqDAAAADIzeTNzZnFjLmZnZAwA
+ AABxMnRmYjB2ay5uMmQMAAAAa2xieXcwczUuZ2ozDAAAADN0bWhjaHExLjFxdQwAAABjZXU1M2o1
+ dy5rcXYMAAAAbWRjcGVld2IuNXhxDAAAAHl6MmFpd3k1Lm9scAwAAABidHZycTFiZy5jeXIMAAAA
+ eXlhbGJ1Y3MuYW5nDAAAAHAzeHRvcDFpLnFlZwwAAAB3ZXdrM2dmZC5uaW0MAAAAZm1qb2d4b2cu
+ NTU0DAAAAGVydTJsbmowLnN1dAwAAAB6bG5xa3hnYS53MHIMAAAAZXgxeDB1MXUuYnpuDAAAAHZm
+ eGJidWFkLm5tNQwAAABidmo1eWxwZC53ZnYMAAAAZW5rY3FzNTUudGx0DAAAAHdsZzBxcWh2LnNy
+ ZwwAAABvZWVrcjJ0eC51aXkMAAAAdmh0aTB3cXAudWYxDAAAADV0cXh0enYzLnk0cgwAAAB4ZXdl
+ bGRrdi56YXEMAAAAamJ4YzB3dWkuMWlkDAAAAG9rdXB6MnN2LmhmaAwAAAB1MWJ5eDFlbi5taXIM
+ AAAAaGhwejQyeHQuZ3F4DAAAADBxbDMzZXk0LmMwagwAAAA1bTVsbjVsbi4wdTIMAAAAcnN0a2Jx
+ dWwudWQyDAAAAG94MDQ1azFvLmdtbwwAAAB0dWRrcW0wdS50dmwMAAAAY2ZjMWlvam8uNGluDAAA
+ AGozcGM1c20wLm1sYwwAAABpc2Q0MGpzdC50ZmcMAAAAazM0ZHdjd2IuejNtDAAAAHZleDV1c2Rv
+ Lm1nYQwAAAB5ZWpnb2d4by55bnAMAAAAdjRvbjB1bGwucHlmDAAAAHB3MmUwbHpzLjVnawwAAAB2
+ enEzMW94Yi50djMMAAAAeHFzMGthZ3QueTV4DAAAAGhyYmlrNGllLnNndgwAAABjZWtsNDBzaS5y
+ cnkMAAAAMDV0Y3h0MmwucXo1DAAAAHF4bHZnczFiLnVjbAwAAABnMndsNDBrMS5qeTIMAAAAdWEx
+ cnIxZGwudWVlDAAAAHFzdWdueXZmLnhycQwAAAB6bXoxd3V0dC40bzAMAAAAYTJuajNxZ3kuajR6
+ DAAAADUxeW01YmhxLmVybAwAAABpMXJsMnBlYi5odmoMAAAAcWJyanptcnUubWZqDAAAAHljNWdr
+ Z3lsLm1wdAwAAABkZDV3dGh5aS5xeGcMAAAAa3dlZHV2cG4uZnRhDAAAAGFqZDNkdjBoLmtqYwwA
+ AABocGdudG5qaC56dHIMAAAAeDRmYWF5b24uemd6DAAAAGRleDR4YjVsLnJtbQwAAAA1NWZvcXJy
+ bC4ybXUMAAAAd2lrdXB4b2ouc2V1DAAAAHVkYWxnenR0LmMzbwwAAAA0czJ6aG15cC4waTEMAAAA
+ MHB4MWRpY2wucWd3DAAAAHVxYTF4bGRxLnQydgwAAAB1MXF1aHRzdi5xdXUMAAAAMnMycmJmdm8u
+ anZpDAAAAGQ0bDQwbGJxLjUwZgwAAAB4YTNsajR3Yi5udHYMAAAAam9jZnc1dmQubG5tDAAAAHow
+ YmNsa2R1LmNwawwAAAB3MGpvZ3BzMS5hNXUMAAAAMDM0bDBvaDEuNWh2DAAAADNzY3Vzd2JzLnl3
+ aQwAAABidXp6MmpuMi52MzUMAAAAa2V0c2IyeHQuaXgzDAAAAG01a3RycmtsLmJmNQwAAABkeXVq
+ MXRydC5rdXgMAAAAYzExcG9lMDMuaHJjDAAAAGJvd2lyZDQzLmI0YgwAAAB6M2E1eDR6dS41em8M
+ AAAANWw1MWswdGsueGRsDAAAAGZzNXgyYWxuLmpkZwwAAABpcno1aHAxcC54dzEMAAAANDRobGZs
+ djQub2lpDAAAAHVzMzMyMDJyLm1tbQwAAAAwZGV2aGIwMC5lbm8MAAAAeWdva2FscHQubXpuDAAA
+ AGx5ZmNscmh3LnJ0NAwAAABka3hrY2l1ai4zZnAMAAAAemtkbHNwcjEuaHQyDAAAAGE0aDNvMmFy
+ LnBzNQwAAABxd2YwM2lxZC5oZmUMAAAAanl0cHZ2YWEudWYwDAAAAGFvdno1ZjRhLmlhMAwAAABj
+ djFlMnhvdS4xbngMAAAAbGFsbzVncmoueWV6DAAAAHgzanRjbzRjLjJsaAwAAABycDR0c3ZibS5o
+ a2kMAAAAeTB2MjM1eG4uMG5mDAAAAG56eDR2MXBpLmNlMAwAAABocWFleXd2by5zazAMAAAAcXMw
+ YmRudjEuNDVjDAAAAGhpM3p5cjFsLmlidgwAAAB6YzJoM28xdy5iMnUMAAAAZ2F5eXo1dDUuNWNl
+ DAAAAGZhZXEwdTNrLmZndQwAAABtcmZwZ3FzdS5ldm4MAAAAY2hlbTRsb3kuZnMyDAAAAGlyc2xn
+ b2hkLjVibgwAAAB2YWR0YXNsaC5oeGIMAAAAZnhpMmwyeXAuNGdhDAAAAGd1aHFibjExLnVyagwA
+ AABmcTJ5bmZiMS5tb3IMAAAAZm50aWR4dHEudDJjDAAAAHNxenZhcnQ1LnlmZgwAAABnbDEyZ2Zx
+ My5nZWYMAAAAcWNtYmpha2cucGc0DAAAAG4wanFyaDNjLnBtdQwAAABpNGdmdmN0Zy5sa3gMAAAA
+ eW1vNXlsengudmt3DAAAAHZ1bWFocGV0LmVqMAwAAABza254ZXVhby41eG0MAAAAdHF5bmFoaGcu
+ dW8zDAAAAG4zMm00aGVkLnRtcgwAAAAwcHVpbjRwdy54NHAMAAAAbGgxZTBjM3QuamNlDAAAADBj
+ eXBuZGVwLjNrdwwAAABrdWg0NGp3aC53c3IMAAAAb3UzNDFwd2sud2lxDAAAAHBobWZtZ3dkLmli
+ cAwAAABhc2szdXNzcy56YjUMAAAAaHgwYzFnZmIudXQzDAAAAGFxaWloMGxlLnYyawwAAABleHVl
+ aWVmZi5sc3gMAAAAa2pmMG9ubmIueTNiDAAAADJ5dG1vZHpwLnMyZQwAAAB3NHczZjUyai5vaGEM
+ AAAAajJuamJtZHEuMTRhDAAAAG1xenExcGptLnM1NAwAAAA1ZjBvb2h4My4xamsMAAAAaWJxcjUw
+ anAudmVnDAAAADFsM3phZ3F4Lm80cQwAAABueGN4MzBpbS4wdDAMAAAAb3ZkYmVnZGcuMWRmDAAA
+ ADR3MTJncHAzLmRycwwAAABxMnlkYjJtci4xNGQMAAAANWZyZHJqNG4udmduDAAAAGtua3B5MGtv
+ LjFucAwAAAA0aW54a3YzZC54eWgMAAAAYm1ucnBscWcuMHdxDAAAAHh5Z2U0ZDM0LjQ1eQwAAAAz
+ bGN1aGZpcS4yYWYMAAAAeGtpNXYxMGguZHkzDAAAADA0bWJzeWJzLnAzdQwAAAAzZXlpYjNqMi5s
+ Z2sMAAAAeHlxZXE1ejMubTRhDAAAAGtqcG9ud3hqLnNjYwwAAAA1a3EyYm0wby52azEMAAAAcnNj
+ c21uNWkudzFuDAAAAHptNWtpY3JyLjV4ZgwAAAB3dGVvdHcxci54dW0MAAAAcXZkMDIzemguYmNw
+ DAAAAHlranlrY3F4LnJqMAwAAABqZHQxYnV0Zy41d2UMAAAAbW53ZjJnbXUuM3hxDAAAAG1nb2Vr
+ dTNhLnl3ZAwAAAA0bnAwdGdoNS5ybWoMAAAANHF2c3JndnIudnBqDAAAAHhjZGN6cnl4LmZhcgwA
+ AAA0azEwdnV6by56d3cMAAAAb3NhZHYyeWouc2RnDAAAAGx4c2VsYXF2LjJjYwwAAAB2dGkyMDE0
+ di4zY3YMAAAAaGNhMGx3cjMueGp0DAAAAGJqbnIxMHN6LnM1eQwAAABzcjVvZ25jNS5ocHMMAAAA
+ YTJqaHRxeWIuczVjDAAAAGtmZG92aXptLmljdwwAAABvZDMzNDVvMS41MXoMAAAAY2VzM24zdjIu
+ dm53DAAAAHZycDBncG1mLnkyYQwAAAB2MDFmYWJsYi41djUMAAAAanIwZnRoYWYuNWJ1DAAAAG4x
+ dnYxdHN1LjFpbAwAAABnZjFiaDV6by5iNWkMAAAAY25sNHhpM3Uuc2NkDAAAAHMxaGpub2t0Lmx3
+ agwAAABqbmE1em0wYy5hb3gMAAAAY2phenp1bXguNXE0DAAAADVvaW81bWN4LnoxMQwAAABrbm41
+ cW1ueS5kbDAMAAAAbTNkd3JxMmEuMnJ2DAAAAGJ3YmlmM20zLm94YgwAAAB0aXdpb3VsaS4yMmMM
+ AAAAMXU1cjFuYXoueWhjDAAAAG52MGgxNHRzLnBpeQwAAAB3cnNzY2htcy5obWEMAAAANXF4MG81
+ MmIuZnlwDAAAAGJuNHJ6aXNyLjV5cwwAAAB1cmZvMmJxYi51Y3cMAAAAc3ZlZ3Rpb2UuaWNzDAAA
+ AGZ6aWpmcGpsLmMwagwAAABnM3lwdTJobS5qanQMAAAAd2llaG1mejIuMTJkDAAAAGQ1eXViM3Nu
+ LmRoagwAAAAyZnZ3eGlsdi5pd2gMAAAAdTV4NWtwMXguenJlDAAAADEyc3Q0MDVnLmJ4dQwAAABu
+ cWZtMWJvZS51ZG4MAAAAdGxhczJ6Z2QuZWswDAAAAG0xdmhyMWl6LnhucgwAAAB6cHpuNHczeC5u
+ M20MAAAAYnNqbDBudmkuaW5oDAAAADJ0amlwd2J6LjR5NQwAAABnZ3BrZGxvdy5vd2QMAAAAZHpo
+ M2NmYXguNWZmDAAAAGlnM2x0ZWdkLjVpNQwAAAA1eTBnZWszdS5pMm4MAAAAa2JiZGEza3MubWl0
+ DAAAAG1mbzF0amV4LjR5bAwAAABlNXFpNXppYS5sMXgMAAAAeTRjNHZsM3EuMnF6DAAAAGRhZHht
+ MjN4Lmx4cQwAAAB6amlqZGV2cS55bmEMAAAAM290ZXByancubW93DAAAAGQ1NXA0b3BjLng1aAwA
+ AAB4bGE0NGYxaS5jbmIMAAAANTFiNWZndXkuaDB4DAAAAGdsb2RnM2lmLmlyMwwAAAAwZGR2anNh
+ ZS5vdWYMAAAAZG5qd25lcnYuZGZ4DAAAADRoYXA1c3ZsLmowMQwAAAB2a3JsbHFndS5zemcMAAAA
+ MTEyYnFwcWYuaWMzDAAAAGtwNHhyeWdmLm9tawwAAAB1dWx6bmFwdS4yaGQMAAAAb2V6cmgwc2ku
+ ajJ4DAAAAHNudnF3aGkxLml3aAwAAAB6aWZsa24zcC5sMGoMAAAANGJ5ZnhkMDUucGJxDAAAAGRs
+ c2Fpb2FzLmhzMwwAAAAweGZhdDNxei5vYWkVABWOfRWOfSwV0A8VABUGFQYcGAQxOTk5GAQxMDAw
+ FgAW0A8YBDE5OTkYBDEwMDAAAAADAAAA0A8BBAAAADEwMDAEAAAAMTAwMQQAAAAxMDAyBAAAADEw
+ MDMEAAAAMTAwNAQAAAAxMDA1BAAAADEwMDYEAAAAMTAwNwQAAAAxMDA4BAAAADEwMDkEAAAAMTAx
+ MAQAAAAxMDExBAAAADEwMTIEAAAAMTAxMwQAAAAxMDE0BAAAADEwMTUEAAAAMTAxNgQAAAAxMDE3
+ BAAAADEwMTgEAAAAMTAxOQQAAAAxMDIwBAAAADEwMjEEAAAAMTAyMgQAAAAxMDIzBAAAADEwMjQE
+ AAAAMTAyNQQAAAAxMDI2BAAAADEwMjcEAAAAMTAyOAQAAAAxMDI5BAAAADEwMzAEAAAAMTAzMQQA
+ AAAxMDMyBAAAADEwMzMEAAAAMTAzNAQAAAAxMDM1BAAAADEwMzYEAAAAMTAzNwQAAAAxMDM4BAAA
+ ADEwMzkEAAAAMTA0MAQAAAAxMDQxBAAAADEwNDIEAAAAMTA0MwQAAAAxMDQ0BAAAADEwNDUEAAAA
+ MTA0NgQAAAAxMDQ3BAAAADEwNDgEAAAAMTA0OQQAAAAxMDUwBAAAADEwNTEEAAAAMTA1MgQAAAAx
+ MDUzBAAAADEwNTQEAAAAMTA1NQQAAAAxMDU2BAAAADEwNTcEAAAAMTA1OAQAAAAxMDU5BAAAADEw
+ NjAEAAAAMTA2MQQAAAAxMDYyBAAAADEwNjMEAAAAMTA2NAQAAAAxMDY1BAAAADEwNjYEAAAAMTA2
+ NwQAAAAxMDY4BAAAADEwNjkEAAAAMTA3MAQAAAAxMDcxBAAAADEwNzIEAAAAMTA3MwQAAAAxMDc0
+ BAAAADEwNzUEAAAAMTA3NgQAAAAxMDc3BAAAADEwNzgEAAAAMTA3OQQAAAAxMDgwBAAAADEwODEE
+ AAAAMTA4MgQAAAAxMDgzBAAAADEwODQEAAAAMTA4NQQAAAAxMDg2BAAAADEwODcEAAAAMTA4OAQA
+ AAAxMDg5BAAAADEwOTAEAAAAMTA5MQQAAAAxMDkyBAAAADEwOTMEAAAAMTA5NAQAAAAxMDk1BAAA
+ ADEwOTYEAAAAMTA5NwQAAAAxMDk4BAAAADEwOTkEAAAAMTEwMAQAAAAxMTAxBAAAADExMDIEAAAA
+ MTEwMwQAAAAxMTA0BAAAADExMDUEAAAAMTEwNgQAAAAxMTA3BAAAADExMDgEAAAAMTEwOQQAAAAx
+ MTEwBAAAADExMTEEAAAAMTExMgQAAAAxMTEzBAAAADExMTQEAAAAMTExNQQAAAAxMTE2BAAAADEx
+ MTcEAAAAMTExOAQAAAAxMTE5BAAAADExMjAEAAAAMTEyMQQAAAAxMTIyBAAAADExMjMEAAAAMTEy
+ NAQAAAAxMTI1BAAAADExMjYEAAAAMTEyNwQAAAAxMTI4BAAAADExMjkEAAAAMTEzMAQAAAAxMTMx
+ BAAAADExMzIEAAAAMTEzMwQAAAAxMTM0BAAAADExMzUEAAAAMTEzNgQAAAAxMTM3BAAAADExMzgE
+ AAAAMTEzOQQAAAAxMTQwBAAAADExNDEEAAAAMTE0MgQAAAAxMTQzBAAAADExNDQEAAAAMTE0NQQA
+ AAAxMTQ2BAAAADExNDcEAAAAMTE0OAQAAAAxMTQ5BAAAADExNTAEAAAAMTE1MQQAAAAxMTUyBAAA
+ ADExNTMEAAAAMTE1NAQAAAAxMTU1BAAAADExNTYEAAAAMTE1NwQAAAAxMTU4BAAAADExNTkEAAAA
+ MTE2MAQAAAAxMTYxBAAAADExNjIEAAAAMTE2MwQAAAAxMTY0BAAAADExNjUEAAAAMTE2NgQAAAAx
+ MTY3BAAAADExNjgEAAAAMTE2OQQAAAAxMTcwBAAAADExNzEEAAAAMTE3MgQAAAAxMTczBAAAADEx
+ NzQEAAAAMTE3NQQAAAAxMTc2BAAAADExNzcEAAAAMTE3OAQAAAAxMTc5BAAAADExODAEAAAAMTE4
+ MQQAAAAxMTgyBAAAADExODMEAAAAMTE4NAQAAAAxMTg1BAAAADExODYEAAAAMTE4NwQAAAAxMTg4
+ BAAAADExODkEAAAAMTE5MAQAAAAxMTkxBAAAADExOTIEAAAAMTE5MwQAAAAxMTk0BAAAADExOTUE
+ AAAAMTE5NgQAAAAxMTk3BAAAADExOTgEAAAAMTE5OQQAAAAxMjAwBAAAADEyMDEEAAAAMTIwMgQA
+ AAAxMjAzBAAAADEyMDQEAAAAMTIwNQQAAAAxMjA2BAAAADEyMDcEAAAAMTIwOAQAAAAxMjA5BAAA
+ ADEyMTAEAAAAMTIxMQQAAAAxMjEyBAAAADEyMTMEAAAAMTIxNAQAAAAxMjE1BAAAADEyMTYEAAAA
+ MTIxNwQAAAAxMjE4BAAAADEyMTkEAAAAMTIyMAQAAAAxMjIxBAAAADEyMjIEAAAAMTIyMwQAAAAx
+ MjI0BAAAADEyMjUEAAAAMTIyNgQAAAAxMjI3BAAAADEyMjgEAAAAMTIyOQQAAAAxMjMwBAAAADEy
+ MzEEAAAAMTIzMgQAAAAxMjMzBAAAADEyMzQEAAAAMTIzNQQAAAAxMjM2BAAAADEyMzcEAAAAMTIz
+ OAQAAAAxMjM5BAAAADEyNDAEAAAAMTI0MQQAAAAxMjQyBAAAADEyNDMEAAAAMTI0NAQAAAAxMjQ1
+ BAAAADEyNDYEAAAAMTI0NwQAAAAxMjQ4BAAAADEyNDkEAAAAMTI1MAQAAAAxMjUxBAAAADEyNTIE
+ AAAAMTI1MwQAAAAxMjU0BAAAADEyNTUEAAAAMTI1NgQAAAAxMjU3BAAAADEyNTgEAAAAMTI1OQQA
+ AAAxMjYwBAAAADEyNjEEAAAAMTI2MgQAAAAxMjYzBAAAADEyNjQEAAAAMTI2NQQAAAAxMjY2BAAA
+ ADEyNjcEAAAAMTI2OAQAAAAxMjY5BAAAADEyNzAEAAAAMTI3MQQAAAAxMjcyBAAAADEyNzMEAAAA
+ MTI3NAQAAAAxMjc1BAAAADEyNzYEAAAAMTI3NwQAAAAxMjc4BAAAADEyNzkEAAAAMTI4MAQAAAAx
+ MjgxBAAAADEyODIEAAAAMTI4MwQAAAAxMjg0BAAAADEyODUEAAAAMTI4NgQAAAAxMjg3BAAAADEy
+ ODgEAAAAMTI4OQQAAAAxMjkwBAAAADEyOTEEAAAAMTI5MgQAAAAxMjkzBAAAADEyOTQEAAAAMTI5
+ NQQAAAAxMjk2BAAAADEyOTcEAAAAMTI5OAQAAAAxMjk5BAAAADEzMDAEAAAAMTMwMQQAAAAxMzAy
+ BAAAADEzMDMEAAAAMTMwNAQAAAAxMzA1BAAAADEzMDYEAAAAMTMwNwQAAAAxMzA4BAAAADEzMDkE
+ AAAAMTMxMAQAAAAxMzExBAAAADEzMTIEAAAAMTMxMwQAAAAxMzE0BAAAADEzMTUEAAAAMTMxNgQA
+ AAAxMzE3BAAAADEzMTgEAAAAMTMxOQQAAAAxMzIwBAAAADEzMjEEAAAAMTMyMgQAAAAxMzIzBAAA
+ ADEzMjQEAAAAMTMyNQQAAAAxMzI2BAAAADEzMjcEAAAAMTMyOAQAAAAxMzI5BAAAADEzMzAEAAAA
+ MTMzMQQAAAAxMzMyBAAAADEzMzMEAAAAMTMzNAQAAAAxMzM1BAAAADEzMzYEAAAAMTMzNwQAAAAx
+ MzM4BAAAADEzMzkEAAAAMTM0MAQAAAAxMzQxBAAAADEzNDIEAAAAMTM0MwQAAAAxMzQ0BAAAADEz
+ NDUEAAAAMTM0NgQAAAAxMzQ3BAAAADEzNDgEAAAAMTM0OQQAAAAxMzUwBAAAADEzNTEEAAAAMTM1
+ MgQAAAAxMzUzBAAAADEzNTQEAAAAMTM1NQQAAAAxMzU2BAAAADEzNTcEAAAAMTM1OAQAAAAxMzU5
+ BAAAADEzNjAEAAAAMTM2MQQAAAAxMzYyBAAAADEzNjMEAAAAMTM2NAQAAAAxMzY1BAAAADEzNjYE
+ AAAAMTM2NwQAAAAxMzY4BAAAADEzNjkEAAAAMTM3MAQAAAAxMzcxBAAAADEzNzIEAAAAMTM3MwQA
+ AAAxMzc0BAAAADEzNzUEAAAAMTM3NgQAAAAxMzc3BAAAADEzNzgEAAAAMTM3OQQAAAAxMzgwBAAA
+ ADEzODEEAAAAMTM4MgQAAAAxMzgzBAAAADEzODQEAAAAMTM4NQQAAAAxMzg2BAAAADEzODcEAAAA
+ MTM4OAQAAAAxMzg5BAAAADEzOTAEAAAAMTM5MQQAAAAxMzkyBAAAADEzOTMEAAAAMTM5NAQAAAAx
+ Mzk1BAAAADEzOTYEAAAAMTM5NwQAAAAxMzk4BAAAADEzOTkEAAAAMTQwMAQAAAAxNDAxBAAAADE0
+ MDIEAAAAMTQwMwQAAAAxNDA0BAAAADE0MDUEAAAAMTQwNgQAAAAxNDA3BAAAADE0MDgEAAAAMTQw
+ OQQAAAAxNDEwBAAAADE0MTEEAAAAMTQxMgQAAAAxNDEzBAAAADE0MTQEAAAAMTQxNQQAAAAxNDE2
+ BAAAADE0MTcEAAAAMTQxOAQAAAAxNDE5BAAAADE0MjAEAAAAMTQyMQQAAAAxNDIyBAAAADE0MjME
+ AAAAMTQyNAQAAAAxNDI1BAAAADE0MjYEAAAAMTQyNwQAAAAxNDI4BAAAADE0MjkEAAAAMTQzMAQA
+ AAAxNDMxBAAAADE0MzIEAAAAMTQzMwQAAAAxNDM0BAAAADE0MzUEAAAAMTQzNgQAAAAxNDM3BAAA
+ ADE0MzgEAAAAMTQzOQQAAAAxNDQwBAAAADE0NDEEAAAAMTQ0MgQAAAAxNDQzBAAAADE0NDQEAAAA
+ MTQ0NQQAAAAxNDQ2BAAAADE0NDcEAAAAMTQ0OAQAAAAxNDQ5BAAAADE0NTAEAAAAMTQ1MQQAAAAx
+ NDUyBAAAADE0NTMEAAAAMTQ1NAQAAAAxNDU1BAAAADE0NTYEAAAAMTQ1NwQAAAAxNDU4BAAAADE0
+ NTkEAAAAMTQ2MAQAAAAxNDYxBAAAADE0NjIEAAAAMTQ2MwQAAAAxNDY0BAAAADE0NjUEAAAAMTQ2
+ NgQAAAAxNDY3BAAAADE0NjgEAAAAMTQ2OQQAAAAxNDcwBAAAADE0NzEEAAAAMTQ3MgQAAAAxNDcz
+ BAAAADE0NzQEAAAAMTQ3NQQAAAAxNDc2BAAAADE0NzcEAAAAMTQ3OAQAAAAxNDc5BAAAADE0ODAE
+ AAAAMTQ4MQQAAAAxNDgyBAAAADE0ODMEAAAAMTQ4NAQAAAAxNDg1BAAAADE0ODYEAAAAMTQ4NwQA
+ AAAxNDg4BAAAADE0ODkEAAAAMTQ5MAQAAAAxNDkxBAAAADE0OTIEAAAAMTQ5MwQAAAAxNDk0BAAA
+ ADE0OTUEAAAAMTQ5NgQAAAAxNDk3BAAAADE0OTgEAAAAMTQ5OQQAAAAxNTAwBAAAADE1MDEEAAAA
+ MTUwMgQAAAAxNTAzBAAAADE1MDQEAAAAMTUwNQQAAAAxNTA2BAAAADE1MDcEAAAAMTUwOAQAAAAx
+ NTA5BAAAADE1MTAEAAAAMTUxMQQAAAAxNTEyBAAAADE1MTMEAAAAMTUxNAQAAAAxNTE1BAAAADE1
+ MTYEAAAAMTUxNwQAAAAxNTE4BAAAADE1MTkEAAAAMTUyMAQAAAAxNTIxBAAAADE1MjIEAAAAMTUy
+ MwQAAAAxNTI0BAAAADE1MjUEAAAAMTUyNgQAAAAxNTI3BAAAADE1MjgEAAAAMTUyOQQAAAAxNTMw
+ BAAAADE1MzEEAAAAMTUzMgQAAAAxNTMzBAAAADE1MzQEAAAAMTUzNQQAAAAxNTM2BAAAADE1MzcE
+ AAAAMTUzOAQAAAAxNTM5BAAAADE1NDAEAAAAMTU0MQQAAAAxNTQyBAAAADE1NDMEAAAAMTU0NAQA
+ AAAxNTQ1BAAAADE1NDYEAAAAMTU0NwQAAAAxNTQ4BAAAADE1NDkEAAAAMTU1MAQAAAAxNTUxBAAA
+ ADE1NTIEAAAAMTU1MwQAAAAxNTU0BAAAADE1NTUEAAAAMTU1NgQAAAAxNTU3BAAAADE1NTgEAAAA
+ MTU1OQQAAAAxNTYwBAAAADE1NjEEAAAAMTU2MgQAAAAxNTYzBAAAADE1NjQEAAAAMTU2NQQAAAAx
+ NTY2BAAAADE1NjcEAAAAMTU2OAQAAAAxNTY5BAAAADE1NzAEAAAAMTU3MQQAAAAxNTcyBAAAADE1
+ NzMEAAAAMTU3NAQAAAAxNTc1BAAAADE1NzYEAAAAMTU3NwQAAAAxNTc4BAAAADE1NzkEAAAAMTU4
+ MAQAAAAxNTgxBAAAADE1ODIEAAAAMTU4MwQAAAAxNTg0BAAAADE1ODUEAAAAMTU4NgQAAAAxNTg3
+ BAAAADE1ODgEAAAAMTU4OQQAAAAxNTkwBAAAADE1OTEEAAAAMTU5MgQAAAAxNTkzBAAAADE1OTQE
+ AAAAMTU5NQQAAAAxNTk2BAAAADE1OTcEAAAAMTU5OAQAAAAxNTk5BAAAADE2MDAEAAAAMTYwMQQA
+ AAAxNjAyBAAAADE2MDMEAAAAMTYwNAQAAAAxNjA1BAAAADE2MDYEAAAAMTYwNwQAAAAxNjA4BAAA
+ ADE2MDkEAAAAMTYxMAQAAAAxNjExBAAAADE2MTIEAAAAMTYxMwQAAAAxNjE0BAAAADE2MTUEAAAA
+ MTYxNgQAAAAxNjE3BAAAADE2MTgEAAAAMTYxOQQAAAAxNjIwBAAAADE2MjEEAAAAMTYyMgQAAAAx
+ NjIzBAAAADE2MjQEAAAAMTYyNQQAAAAxNjI2BAAAADE2MjcEAAAAMTYyOAQAAAAxNjI5BAAAADE2
+ MzAEAAAAMTYzMQQAAAAxNjMyBAAAADE2MzMEAAAAMTYzNAQAAAAxNjM1BAAAADE2MzYEAAAAMTYz
+ NwQAAAAxNjM4BAAAADE2MzkEAAAAMTY0MAQAAAAxNjQxBAAAADE2NDIEAAAAMTY0MwQAAAAxNjQ0
+ BAAAADE2NDUEAAAAMTY0NgQAAAAxNjQ3BAAAADE2NDgEAAAAMTY0OQQAAAAxNjUwBAAAADE2NTEE
+ AAAAMTY1MgQAAAAxNjUzBAAAADE2NTQEAAAAMTY1NQQAAAAxNjU2BAAAADE2NTcEAAAAMTY1OAQA
+ AAAxNjU5BAAAADE2NjAEAAAAMTY2MQQAAAAxNjYyBAAAADE2NjMEAAAAMTY2NAQAAAAxNjY1BAAA
+ ADE2NjYEAAAAMTY2NwQAAAAxNjY4BAAAADE2NjkEAAAAMTY3MAQAAAAxNjcxBAAAADE2NzIEAAAA
+ MTY3MwQAAAAxNjc0BAAAADE2NzUEAAAAMTY3NgQAAAAxNjc3BAAAADE2NzgEAAAAMTY3OQQAAAAx
+ NjgwBAAAADE2ODEEAAAAMTY4MgQAAAAxNjgzBAAAADE2ODQEAAAAMTY4NQQAAAAxNjg2BAAAADE2
+ ODcEAAAAMTY4OAQAAAAxNjg5BAAAADE2OTAEAAAAMTY5MQQAAAAxNjkyBAAAADE2OTMEAAAAMTY5
+ NAQAAAAxNjk1BAAAADE2OTYEAAAAMTY5NwQAAAAxNjk4BAAAADE2OTkEAAAAMTcwMAQAAAAxNzAx
+ BAAAADE3MDIEAAAAMTcwMwQAAAAxNzA0BAAAADE3MDUEAAAAMTcwNgQAAAAxNzA3BAAAADE3MDgE
+ AAAAMTcwOQQAAAAxNzEwBAAAADE3MTEEAAAAMTcxMgQAAAAxNzEzBAAAADE3MTQEAAAAMTcxNQQA
+ AAAxNzE2BAAAADE3MTcEAAAAMTcxOAQAAAAxNzE5BAAAADE3MjAEAAAAMTcyMQQAAAAxNzIyBAAA
+ ADE3MjMEAAAAMTcyNAQAAAAxNzI1BAAAADE3MjYEAAAAMTcyNwQAAAAxNzI4BAAAADE3MjkEAAAA
+ MTczMAQAAAAxNzMxBAAAADE3MzIEAAAAMTczMwQAAAAxNzM0BAAAADE3MzUEAAAAMTczNgQAAAAx
+ NzM3BAAAADE3MzgEAAAAMTczOQQAAAAxNzQwBAAAADE3NDEEAAAAMTc0MgQAAAAxNzQzBAAAADE3
+ NDQEAAAAMTc0NQQAAAAxNzQ2BAAAADE3NDcEAAAAMTc0OAQAAAAxNzQ5BAAAADE3NTAEAAAAMTc1
+ MQQAAAAxNzUyBAAAADE3NTMEAAAAMTc1NAQAAAAxNzU1BAAAADE3NTYEAAAAMTc1NwQAAAAxNzU4
+ BAAAADE3NTkEAAAAMTc2MAQAAAAxNzYxBAAAADE3NjIEAAAAMTc2MwQAAAAxNzY0BAAAADE3NjUE
+ AAAAMTc2NgQAAAAxNzY3BAAAADE3NjgEAAAAMTc2OQQAAAAxNzcwBAAAADE3NzEEAAAAMTc3MgQA
+ AAAxNzczBAAAADE3NzQEAAAAMTc3NQQAAAAxNzc2BAAAADE3NzcEAAAAMTc3OAQAAAAxNzc5BAAA
+ ADE3ODAEAAAAMTc4MQQAAAAxNzgyBAAAADE3ODMEAAAAMTc4NAQAAAAxNzg1BAAAADE3ODYEAAAA
+ MTc4NwQAAAAxNzg4BAAAADE3ODkEAAAAMTc5MAQAAAAxNzkxBAAAADE3OTIEAAAAMTc5MwQAAAAx
+ Nzk0BAAAADE3OTUEAAAAMTc5NgQAAAAxNzk3BAAAADE3OTgEAAAAMTc5OQQAAAAxODAwBAAAADE4
+ MDEEAAAAMTgwMgQAAAAxODAzBAAAADE4MDQEAAAAMTgwNQQAAAAxODA2BAAAADE4MDcEAAAAMTgw
+ OAQAAAAxODA5BAAAADE4MTAEAAAAMTgxMQQAAAAxODEyBAAAADE4MTMEAAAAMTgxNAQAAAAxODE1
+ BAAAADE4MTYEAAAAMTgxNwQAAAAxODE4BAAAADE4MTkEAAAAMTgyMAQAAAAxODIxBAAAADE4MjIE
+ AAAAMTgyMwQAAAAxODI0BAAAADE4MjUEAAAAMTgyNgQAAAAxODI3BAAAADE4MjgEAAAAMTgyOQQA
+ AAAxODMwBAAAADE4MzEEAAAAMTgzMgQAAAAxODMzBAAAADE4MzQEAAAAMTgzNQQAAAAxODM2BAAA
+ ADE4MzcEAAAAMTgzOAQAAAAxODM5BAAAADE4NDAEAAAAMTg0MQQAAAAxODQyBAAAADE4NDMEAAAA
+ MTg0NAQAAAAxODQ1BAAAADE4NDYEAAAAMTg0NwQAAAAxODQ4BAAAADE4NDkEAAAAMTg1MAQAAAAx
+ ODUxBAAAADE4NTIEAAAAMTg1MwQAAAAxODU0BAAAADE4NTUEAAAAMTg1NgQAAAAxODU3BAAAADE4
+ NTgEAAAAMTg1OQQAAAAxODYwBAAAADE4NjEEAAAAMTg2MgQAAAAxODYzBAAAADE4NjQEAAAAMTg2
+ NQQAAAAxODY2BAAAADE4NjcEAAAAMTg2OAQAAAAxODY5BAAAADE4NzAEAAAAMTg3MQQAAAAxODcy
+ BAAAADE4NzMEAAAAMTg3NAQAAAAxODc1BAAAADE4NzYEAAAAMTg3NwQAAAAxODc4BAAAADE4NzkE
+ AAAAMTg4MAQAAAAxODgxBAAAADE4ODIEAAAAMTg4MwQAAAAxODg0BAAAADE4ODUEAAAAMTg4NgQA
+ AAAxODg3BAAAADE4ODgEAAAAMTg4OQQAAAAxODkwBAAAADE4OTEEAAAAMTg5MgQAAAAxODkzBAAA
+ ADE4OTQEAAAAMTg5NQQAAAAxODk2BAAAADE4OTcEAAAAMTg5OAQAAAAxODk5BAAAADE5MDAEAAAA
+ MTkwMQQAAAAxOTAyBAAAADE5MDMEAAAAMTkwNAQAAAAxOTA1BAAAADE5MDYEAAAAMTkwNwQAAAAx
+ OTA4BAAAADE5MDkEAAAAMTkxMAQAAAAxOTExBAAAADE5MTIEAAAAMTkxMwQAAAAxOTE0BAAAADE5
+ MTUEAAAAMTkxNgQAAAAxOTE3BAAAADE5MTgEAAAAMTkxOQQAAAAxOTIwBAAAADE5MjEEAAAAMTky
+ MgQAAAAxOTIzBAAAADE5MjQEAAAAMTkyNQQAAAAxOTI2BAAAADE5MjcEAAAAMTkyOAQAAAAxOTI5
+ BAAAADE5MzAEAAAAMTkzMQQAAAAxOTMyBAAAADE5MzMEAAAAMTkzNAQAAAAxOTM1BAAAADE5MzYE
+ AAAAMTkzNwQAAAAxOTM4BAAAADE5MzkEAAAAMTk0MAQAAAAxOTQxBAAAADE5NDIEAAAAMTk0MwQA
+ AAAxOTQ0BAAAADE5NDUEAAAAMTk0NgQAAAAxOTQ3BAAAADE5NDgEAAAAMTk0OQQAAAAxOTUwBAAA
+ ADE5NTEEAAAAMTk1MgQAAAAxOTUzBAAAADE5NTQEAAAAMTk1NQQAAAAxOTU2BAAAADE5NTcEAAAA
+ MTk1OAQAAAAxOTU5BAAAADE5NjAEAAAAMTk2MQQAAAAxOTYyBAAAADE5NjMEAAAAMTk2NAQAAAAx
+ OTY1BAAAADE5NjYEAAAAMTk2NwQAAAAxOTY4BAAAADE5NjkEAAAAMTk3MAQAAAAxOTcxBAAAADE5
+ NzIEAAAAMTk3MwQAAAAxOTc0BAAAADE5NzUEAAAAMTk3NgQAAAAxOTc3BAAAADE5NzgEAAAAMTk3
+ OQQAAAAxOTgwBAAAADE5ODEEAAAAMTk4MgQAAAAxOTgzBAAAADE5ODQEAAAAMTk4NQQAAAAxOTg2
+ BAAAADE5ODcEAAAAMTk4OAQAAAAxOTg5BAAAADE5OTAEAAAAMTk5MQQAAAAxOTkyBAAAADE5OTME
+ AAAAMTk5NAQAAAAxOTk1BAAAADE5OTYEAAAAMTk5NwQAAAAxOTk4BAAAADE5OTkVABWO+gEVjvoB
+ LBXQDxUAFQYVBhwYDHp6bGd5eGE1LjR5YRgMMDExY3FhbjQueXpzFgAW0A8YDHp6bGd5eGE1LjR5
+ YRgMMDExY3FhbjQueXpzAAAAAwAAANAPAQwAAAB2MWtnNWhtci5maGoMAAAAZG5zdGNwbHYuZWRr
+ DAAAAG1ta3lucHR0Lmw0awwAAAB5c3E1d2NrZy5idG8MAAAAcHJlZXpmdGwubXEzDAAAAGdmdXg0
+ MWF2LmNvegwAAABnaHpnMmNqZS4yaDEMAAAAM2R0dngwMWkuZ2tyDAAAAGV1emQxYjQxLmJxMgwA
+ AAA0YXRkMnpuby5nNDEMAAAAeWtkc240dWkuYjNlDAAAAHRud2tmaXNkLnFqNQwAAAB2ZmtpbGsy
+ dS4xYjQMAAAAdWN0MnIzdG0ubjEwDAAAAGRjdHdocWNvLnZnegwAAABhc2hvYXZvMS5vamYMAAAA
+ dWdzcWJicHMuNXQyDAAAADBwcHlyNGVoLmhtcQwAAABsNWRheHZ1cy5wcDIMAAAAa3d3MTFwMmEu
+ ZHhvDAAAAHNobWx6YzNpLnpkMAwAAABraTJva2FteC5hc2QMAAAAaTFiYnUyd2IuZGpqDAAAADJ5
+ dnZ1ZnRsLm1lcQwAAABmZzB4Y2xoay5odGgMAAAAY2l6cHh1c20ubDQzDAAAAGFtcnRlMGxhLjJ0
+ cwwAAAA1ZDUzZWY1NC5tMHkMAAAAcmxpczR4NG4ubXp6DAAAAHp5aGRjdnZsLnhieAwAAAB4ZDR3
+ MGZxZi5sMHMMAAAAdnFzeWFoNDAuYmFuDAAAAGtvYW1raWJxLmtvcgwAAABzNHBtdTI0dC5ia3AM
+ AAAAMzE1ZzI0aGsucTQ0DAAAAHN3aDVxZmVnLnduagwAAAB3Z2Z4d3dmNC5jMmsMAAAAMWpwMmls
+ d3IubDVzDAAAAGNvcW90NHU1LmhncQwAAABsaXgzZ2dmaS5leG0MAAAAcnhlbnNva3UuamlmDAAA
+ AGUya2d5aWQ0LmYwYwwAAABkZWs1NHB4bC5pYmoMAAAAdTRpMDNiYXAubjJ4DAAAADVqd3Yyc2M1
+ LjJydAwAAAB1ZzR6NGxtcC4xMzAMAAAAMW5lMXVjbmgua2gzDAAAADQzb3N5cjVuLmpzaQwAAAB1
+ NWpicGFmMi5mcjAMAAAAbWMxY2FvYmcuMW9xDAAAAGJlemVteHZyLmlhZwwAAABleHJ0Z2xhMS4x
+ dTEMAAAAb21waWxlYWwucjFnDAAAAGg0bXoxdmFiLmJlbgwAAAByZ3BkYWx2dy5kaXgMAAAANW1p
+ b2NiNWsuaHR0DAAAAGt0c25mdnBlLnEwZQwAAABjNDFoYWV5Yi5zdW4MAAAAaHVobGZpdTMubG5q
+ DAAAADBlb2F2Y3BvLmxwNQwAAABrajQ1ZXpyeC5tZTIMAAAAYXNtejVvNW0ueXVtDAAAAHN5ZGJq
+ cG9uLmRmeQwAAAB5dHc1Y3FtaS5iZGMMAAAAcTN6M3JlamQuMHRmDAAAAG8zdHB2cmJkLmtncAwA
+ AABpbWp1MWcxay40bWQMAAAAaGVwdzF0ankuZGRyDAAAADJic2NpYWd6LmF1ZAwAAABwdWN5bWFl
+ di5xajAMAAAAb29ncmtlY3kuMGdiDAAAAHZnMXBjNHd6LmFoeAwAAAB3ZHRkcXRnYy5oNXAMAAAA
+ Y2FieHdwbzAub3pxDAAAADIxcWFjYnRwLmlpdgwAAABqMHltdWJpYS40amwMAAAAMmUzeWliNXku
+ b294DAAAAGIxMjF0YnlvLjFtZgwAAAAyZWVpeXRteC5jMmEMAAAAaXdramt2djQudWcyDAAAAGh4
+ aGgwb3gwLmh4ZwwAAABkcWFpanYyZi5mYTQMAAAAejJ2YjNqbWEudjUzDAAAAHBzNHZqdHhwLnNj
+ NAwAAAAzMHlyMW1kZS5lZGMMAAAAeGlhZ2UzazQuZTRlDAAAADRoNG93YWFiLmh5cAwAAABiejR0
+ M2xkYy5ybnIMAAAANHFhZ2cwY3ouMG12DAAAAHB4aWxodWtxLm9jcAwAAAB6c2hjMXAxeC5yY2wM
+ AAAAMWphMXlzNW0uYXFnDAAAAHQ1ZGh0c2txLnVpdgwAAAB4cm5mZGJveS5mdmEMAAAAdnp6MDJw
+ YWQuMHdrDAAAAHB2eHNpNXRwLnFzdAwAAAB5MnZhdG1iMS5vZTUMAAAAYW1taWp6bjAuYXMxDAAA
+ AGt3dnVlMG0yLm01cQwAAABiNDVyYzF2di5xZjQMAAAAdWJwMDBxYWYuNDNzDAAAAHdybXpvaTFu
+ Lm1yZAwAAAB6NDBpY3hmMS54YTQMAAAAY241eXkxaDUuYWh0DAAAAGRkbjNmaXF0LmR6YwwAAABv
+ dXJ4ZTJrcS5mam4MAAAANXgzMXpwM2MuZ2pqDAAAAGdtMW5oZXBzLmJzYgwAAABmbWZ4cnRsZS5j
+ MXQMAAAAenZwYW1hc3kuemRwDAAAAHV0empqb2VmLnBscgwAAAB2Z3l3bmt2Zi5hNHMMAAAAY2lu
+ eG0zYXouYXkyDAAAAGp6YnF5czBtLmdzZwwAAAAxeGltM2lwdS4xYmsMAAAAYTRzZDU0aW0ueWIz
+ DAAAAGV6YXQwZ2dsLnVqMgwAAAB2cWxmM25sMy5ieGUMAAAAYXFjNXUzeHouNW5pDAAAAGlxYWYw
+ eHZuLmQ1bwwAAAB3YzJyM3pmdi5zY3AMAAAAbHJxbHp1bmIuMW90DAAAADFvY2FnM2Y1LnBxbQwA
+ AAB6YmIxaDJ5Yy5kZGoMAAAAbWFreDB4c2oud2NpDAAAADNyZ3RmamdsLmg0cAwAAAB1M2hyMGFn
+ NC5ndHQMAAAAcjRqZmlxdTIuZmJpDAAAAGllaXoyNTBqLmswdgwAAAB1cjR4YjFtcC56dmUMAAAA
+ MjVuZ3FqeWgueWp2DAAAAGQwZDRyYnJmLjVnagwAAAAxb2ZjaGZkNC53NGwMAAAAa25sYXRpYWcu
+ eTV2DAAAAGtyb3dza2xkLm5sYgwAAABlZWl1Mnhnbi5ldWQMAAAAbGVyeWt1dWUuYnl4DAAAAG9u
+ eDEwa2dnLnVnawwAAAB3Z2NlYjIwYS5jcm4MAAAAb3NycHMyczQucG95DAAAAHkyc2FtZTR4LmZx
+ cwwAAABkc2kydGRsMi5rdHUMAAAAc3FyMHAyNGcuMTJrDAAAAG1zcmt0ejNoLnJuaAwAAAB1YjR1
+ dmNpbC5ocjAMAAAANTFxb2tiNGEuc29vDAAAAHVxcDR2dWhsLnZleAwAAAB4aHExcTVrbC5ydDEM
+ AAAAZ3h3aDNzdnQubjFvDAAAAGYza20ycXNwLmdtdgwAAAAxaHJjcHI1ZC5hc24MAAAAMXp5MzB6
+ M2EubXpsDAAAAGhvc2R5b2ozLnJnNAwAAAA1anRoam14ZC5kZXYMAAAAdmhreTVrMGkuYm9pDAAA
+ AG5tcGVsdjEzLjIxNQwAAAA0ZXp5czFmZy5mcnQMAAAAYWNlYmtlMTUuMzJlDAAAAHdtbXBobjNw
+ LjNidQwAAABidHNmZXJpcS5naXIMAAAAeWQwbzJ1emsubHpwDAAAAGwzbmdsYXQyLjIzeAwAAABy
+ NGdob3hxYi5veHgMAAAAdnp2dG9vMXEucXJzDAAAADRoa3djbmRnLmVvYwwAAAB6MDFjMm55ei55
+ ZHoMAAAAem1vcjExeDQucTAyDAAAAGI1eHZ0YjMzLjFxbAwAAABxcjNjbXluNS5vcGUMAAAAbTVj
+ dmJoMnouYjF2DAAAAGJrMWZybG4zLmp4cQwAAAB5c3pleWdkbS5zZjIMAAAAbWJ3Z2xiNTQuZWRi
+ DAAAAHFjMWJseTNuLjMxZQwAAABhamMwaWtycy56dXYMAAAAc2VjYm5yankuMXdpDAAAADUydWFs
+ aGFwLml5MwwAAAA0b2pzcXlyay4wcmwMAAAAeWxrNG9udncuc2JwDAAAAGNjNTJhdmh1LnAxZQwA
+ AABvdmF1ZmVoZi50bHIMAAAAdzJmbGZtYWYuc2RsDAAAAHZhY2tvaWN0LnZ3YgwAAAB5dHRhaHdi
+ eS4waGUMAAAAcHpiY3I1ZGkud3U1DAAAAGluajBueGpiLmkxdAwAAABleGZoeWIzby4ya3oMAAAA
+ NTFuY295dDQubGxjDAAAAHFkamUzbmZiLjFyMAwAAABkeHl5NTRtei4wcDAMAAAAZm9iZXcwbHgu
+ bnViDAAAAHB2ZDJjamdhLmhnYQwAAAAwcHNhMWJmNC5qejAMAAAAaXVsM2d6eGouem9tDAAAAHY0
+ MG5rZXByLmlycgwAAAB0MWIxcmQwZi56YmoMAAAAemJ2NWJncTAuMjB2DAAAAGhkb3UwbTBpLnlv
+ dwwAAAAzZTFzaDQxay5pbWwMAAAAZW12b3pjeG4ubGtsDAAAAGwycHp1MXBrLnBnbAwAAABjMWhv
+ cXJtZi5na3EMAAAAeG1ma3R4M3Iua3g0DAAAAHB5NXR2eWFtLmRsegwAAABkZ2l1ZXlmbS5taXMM
+ AAAAZG5wZzN0ZGMueGhjDAAAAHV6d256Y3FhLm94egwAAAB0YXoxdm5kci5uNHAMAAAAdGFwdnB0
+ aHIueXdzDAAAAGRwMXk1anZ0Lmc1dQwAAAA0M2V1dnFkZC51emkMAAAAMDIwbG0xMGgud3dlDAAA
+ AGNkM2dtbWVpLmwxZgwAAAB4ZW1tM2VkcS54enQMAAAANHV3M3d4dHUubnAxDAAAADNjbGtrdmQy
+ LnJsbgwAAAB1NHRpajN4ZS5vY20MAAAANWdicTFxaHouM3dyDAAAAGpvZXJnd3cyLm5mMgwAAAB2
+ MnVqbXd0bi5pZngMAAAAc3lkb3hrZncuZ253DAAAAGJ1dzE0bGQ1LmdmcwwAAAB3M2FrbGVxdS52
+ Z2kMAAAAY2NwaDF3ZDIueGR5DAAAADBnMG9vcW4zLnZwaQwAAABjcmFmMGYwbC5icWQMAAAAcHBl
+ ZnVobjAuM2hmDAAAAGljemt4NHozLmhjaAwAAABncTRhY25laC5pYW8MAAAAbWQ1cXRwbXcub3pt
+ DAAAAG5jY3ZtZTMwLndvagwAAABpbWVyYW5yaC54aTUMAAAAb2J4ZXZsdXIuZjBlDAAAADVoZ3p1
+ c3ZrLmVlYgwAAABzazA0Y215bC5keXoMAAAANHh1cXZ2M3ouaWMxDAAAAHZveHV1b2ZxLm1jcQwA
+ AAB0djUzc21idy5hbTAMAAAAcHU0azJ2aXYuMHJyDAAAAGtubHNvaW1uLnZsdgwAAABlMGQ0NGo0
+ ei53NG4MAAAAcDBoaWZ3dDEudjVtDAAAAHJoY2F6c3FzLmx2aAwAAABheWFtY2RicS5zMHkMAAAA
+ Ynh1Z3FsbDEubTFlDAAAADB4Y3V4b2ZtLm94dgwAAAB2cXZ2bXdjcS5sMzEMAAAAaG5mbzRwd2Iu
+ cjBiDAAAAHV1eDNmaHBzLmw1MQwAAABpNWpoeWJncy5tdGkMAAAAb3pmNXIza2Eudnh2DAAAAGR6
+ dDR4bmNwLmJldQwAAABqNGpnNDRlYS5jM3IMAAAAYmlvajVxYXguNGNlDAAAAHVtdDAwcXZyLjJm
+ bwwAAABhZXprenJwby5mZ3cMAAAAZG40ZmJxNHcuajF4DAAAAGRkeXp2bnFkLmNtcgwAAABhbXIy
+ ZWx1Mi5yaGcMAAAAZmY0cTJiemkuc20xDAAAADU0aXZ2ancwLnFiZQwAAAAwMWVid2p0bi53eXkM
+ AAAAaGJ1bWRqZGkuYmZ5DAAAAGxsdmNlMTBhLnF0ZQwAAAAxeXF6MXN1Yi4wb2YMAAAAa3RsbXh4
+ ZTUucHJjDAAAAGM0NGMzemd4Lmd4dAwAAABwd3h2MnJibC4zY3gMAAAAMjFuNWl1bm4ubzFiDAAA
+ AHNpM2JnYmUxLm5hdAwAAAB3cXRieWkzeS5td2IMAAAAcDBrd2NkcGkucHphDAAAAG53dnRjcWIw
+ LmMwYwwAAAA1eTRmbnIzZi5wZHgMAAAAeWlxdHdlenkuZjExDAAAAHJwbnZuenpyLm40cgwAAABu
+ a3ExdXExZi53MmsMAAAAZ3cxbHBjbmYueTN2DAAAADBwbHVhbDJ1LmpkMgwAAAB1a2RsMzAwZC5z
+ b3AMAAAAd2NubG92aHcuMWxiDAAAAGNwZXVjcjN6LnZ6egwAAABic2tqemJnYy41ajQMAAAANDNk
+ eml5ZHYubXZpDAAAAHd5anJ5d3FrLmtycgwAAABieTF0NHVucC54YmsMAAAAaWloZWVmbWYudnFt
+ DAAAADJrdWZ6eWtxLmE1MgwAAABkaG01eDFkMi50dmQMAAAAbmc0NGVoNDMuZzV4DAAAAGp6cGZt
+ M21qLnJreAwAAABwcXR1bHdwMS5iYXUMAAAAYmlwaWlvemcucjBpDAAAAGxyYzJnNHNrLnJudwwA
+ AAA0NWhnZHhxZS5scHEMAAAAd3B4emZoZWQubDUxDAAAAHg0MTJuand6LmJ4eQwAAABwdGZieWxj
+ Yy5tYnEMAAAAeXA0eHNuZ3guZXlvDAAAAG16NTJ5cXAwLnBkZQwAAAByajJyZGhhei5za3QMAAAA
+ Y3pobjJzZ3Iub2J6DAAAAHFveGVweWE0LnR4MgwAAAB6bDRoZXBuby55eTIMAAAAYWh1cHFwMHou
+ d2NlDAAAAHltMzBuajF3LnAydAwAAAAzcDBubzNvYy5xNG4MAAAAMGZncXVya3MuY2RhDAAAAHh3
+ MGFxY3VyLnEycAwAAAB6a2ZzZnRveC4xYWUMAAAAbHZoZ3gyZ2wuZ2wzDAAAAHlmcnRtamViLnhz
+ cwwAAABoYTBqb25jeS5hNWoMAAAAc3VqNXl1NG0uMmV0DAAAAHZqb3NnMDI0LmswdwwAAABxcGx0
+ cXd1cS5vbWYMAAAANGZhcjBnd3ouemJsDAAAAGNibGVrY2Z6LmxkbQwAAABlMHF1dm5qYi5rbGYM
+ AAAAZnp3NW12cjQuNHNqDAAAADJpbGN0MzVtLnpucQwAAABxb2FrZnk0dy4xeWMMAAAAZ3N2bDA1
+ bnIuZGVvDAAAADRud2kzb3l2LnVybgwAAABheDMyZ2N1by5sanEMAAAANG5xMnBvY2YuM2RwDAAA
+ AHlncHNodmJ0LjNmcAwAAABrZjEwZTVqdy5iYjIMAAAAMHoxbTFjNGoud3l0DAAAAG9waWt3aWpo
+ LnM0egwAAABkZmhydTQway52eXEMAAAAem1zemMxcWIuZG51DAAAAGF5NW5rMTN4LnJmdwwAAABl
+ bDFjajBtaC5kZGYMAAAAbmNrdGh4bDIua2ZoDAAAAGtuZnoxMTVlLmU1awwAAABoZGt3NWdnai5h
+ Zm0MAAAAczN4c2FtbHcuZG55DAAAAHUwZDFxbWRlLm9ubgwAAAAyMnlodDV0cy40eHEMAAAAbXpt
+ MGl2ZXkudTEzDAAAAGExNG8yd3p2LmowbAwAAABwZzBuMzI0ZC5mejIMAAAAdGkxM2M1MW8uNXps
+ DAAAAHphYnYxaTVjLmJiegwAAAB0ZWh3cHJldi55bjIMAAAAenpsZ3l4YTUuNHlhDAAAADVjNTI1
+ MGNmLmZzeQwAAAB6dGFzcms1dC5peWoMAAAAdDBuNW5uZXAudnNhDAAAAG55dmVvc3gwLndvcAwA
+ AABsZ3hjZHRoMC5hbWEMAAAAdGIwb3FwM2wuZXZ3DAAAAGRlY2J1azEzLmxwZQwAAABzZnFjNXJ3
+ eS5uZGYMAAAAMnQ1M2p5NWEua2lqDAAAAG12Z2hqdW8xLmdpagwAAAB4MWZodmlrby5wcnoMAAAA
+ czM1eWVmZ3AuYXVqDAAAAG1vZ2FhYm15Lm9sbQwAAABzZGo0M2g1bS5iZXEMAAAAdHZyaDRuM2wu
+ a3hxDAAAAGNka3oycnd0LnUxcAwAAAB4enkwaHZvci5nMHEMAAAAbWpscWlrc2wuYml1DAAAAHgz
+ cWZxNTFxLnh3ZQwAAAAwemZwYWVlYy5rNTIMAAAAY2wzM2xwZWoudGc1DAAAADUxcTRxa2duLmw1
+ dAwAAABiNHZucjNqby41d3gMAAAAMXVmb2YxZ3UuYjJoDAAAAG1rbTJ0a2h0LnhheQwAAAA0bWJx
+ bjVyNC52MGsMAAAAcXZxb2NjeXkuZnlnDAAAADRqbHgwamkxLndqcAwAAABmenlyNXlmbS5wZG8M
+ AAAAbTVyeXI0ZG4ubGZoDAAAAGxsMXFidHF4LnRidwwAAABtbDQ0em90NC5yaG0MAAAAbjNqcDV2
+ Zm8ubjV1DAAAAHh4eW91cm8wLnA0cAwAAABkY2s1MXRwdi5jcWwMAAAAcmRvMmxxYnEueXFsDAAA
+ AGx2cnEzb2ZjLml2dwwAAABmaHY0MDJyaS55ZWIMAAAAM2h2ZXYxbWsucXdkDAAAAGp2bnRvZWY1
+ LnJueQwAAABieXVzeW1kdS5wc2gMAAAAb2lib2x2cHAucGplDAAAAGZ5NGFnMGgzLmR6ZAwAAABx
+ ZmlleHpsZy5mMngMAAAAd3V3Yno1anYucHZ6DAAAAG9qNHJoNXN4LmgwawwAAAA0Mm52c2k1dS4y
+ ZG8MAAAAMnZ4dTVsZGMua295DAAAAHdsbGxxdXptLmR4NQwAAAB3M3ZweGxyYy4yM3kMAAAAaGFp
+ Y2gza2YucmVnDAAAAHdvZGQ0b2V2LndpYgwAAAByMGFvc3FvaS5ocmwMAAAAc3k0YnhsdnIuYm14
+ DAAAAHJuMXU1MXd1LmhsZQwAAABqazVudm90ei5iM2QMAAAAb3BvY3V3ZHUubjVwDAAAAGt2MHB2
+ dWl3LnZidQwAAABoMjQwNXptZC5kNG0MAAAAdXl0aXZzZW8udjR3DAAAAHdiZ29md3phLmZxZAwA
+ AABzcWRpcHl1dS5qcXYMAAAANG8wYmp2YWcuNTM1DAAAAGdhNHBkc3BhLjUzYgwAAABiaXBiaTVj
+ di5ham4MAAAAeHhyaWEwaGMudHZmDAAAAHp2ZXVvZWN6LjRrZgwAAAB5eWFseW50Mi50bWEMAAAA
+ ZDIxbG41NTEubjBxDAAAAGp3Z29mbGYzLnlwMAwAAAA0bWpwc3diYy5udGcMAAAAMnMya3Bjc2Mu
+ cW16DAAAAGY0cjJmdnJ5Lnp1awwAAAA0eWhtcTVheS5uczEMAAAAd3hmMjVlZHAuaDBzDAAAAGUy
+ d3htMXF3Lm96egwAAAAyc2M0NXB3aS4xZXcMAAAAanEzbWp6NXcuYTRsDAAAADJncGFua2d4Lnlx
+ egwAAABreHNtZWNycS5oeGkMAAAAMnhlMmlzM28uMXUyDAAAADRpd3Brb3MzLnp4ZgwAAAAwbmI1
+ Z2Nwbi5paWMMAAAAcm5tbDUwMDEuMWN5DAAAAGplcWZoZjBuLnltegwAAABzem9yc2tlcS54cjQM
+ AAAAbjRiMjB4MmUud2ZvDAAAAG11ZHlyYXUyLmtnMgwAAABoMTRhZG51ci5uc2cMAAAAZDJnNWdk
+ MjAucjR1DAAAADRneGNodXMxLjFvdAwAAABva2t0dnFmdC56cmsMAAAAbDBtbXp2bTMuZGd5DAAA
+ AGFtY3hma2J6LnZobAwAAABzMjNrYjNqYS5zbGcMAAAAZ3h4b20za3MueG5oDAAAAHV6bHdlbGo0
+ LjRyagwAAAAycHRjMDJzay5jbGYMAAAANGtiZmMxemQuYXcxDAAAADBha2Roam5rLmF3bAwAAABs
+ bHNiM3Z3eS5lM3gMAAAAYmp3eHp5YzQueHNwDAAAAGdpM3lsdnJoLnRxcQwAAAAyc2l2YW5iaS5k
+ aHEMAAAAajIxZ2M0ZTMuM2NsDAAAAGJnMjRpZHh6Lm4yZQwAAAB2b3pnZXJmai5yd3YMAAAAY2py
+ MXcxdGouazRkDAAAAGdoam5seGVjLjFuegwAAAB2dnllcGFjNC5qNGIMAAAAYWF1dHN2YnYucWRu
+ DAAAAHF3ZTAwYzJiLjExcQwAAABjYXh2d3AzZy55bjIMAAAAbXJpYzF1YWQuMHJsDAAAAGp0YjVz
+ ZXF1LmF4MgwAAABzY3pyZ2xlaS5oZnUMAAAAamdseDB3aHcuZW1lDAAAAGR4cG4xa210LmtkbgwA
+ AABteHplZG1qaS5qcnIMAAAAa3FiajRjNWouYXp3DAAAADR0MnJhejFvLnlqaQwAAAB1a2Z3aTNl
+ Yy5nemQMAAAAemVjbmx6b2QubDM1DAAAAGVia2JhZDFyLnlocQwAAAB5am1xaXlycC5ld2sMAAAA
+ Z3ozaWVnNHAuaWQwDAAAADBlbmFvZXQ1LnVvagwAAAB2cGUzZTJwaS5qZHAMAAAANXVsdGpweWQu
+ c3RvDAAAAHQybmtiNHJlLmkwZwwAAAAxaHI0M2R0di4wc3EMAAAAMXdhZ2pyencueXRxDAAAAHlt
+ Y3VieWdrLnduZwwAAABibG1tMmdtei52Y2gMAAAAbXM0cm1lZjEuaGxlDAAAAHN1eG9vanFmLmxu
+ dQwAAABnamFpb2JiMC55cmkMAAAAa3lkbWU1c28ueHRiDAAAAHEydTN1cmh5Lm5zeQwAAAAxeTJm
+ bHp1dC53M2IMAAAAZnJwbHlwc24ubWFpDAAAADJsbm1hdzRwLnJnegwAAABzeXRkd2J2aS5jd3oM
+ AAAAeWc1ZTJmemYuZjFoDAAAAGZpYjVnaGZrLndlMAwAAABjMmJ1MTF6eC5jY2UMAAAAYnc1aW1p
+ YjUuMDJ3DAAAAHRhZTBmb2x5LmxlcAwAAABnamExM254eS41aGUMAAAAengzbWt0bzQuNXV5DAAA
+ AGVrend6bTMyLnNicwwAAABnZzB6MXh2Yi5mNG0MAAAAczIwNDVkaDQudGJqDAAAADUwcmdoYmhi
+ LnBzZgwAAAB5ajAxcHAzdS4za2oMAAAAcjFzaHdtYm8uYm9rDAAAADQxYWQxdWFlLmRhdQwAAABk
+ ZmJ2MDJ1ei4xZTUMAAAAenQyMGs1ZGwubzFqDAAAAGV3Y2Npemp6LnZ6YgwAAABzZDF5cTU1Yy41
+ M2cMAAAAaDBpaGZmd2MuY3BvDAAAAHV1NDBraDBkLjR5ZwwAAABkam4yZXczMC5lbmIMAAAAc3Uw
+ emdtaG0uaHkzDAAAADRhaXRtd2psLnpyYgwAAABzYng1Zmlwbi40cHQMAAAAY2NjeGlicG0ud2Ji
+ DAAAADBieHVxeDJuLmEzMAwAAAB4ZWxqcGx5dC55dWUMAAAAcXQ0bTJnYXoueXlmDAAAADN4aWJp
+ Y3R4LmJ1ZAwAAABnb3BhMWY0cC5icnAMAAAAcG9oc2pmMDIuaGUyDAAAAGFmYm1peXU0Lnl6bwwA
+ AAAwbXJsZWdreC5wa2gMAAAAeW5sempseGwubmR2DAAAAGZ0eWNtMTJrLmJkdAwAAABzMWVpa3hv
+ dy5qZTIMAAAAaG9sYjNjZmkuYW9iDAAAAHp4dDNhc3IxLm40agwAAAB0ZnMxZmxrMy51ZGwMAAAA
+ ZTJ6ZWZkYzQuNHRvDAAAAHFhdXI1cTFvLmthdQwAAABoNHRjMjVxMi5yNWoMAAAAajBibmhleG8u
+ YWp0DAAAAHF0cm1rNXV0LjRpMwwAAABrZ2NuZnI0eC5oaGkMAAAAMHRweTNjdnQuaDNiDAAAAHlr
+ MHBicGkzLmxycgwAAABkand1ZGkyaS5rdW8MAAAAaDRxamo1aWQuNGZtDAAAAGxyNDB0amIwLm8y
+ cwwAAAB5emxjdTB5bi5pd2UMAAAAMHZlcDViZDUuZ2ZrDAAAAHhtenhibnJnLmY1egwAAAB6bnFx
+ bWp3dy52aHMMAAAAYmhycmx4YnUucHkwDAAAAGJvcHplMTNvLmxhagwAAABzNGJ4ejBndy51bTMM
+ AAAAMmgyb3J6ZHAudnUzDAAAAGpkZGs1bWZ1Lm9hawwAAABhdHExanlseC55cXkMAAAAMGV5Y3hm
+ d2wuaWY1DAAAADBnMmpqbXZnLnUyaQwAAABlMGJtdXJ5bi5sZnMMAAAAaWRmazE0aTUueG5tDAAA
+ AGVzMndic3RzLmxmdgwAAABycXVyb3V1aS54eGEMAAAAdGNxMXJjejIucXhtDAAAAGRoeXRzdXhl
+ LjU1egwAAAByMGNzeWxodC5samYMAAAAandndzNmM2MuaWZiDAAAAHptcGVvbHkzLjR0MwwAAAB6
+ aXdtNHRtbS5yd2oMAAAAeXhrdnhneTEud3RhDAAAAHM0emF4cWE1LnpvcwwAAAB4cW5icmkwdC5t
+ bnEMAAAAMmV2M2MzZ3AuZHpmDAAAAHBxNXZiem9wLmh3agwAAABjM3Qzd3IzMy5qY3gMAAAANXhq
+ a2YxenMudTF2DAAAAGtkbXVvYzNrLmhodAwAAABhZ2RkY3V2bC5lbnoMAAAAMnZseXYyYzUucWp1
+ DAAAADV2c29rY2I0LnBocgwAAABiZmZnNWZmby40dGQMAAAAa2thY25xdHkuMnptDAAAAHcxdGs0
+ cjUxLjBkNAwAAABudG5sbmJ4bi51c2sMAAAAcHQya3pobGsucTRwDAAAAHd1cmcyb2IzLjVjMwwA
+ AAA1cXA0MmdvaS50cGMMAAAAdGQ1dnBla3EuM2p0DAAAAHdwd20zY24xLmNqegwAAABtYWZhdnRk
+ Yi56cXUMAAAAcWZuams0a28ucXpkDAAAAGRja2wxdTN3LmtwYQwAAAAxc3Jha291MS5rMG8MAAAA
+ YWRrazQwdXYuaXhkDAAAAG5uMXE0MGxvLnYzYgwAAABpY2JnbWF3by5hdnEMAAAAYTRkMWZleTIu
+ NXNvDAAAAGcxejVzMWJ4LndwYQwAAAAwZWt1djU1Mi5mczAMAAAAaWcxNTFwZngua29tDAAAAHZ6
+ cGJocDBnLnBxZAwAAABmMDV3dmUzby5xZDQMAAAAMWV6dWt0cXIudmZvDAAAAHpxbXB1aTRtLjNq
+ MwwAAABjNXFkaXBpMy55cGsMAAAAbnhvZXhvbG4udHFtDAAAAG8wazQxcTFtLmwydgwAAAA1Ymp5
+ dzRibi4xNDIMAAAAZjNkZGRwaXIuM3Z5DAAAAGpnbzR6YWhsLnZpNAwAAAA0ZGMzcnNteC4zMHEM
+ AAAAZGNxMGozNGEuY2dqDAAAAHBhNWRsa3NzLmNxcAwAAABobGhhZXFsMy5zMG4MAAAAZHlweWJ0
+ cWQuMTBpDAAAAG50NDBmZ3JqLmRqeQwAAAAzZ3V1emJubC4yMnIMAAAAd2Qyc29zcHcuMWVpDAAA
+ ADRnNWxhc2liLmVyMQwAAAB6aGtlYmxkcC5xbW0MAAAANHl3cGRxMWguZHpuDAAAAGpjMmJ4aHRu
+ Lmw1cgwAAAB6djJqZG93cS5reW4MAAAAM2N0cXZncnkuMTFvDAAAADMyMjV2cXpoLms0YwwAAABr
+ b2gxMGMxMC5mbWEMAAAAemlieGR1ZXcuNXJjDAAAAHZ6cTFtYmFyLjEyZgwAAAB5cnBucDJnZy5p
+ NGsMAAAAY3N0MGl4cXUudmNnDAAAAG5veXkzY3p6LmwybwwAAABvdmdvaWs1cS54c3MMAAAAaW5x
+ cHhxMHoueWdpDAAAAGJ0ZGtnazBrLnZxcQwAAABjazFzbXlnei5xb3UMAAAAeXBicndkd3YubWFi
+ DAAAAGlmYml0ejJ1LmpvMAwAAAB5YXcwMjUxMi5xY2UMAAAAYWZ1cTNzb3IubGRiDAAAAHFyeXJh
+ MWFsLjJwdQwAAAAzZ3cwdGtrdy5sNWEMAAAAdXF2eGJ6NGMuenhmDAAAAGZ4cTVmZHplLnJ1bwwA
+ AAB6aTRvZGpvNS52Z2IMAAAAaXJpdmN5c20ubjVpDAAAAG15NHlwcmVoLnVueAwAAAB5c2ZocWpq
+ dS4xa2UMAAAAMmQwazA0MHkuM2kwDAAAAHk1NWhud29kLnp4dQwAAABsNXV2YTNoaC5oNHAMAAAA
+ cDVoYXZ2bmMubHo1DAAAAHhraHpzdmZsLjB4dwwAAAA1dDN3cjFhaC5hdW4MAAAAaHdwMDRjZnUu
+ bWFjDAAAAHJvNHkwMXc1LmowawwAAABrdXozYmN0ai40dG0MAAAAcnR3c2prd3MubzF3DAAAADNj
+ eXN0cGtuLnZ2YwwAAAAyZWR5M2hrcS56cmsMAAAAczN1emNqeTUueGF0DAAAADM1ZmNndWpwLjNs
+ dAwAAAAybmEzbXpmei5mY3oMAAAANXllcWphYXouMjBvDAAAADBna29pNHZwLmI1dwwAAAAyZHli
+ ZWN2NC5iYWUMAAAAaWQxbno1YTUua3d5DAAAAGZzc3ExM3FvLm9yZgwAAAAxeGJxMjBudi5oM2YM
+ AAAAazRsZ3F4aTAuZjN4DAAAAGgxYTR3MWZoLmRmbQwAAABqYTB0eDFiay53MDAMAAAAbDVmZnhk
+ YnkuMHVhDAAAADJzZTRhZ3B4Lmc1bAwAAABnbmdzY2l3MS53MGsMAAAAMWZ0bXhrYzMubGF0DAAA
+ AHNzbWF0b3JiLmJtbAwAAABseHlkajNidS4wYm0MAAAAaGwwaWkxc2suMHAzDAAAAGJhbnJ4MWwx
+ LmJ2bgwAAABwcnppcGd0eS51MXQMAAAANWFhNWwwcG8ucmUzDAAAAHQzM2VjeHI0LmJpaQwAAABp
+ bHh6MTRoMC5ycXAMAAAAdWFxMmx1MGsuemF2DAAAAGl6eTM1ZGZiLnluZgwAAABvMjJjYmV2bS5j
+ bGIMAAAAcGxsNGhjaXYuZHNnDAAAAHRidWl3c3RuLjJneAwAAABnM3dnMmJ0aS4yd2MMAAAAMWNv
+ NWY1MXIuMjRnDAAAAHNnZG56cXhkLjBqbgwAAAByenh6MTMzei55bW4MAAAAMm95ZWVpajEuMXVs
+ DAAAAHVmYnZ2MTRjLjBhNQwAAABhYWJnY2VtaC5iZm4MAAAAMXd1eGJhZncubHp6DAAAADFwdDEy
+ ZGxxLmxzdQwAAAAybjJ2d2U0bi51ajAMAAAAdTFnZ3YzdzAuaHkzDAAAAGlua2kxbXB3LmhkMgwA
+ AABrc3V5bWx6by5reHgMAAAAbWt4enR0cWMubXR5DAAAADNiNGI1czR0Lnd2bwwAAAB5enVoaGdw
+ NS5oZnQMAAAAbjNneWM0cTUuZzMwDAAAAGVndW9ldHg0LmNtMAwAAABta2JobmJyZS51djUMAAAA
+ eWt5eHYwbjQuc3NmDAAAAGw0bmhhYWFsLnFnbQwAAAB6b3hlMGVnZC50MXkMAAAAZnZhbXQycWou
+ MWVlDAAAAG16Y2J2b2ljLnE0cwwAAABoMmtrZGdsbi5vemYMAAAAYnpkbGhhMTEuczJyDAAAADVj
+ MWZxb2RmLnBxcwwAAABkanRxcXN1aS55MnYMAAAAYXVpdG13NWEuemZtDAAAAG9kdzEwZ3RsLmFx
+ NAwAAAB4cHJkdDFwcS52NW0MAAAAbG1qcWtycXYuYjFuDAAAAHBhY21pcjJnLnBkNAwAAABvbGdo
+ M2F3Zi5qanAMAAAAeXF6bG9uMHQucnMwDAAAAHh6eHNpeGdvLnVocAwAAAB0emt1bG5jaS5ndGcM
+ AAAAd2tlamFwMHkuemZlDAAAAGwzYnQzb2UwLmxnbAwAAAB6YnVoYmNlci40d2QMAAAAMnFwcDNu
+ b2QuZmNnDAAAAHZ4M3IydHZ2Lnl1MAwAAAB6NHVidnQxby5xYWkMAAAAemNlc2JuZW4uM3ZyDAAA
+ ADV5Znh2ZHV1LmhtbwwAAABvbXdjajFoNS5zbnIMAAAAaTJuaG9rZGEuM21zDAAAAHc1aGxwYXg1
+ Lms1ZQwAAAB2NHAzcHQ0Zy52Z2oMAAAAMzMwNXFtZGguZngzDAAAAHNycjV2a2liLjN0NQwAAAB2
+ cHJ0Z3N6ai4yYWkMAAAAY2dva3pqc2EuYWdwDAAAAGk0MGFzeDN4LjAybQwAAABnMGgxZ3d5aC4y
+ NDAMAAAAZWIwczBoaGYucjByDAAAAHlscnFua21nLndyZwwAAAA0c3Ayd3J2My40bzIMAAAAcXE1
+ Z2ZyZ2YuZTRkDAAAAHprMjF4aHRxLnM1bwwAAAA0aWh3NXEzcC5zMDQMAAAAZmRxdmdmNG8udGxs
+ DAAAAGYxdnlnbmQzLnF3MwwAAAB4bGN6cWV0Mi5maXoMAAAAamVpNXl0NGEuNHVhDAAAAHJmNGti
+ ZmdmLndxegwAAAB4bnNoYWJ0aS5oYnQMAAAAenhwcnN4cnkuaGJ6DAAAADFnYWI1dW1kLnN5ZAwA
+ AABvdm1uem01MS5sNXYMAAAAd3BlZGF0NWcub2thDAAAAGp4YjV3aDU0LjVnZAwAAAAxYTIyZXBj
+ cS4xMnoMAAAAM2VucDFsaHYueDVhDAAAAGRtd29ocGdpLnJuYgwAAABqdmZ1MGRwMC4weXUMAAAA
+ Zmt6aHVwcjIudGx1DAAAAGN6Z2l3emV4LmRqYgwAAABxcGptM201ei56dmIMAAAAMHd1d2VobW4u
+ bW9hDAAAAHkxZ3FtajEzLnFkZAwAAABoc2pwYWlkdS40eWwMAAAAaG52cHdyMWUuaTRrDAAAAHNt
+ dG1yZHlmLnYwawwAAABrdXBlb3hqbi5mMzAMAAAAZW9ucGNubnguYmIzDAAAAGRvdmh5MXd4Lmhl
+ YgwAAAAydHRuMXRjby5nZmgMAAAAMmhkbzQ0bjAucmRiDAAAAGVpZTF1dmJtLmxkZgwAAABqenBl
+ dXduay4wZjQMAAAAZDIxZjVjenYudWN4DAAAAHB5aWZmaTRxLnlxNAwAAABtZXNsNXRldy40dmYM
+ AAAAc3ZyMDFjcHEudWduDAAAAGpvemx1Mmp4LnJnZwwAAAB4cGhoZWEycy5rbG0MAAAAbnJ3cTVt
+ NWkuMmx5DAAAAGlqZ3Nnc3Q0LjBmbwwAAAA0dWdmbHVmei5xdGUMAAAAeHkxZG4xMWkucDBsDAAA
+ AGR0dHdvY2R1LjNuNAwAAABxYW9xMGdhaS5uMW0MAAAAbHNncnB3bXcuemsxDAAAAGUxMHhwb2Jx
+ LmZnbwwAAAAzbGMydGo0aC5lemIMAAAAa3d3azBydjUuMm8xDAAAAHAya3ZhZGNpLmpkYgwAAAB4
+ cmR2bW5sbi52MXcMAAAAYXowYm51bG4ua3drDAAAAGNtaXF5NHZqLmFlMwwAAAAxbmNmMmEwbC5s
+ MXQMAAAAMzVhM2ZmcmIuZmFnDAAAAGh4bHJpZDIwLmNhbQwAAABhczNwcHNmdS5xd2IMAAAAdjBp
+ MXZ6ZXguZXduDAAAAHczcHNqZ21iLnYxZwwAAAB4angyNG9uZy56bGYMAAAAM3RnbzFnZnAuYnIx
+ DAAAAGkxaDJ1b2hqLmt3NQwAAAB4ZGp6YWIway53eXEMAAAAZGphMnowMjEuNTJpDAAAAHBxdHpo
+ cmNkLm93cgwAAABobXZkaXdndy4wb2cMAAAAM2d5aGd0YzMuanBkDAAAAHgxYWxnZGVuLnd0dgwA
+ AABqYjBrcGhneC51MHgMAAAAa2kxMjRpdmQuMHhqDAAAAHkxYnpyb3p1LmZqaQwAAABtM20xZGIz
+ di5ka2IMAAAAZDAzbHB2cWYuaHl3DAAAAHdvcmZyZnhuLjJ0agwAAABjMnJxemk0bC5kdXIMAAAA
+ MjNoMmtraHEuc2h6DAAAAGxjeXl3Y2ZrLmZjegwAAABleWQ0M2NyYy41d2kMAAAAMmhycWdzM28u
+ amkyDAAAADJ0eTR1a2tsLjVjcwwAAAB3aHJnbmQ1Yi5lYTAMAAAAamcxa2J2Y2cuYXR2DAAAADFq
+ cWFyemhiLmNyYgwAAAAwdWhkbWY0NS5meW4MAAAAamIzYW9tMm8uMGhtDAAAAHR1cnppcTRvLmpi
+ bgwAAAB5c2d0dHN4aS5ucHcMAAAAcDN0eHVtcXIubWFzDAAAAHZqemVlanEzLmsydwwAAABmcG01
+ bmdrcy52eDAMAAAAbXBzMXRtcXguM3VvDAAAADVoajFsajJkLnp5cAwAAABtMXhnb3oyay50Z3IM
+ AAAAZHNpcXpvdGgucnFqDAAAAHFxb3B5d3R5LmhoaQwAAABjaXVsYWtzdC5wdXEMAAAAeWdvNGJ1
+ MmsuMnVnDAAAAGZtY2ticm5vLnIxYgwAAABobGhhaDRuby5wcncMAAAAZGI1dm92cGoudXFzDAAA
+ ADM1MnpoM3h5LjJhYgwAAAAzY3poa3VvMC5penMMAAAAM2YxanljZzMuajB2DAAAAGtiZHIwdzR1
+ LmdtdAwAAAB6eDNhNHZsYS51c2sMAAAAc2J1ZmZibjQubzRwDAAAADJjMGZ2c2UzLmt2eQwAAABw
+ ZWN4MzNjMS56MDQMAAAAa21zYjFrNDIuNXBqDAAAAGNwM3ZianZ0LnU1egwAAAAwbDRkbWhxdC40
+ eG4MAAAAYWwzM2piY2MuZ3hrDAAAADNxaXBqeHYxLnhhMAwAAABlaTVjZ3BiMi5qdWEMAAAAZTVv
+ dWNnd2subW1mDAAAAGVqZmpzMGhzLm1jbAwAAAAzaXhuZWt4bS54d28MAAAAdGRybWdoenoudGNi
+ DAAAAHU0dzFldjNnLnJ5ZAwAAAByY3Bta3p3ai5lcXcMAAAANWVrbG41MHcuNXM0DAAAAHh4NWx6
+ djBtLnV3bQwAAAAwMTFjcWFuNC55enMMAAAAa25iY3JwYmwuZmx6DAAAADUzbXo1d2dvLnVsbQwA
+ AAB6eTByMGxzci5zMjIMAAAAYWhudGJ4ajQuYmJtDAAAADQybDF3MnlhLmJzawwAAAB6bzAxNW01
+ aS50enQMAAAAYmF2YWZndTIucTNlDAAAAGdzaHljcXFmLjFpZAwAAAA1YjAzNXN5ZC4ybGcMAAAA
+ bHlpZnkwaG4uenh3DAAAAGV0YXBwbGdqLmczYQwAAABtNGp0dXFhdi52ZWwMAAAAcWRvb2t5eHYu
+ cnF3DAAAAG9qeGI0YWhsLnZjMAwAAAA0eWNqeXd6ai54aWQMAAAAc3ZqdW1uNXguNW9rDAAAADJ4
+ amZsMmZhLm9icgwAAABjd2Z0aHBqdC5hcXMMAAAAdGM1M2JxeHMueDRjDAAAAHl4amRnYnYwLm9s
+ aAwAAABpcW5tNWh0ZS4wd2IMAAAAbGcxeXprNHEuNWpkDAAAADUydG92MmJ6LjVkaAwAAABrYzNx
+ MWtjMS5qeXkMAAAAZ3NoeHYzeTEuNXR6DAAAAGpydWtvMGNxLnJnYwwAAABlamFydmxmaS41cDUM
+ AAAAeXgwdGpzeWEudGlvDAAAAGd1MGJ5NGJvLm4weAwAAABrejVraDB6Yy53MGQMAAAAejNwZm5h
+ eHIuaWF6DAAAAHR5ZWI1YnFqLjN4NQwAAAByd3RzbmJuci56dGEMAAAANXB0dDV5MzQuNWhiDAAA
+ AGhwZmVwMHFyLmFrYwwAAABiaW5rMHlyYy5qd28MAAAAcG1lenBzamwuamQzDAAAADAzbGVnZHRv
+ Lmx5eQwAAABiMzNkYWk0My5xZXgMAAAAZGxudHFnbzMubm5xDAAAAGJnaGJoa2VlLnRpcwwAAABy
+ azBxM3Btay5jNDAMAAAAdnFjYXIxMnUua3pwDAAAADVid2FvZmJuLnVwZwwAAABiZzJremkwZS53
+ cGkMAAAAZTU0enhjZnMubHR5DAAAAGVtMDVzMnBpLm90MQwAAABvYjFwMzUxbi54bWwMAAAAMGh1
+ a3R4d2wuamV0DAAAAGtiaDF6dWxpLnA0MgwAAAB6b2NrZWtiYy5razAMAAAAd2pwYTFjMnIudmpx
+ DAAAAHVkbmFrMXlhLjJscQwAAABub3BsenF1Zy5mY3cMAAAAZWdhZGJpd2EuZnN0DAAAAGJ2cmdk
+ M2tjLmZmYgwAAABybnhrY2xnMy5lcmEMAAAAZGhmeGtoMmwud2wxDAAAAGFyZHBqbDNoLmJvYwwA
+ AAB3a2gzdWZ4eC55cGoMAAAAeXF5YmJoc2IucHVpDAAAAHRtem41cXlzLnpwcwwAAABhNGVjZ3Zi
+ Yi51cGsMAAAAem5wMmd6MmoubGwwDAAAAHJwMHJhcHhuLml6cwwAAAA0dHp0ZWRtbC54ZXcMAAAA
+ bXEwc2Zqem0uMGVyDAAAAGN5Mmx3b24xLnczdwwAAAAxbHV1cm5xYi5qcGUMAAAAc2g1dmdrM3Au
+ aHRqDAAAAHRlMHduYm8yLmJwcgwAAABteTB1czE1NC51b24MAAAANWhmZ2NyanYuanJjDAAAAGlm
+ bGxpMHl3LjNkegwAAAA1eWJkamdnaC5nZHEMAAAAY2dqaWFvejUubHlpDAAAAHJ6aXc1MnViLmM0
+ ZQwAAAByNG1xMGlzZC4xbWMMAAAAeGJlcW5md2UuNG8xDAAAAHVwdTF3aXN4LnhvaQwAAABoaGd4
+ ZHk0cS5qYnYMAAAAcXYzYjBqb3AubWFhDAAAAGR3NGQxZ2hjLjRjMQwAAAB0cHNrdnJyMS5iczAM
+ AAAAb3h0Z2N1M2EuZ2gxDAAAADNvamFlaGJ4Lm9rdAwAAAA1dGF0ZmZwby50ZjQMAAAAdHM1c2N5
+ c2gudnZwDAAAAHZncGE0amJrLnRrMgwAAABoamN3c2RvMi5waHEMAAAAenZjMTMwZ3UuYjBpDAAA
+ AHI0MWdrb2pjLnV3ZwwAAABnaHUwazByai40c24MAAAAZnoxM294NGgubWxqDAAAAHMyZ2JjNXBq
+ LnF0NQwAAAAycHJmb3Joai5mYjEMAAAAdm1icm1ucWIubGIzDAAAAG1paHd2NWxhLmFmZwwAAABk
+ dGhuZTRubC5saWsMAAAAdHh0dmZpdHcubnN2DAAAAGtiZHR5bjBsLjFhaAwAAABzYmhia3Zhcy5q
+ Mm8MAAAAMHJzcDRtZmouZXU1DAAAAHpxeXVzZTV3LmY1NQwAAABrZ2dwZzVzZS5nYWgMAAAAbTRj
+ aTV4ZXoubGxhDAAAADEycTFkenBxLmEwdAwAAABuY3lyMnFzcy41YTAMAAAAc2Zka2VsbW0ub3Ry
+ DAAAADRiZWdsMmZtLnh4NQwAAABzdnBscXhoNS5lbHcMAAAAZ3hhb2FhbzUuZjJ4DAAAAG40c3Jk
+ Zmt6LjQ0dgwAAABicHR2Mm5qbS50amwMAAAAY2FoZTBidGouYTBzDAAAAGFkMGQ1dHJoLm0xdgwA
+ AAB6dWswMW9hMy51M3gMAAAAcXoxdm90c2kudXg1DAAAAGl2YnduMjAxLnIzNQwAAABveW5xaHd2
+ YS5ldGIMAAAAdHAzaG56b3AuZjVlDAAAAGpxcjJwbHhqLmVldAwAAABnY2FvZG1iYS56M3MMAAAA
+ andxejBkaGEueGF1DAAAAGt2MG5oMmZuLnZpYgwAAAAxNGMzanEwdS5peW0MAAAAM212NGw0NTEu
+ aGFsDAAAAGVxbXpoMXgwLjJuawwAAABzbGZub2xndy5jMHgMAAAAdTNmZjVkdmIuZHozDAAAADVw
+ NWZlMm9pLnN6cwwAAAAybmF5ajFwdS5pZG8MAAAAZDAycmZiM24udjBhDAAAAGx3eW40d29jLmQy
+ ZwwAAAAycjR6bHRubS5qMWoMAAAAMWlyYnltMnQudXdpDAAAADBheHpqbTRwLjJycQwAAABibXR1
+ eTBsaS4yZ2UVABWO+gEVjvoBLBXQDxUAFQYVBhwYDHp6bGd5eGE1LjR5YRgMMDExY3FhbjQueXpz
+ FgAW0A8YDHp6bGd5eGE1LjR5YRgMMDExY3FhbjQueXpzAAAAAwAAANAPAQwAAAB2MWtnNWhtci5m
+ aGoMAAAAZG5zdGNwbHYuZWRrDAAAAG1ta3lucHR0Lmw0awwAAAB5c3E1d2NrZy5idG8MAAAAcHJl
+ ZXpmdGwubXEzDAAAAGdmdXg0MWF2LmNvegwAAABnaHpnMmNqZS4yaDEMAAAAM2R0dngwMWkuZ2ty
+ DAAAAGV1emQxYjQxLmJxMgwAAAA0YXRkMnpuby5nNDEMAAAAeWtkc240dWkuYjNlDAAAAHRud2tm
+ aXNkLnFqNQwAAAB2ZmtpbGsydS4xYjQMAAAAdWN0MnIzdG0ubjEwDAAAAGRjdHdocWNvLnZnegwA
+ AABhc2hvYXZvMS5vamYMAAAAdWdzcWJicHMuNXQyDAAAADBwcHlyNGVoLmhtcQwAAABsNWRheHZ1
+ cy5wcDIMAAAAa3d3MTFwMmEuZHhvDAAAAHNobWx6YzNpLnpkMAwAAABraTJva2FteC5hc2QMAAAA
+ aTFiYnUyd2IuZGpqDAAAADJ5dnZ1ZnRsLm1lcQwAAABmZzB4Y2xoay5odGgMAAAAY2l6cHh1c20u
+ bDQzDAAAAGFtcnRlMGxhLjJ0cwwAAAA1ZDUzZWY1NC5tMHkMAAAAcmxpczR4NG4ubXp6DAAAAHp5
+ aGRjdnZsLnhieAwAAAB4ZDR3MGZxZi5sMHMMAAAAdnFzeWFoNDAuYmFuDAAAAGtvYW1raWJxLmtv
+ cgwAAABzNHBtdTI0dC5ia3AMAAAAMzE1ZzI0aGsucTQ0DAAAAHN3aDVxZmVnLnduagwAAAB3Z2Z4
+ d3dmNC5jMmsMAAAAMWpwMmlsd3IubDVzDAAAAGNvcW90NHU1LmhncQwAAABsaXgzZ2dmaS5leG0M
+ AAAAcnhlbnNva3UuamlmDAAAAGUya2d5aWQ0LmYwYwwAAABkZWs1NHB4bC5pYmoMAAAAdTRpMDNi
+ YXAubjJ4DAAAADVqd3Yyc2M1LjJydAwAAAB1ZzR6NGxtcC4xMzAMAAAAMW5lMXVjbmgua2gzDAAA
+ ADQzb3N5cjVuLmpzaQwAAAB1NWpicGFmMi5mcjAMAAAAbWMxY2FvYmcuMW9xDAAAAGJlemVteHZy
+ LmlhZwwAAABleHJ0Z2xhMS4xdTEMAAAAb21waWxlYWwucjFnDAAAAGg0bXoxdmFiLmJlbgwAAABy
+ Z3BkYWx2dy5kaXgMAAAANW1pb2NiNWsuaHR0DAAAAGt0c25mdnBlLnEwZQwAAABjNDFoYWV5Yi5z
+ dW4MAAAAaHVobGZpdTMubG5qDAAAADBlb2F2Y3BvLmxwNQwAAABrajQ1ZXpyeC5tZTIMAAAAYXNt
+ ejVvNW0ueXVtDAAAAHN5ZGJqcG9uLmRmeQwAAAB5dHc1Y3FtaS5iZGMMAAAAcTN6M3JlamQuMHRm
+ DAAAAG8zdHB2cmJkLmtncAwAAABpbWp1MWcxay40bWQMAAAAaGVwdzF0ankuZGRyDAAAADJic2Np
+ YWd6LmF1ZAwAAABwdWN5bWFldi5xajAMAAAAb29ncmtlY3kuMGdiDAAAAHZnMXBjNHd6LmFoeAwA
+ AAB3ZHRkcXRnYy5oNXAMAAAAY2FieHdwbzAub3pxDAAAADIxcWFjYnRwLmlpdgwAAABqMHltdWJp
+ YS40amwMAAAAMmUzeWliNXkub294DAAAAGIxMjF0YnlvLjFtZgwAAAAyZWVpeXRteC5jMmEMAAAA
+ aXdramt2djQudWcyDAAAAGh4aGgwb3gwLmh4ZwwAAABkcWFpanYyZi5mYTQMAAAAejJ2YjNqbWEu
+ djUzDAAAAHBzNHZqdHhwLnNjNAwAAAAzMHlyMW1kZS5lZGMMAAAAeGlhZ2UzazQuZTRlDAAAADRo
+ NG93YWFiLmh5cAwAAABiejR0M2xkYy5ybnIMAAAANHFhZ2cwY3ouMG12DAAAAHB4aWxodWtxLm9j
+ cAwAAAB6c2hjMXAxeC5yY2wMAAAAMWphMXlzNW0uYXFnDAAAAHQ1ZGh0c2txLnVpdgwAAAB4cm5m
+ ZGJveS5mdmEMAAAAdnp6MDJwYWQuMHdrDAAAAHB2eHNpNXRwLnFzdAwAAAB5MnZhdG1iMS5vZTUM
+ AAAAYW1taWp6bjAuYXMxDAAAAGt3dnVlMG0yLm01cQwAAABiNDVyYzF2di5xZjQMAAAAdWJwMDBx
+ YWYuNDNzDAAAAHdybXpvaTFuLm1yZAwAAAB6NDBpY3hmMS54YTQMAAAAY241eXkxaDUuYWh0DAAA
+ AGRkbjNmaXF0LmR6YwwAAABvdXJ4ZTJrcS5mam4MAAAANXgzMXpwM2MuZ2pqDAAAAGdtMW5oZXBz
+ LmJzYgwAAABmbWZ4cnRsZS5jMXQMAAAAenZwYW1hc3kuemRwDAAAAHV0empqb2VmLnBscgwAAAB2
+ Z3l3bmt2Zi5hNHMMAAAAY2lueG0zYXouYXkyDAAAAGp6YnF5czBtLmdzZwwAAAAxeGltM2lwdS4x
+ YmsMAAAAYTRzZDU0aW0ueWIzDAAAAGV6YXQwZ2dsLnVqMgwAAAB2cWxmM25sMy5ieGUMAAAAYXFj
+ NXUzeHouNW5pDAAAAGlxYWYweHZuLmQ1bwwAAAB3YzJyM3pmdi5zY3AMAAAAbHJxbHp1bmIuMW90
+ DAAAADFvY2FnM2Y1LnBxbQwAAAB6YmIxaDJ5Yy5kZGoMAAAAbWFreDB4c2oud2NpDAAAADNyZ3Rm
+ amdsLmg0cAwAAAB1M2hyMGFnNC5ndHQMAAAAcjRqZmlxdTIuZmJpDAAAAGllaXoyNTBqLmswdgwA
+ AAB1cjR4YjFtcC56dmUMAAAAMjVuZ3FqeWgueWp2DAAAAGQwZDRyYnJmLjVnagwAAAAxb2ZjaGZk
+ NC53NGwMAAAAa25sYXRpYWcueTV2DAAAAGtyb3dza2xkLm5sYgwAAABlZWl1Mnhnbi5ldWQMAAAA
+ bGVyeWt1dWUuYnl4DAAAAG9ueDEwa2dnLnVnawwAAAB3Z2NlYjIwYS5jcm4MAAAAb3NycHMyczQu
+ cG95DAAAAHkyc2FtZTR4LmZxcwwAAABkc2kydGRsMi5rdHUMAAAAc3FyMHAyNGcuMTJrDAAAAG1z
+ cmt0ejNoLnJuaAwAAAB1YjR1dmNpbC5ocjAMAAAANTFxb2tiNGEuc29vDAAAAHVxcDR2dWhsLnZl
+ eAwAAAB4aHExcTVrbC5ydDEMAAAAZ3h3aDNzdnQubjFvDAAAAGYza20ycXNwLmdtdgwAAAAxaHJj
+ cHI1ZC5hc24MAAAAMXp5MzB6M2EubXpsDAAAAGhvc2R5b2ozLnJnNAwAAAA1anRoam14ZC5kZXYM
+ AAAAdmhreTVrMGkuYm9pDAAAAG5tcGVsdjEzLjIxNQwAAAA0ZXp5czFmZy5mcnQMAAAAYWNlYmtl
+ MTUuMzJlDAAAAHdtbXBobjNwLjNidQwAAABidHNmZXJpcS5naXIMAAAAeWQwbzJ1emsubHpwDAAA
+ AGwzbmdsYXQyLjIzeAwAAAByNGdob3hxYi5veHgMAAAAdnp2dG9vMXEucXJzDAAAADRoa3djbmRn
+ LmVvYwwAAAB6MDFjMm55ei55ZHoMAAAAem1vcjExeDQucTAyDAAAAGI1eHZ0YjMzLjFxbAwAAABx
+ cjNjbXluNS5vcGUMAAAAbTVjdmJoMnouYjF2DAAAAGJrMWZybG4zLmp4cQwAAAB5c3pleWdkbS5z
+ ZjIMAAAAbWJ3Z2xiNTQuZWRiDAAAAHFjMWJseTNuLjMxZQwAAABhamMwaWtycy56dXYMAAAAc2Vj
+ Ym5yankuMXdpDAAAADUydWFsaGFwLml5MwwAAAA0b2pzcXlyay4wcmwMAAAAeWxrNG9udncuc2Jw
+ DAAAAGNjNTJhdmh1LnAxZQwAAABvdmF1ZmVoZi50bHIMAAAAdzJmbGZtYWYuc2RsDAAAAHZhY2tv
+ aWN0LnZ3YgwAAAB5dHRhaHdieS4waGUMAAAAcHpiY3I1ZGkud3U1DAAAAGluajBueGpiLmkxdAwA
+ AABleGZoeWIzby4ya3oMAAAANTFuY295dDQubGxjDAAAAHFkamUzbmZiLjFyMAwAAABkeHl5NTRt
+ ei4wcDAMAAAAZm9iZXcwbHgubnViDAAAAHB2ZDJjamdhLmhnYQwAAAAwcHNhMWJmNC5qejAMAAAA
+ aXVsM2d6eGouem9tDAAAAHY0MG5rZXByLmlycgwAAAB0MWIxcmQwZi56YmoMAAAAemJ2NWJncTAu
+ MjB2DAAAAGhkb3UwbTBpLnlvdwwAAAAzZTFzaDQxay5pbWwMAAAAZW12b3pjeG4ubGtsDAAAAGwy
+ cHp1MXBrLnBnbAwAAABjMWhvcXJtZi5na3EMAAAAeG1ma3R4M3Iua3g0DAAAAHB5NXR2eWFtLmRs
+ egwAAABkZ2l1ZXlmbS5taXMMAAAAZG5wZzN0ZGMueGhjDAAAAHV6d256Y3FhLm94egwAAAB0YXox
+ dm5kci5uNHAMAAAAdGFwdnB0aHIueXdzDAAAAGRwMXk1anZ0Lmc1dQwAAAA0M2V1dnFkZC51emkM
+ AAAAMDIwbG0xMGgud3dlDAAAAGNkM2dtbWVpLmwxZgwAAAB4ZW1tM2VkcS54enQMAAAANHV3M3d4
+ dHUubnAxDAAAADNjbGtrdmQyLnJsbgwAAAB1NHRpajN4ZS5vY20MAAAANWdicTFxaHouM3dyDAAA
+ AGpvZXJnd3cyLm5mMgwAAAB2MnVqbXd0bi5pZngMAAAAc3lkb3hrZncuZ253DAAAAGJ1dzE0bGQ1
+ LmdmcwwAAAB3M2FrbGVxdS52Z2kMAAAAY2NwaDF3ZDIueGR5DAAAADBnMG9vcW4zLnZwaQwAAABj
+ cmFmMGYwbC5icWQMAAAAcHBlZnVobjAuM2hmDAAAAGljemt4NHozLmhjaAwAAABncTRhY25laC5p
+ YW8MAAAAbWQ1cXRwbXcub3ptDAAAAG5jY3ZtZTMwLndvagwAAABpbWVyYW5yaC54aTUMAAAAb2J4
+ ZXZsdXIuZjBlDAAAADVoZ3p1c3ZrLmVlYgwAAABzazA0Y215bC5keXoMAAAANHh1cXZ2M3ouaWMx
+ DAAAAHZveHV1b2ZxLm1jcQwAAAB0djUzc21idy5hbTAMAAAAcHU0azJ2aXYuMHJyDAAAAGtubHNv
+ aW1uLnZsdgwAAABlMGQ0NGo0ei53NG4MAAAAcDBoaWZ3dDEudjVtDAAAAHJoY2F6c3FzLmx2aAwA
+ AABheWFtY2RicS5zMHkMAAAAYnh1Z3FsbDEubTFlDAAAADB4Y3V4b2ZtLm94dgwAAAB2cXZ2bXdj
+ cS5sMzEMAAAAaG5mbzRwd2IucjBiDAAAAHV1eDNmaHBzLmw1MQwAAABpNWpoeWJncy5tdGkMAAAA
+ b3pmNXIza2Eudnh2DAAAAGR6dDR4bmNwLmJldQwAAABqNGpnNDRlYS5jM3IMAAAAYmlvajVxYXgu
+ NGNlDAAAAHVtdDAwcXZyLjJmbwwAAABhZXprenJwby5mZ3cMAAAAZG40ZmJxNHcuajF4DAAAAGRk
+ eXp2bnFkLmNtcgwAAABhbXIyZWx1Mi5yaGcMAAAAZmY0cTJiemkuc20xDAAAADU0aXZ2ancwLnFi
+ ZQwAAAAwMWVid2p0bi53eXkMAAAAaGJ1bWRqZGkuYmZ5DAAAAGxsdmNlMTBhLnF0ZQwAAAAxeXF6
+ MXN1Yi4wb2YMAAAAa3RsbXh4ZTUucHJjDAAAAGM0NGMzemd4Lmd4dAwAAABwd3h2MnJibC4zY3gM
+ AAAAMjFuNWl1bm4ubzFiDAAAAHNpM2JnYmUxLm5hdAwAAAB3cXRieWkzeS5td2IMAAAAcDBrd2Nk
+ cGkucHphDAAAAG53dnRjcWIwLmMwYwwAAAA1eTRmbnIzZi5wZHgMAAAAeWlxdHdlenkuZjExDAAA
+ AHJwbnZuenpyLm40cgwAAABua3ExdXExZi53MmsMAAAAZ3cxbHBjbmYueTN2DAAAADBwbHVhbDJ1
+ LmpkMgwAAAB1a2RsMzAwZC5zb3AMAAAAd2NubG92aHcuMWxiDAAAAGNwZXVjcjN6LnZ6egwAAABi
+ c2tqemJnYy41ajQMAAAANDNkeml5ZHYubXZpDAAAAHd5anJ5d3FrLmtycgwAAABieTF0NHVucC54
+ YmsMAAAAaWloZWVmbWYudnFtDAAAADJrdWZ6eWtxLmE1MgwAAABkaG01eDFkMi50dmQMAAAAbmc0
+ NGVoNDMuZzV4DAAAAGp6cGZtM21qLnJreAwAAABwcXR1bHdwMS5iYXUMAAAAYmlwaWlvemcucjBp
+ DAAAAGxyYzJnNHNrLnJudwwAAAA0NWhnZHhxZS5scHEMAAAAd3B4emZoZWQubDUxDAAAAHg0MTJu
+ and6LmJ4eQwAAABwdGZieWxjYy5tYnEMAAAAeXA0eHNuZ3guZXlvDAAAAG16NTJ5cXAwLnBkZQwA
+ AAByajJyZGhhei5za3QMAAAAY3pobjJzZ3Iub2J6DAAAAHFveGVweWE0LnR4MgwAAAB6bDRoZXBu
+ by55eTIMAAAAYWh1cHFwMHoud2NlDAAAAHltMzBuajF3LnAydAwAAAAzcDBubzNvYy5xNG4MAAAA
+ MGZncXVya3MuY2RhDAAAAHh3MGFxY3VyLnEycAwAAAB6a2ZzZnRveC4xYWUMAAAAbHZoZ3gyZ2wu
+ Z2wzDAAAAHlmcnRtamViLnhzcwwAAABoYTBqb25jeS5hNWoMAAAAc3VqNXl1NG0uMmV0DAAAAHZq
+ b3NnMDI0LmswdwwAAABxcGx0cXd1cS5vbWYMAAAANGZhcjBnd3ouemJsDAAAAGNibGVrY2Z6Lmxk
+ bQwAAABlMHF1dm5qYi5rbGYMAAAAZnp3NW12cjQuNHNqDAAAADJpbGN0MzVtLnpucQwAAABxb2Fr
+ Znk0dy4xeWMMAAAAZ3N2bDA1bnIuZGVvDAAAADRud2kzb3l2LnVybgwAAABheDMyZ2N1by5sanEM
+ AAAANG5xMnBvY2YuM2RwDAAAAHlncHNodmJ0LjNmcAwAAABrZjEwZTVqdy5iYjIMAAAAMHoxbTFj
+ NGoud3l0DAAAAG9waWt3aWpoLnM0egwAAABkZmhydTQway52eXEMAAAAem1zemMxcWIuZG51DAAA
+ AGF5NW5rMTN4LnJmdwwAAABlbDFjajBtaC5kZGYMAAAAbmNrdGh4bDIua2ZoDAAAAGtuZnoxMTVl
+ LmU1awwAAABoZGt3NWdnai5hZm0MAAAAczN4c2FtbHcuZG55DAAAAHUwZDFxbWRlLm9ubgwAAAAy
+ MnlodDV0cy40eHEMAAAAbXptMGl2ZXkudTEzDAAAAGExNG8yd3p2LmowbAwAAABwZzBuMzI0ZC5m
+ ejIMAAAAdGkxM2M1MW8uNXpsDAAAAHphYnYxaTVjLmJiegwAAAB0ZWh3cHJldi55bjIMAAAAenps
+ Z3l4YTUuNHlhDAAAADVjNTI1MGNmLmZzeQwAAAB6dGFzcms1dC5peWoMAAAAdDBuNW5uZXAudnNh
+ DAAAAG55dmVvc3gwLndvcAwAAABsZ3hjZHRoMC5hbWEMAAAAdGIwb3FwM2wuZXZ3DAAAAGRlY2J1
+ azEzLmxwZQwAAABzZnFjNXJ3eS5uZGYMAAAAMnQ1M2p5NWEua2lqDAAAAG12Z2hqdW8xLmdpagwA
+ AAB4MWZodmlrby5wcnoMAAAAczM1eWVmZ3AuYXVqDAAAAG1vZ2FhYm15Lm9sbQwAAABzZGo0M2g1
+ bS5iZXEMAAAAdHZyaDRuM2wua3hxDAAAAGNka3oycnd0LnUxcAwAAAB4enkwaHZvci5nMHEMAAAA
+ bWpscWlrc2wuYml1DAAAAHgzcWZxNTFxLnh3ZQwAAAAwemZwYWVlYy5rNTIMAAAAY2wzM2xwZWou
+ dGc1DAAAADUxcTRxa2duLmw1dAwAAABiNHZucjNqby41d3gMAAAAMXVmb2YxZ3UuYjJoDAAAAG1r
+ bTJ0a2h0LnhheQwAAAA0bWJxbjVyNC52MGsMAAAAcXZxb2NjeXkuZnlnDAAAADRqbHgwamkxLndq
+ cAwAAABmenlyNXlmbS5wZG8MAAAAbTVyeXI0ZG4ubGZoDAAAAGxsMXFidHF4LnRidwwAAABtbDQ0
+ em90NC5yaG0MAAAAbjNqcDV2Zm8ubjV1DAAAAHh4eW91cm8wLnA0cAwAAABkY2s1MXRwdi5jcWwM
+ AAAAcmRvMmxxYnEueXFsDAAAAGx2cnEzb2ZjLml2dwwAAABmaHY0MDJyaS55ZWIMAAAAM2h2ZXYx
+ bWsucXdkDAAAAGp2bnRvZWY1LnJueQwAAABieXVzeW1kdS5wc2gMAAAAb2lib2x2cHAucGplDAAA
+ AGZ5NGFnMGgzLmR6ZAwAAABxZmlleHpsZy5mMngMAAAAd3V3Yno1anYucHZ6DAAAAG9qNHJoNXN4
+ LmgwawwAAAA0Mm52c2k1dS4yZG8MAAAAMnZ4dTVsZGMua295DAAAAHdsbGxxdXptLmR4NQwAAAB3
+ M3ZweGxyYy4yM3kMAAAAaGFpY2gza2YucmVnDAAAAHdvZGQ0b2V2LndpYgwAAAByMGFvc3FvaS5o
+ cmwMAAAAc3k0YnhsdnIuYm14DAAAAHJuMXU1MXd1LmhsZQwAAABqazVudm90ei5iM2QMAAAAb3Bv
+ Y3V3ZHUubjVwDAAAAGt2MHB2dWl3LnZidQwAAABoMjQwNXptZC5kNG0MAAAAdXl0aXZzZW8udjR3
+ DAAAAHdiZ29md3phLmZxZAwAAABzcWRpcHl1dS5qcXYMAAAANG8wYmp2YWcuNTM1DAAAAGdhNHBk
+ c3BhLjUzYgwAAABiaXBiaTVjdi5ham4MAAAAeHhyaWEwaGMudHZmDAAAAHp2ZXVvZWN6LjRrZgwA
+ AAB5eWFseW50Mi50bWEMAAAAZDIxbG41NTEubjBxDAAAAGp3Z29mbGYzLnlwMAwAAAA0bWpwc3di
+ Yy5udGcMAAAAMnMya3Bjc2MucW16DAAAAGY0cjJmdnJ5Lnp1awwAAAA0eWhtcTVheS5uczEMAAAA
+ d3hmMjVlZHAuaDBzDAAAAGUyd3htMXF3Lm96egwAAAAyc2M0NXB3aS4xZXcMAAAAanEzbWp6NXcu
+ YTRsDAAAADJncGFua2d4LnlxegwAAABreHNtZWNycS5oeGkMAAAAMnhlMmlzM28uMXUyDAAAADRp
+ d3Brb3MzLnp4ZgwAAAAwbmI1Z2Nwbi5paWMMAAAAcm5tbDUwMDEuMWN5DAAAAGplcWZoZjBuLnlt
+ egwAAABzem9yc2tlcS54cjQMAAAAbjRiMjB4MmUud2ZvDAAAAG11ZHlyYXUyLmtnMgwAAABoMTRh
+ ZG51ci5uc2cMAAAAZDJnNWdkMjAucjR1DAAAADRneGNodXMxLjFvdAwAAABva2t0dnFmdC56cmsM
+ AAAAbDBtbXp2bTMuZGd5DAAAAGFtY3hma2J6LnZobAwAAABzMjNrYjNqYS5zbGcMAAAAZ3h4b20z
+ a3MueG5oDAAAAHV6bHdlbGo0LjRyagwAAAAycHRjMDJzay5jbGYMAAAANGtiZmMxemQuYXcxDAAA
+ ADBha2Roam5rLmF3bAwAAABsbHNiM3Z3eS5lM3gMAAAAYmp3eHp5YzQueHNwDAAAAGdpM3lsdnJo
+ LnRxcQwAAAAyc2l2YW5iaS5kaHEMAAAAajIxZ2M0ZTMuM2NsDAAAAGJnMjRpZHh6Lm4yZQwAAAB2
+ b3pnZXJmai5yd3YMAAAAY2pyMXcxdGouazRkDAAAAGdoam5seGVjLjFuegwAAAB2dnllcGFjNC5q
+ NGIMAAAAYWF1dHN2YnYucWRuDAAAAHF3ZTAwYzJiLjExcQwAAABjYXh2d3AzZy55bjIMAAAAbXJp
+ YzF1YWQuMHJsDAAAAGp0YjVzZXF1LmF4MgwAAABzY3pyZ2xlaS5oZnUMAAAAamdseDB3aHcuZW1l
+ DAAAAGR4cG4xa210LmtkbgwAAABteHplZG1qaS5qcnIMAAAAa3FiajRjNWouYXp3DAAAADR0MnJh
+ ejFvLnlqaQwAAAB1a2Z3aTNlYy5nemQMAAAAemVjbmx6b2QubDM1DAAAAGVia2JhZDFyLnlocQwA
+ AAB5am1xaXlycC5ld2sMAAAAZ3ozaWVnNHAuaWQwDAAAADBlbmFvZXQ1LnVvagwAAAB2cGUzZTJw
+ aS5qZHAMAAAANXVsdGpweWQuc3RvDAAAAHQybmtiNHJlLmkwZwwAAAAxaHI0M2R0di4wc3EMAAAA
+ MXdhZ2pyencueXRxDAAAAHltY3VieWdrLnduZwwAAABibG1tMmdtei52Y2gMAAAAbXM0cm1lZjEu
+ aGxlDAAAAHN1eG9vanFmLmxudQwAAABnamFpb2JiMC55cmkMAAAAa3lkbWU1c28ueHRiDAAAAHEy
+ dTN1cmh5Lm5zeQwAAAAxeTJmbHp1dC53M2IMAAAAZnJwbHlwc24ubWFpDAAAADJsbm1hdzRwLnJn
+ egwAAABzeXRkd2J2aS5jd3oMAAAAeWc1ZTJmemYuZjFoDAAAAGZpYjVnaGZrLndlMAwAAABjMmJ1
+ MTF6eC5jY2UMAAAAYnc1aW1pYjUuMDJ3DAAAAHRhZTBmb2x5LmxlcAwAAABnamExM254eS41aGUM
+ AAAAengzbWt0bzQuNXV5DAAAAGVrend6bTMyLnNicwwAAABnZzB6MXh2Yi5mNG0MAAAAczIwNDVk
+ aDQudGJqDAAAADUwcmdoYmhiLnBzZgwAAAB5ajAxcHAzdS4za2oMAAAAcjFzaHdtYm8uYm9rDAAA
+ ADQxYWQxdWFlLmRhdQwAAABkZmJ2MDJ1ei4xZTUMAAAAenQyMGs1ZGwubzFqDAAAAGV3Y2Npemp6
+ LnZ6YgwAAABzZDF5cTU1Yy41M2cMAAAAaDBpaGZmd2MuY3BvDAAAAHV1NDBraDBkLjR5ZwwAAABk
+ am4yZXczMC5lbmIMAAAAc3UwemdtaG0uaHkzDAAAADRhaXRtd2psLnpyYgwAAABzYng1Zmlwbi40
+ cHQMAAAAY2NjeGlicG0ud2JiDAAAADBieHVxeDJuLmEzMAwAAAB4ZWxqcGx5dC55dWUMAAAAcXQ0
+ bTJnYXoueXlmDAAAADN4aWJpY3R4LmJ1ZAwAAABnb3BhMWY0cC5icnAMAAAAcG9oc2pmMDIuaGUy
+ DAAAAGFmYm1peXU0Lnl6bwwAAAAwbXJsZWdreC5wa2gMAAAAeW5sempseGwubmR2DAAAAGZ0eWNt
+ MTJrLmJkdAwAAABzMWVpa3hvdy5qZTIMAAAAaG9sYjNjZmkuYW9iDAAAAHp4dDNhc3IxLm40agwA
+ AAB0ZnMxZmxrMy51ZGwMAAAAZTJ6ZWZkYzQuNHRvDAAAAHFhdXI1cTFvLmthdQwAAABoNHRjMjVx
+ Mi5yNWoMAAAAajBibmhleG8uYWp0DAAAAHF0cm1rNXV0LjRpMwwAAABrZ2NuZnI0eC5oaGkMAAAA
+ MHRweTNjdnQuaDNiDAAAAHlrMHBicGkzLmxycgwAAABkand1ZGkyaS5rdW8MAAAAaDRxamo1aWQu
+ NGZtDAAAAGxyNDB0amIwLm8ycwwAAAB5emxjdTB5bi5pd2UMAAAAMHZlcDViZDUuZ2ZrDAAAAHht
+ enhibnJnLmY1egwAAAB6bnFxbWp3dy52aHMMAAAAYmhycmx4YnUucHkwDAAAAGJvcHplMTNvLmxh
+ agwAAABzNGJ4ejBndy51bTMMAAAAMmgyb3J6ZHAudnUzDAAAAGpkZGs1bWZ1Lm9hawwAAABhdHEx
+ anlseC55cXkMAAAAMGV5Y3hmd2wuaWY1DAAAADBnMmpqbXZnLnUyaQwAAABlMGJtdXJ5bi5sZnMM
+ AAAAaWRmazE0aTUueG5tDAAAAGVzMndic3RzLmxmdgwAAABycXVyb3V1aS54eGEMAAAAdGNxMXJj
+ ejIucXhtDAAAAGRoeXRzdXhlLjU1egwAAAByMGNzeWxodC5samYMAAAAandndzNmM2MuaWZiDAAA
+ AHptcGVvbHkzLjR0MwwAAAB6aXdtNHRtbS5yd2oMAAAAeXhrdnhneTEud3RhDAAAAHM0emF4cWE1
+ LnpvcwwAAAB4cW5icmkwdC5tbnEMAAAAMmV2M2MzZ3AuZHpmDAAAAHBxNXZiem9wLmh3agwAAABj
+ M3Qzd3IzMy5qY3gMAAAANXhqa2YxenMudTF2DAAAAGtkbXVvYzNrLmhodAwAAABhZ2RkY3V2bC5l
+ bnoMAAAAMnZseXYyYzUucWp1DAAAADV2c29rY2I0LnBocgwAAABiZmZnNWZmby40dGQMAAAAa2th
+ Y25xdHkuMnptDAAAAHcxdGs0cjUxLjBkNAwAAABudG5sbmJ4bi51c2sMAAAAcHQya3pobGsucTRw
+ DAAAAHd1cmcyb2IzLjVjMwwAAAA1cXA0MmdvaS50cGMMAAAAdGQ1dnBla3EuM2p0DAAAAHdwd20z
+ Y24xLmNqegwAAABtYWZhdnRkYi56cXUMAAAAcWZuams0a28ucXpkDAAAAGRja2wxdTN3LmtwYQwA
+ AAAxc3Jha291MS5rMG8MAAAAYWRrazQwdXYuaXhkDAAAAG5uMXE0MGxvLnYzYgwAAABpY2JnbWF3
+ by5hdnEMAAAAYTRkMWZleTIuNXNvDAAAAGcxejVzMWJ4LndwYQwAAAAwZWt1djU1Mi5mczAMAAAA
+ aWcxNTFwZngua29tDAAAAHZ6cGJocDBnLnBxZAwAAABmMDV3dmUzby5xZDQMAAAAMWV6dWt0cXIu
+ dmZvDAAAAHpxbXB1aTRtLjNqMwwAAABjNXFkaXBpMy55cGsMAAAAbnhvZXhvbG4udHFtDAAAAG8w
+ azQxcTFtLmwydgwAAAA1Ymp5dzRibi4xNDIMAAAAZjNkZGRwaXIuM3Z5DAAAAGpnbzR6YWhsLnZp
+ NAwAAAA0ZGMzcnNteC4zMHEMAAAAZGNxMGozNGEuY2dqDAAAAHBhNWRsa3NzLmNxcAwAAABobGhh
+ ZXFsMy5zMG4MAAAAZHlweWJ0cWQuMTBpDAAAAG50NDBmZ3JqLmRqeQwAAAAzZ3V1emJubC4yMnIM
+ AAAAd2Qyc29zcHcuMWVpDAAAADRnNWxhc2liLmVyMQwAAAB6aGtlYmxkcC5xbW0MAAAANHl3cGRx
+ MWguZHpuDAAAAGpjMmJ4aHRuLmw1cgwAAAB6djJqZG93cS5reW4MAAAAM2N0cXZncnkuMTFvDAAA
+ ADMyMjV2cXpoLms0YwwAAABrb2gxMGMxMC5mbWEMAAAAemlieGR1ZXcuNXJjDAAAAHZ6cTFtYmFy
+ LjEyZgwAAAB5cnBucDJnZy5pNGsMAAAAY3N0MGl4cXUudmNnDAAAAG5veXkzY3p6LmwybwwAAABv
+ dmdvaWs1cS54c3MMAAAAaW5xcHhxMHoueWdpDAAAAGJ0ZGtnazBrLnZxcQwAAABjazFzbXlnei5x
+ b3UMAAAAeXBicndkd3YubWFiDAAAAGlmYml0ejJ1LmpvMAwAAAB5YXcwMjUxMi5xY2UMAAAAYWZ1
+ cTNzb3IubGRiDAAAAHFyeXJhMWFsLjJwdQwAAAAzZ3cwdGtrdy5sNWEMAAAAdXF2eGJ6NGMuenhm
+ DAAAAGZ4cTVmZHplLnJ1bwwAAAB6aTRvZGpvNS52Z2IMAAAAaXJpdmN5c20ubjVpDAAAAG15NHlw
+ cmVoLnVueAwAAAB5c2ZocWpqdS4xa2UMAAAAMmQwazA0MHkuM2kwDAAAAHk1NWhud29kLnp4dQwA
+ AABsNXV2YTNoaC5oNHAMAAAAcDVoYXZ2bmMubHo1DAAAAHhraHpzdmZsLjB4dwwAAAA1dDN3cjFh
+ aC5hdW4MAAAAaHdwMDRjZnUubWFjDAAAAHJvNHkwMXc1LmowawwAAABrdXozYmN0ai40dG0MAAAA
+ cnR3c2prd3MubzF3DAAAADNjeXN0cGtuLnZ2YwwAAAAyZWR5M2hrcS56cmsMAAAAczN1emNqeTUu
+ eGF0DAAAADM1ZmNndWpwLjNsdAwAAAAybmEzbXpmei5mY3oMAAAANXllcWphYXouMjBvDAAAADBn
+ a29pNHZwLmI1dwwAAAAyZHliZWN2NC5iYWUMAAAAaWQxbno1YTUua3d5DAAAAGZzc3ExM3FvLm9y
+ ZgwAAAAxeGJxMjBudi5oM2YMAAAAazRsZ3F4aTAuZjN4DAAAAGgxYTR3MWZoLmRmbQwAAABqYTB0
+ eDFiay53MDAMAAAAbDVmZnhkYnkuMHVhDAAAADJzZTRhZ3B4Lmc1bAwAAABnbmdzY2l3MS53MGsM
+ AAAAMWZ0bXhrYzMubGF0DAAAAHNzbWF0b3JiLmJtbAwAAABseHlkajNidS4wYm0MAAAAaGwwaWkx
+ c2suMHAzDAAAAGJhbnJ4MWwxLmJ2bgwAAABwcnppcGd0eS51MXQMAAAANWFhNWwwcG8ucmUzDAAA
+ AHQzM2VjeHI0LmJpaQwAAABpbHh6MTRoMC5ycXAMAAAAdWFxMmx1MGsuemF2DAAAAGl6eTM1ZGZi
+ LnluZgwAAABvMjJjYmV2bS5jbGIMAAAAcGxsNGhjaXYuZHNnDAAAAHRidWl3c3RuLjJneAwAAABn
+ M3dnMmJ0aS4yd2MMAAAAMWNvNWY1MXIuMjRnDAAAAHNnZG56cXhkLjBqbgwAAAByenh6MTMzei55
+ bW4MAAAAMm95ZWVpajEuMXVsDAAAAHVmYnZ2MTRjLjBhNQwAAABhYWJnY2VtaC5iZm4MAAAAMXd1
+ eGJhZncubHp6DAAAADFwdDEyZGxxLmxzdQwAAAAybjJ2d2U0bi51ajAMAAAAdTFnZ3YzdzAuaHkz
+ DAAAAGlua2kxbXB3LmhkMgwAAABrc3V5bWx6by5reHgMAAAAbWt4enR0cWMubXR5DAAAADNiNGI1
+ czR0Lnd2bwwAAAB5enVoaGdwNS5oZnQMAAAAbjNneWM0cTUuZzMwDAAAAGVndW9ldHg0LmNtMAwA
+ AABta2JobmJyZS51djUMAAAAeWt5eHYwbjQuc3NmDAAAAGw0bmhhYWFsLnFnbQwAAAB6b3hlMGVn
+ ZC50MXkMAAAAZnZhbXQycWouMWVlDAAAAG16Y2J2b2ljLnE0cwwAAABoMmtrZGdsbi5vemYMAAAA
+ YnpkbGhhMTEuczJyDAAAADVjMWZxb2RmLnBxcwwAAABkanRxcXN1aS55MnYMAAAAYXVpdG13NWEu
+ emZtDAAAAG9kdzEwZ3RsLmFxNAwAAAB4cHJkdDFwcS52NW0MAAAAbG1qcWtycXYuYjFuDAAAAHBh
+ Y21pcjJnLnBkNAwAAABvbGdoM2F3Zi5qanAMAAAAeXF6bG9uMHQucnMwDAAAAHh6eHNpeGdvLnVo
+ cAwAAAB0emt1bG5jaS5ndGcMAAAAd2tlamFwMHkuemZlDAAAAGwzYnQzb2UwLmxnbAwAAAB6YnVo
+ YmNlci40d2QMAAAAMnFwcDNub2QuZmNnDAAAAHZ4M3IydHZ2Lnl1MAwAAAB6NHVidnQxby5xYWkM
+ AAAAemNlc2JuZW4uM3ZyDAAAADV5Znh2ZHV1LmhtbwwAAABvbXdjajFoNS5zbnIMAAAAaTJuaG9r
+ ZGEuM21zDAAAAHc1aGxwYXg1Lms1ZQwAAAB2NHAzcHQ0Zy52Z2oMAAAAMzMwNXFtZGguZngzDAAA
+ AHNycjV2a2liLjN0NQwAAAB2cHJ0Z3N6ai4yYWkMAAAAY2dva3pqc2EuYWdwDAAAAGk0MGFzeDN4
+ LjAybQwAAABnMGgxZ3d5aC4yNDAMAAAAZWIwczBoaGYucjByDAAAAHlscnFua21nLndyZwwAAAA0
+ c3Ayd3J2My40bzIMAAAAcXE1Z2ZyZ2YuZTRkDAAAAHprMjF4aHRxLnM1bwwAAAA0aWh3NXEzcC5z
+ MDQMAAAAZmRxdmdmNG8udGxsDAAAAGYxdnlnbmQzLnF3MwwAAAB4bGN6cWV0Mi5maXoMAAAAamVp
+ NXl0NGEuNHVhDAAAAHJmNGtiZmdmLndxegwAAAB4bnNoYWJ0aS5oYnQMAAAAenhwcnN4cnkuaGJ6
+ DAAAADFnYWI1dW1kLnN5ZAwAAABvdm1uem01MS5sNXYMAAAAd3BlZGF0NWcub2thDAAAAGp4YjV3
+ aDU0LjVnZAwAAAAxYTIyZXBjcS4xMnoMAAAAM2VucDFsaHYueDVhDAAAAGRtd29ocGdpLnJuYgwA
+ AABqdmZ1MGRwMC4weXUMAAAAZmt6aHVwcjIudGx1DAAAAGN6Z2l3emV4LmRqYgwAAABxcGptM201
+ ei56dmIMAAAAMHd1d2VobW4ubW9hDAAAAHkxZ3FtajEzLnFkZAwAAABoc2pwYWlkdS40eWwMAAAA
+ aG52cHdyMWUuaTRrDAAAAHNtdG1yZHlmLnYwawwAAABrdXBlb3hqbi5mMzAMAAAAZW9ucGNubngu
+ YmIzDAAAAGRvdmh5MXd4LmhlYgwAAAAydHRuMXRjby5nZmgMAAAAMmhkbzQ0bjAucmRiDAAAAGVp
+ ZTF1dmJtLmxkZgwAAABqenBldXduay4wZjQMAAAAZDIxZjVjenYudWN4DAAAAHB5aWZmaTRxLnlx
+ NAwAAABtZXNsNXRldy40dmYMAAAAc3ZyMDFjcHEudWduDAAAAGpvemx1Mmp4LnJnZwwAAAB4cGho
+ ZWEycy5rbG0MAAAAbnJ3cTVtNWkuMmx5DAAAAGlqZ3Nnc3Q0LjBmbwwAAAA0dWdmbHVmei5xdGUM
+ AAAAeHkxZG4xMWkucDBsDAAAAGR0dHdvY2R1LjNuNAwAAABxYW9xMGdhaS5uMW0MAAAAbHNncnB3
+ bXcuemsxDAAAAGUxMHhwb2JxLmZnbwwAAAAzbGMydGo0aC5lemIMAAAAa3d3azBydjUuMm8xDAAA
+ AHAya3ZhZGNpLmpkYgwAAAB4cmR2bW5sbi52MXcMAAAAYXowYm51bG4ua3drDAAAAGNtaXF5NHZq
+ LmFlMwwAAAAxbmNmMmEwbC5sMXQMAAAAMzVhM2ZmcmIuZmFnDAAAAGh4bHJpZDIwLmNhbQwAAABh
+ czNwcHNmdS5xd2IMAAAAdjBpMXZ6ZXguZXduDAAAAHczcHNqZ21iLnYxZwwAAAB4angyNG9uZy56
+ bGYMAAAAM3RnbzFnZnAuYnIxDAAAAGkxaDJ1b2hqLmt3NQwAAAB4ZGp6YWIway53eXEMAAAAZGph
+ MnowMjEuNTJpDAAAAHBxdHpocmNkLm93cgwAAABobXZkaXdndy4wb2cMAAAAM2d5aGd0YzMuanBk
+ DAAAAHgxYWxnZGVuLnd0dgwAAABqYjBrcGhneC51MHgMAAAAa2kxMjRpdmQuMHhqDAAAAHkxYnpy
+ b3p1LmZqaQwAAABtM20xZGIzdi5ka2IMAAAAZDAzbHB2cWYuaHl3DAAAAHdvcmZyZnhuLjJ0agwA
+ AABjMnJxemk0bC5kdXIMAAAAMjNoMmtraHEuc2h6DAAAAGxjeXl3Y2ZrLmZjegwAAABleWQ0M2Ny
+ Yy41d2kMAAAAMmhycWdzM28uamkyDAAAADJ0eTR1a2tsLjVjcwwAAAB3aHJnbmQ1Yi5lYTAMAAAA
+ amcxa2J2Y2cuYXR2DAAAADFqcWFyemhiLmNyYgwAAAAwdWhkbWY0NS5meW4MAAAAamIzYW9tMm8u
+ MGhtDAAAAHR1cnppcTRvLmpibgwAAAB5c2d0dHN4aS5ucHcMAAAAcDN0eHVtcXIubWFzDAAAAHZq
+ emVlanEzLmsydwwAAABmcG01bmdrcy52eDAMAAAAbXBzMXRtcXguM3VvDAAAADVoajFsajJkLnp5
+ cAwAAABtMXhnb3oyay50Z3IMAAAAZHNpcXpvdGgucnFqDAAAAHFxb3B5d3R5LmhoaQwAAABjaXVs
+ YWtzdC5wdXEMAAAAeWdvNGJ1MmsuMnVnDAAAAGZtY2ticm5vLnIxYgwAAABobGhhaDRuby5wcncM
+ AAAAZGI1dm92cGoudXFzDAAAADM1MnpoM3h5LjJhYgwAAAAzY3poa3VvMC5penMMAAAAM2Yxanlj
+ ZzMuajB2DAAAAGtiZHIwdzR1LmdtdAwAAAB6eDNhNHZsYS51c2sMAAAAc2J1ZmZibjQubzRwDAAA
+ ADJjMGZ2c2UzLmt2eQwAAABwZWN4MzNjMS56MDQMAAAAa21zYjFrNDIuNXBqDAAAAGNwM3ZianZ0
+ LnU1egwAAAAwbDRkbWhxdC40eG4MAAAAYWwzM2piY2MuZ3hrDAAAADNxaXBqeHYxLnhhMAwAAABl
+ aTVjZ3BiMi5qdWEMAAAAZTVvdWNnd2subW1mDAAAAGVqZmpzMGhzLm1jbAwAAAAzaXhuZWt4bS54
+ d28MAAAAdGRybWdoenoudGNiDAAAAHU0dzFldjNnLnJ5ZAwAAAByY3Bta3p3ai5lcXcMAAAANWVr
+ bG41MHcuNXM0DAAAAHh4NWx6djBtLnV3bQwAAAAwMTFjcWFuNC55enMMAAAAa25iY3JwYmwuZmx6
+ DAAAADUzbXo1d2dvLnVsbQwAAAB6eTByMGxzci5zMjIMAAAAYWhudGJ4ajQuYmJtDAAAADQybDF3
+ MnlhLmJzawwAAAB6bzAxNW01aS50enQMAAAAYmF2YWZndTIucTNlDAAAAGdzaHljcXFmLjFpZAwA
+ AAA1YjAzNXN5ZC4ybGcMAAAAbHlpZnkwaG4uenh3DAAAAGV0YXBwbGdqLmczYQwAAABtNGp0dXFh
+ di52ZWwMAAAAcWRvb2t5eHYucnF3DAAAAG9qeGI0YWhsLnZjMAwAAAA0eWNqeXd6ai54aWQMAAAA
+ c3ZqdW1uNXguNW9rDAAAADJ4amZsMmZhLm9icgwAAABjd2Z0aHBqdC5hcXMMAAAAdGM1M2JxeHMu
+ eDRjDAAAAHl4amRnYnYwLm9saAwAAABpcW5tNWh0ZS4wd2IMAAAAbGcxeXprNHEuNWpkDAAAADUy
+ dG92MmJ6LjVkaAwAAABrYzNxMWtjMS5qeXkMAAAAZ3NoeHYzeTEuNXR6DAAAAGpydWtvMGNxLnJn
+ YwwAAABlamFydmxmaS41cDUMAAAAeXgwdGpzeWEudGlvDAAAAGd1MGJ5NGJvLm4weAwAAABrejVr
+ aDB6Yy53MGQMAAAAejNwZm5heHIuaWF6DAAAAHR5ZWI1YnFqLjN4NQwAAAByd3RzbmJuci56dGEM
+ AAAANXB0dDV5MzQuNWhiDAAAAGhwZmVwMHFyLmFrYwwAAABiaW5rMHlyYy5qd28MAAAAcG1lenBz
+ amwuamQzDAAAADAzbGVnZHRvLmx5eQwAAABiMzNkYWk0My5xZXgMAAAAZGxudHFnbzMubm5xDAAA
+ AGJnaGJoa2VlLnRpcwwAAAByazBxM3Btay5jNDAMAAAAdnFjYXIxMnUua3pwDAAAADVid2FvZmJu
+ LnVwZwwAAABiZzJremkwZS53cGkMAAAAZTU0enhjZnMubHR5DAAAAGVtMDVzMnBpLm90MQwAAABv
+ YjFwMzUxbi54bWwMAAAAMGh1a3R4d2wuamV0DAAAAGtiaDF6dWxpLnA0MgwAAAB6b2NrZWtiYy5r
+ azAMAAAAd2pwYTFjMnIudmpxDAAAAHVkbmFrMXlhLjJscQwAAABub3BsenF1Zy5mY3cMAAAAZWdh
+ ZGJpd2EuZnN0DAAAAGJ2cmdkM2tjLmZmYgwAAABybnhrY2xnMy5lcmEMAAAAZGhmeGtoMmwud2wx
+ DAAAAGFyZHBqbDNoLmJvYwwAAAB3a2gzdWZ4eC55cGoMAAAAeXF5YmJoc2IucHVpDAAAAHRtem41
+ cXlzLnpwcwwAAABhNGVjZ3ZiYi51cGsMAAAAem5wMmd6MmoubGwwDAAAAHJwMHJhcHhuLml6cwwA
+ AAA0dHp0ZWRtbC54ZXcMAAAAbXEwc2Zqem0uMGVyDAAAAGN5Mmx3b24xLnczdwwAAAAxbHV1cm5x
+ Yi5qcGUMAAAAc2g1dmdrM3AuaHRqDAAAAHRlMHduYm8yLmJwcgwAAABteTB1czE1NC51b24MAAAA
+ NWhmZ2NyanYuanJjDAAAAGlmbGxpMHl3LjNkegwAAAA1eWJkamdnaC5nZHEMAAAAY2dqaWFvejUu
+ bHlpDAAAAHJ6aXc1MnViLmM0ZQwAAAByNG1xMGlzZC4xbWMMAAAAeGJlcW5md2UuNG8xDAAAAHVw
+ dTF3aXN4LnhvaQwAAABoaGd4ZHk0cS5qYnYMAAAAcXYzYjBqb3AubWFhDAAAAGR3NGQxZ2hjLjRj
+ MQwAAAB0cHNrdnJyMS5iczAMAAAAb3h0Z2N1M2EuZ2gxDAAAADNvamFlaGJ4Lm9rdAwAAAA1dGF0
+ ZmZwby50ZjQMAAAAdHM1c2N5c2gudnZwDAAAAHZncGE0amJrLnRrMgwAAABoamN3c2RvMi5waHEM
+ AAAAenZjMTMwZ3UuYjBpDAAAAHI0MWdrb2pjLnV3ZwwAAABnaHUwazByai40c24MAAAAZnoxM294
+ NGgubWxqDAAAAHMyZ2JjNXBqLnF0NQwAAAAycHJmb3Joai5mYjEMAAAAdm1icm1ucWIubGIzDAAA
+ AG1paHd2NWxhLmFmZwwAAABkdGhuZTRubC5saWsMAAAAdHh0dmZpdHcubnN2DAAAAGtiZHR5bjBs
+ LjFhaAwAAABzYmhia3Zhcy5qMm8MAAAAMHJzcDRtZmouZXU1DAAAAHpxeXVzZTV3LmY1NQwAAABr
+ Z2dwZzVzZS5nYWgMAAAAbTRjaTV4ZXoubGxhDAAAADEycTFkenBxLmEwdAwAAABuY3lyMnFzcy41
+ YTAMAAAAc2Zka2VsbW0ub3RyDAAAADRiZWdsMmZtLnh4NQwAAABzdnBscXhoNS5lbHcMAAAAZ3hh
+ b2FhbzUuZjJ4DAAAAG40c3JkZmt6LjQ0dgwAAABicHR2Mm5qbS50amwMAAAAY2FoZTBidGouYTBz
+ DAAAAGFkMGQ1dHJoLm0xdgwAAAB6dWswMW9hMy51M3gMAAAAcXoxdm90c2kudXg1DAAAAGl2Yndu
+ MjAxLnIzNQwAAABveW5xaHd2YS5ldGIMAAAAdHAzaG56b3AuZjVlDAAAAGpxcjJwbHhqLmVldAwA
+ AABnY2FvZG1iYS56M3MMAAAAandxejBkaGEueGF1DAAAAGt2MG5oMmZuLnZpYgwAAAAxNGMzanEw
+ dS5peW0MAAAAM212NGw0NTEuaGFsDAAAAGVxbXpoMXgwLjJuawwAAABzbGZub2xndy5jMHgMAAAA
+ dTNmZjVkdmIuZHozDAAAADVwNWZlMm9pLnN6cwwAAAAybmF5ajFwdS5pZG8MAAAAZDAycmZiM24u
+ djBhDAAAAGx3eW40d29jLmQyZwwAAAAycjR6bHRubS5qMWoMAAAAMWlyYnltMnQudXdpDAAAADBh
+ eHpqbTRwLjJycQwAAABibXR1eTBsaS4yZ2UVAhlMSBVwYXJxdWV0LWRvdG5ldC1zY2hlbWEVBgAV
+ DCUCGAJpZCUAABUMJQIYB3N0cmluZzElAAAVDCUCGAdzdHJpbmcyJQAAFqAfGSwZPCYIHBUMGTUG
+ CAAZGAJpZBUAFtAPFrhsFrhsJgg8GAM5OTkYATAWABbQDxgDOTk5GAEwAAAAJsBsHBUMGTUGCAAZ
+ GAdzdHJpbmcxFQAW0A8WuPsBFrj7ASbAbDwYDHp6cTBrZnk0LnZibhgMMDF3d3llNGcucGZzFgAW
+ 0A8YDHp6cTBrZnk0LnZibhgMMDF3d3llNGcucGZzAAAAJvjnAhwVDBk1BggAGRgHc3RyaW5nMhUA
+ FtAPFrj7ARa4+wEm+OcCPBgMenpxMGtmeTQudmJuGAwwMXd3eWU0Zy5wZnMWABbQDxgMenpxMGtm
+ eTQudmJuGAwwMXd3eWU0Zy5wZnMAAAAWqOMEFtAPABk8JrDjBBwVDBk1BggAGRgCaWQVABbQDxb0
+ fRb0fSaw4wQ8GAQxOTk5GAQxMDAwFgAW0A8YBDE5OTkYBDEwMDAAAAAmpOEFHBUMGTUGCAAZGAdz
+ dHJpbmcxFQAW0A8WuPsBFrj7ASak4QU8GAx6emxneXhhNS40eWEYDDAxMWNxYW40Lnl6cxYAFtAP
+ GAx6emxneXhhNS40eWEYDDAxMWNxYW40Lnl6cwAAACbc3AccFQwZNQYIABkYB3N0cmluZzIVABbQ
+ Dxa4+wEWuPsBJtzcBzwYDHp6bGd5eGE1LjR5YRgMMDExY3FhbjQueXpzFgAW0A8YDHp6bGd5eGE1
+ LjR5YRgMMDExY3FhbjQueXpzAAAAFuT0BBbQDwAoTFBhcnF1ZXQuTmV0IHZlcnNpb24gMy41LjMg
+ KGJ1aWxkICcwNTc0NTFiMzc2ZmE3ZDM1ODFmMmQxODAxZmIwOTY1YWZiZWFhMGMyJykAxQIAAFBB
+ UjE=
+ headers:
+ Accept:
+ - application/json
+ Accept-Encoding:
+ - gzip, deflate
+ Connection:
+ - keep-alive
+ Content-Length:
+ - '80087'
+ Content-Type:
+ - application/json
+ User-Agent:
+ - azsdk-python-storage-dfs/12.4.0b1 Python/3.8.5 (Windows-10-10.0.19041-SP0)
+ x-ms-client-request-id:
+ - 6137edf4-996d-11eb-b015-c8348e5fffbf
+ x-ms-date:
+ - Fri, 09 Apr 2021 19:54:22 GMT
+ x-ms-version:
+ - '2020-06-12'
+ method: PATCH
+ uri: https://storagename.dfs.core.windows.net/utqqcontainerb38317df/csvfileb38317df?action=append&position=0
+ response:
+ body:
+ string: ''
+ headers:
+ Content-Length:
+ - '0'
+ Date:
+ - Fri, 09 Apr 2021 19:54:21 GMT
+ Server:
+ - Windows-Azure-HDFS/1.0 Microsoft-HTTPAPI/2.0
+ x-ms-request-id:
+ - 1577b504-101f-0007-367a-2d398a000000
+ x-ms-request-server-encrypted:
+ - 'true'
+ x-ms-version:
+ - '2020-06-12'
+ status:
+ code: 202
+ message: Accepted
+- request:
+ body: null
+ headers:
+ Accept:
+ - application/json
+ Accept-Encoding:
+ - gzip, deflate
+ Connection:
+ - keep-alive
+ Content-Length:
+ - '0'
+ If-Match:
+ - '"0x8D8FB9145645382"'
+ User-Agent:
+ - azsdk-python-storage-dfs/12.4.0b1 Python/3.8.5 (Windows-10-10.0.19041-SP0)
+ x-ms-client-request-id:
+ - 615e1394-996d-11eb-915d-c8348e5fffbf
+ x-ms-date:
+ - Fri, 09 Apr 2021 19:54:22 GMT
+ x-ms-version:
+ - '2020-06-12'
+ method: PATCH
+ uri: https://storagename.dfs.core.windows.net/utqqcontainerb38317df/csvfileb38317df?action=flush&position=80087&close=true
+ response:
+ body:
+ string: ''
+ headers:
+ Content-Length:
+ - '0'
+ Date:
+ - Fri, 09 Apr 2021 19:54:22 GMT
+ ETag:
+ - '"0x8D8FB9145A3D919"'
+ Last-Modified:
+ - Fri, 09 Apr 2021 19:54:23 GMT
+ Server:
+ - Windows-Azure-HDFS/1.0 Microsoft-HTTPAPI/2.0
+ x-ms-request-id:
+ - 1577b505-101f-0007-377a-2d398a000000
+ x-ms-request-server-encrypted:
+ - 'false'
+ x-ms-version:
+ - '2020-06-12'
+ status:
+ code: 200
+ message: OK
+- request:
+ body: '
+
+ SQLselect * from blobstorage
+ where id < 1;parquet
+ '
+ headers:
+ Accept:
+ - application/xml
+ Accept-Encoding:
+ - gzip, deflate
+ Connection:
+ - keep-alive
+ Content-Length:
+ - '293'
+ Content-Type:
+ - application/xml
+ User-Agent:
+ - azsdk-python-storage-dfs/12.4.0b1 Python/3.8.5 (Windows-10-10.0.19041-SP0)
+ x-ms-client-request-id:
+ - 617433b5-996d-11eb-a99a-c8348e5fffbf
+ x-ms-date:
+ - Fri, 09 Apr 2021 19:54:23 GMT
+ x-ms-encryption-algorithm:
+ - AES256
+ x-ms-version:
+ - '2020-08-04'
+ method: POST
+ uri: https://storagename.blob.core.windows.net/utqqcontainerb38317df/csvfileb38317df?comp=query
+ response:
+ body:
+ string: !!binary |
+ T2JqAQIWYXZyby5zY2hlbWHOHlsKICB7CiAgICAidHlwZSI6ICJyZWNvcmQiLAogICAgIm5hbWUi
+ OiAiY29tLm1pY3Jvc29mdC5henVyZS5zdG9yYWdlLnF1ZXJ5QmxvYkNvbnRlbnRzLnJlc3VsdERh
+ dGEiLAogICAgImRvYyI6ICJIb2xkcyByZXN1bHQgZGF0YSBpbiB0aGUgZm9ybWF0IHNwZWNpZmll
+ ZCBmb3IgdGhpcyBxdWVyeSAoQ1NWLCBKU09OLCBldGMuKS4iLAogICAgImZpZWxkcyI6IFsKICAg
+ ICAgewogICAgICAgICJuYW1lIjogImRhdGEiLAogICAgICAgICJ0eXBlIjogImJ5dGVzIgogICAg
+ ICB9CiAgICBdCiAgfSwKICB7CiAgICAidHlwZSI6ICJyZWNvcmQiLAogICAgIm5hbWUiOiAiY29t
+ Lm1pY3Jvc29mdC5henVyZS5zdG9yYWdlLnF1ZXJ5QmxvYkNvbnRlbnRzLmVycm9yIiwKICAgICJk
+ b2MiOiAiQW4gZXJyb3IgdGhhdCBvY2N1cnJlZCB3aGlsZSBwcm9jZXNzaW5nIHRoZSBxdWVyeS4i
+ LAogICAgImZpZWxkcyI6IFsKICAgICAgewogICAgICAgICJuYW1lIjogImZhdGFsIiwKICAgICAg
+ ICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAiZG9jIjogIklmIHRydWUsIHRoaXMgZXJyb3Ig
+ cHJldmVudHMgZnVydGhlciBxdWVyeSBwcm9jZXNzaW5nLiAgTW9yZSByZXN1bHQgZGF0YSBtYXkg
+ YmUgcmV0dXJuZWQsIGJ1dCB0aGVyZSBpcyBubyBndWFyYW50ZWUgdGhhdCBhbGwgb2YgdGhlIG9y
+ aWdpbmFsIGRhdGEgd2lsbCBiZSBwcm9jZXNzZWQuICBJZiBmYWxzZSwgdGhpcyBlcnJvciBkb2Vz
+ IG5vdCBwcmV2ZW50IGZ1cnRoZXIgcXVlcnkgcHJvY2Vzc2luZy4iCiAgICAgIH0sCiAgICAgIHsK
+ ICAgICAgICAibmFtZSI6ICJuYW1lIiwKICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAg
+ ICJkb2MiOiAiVGhlIG5hbWUgb2YgdGhlIGVycm9yIgogICAgICB9LAogICAgICB7CiAgICAgICAg
+ Im5hbWUiOiAiZGVzY3JpcHRpb24iLAogICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAg
+ ImRvYyI6ICJBIGRlc2NyaXB0aW9uIG9mIHRoZSBlcnJvciIKICAgICAgfSwKICAgICAgewogICAg
+ ICAgICJuYW1lIjogInBvc2l0aW9uIiwKICAgICAgICAidHlwZSI6ICJsb25nIiwKICAgICAgICAi
+ ZG9jIjogIlRoZSByZWNvcmQgb2Zmc2V0IGluIHRoZSBibG9iIGF0IHdoaWNoIHRoZSBlcnJvciBv
+ Y2N1cnJlZCIKICAgICAgfQogICAgXQogIH0sCiAgewogICAgInR5cGUiOiAicmVjb3JkIiwKICAg
+ ICJuYW1lIjogImNvbS5taWNyb3NvZnQuYXp1cmUuc3RvcmFnZS5xdWVyeUJsb2JDb250ZW50cy5w
+ cm9ncmVzcyIsCiAgICAiZG9jIjogIkluZm9ybWF0aW9uIGFib3V0IHRoZSBwcm9ncmVzcyBvZiB0
+ aGUgcXVlcnkiLAogICAgImZpZWxkcyI6IFsKICAgICAgewogICAgICAgICJuYW1lIjogImJ5dGVz
+ U2Nhbm5lZCIsCiAgICAgICAgInR5cGUiOiAibG9uZyIsCiAgICAgICAgImRvYyI6ICJUaGUgbnVt
+ YmVyIG9mIGJ5dGVzIHRoYXQgaGF2ZSBiZWVuIHNjYW5uZWQiCiAgICAgIH0sCiAgICAgIHsKICAg
+ ICAgICAibmFtZSI6ICJ0b3RhbEJ5dGVzIiwKICAgICAgICAidHlwZSI6ICJsb25nIiwKICAgICAg
+ ICAiZG9jIjogIlRoZSB0b3RhbCBudW1iZXIgb2YgYnl0ZXMgdG8gYmUgc2Nhbm5lZCBpbiB0aGlz
+ IHF1ZXJ5IgogICAgICB9CiAgICBdCiAgfSwKICB7CiAgICAidHlwZSI6ICJyZWNvcmQiLAogICAg
+ Im5hbWUiOiAiY29tLm1pY3Jvc29mdC5henVyZS5zdG9yYWdlLnF1ZXJ5QmxvYkNvbnRlbnRzLmVu
+ ZCIsCiAgICAiZG9jIjogIlNlbnQgYXMgdGhlIGZpbmFsIG1lc3NhZ2Ugb2YgdGhlIHJlc3BvbnNl
+ LCBpbmRpY2F0aW5nIHRoYXQgYWxsIHJlc3VsdHMgaGF2ZSBiZWVuIHNlbnQuIiwKICAgICJmaWVs
+ ZHMiOiBbCiAgICAgIHsKICAgICAgICAibmFtZSI6ICJ0b3RhbEJ5dGVzIiwKICAgICAgICAidHlw
+ ZSI6ICJsb25nIiwKICAgICAgICAiZG9jIjogIlRoZSB0b3RhbCBudW1iZXIgb2YgYnl0ZXMgc2Nh
+ bm5lZCBpbiB0aGlzIHF1ZXJ5IgogICAgICB9CiAgICBdCiAgfQpdCgDTcqc2iYsPRaCt87a9W16y
+ AjwAODAsbWRpZmp0NTUuZWEzLG1kaWZqdDU1LmVhMwrTcqc2iYsPRaCt87a9W16yAg4Ewu4EruMJ
+ 03KnNomLD0WgrfO2vVtesgIIBq7jCdNypzaJiw9FoK3ztr1bXrI=
+ headers:
+ Accept-Ranges:
+ - bytes
+ Content-Type:
+ - avro/binary
+ Date:
+ - Fri, 09 Apr 2021 19:54:23 GMT
+ ETag:
+ - '"0x8D8FB9145A3D919"'
+ Last-Modified:
+ - Fri, 09 Apr 2021 19:54:23 GMT
+ Server:
+ - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0
+ Transfer-Encoding:
+ - chunked
+ x-ms-blob-type:
+ - BlockBlob
+ x-ms-creation-time:
+ - Fri, 09 Apr 2021 04:03:15 GMT
+ x-ms-lease-state:
+ - available
+ x-ms-lease-status:
+ - unlocked
+ x-ms-request-id:
+ - 6f7f6af3-e01e-0012-6f7a-2dfb13000000
+ x-ms-server-encrypted:
+ - 'true'
+ x-ms-version:
+ - '2020-08-04'
+ status:
+ code: 200
+ message: OK
+version: 1
diff --git a/sdk/storage/azure-storage-file-datalake/tests/recordings/test_quick_query.test_quick_query_output_in_parquet_format.yaml b/sdk/storage/azure-storage-file-datalake/tests/recordings/test_quick_query.test_quick_query_output_in_parquet_format.yaml
new file mode 100644
index 000000000000..c408d32ecffa
--- /dev/null
+++ b/sdk/storage/azure-storage-file-datalake/tests/recordings/test_quick_query.test_quick_query_output_in_parquet_format.yaml
@@ -0,0 +1,1542 @@
+interactions:
+- request:
+ body: null
+ headers:
+ Accept:
+ - application/json
+ Accept-Encoding:
+ - gzip, deflate
+ Connection:
+ - keep-alive
+ Content-Length:
+ - '0'
+ User-Agent:
+ - azsdk-python-storage-dfs/12.4.0b1 Python/3.8.5 (Windows-10-10.0.19041-SP0)
+ x-ms-client-request-id:
+ - 66737680-996d-11eb-a17f-c8348e5fffbf
+ x-ms-date:
+ - Fri, 09 Apr 2021 19:54:31 GMT
+ x-ms-properties:
+ - ''
+ x-ms-version:
+ - '2020-06-12'
+ method: PUT
+ uri: https://storagename.dfs.core.windows.net/utqqcontainercdb31860/csvfilecdb31860?resource=file
+ response:
+ body:
+ string: ''
+ headers:
+ Content-Length:
+ - '0'
+ Date:
+ - Fri, 09 Apr 2021 19:54:31 GMT
+ ETag:
+ - '"0x8D8FB914AE5DEAD"'
+ Last-Modified:
+ - Fri, 09 Apr 2021 19:54:31 GMT
+ Server:
+ - Windows-Azure-HDFS/1.0 Microsoft-HTTPAPI/2.0
+ x-ms-request-id:
+ - 1b04ce30-501f-000b-7c7a-2dd77b000000
+ x-ms-request-server-encrypted:
+ - 'true'
+ x-ms-version:
+ - '2020-06-12'
+ status:
+ code: 201
+ message: Created
+- request:
+ body: !!binary |
+ UEFSMRUAFeJrFeJrLBXQDxUAFQYVBhwYAzk5ORgBMBYAFtAPGAM5OTkYATAAAAADAAAA0A8BAQAA
+ ADABAAAAMQEAAAAyAQAAADMBAAAANAEAAAA1AQAAADYBAAAANwEAAAA4AQAAADkCAAAAMTACAAAA
+ MTECAAAAMTICAAAAMTMCAAAAMTQCAAAAMTUCAAAAMTYCAAAAMTcCAAAAMTgCAAAAMTkCAAAAMjAC
+ AAAAMjECAAAAMjICAAAAMjMCAAAAMjQCAAAAMjUCAAAAMjYCAAAAMjcCAAAAMjgCAAAAMjkCAAAA
+ MzACAAAAMzECAAAAMzICAAAAMzMCAAAAMzQCAAAAMzUCAAAAMzYCAAAAMzcCAAAAMzgCAAAAMzkC
+ AAAANDACAAAANDECAAAANDICAAAANDMCAAAANDQCAAAANDUCAAAANDYCAAAANDcCAAAANDgCAAAA
+ NDkCAAAANTACAAAANTECAAAANTICAAAANTMCAAAANTQCAAAANTUCAAAANTYCAAAANTcCAAAANTgC
+ AAAANTkCAAAANjACAAAANjECAAAANjICAAAANjMCAAAANjQCAAAANjUCAAAANjYCAAAANjcCAAAA
+ NjgCAAAANjkCAAAANzACAAAANzECAAAANzICAAAANzMCAAAANzQCAAAANzUCAAAANzYCAAAANzcC
+ AAAANzgCAAAANzkCAAAAODACAAAAODECAAAAODICAAAAODMCAAAAODQCAAAAODUCAAAAODYCAAAA
+ ODcCAAAAODgCAAAAODkCAAAAOTACAAAAOTECAAAAOTICAAAAOTMCAAAAOTQCAAAAOTUCAAAAOTYC
+ AAAAOTcCAAAAOTgCAAAAOTkDAAAAMTAwAwAAADEwMQMAAAAxMDIDAAAAMTAzAwAAADEwNAMAAAAx
+ MDUDAAAAMTA2AwAAADEwNwMAAAAxMDgDAAAAMTA5AwAAADExMAMAAAAxMTEDAAAAMTEyAwAAADEx
+ MwMAAAAxMTQDAAAAMTE1AwAAADExNgMAAAAxMTcDAAAAMTE4AwAAADExOQMAAAAxMjADAAAAMTIx
+ AwAAADEyMgMAAAAxMjMDAAAAMTI0AwAAADEyNQMAAAAxMjYDAAAAMTI3AwAAADEyOAMAAAAxMjkD
+ AAAAMTMwAwAAADEzMQMAAAAxMzIDAAAAMTMzAwAAADEzNAMAAAAxMzUDAAAAMTM2AwAAADEzNwMA
+ AAAxMzgDAAAAMTM5AwAAADE0MAMAAAAxNDEDAAAAMTQyAwAAADE0MwMAAAAxNDQDAAAAMTQ1AwAA
+ ADE0NgMAAAAxNDcDAAAAMTQ4AwAAADE0OQMAAAAxNTADAAAAMTUxAwAAADE1MgMAAAAxNTMDAAAA
+ MTU0AwAAADE1NQMAAAAxNTYDAAAAMTU3AwAAADE1OAMAAAAxNTkDAAAAMTYwAwAAADE2MQMAAAAx
+ NjIDAAAAMTYzAwAAADE2NAMAAAAxNjUDAAAAMTY2AwAAADE2NwMAAAAxNjgDAAAAMTY5AwAAADE3
+ MAMAAAAxNzEDAAAAMTcyAwAAADE3MwMAAAAxNzQDAAAAMTc1AwAAADE3NgMAAAAxNzcDAAAAMTc4
+ AwAAADE3OQMAAAAxODADAAAAMTgxAwAAADE4MgMAAAAxODMDAAAAMTg0AwAAADE4NQMAAAAxODYD
+ AAAAMTg3AwAAADE4OAMAAAAxODkDAAAAMTkwAwAAADE5MQMAAAAxOTIDAAAAMTkzAwAAADE5NAMA
+ AAAxOTUDAAAAMTk2AwAAADE5NwMAAAAxOTgDAAAAMTk5AwAAADIwMAMAAAAyMDEDAAAAMjAyAwAA
+ ADIwMwMAAAAyMDQDAAAAMjA1AwAAADIwNgMAAAAyMDcDAAAAMjA4AwAAADIwOQMAAAAyMTADAAAA
+ MjExAwAAADIxMgMAAAAyMTMDAAAAMjE0AwAAADIxNQMAAAAyMTYDAAAAMjE3AwAAADIxOAMAAAAy
+ MTkDAAAAMjIwAwAAADIyMQMAAAAyMjIDAAAAMjIzAwAAADIyNAMAAAAyMjUDAAAAMjI2AwAAADIy
+ NwMAAAAyMjgDAAAAMjI5AwAAADIzMAMAAAAyMzEDAAAAMjMyAwAAADIzMwMAAAAyMzQDAAAAMjM1
+ AwAAADIzNgMAAAAyMzcDAAAAMjM4AwAAADIzOQMAAAAyNDADAAAAMjQxAwAAADI0MgMAAAAyNDMD
+ AAAAMjQ0AwAAADI0NQMAAAAyNDYDAAAAMjQ3AwAAADI0OAMAAAAyNDkDAAAAMjUwAwAAADI1MQMA
+ AAAyNTIDAAAAMjUzAwAAADI1NAMAAAAyNTUDAAAAMjU2AwAAADI1NwMAAAAyNTgDAAAAMjU5AwAA
+ ADI2MAMAAAAyNjEDAAAAMjYyAwAAADI2MwMAAAAyNjQDAAAAMjY1AwAAADI2NgMAAAAyNjcDAAAA
+ MjY4AwAAADI2OQMAAAAyNzADAAAAMjcxAwAAADI3MgMAAAAyNzMDAAAAMjc0AwAAADI3NQMAAAAy
+ NzYDAAAAMjc3AwAAADI3OAMAAAAyNzkDAAAAMjgwAwAAADI4MQMAAAAyODIDAAAAMjgzAwAAADI4
+ NAMAAAAyODUDAAAAMjg2AwAAADI4NwMAAAAyODgDAAAAMjg5AwAAADI5MAMAAAAyOTEDAAAAMjky
+ AwAAADI5MwMAAAAyOTQDAAAAMjk1AwAAADI5NgMAAAAyOTcDAAAAMjk4AwAAADI5OQMAAAAzMDAD
+ AAAAMzAxAwAAADMwMgMAAAAzMDMDAAAAMzA0AwAAADMwNQMAAAAzMDYDAAAAMzA3AwAAADMwOAMA
+ AAAzMDkDAAAAMzEwAwAAADMxMQMAAAAzMTIDAAAAMzEzAwAAADMxNAMAAAAzMTUDAAAAMzE2AwAA
+ ADMxNwMAAAAzMTgDAAAAMzE5AwAAADMyMAMAAAAzMjEDAAAAMzIyAwAAADMyMwMAAAAzMjQDAAAA
+ MzI1AwAAADMyNgMAAAAzMjcDAAAAMzI4AwAAADMyOQMAAAAzMzADAAAAMzMxAwAAADMzMgMAAAAz
+ MzMDAAAAMzM0AwAAADMzNQMAAAAzMzYDAAAAMzM3AwAAADMzOAMAAAAzMzkDAAAAMzQwAwAAADM0
+ MQMAAAAzNDIDAAAAMzQzAwAAADM0NAMAAAAzNDUDAAAAMzQ2AwAAADM0NwMAAAAzNDgDAAAAMzQ5
+ AwAAADM1MAMAAAAzNTEDAAAAMzUyAwAAADM1MwMAAAAzNTQDAAAAMzU1AwAAADM1NgMAAAAzNTcD
+ AAAAMzU4AwAAADM1OQMAAAAzNjADAAAAMzYxAwAAADM2MgMAAAAzNjMDAAAAMzY0AwAAADM2NQMA
+ AAAzNjYDAAAAMzY3AwAAADM2OAMAAAAzNjkDAAAAMzcwAwAAADM3MQMAAAAzNzIDAAAAMzczAwAA
+ ADM3NAMAAAAzNzUDAAAAMzc2AwAAADM3NwMAAAAzNzgDAAAAMzc5AwAAADM4MAMAAAAzODEDAAAA
+ MzgyAwAAADM4MwMAAAAzODQDAAAAMzg1AwAAADM4NgMAAAAzODcDAAAAMzg4AwAAADM4OQMAAAAz
+ OTADAAAAMzkxAwAAADM5MgMAAAAzOTMDAAAAMzk0AwAAADM5NQMAAAAzOTYDAAAAMzk3AwAAADM5
+ OAMAAAAzOTkDAAAANDAwAwAAADQwMQMAAAA0MDIDAAAANDAzAwAAADQwNAMAAAA0MDUDAAAANDA2
+ AwAAADQwNwMAAAA0MDgDAAAANDA5AwAAADQxMAMAAAA0MTEDAAAANDEyAwAAADQxMwMAAAA0MTQD
+ AAAANDE1AwAAADQxNgMAAAA0MTcDAAAANDE4AwAAADQxOQMAAAA0MjADAAAANDIxAwAAADQyMgMA
+ AAA0MjMDAAAANDI0AwAAADQyNQMAAAA0MjYDAAAANDI3AwAAADQyOAMAAAA0MjkDAAAANDMwAwAA
+ ADQzMQMAAAA0MzIDAAAANDMzAwAAADQzNAMAAAA0MzUDAAAANDM2AwAAADQzNwMAAAA0MzgDAAAA
+ NDM5AwAAADQ0MAMAAAA0NDEDAAAANDQyAwAAADQ0MwMAAAA0NDQDAAAANDQ1AwAAADQ0NgMAAAA0
+ NDcDAAAANDQ4AwAAADQ0OQMAAAA0NTADAAAANDUxAwAAADQ1MgMAAAA0NTMDAAAANDU0AwAAADQ1
+ NQMAAAA0NTYDAAAANDU3AwAAADQ1OAMAAAA0NTkDAAAANDYwAwAAADQ2MQMAAAA0NjIDAAAANDYz
+ AwAAADQ2NAMAAAA0NjUDAAAANDY2AwAAADQ2NwMAAAA0NjgDAAAANDY5AwAAADQ3MAMAAAA0NzED
+ AAAANDcyAwAAADQ3MwMAAAA0NzQDAAAANDc1AwAAADQ3NgMAAAA0NzcDAAAANDc4AwAAADQ3OQMA
+ AAA0ODADAAAANDgxAwAAADQ4MgMAAAA0ODMDAAAANDg0AwAAADQ4NQMAAAA0ODYDAAAANDg3AwAA
+ ADQ4OAMAAAA0ODkDAAAANDkwAwAAADQ5MQMAAAA0OTIDAAAANDkzAwAAADQ5NAMAAAA0OTUDAAAA
+ NDk2AwAAADQ5NwMAAAA0OTgDAAAANDk5AwAAADUwMAMAAAA1MDEDAAAANTAyAwAAADUwMwMAAAA1
+ MDQDAAAANTA1AwAAADUwNgMAAAA1MDcDAAAANTA4AwAAADUwOQMAAAA1MTADAAAANTExAwAAADUx
+ MgMAAAA1MTMDAAAANTE0AwAAADUxNQMAAAA1MTYDAAAANTE3AwAAADUxOAMAAAA1MTkDAAAANTIw
+ AwAAADUyMQMAAAA1MjIDAAAANTIzAwAAADUyNAMAAAA1MjUDAAAANTI2AwAAADUyNwMAAAA1MjgD
+ AAAANTI5AwAAADUzMAMAAAA1MzEDAAAANTMyAwAAADUzMwMAAAA1MzQDAAAANTM1AwAAADUzNgMA
+ AAA1MzcDAAAANTM4AwAAADUzOQMAAAA1NDADAAAANTQxAwAAADU0MgMAAAA1NDMDAAAANTQ0AwAA
+ ADU0NQMAAAA1NDYDAAAANTQ3AwAAADU0OAMAAAA1NDkDAAAANTUwAwAAADU1MQMAAAA1NTIDAAAA
+ NTUzAwAAADU1NAMAAAA1NTUDAAAANTU2AwAAADU1NwMAAAA1NTgDAAAANTU5AwAAADU2MAMAAAA1
+ NjEDAAAANTYyAwAAADU2MwMAAAA1NjQDAAAANTY1AwAAADU2NgMAAAA1NjcDAAAANTY4AwAAADU2
+ OQMAAAA1NzADAAAANTcxAwAAADU3MgMAAAA1NzMDAAAANTc0AwAAADU3NQMAAAA1NzYDAAAANTc3
+ AwAAADU3OAMAAAA1NzkDAAAANTgwAwAAADU4MQMAAAA1ODIDAAAANTgzAwAAADU4NAMAAAA1ODUD
+ AAAANTg2AwAAADU4NwMAAAA1ODgDAAAANTg5AwAAADU5MAMAAAA1OTEDAAAANTkyAwAAADU5MwMA
+ AAA1OTQDAAAANTk1AwAAADU5NgMAAAA1OTcDAAAANTk4AwAAADU5OQMAAAA2MDADAAAANjAxAwAA
+ ADYwMgMAAAA2MDMDAAAANjA0AwAAADYwNQMAAAA2MDYDAAAANjA3AwAAADYwOAMAAAA2MDkDAAAA
+ NjEwAwAAADYxMQMAAAA2MTIDAAAANjEzAwAAADYxNAMAAAA2MTUDAAAANjE2AwAAADYxNwMAAAA2
+ MTgDAAAANjE5AwAAADYyMAMAAAA2MjEDAAAANjIyAwAAADYyMwMAAAA2MjQDAAAANjI1AwAAADYy
+ NgMAAAA2MjcDAAAANjI4AwAAADYyOQMAAAA2MzADAAAANjMxAwAAADYzMgMAAAA2MzMDAAAANjM0
+ AwAAADYzNQMAAAA2MzYDAAAANjM3AwAAADYzOAMAAAA2MzkDAAAANjQwAwAAADY0MQMAAAA2NDID
+ AAAANjQzAwAAADY0NAMAAAA2NDUDAAAANjQ2AwAAADY0NwMAAAA2NDgDAAAANjQ5AwAAADY1MAMA
+ AAA2NTEDAAAANjUyAwAAADY1MwMAAAA2NTQDAAAANjU1AwAAADY1NgMAAAA2NTcDAAAANjU4AwAA
+ ADY1OQMAAAA2NjADAAAANjYxAwAAADY2MgMAAAA2NjMDAAAANjY0AwAAADY2NQMAAAA2NjYDAAAA
+ NjY3AwAAADY2OAMAAAA2NjkDAAAANjcwAwAAADY3MQMAAAA2NzIDAAAANjczAwAAADY3NAMAAAA2
+ NzUDAAAANjc2AwAAADY3NwMAAAA2NzgDAAAANjc5AwAAADY4MAMAAAA2ODEDAAAANjgyAwAAADY4
+ MwMAAAA2ODQDAAAANjg1AwAAADY4NgMAAAA2ODcDAAAANjg4AwAAADY4OQMAAAA2OTADAAAANjkx
+ AwAAADY5MgMAAAA2OTMDAAAANjk0AwAAADY5NQMAAAA2OTYDAAAANjk3AwAAADY5OAMAAAA2OTkD
+ AAAANzAwAwAAADcwMQMAAAA3MDIDAAAANzAzAwAAADcwNAMAAAA3MDUDAAAANzA2AwAAADcwNwMA
+ AAA3MDgDAAAANzA5AwAAADcxMAMAAAA3MTEDAAAANzEyAwAAADcxMwMAAAA3MTQDAAAANzE1AwAA
+ ADcxNgMAAAA3MTcDAAAANzE4AwAAADcxOQMAAAA3MjADAAAANzIxAwAAADcyMgMAAAA3MjMDAAAA
+ NzI0AwAAADcyNQMAAAA3MjYDAAAANzI3AwAAADcyOAMAAAA3MjkDAAAANzMwAwAAADczMQMAAAA3
+ MzIDAAAANzMzAwAAADczNAMAAAA3MzUDAAAANzM2AwAAADczNwMAAAA3MzgDAAAANzM5AwAAADc0
+ MAMAAAA3NDEDAAAANzQyAwAAADc0MwMAAAA3NDQDAAAANzQ1AwAAADc0NgMAAAA3NDcDAAAANzQ4
+ AwAAADc0OQMAAAA3NTADAAAANzUxAwAAADc1MgMAAAA3NTMDAAAANzU0AwAAADc1NQMAAAA3NTYD
+ AAAANzU3AwAAADc1OAMAAAA3NTkDAAAANzYwAwAAADc2MQMAAAA3NjIDAAAANzYzAwAAADc2NAMA
+ AAA3NjUDAAAANzY2AwAAADc2NwMAAAA3NjgDAAAANzY5AwAAADc3MAMAAAA3NzEDAAAANzcyAwAA
+ ADc3MwMAAAA3NzQDAAAANzc1AwAAADc3NgMAAAA3NzcDAAAANzc4AwAAADc3OQMAAAA3ODADAAAA
+ NzgxAwAAADc4MgMAAAA3ODMDAAAANzg0AwAAADc4NQMAAAA3ODYDAAAANzg3AwAAADc4OAMAAAA3
+ ODkDAAAANzkwAwAAADc5MQMAAAA3OTIDAAAANzkzAwAAADc5NAMAAAA3OTUDAAAANzk2AwAAADc5
+ NwMAAAA3OTgDAAAANzk5AwAAADgwMAMAAAA4MDEDAAAAODAyAwAAADgwMwMAAAA4MDQDAAAAODA1
+ AwAAADgwNgMAAAA4MDcDAAAAODA4AwAAADgwOQMAAAA4MTADAAAAODExAwAAADgxMgMAAAA4MTMD
+ AAAAODE0AwAAADgxNQMAAAA4MTYDAAAAODE3AwAAADgxOAMAAAA4MTkDAAAAODIwAwAAADgyMQMA
+ AAA4MjIDAAAAODIzAwAAADgyNAMAAAA4MjUDAAAAODI2AwAAADgyNwMAAAA4MjgDAAAAODI5AwAA
+ ADgzMAMAAAA4MzEDAAAAODMyAwAAADgzMwMAAAA4MzQDAAAAODM1AwAAADgzNgMAAAA4MzcDAAAA
+ ODM4AwAAADgzOQMAAAA4NDADAAAAODQxAwAAADg0MgMAAAA4NDMDAAAAODQ0AwAAADg0NQMAAAA4
+ NDYDAAAAODQ3AwAAADg0OAMAAAA4NDkDAAAAODUwAwAAADg1MQMAAAA4NTIDAAAAODUzAwAAADg1
+ NAMAAAA4NTUDAAAAODU2AwAAADg1NwMAAAA4NTgDAAAAODU5AwAAADg2MAMAAAA4NjEDAAAAODYy
+ AwAAADg2MwMAAAA4NjQDAAAAODY1AwAAADg2NgMAAAA4NjcDAAAAODY4AwAAADg2OQMAAAA4NzAD
+ AAAAODcxAwAAADg3MgMAAAA4NzMDAAAAODc0AwAAADg3NQMAAAA4NzYDAAAAODc3AwAAADg3OAMA
+ AAA4NzkDAAAAODgwAwAAADg4MQMAAAA4ODIDAAAAODgzAwAAADg4NAMAAAA4ODUDAAAAODg2AwAA
+ ADg4NwMAAAA4ODgDAAAAODg5AwAAADg5MAMAAAA4OTEDAAAAODkyAwAAADg5MwMAAAA4OTQDAAAA
+ ODk1AwAAADg5NgMAAAA4OTcDAAAAODk4AwAAADg5OQMAAAA5MDADAAAAOTAxAwAAADkwMgMAAAA5
+ MDMDAAAAOTA0AwAAADkwNQMAAAA5MDYDAAAAOTA3AwAAADkwOAMAAAA5MDkDAAAAOTEwAwAAADkx
+ MQMAAAA5MTIDAAAAOTEzAwAAADkxNAMAAAA5MTUDAAAAOTE2AwAAADkxNwMAAAA5MTgDAAAAOTE5
+ AwAAADkyMAMAAAA5MjEDAAAAOTIyAwAAADkyMwMAAAA5MjQDAAAAOTI1AwAAADkyNgMAAAA5MjcD
+ AAAAOTI4AwAAADkyOQMAAAA5MzADAAAAOTMxAwAAADkzMgMAAAA5MzMDAAAAOTM0AwAAADkzNQMA
+ AAA5MzYDAAAAOTM3AwAAADkzOAMAAAA5MzkDAAAAOTQwAwAAADk0MQMAAAA5NDIDAAAAOTQzAwAA
+ ADk0NAMAAAA5NDUDAAAAOTQ2AwAAADk0NwMAAAA5NDgDAAAAOTQ5AwAAADk1MAMAAAA5NTEDAAAA
+ OTUyAwAAADk1MwMAAAA5NTQDAAAAOTU1AwAAADk1NgMAAAA5NTcDAAAAOTU4AwAAADk1OQMAAAA5
+ NjADAAAAOTYxAwAAADk2MgMAAAA5NjMDAAAAOTY0AwAAADk2NQMAAAA5NjYDAAAAOTY3AwAAADk2
+ OAMAAAA5NjkDAAAAOTcwAwAAADk3MQMAAAA5NzIDAAAAOTczAwAAADk3NAMAAAA5NzUDAAAAOTc2
+ AwAAADk3NwMAAAA5NzgDAAAAOTc5AwAAADk4MAMAAAA5ODEDAAAAOTgyAwAAADk4MwMAAAA5ODQD
+ AAAAOTg1AwAAADk4NgMAAAA5ODcDAAAAOTg4AwAAADk4OQMAAAA5OTADAAAAOTkxAwAAADk5MgMA
+ AAA5OTMDAAAAOTk0AwAAADk5NQMAAAA5OTYDAAAAOTk3AwAAADk5OAMAAAA5OTkVABWO+gEVjvoB
+ LBXQDxUAFQYVBhwYDHp6cTBrZnk0LnZibhgMMDF3d3llNGcucGZzFgAW0A8YDHp6cTBrZnk0LnZi
+ bhgMMDF3d3llNGcucGZzAAAAAwAAANAPAQwAAABtZGlmanQ1NS5lYTMMAAAANWRtdnFldmcuamsw
+ DAAAAHNmdGdtZ3N4LmIxZAwAAAB6cm9xdnM1dC5samkMAAAAYW8zamF0bmMuMXZoDAAAAHUzYmZ1
+ dmRsLjF3cgwAAABqcWN3M2VyMy5sdDIMAAAAc2gxc3doZXQuYnczDAAAAGkwc3EzMDVvLmg1dQwA
+ AAB1NTNjZWxhMC5zZ2IMAAAAemZybTVobHEud3J1DAAAAGN6Y2Nra3QyLnJpMAwAAABxMG40NTJl
+ NC51bnkMAAAAanVvenVtYWEudmZ2DAAAADFtdGZvMTNtLnhlaQwAAABjd3RhZWQyci5xZHcMAAAA
+ M215czB5a2YuYWdqDAAAAHZlYXVpbTNtLjNhMwwAAAB1NHh1cWZxci5ubXEMAAAAbHd1aG5kbTAu
+ d2pmDAAAAGtqdXkycm50LnVqdAwAAABxeGNpd3JpMS5seDEMAAAAbHBlYnRqNXcuZmMwDAAAAHp0
+ aWoxcWNiLml5MwwAAAAzbXdyZXpwMi5xaTAMAAAAYXoyamF3M2EuY2RmDAAAAHBjanpvdzF1Lm0w
+ MAwAAAAzZHlxdmg0MS5wYWMMAAAAMGFqY3lkcHMuYTRkDAAAAGI1MnJtY2htLnNoZQwAAABwczBz
+ ZGZzei5lcmMMAAAAZjUxdDNkaGIuanZjDAAAADV6cmhzYnpqLjF4YgwAAABqMmxtZnpzMi5xZmIM
+ AAAAcjBlcngxaXQuaXRyDAAAAGpiMGRzdTAxLnBlbwwAAAAzd2owZGsybi5hczIMAAAAem5iemhn
+ aXAuY2xxDAAAAG5xYmJwcHJ1LmZncQwAAABncDF4emYxZy4zeGQMAAAAcm95ZG9udWsuYjJqDAAA
+ AGVlZ2czY3FzLml0eAwAAABtNHYxd29sdC40bGgMAAAAcHV4MHp5ZGMubHZsDAAAAGRiZGZtc3Iy
+ LmlrNAwAAAB1cXQ1c2EzaS5hbmsMAAAANWpjaWpoMWcua2dtDAAAAHIwbm50eTRwLnFlMAwAAAA0
+ eGMxcGMzai5vemYMAAAAZDN4dzNoZ2EuYWZkDAAAAHZlMHVtZnl5Lms1agwAAABhcHljZ2h1aC5h
+ bHIMAAAAY3l6Z2twaDQuM2ljDAAAAGJjZTJ5dmNxLmhhbQwAAABveGxhdGdudy5hdG8MAAAAdGpn
+ b2tzZTIudTRzDAAAAGt1MWw1NDVkLnB3ZgwAAAB1Y2VhYmxjcS5odnUMAAAAc2x3dXZjaXkucXlm
+ DAAAAG9seWMwcml2LmhuYgwAAAB3cmN6bXEwbC5yZ3cMAAAAc3F3aTVla3UuZnl6DAAAAHdua2Vz
+ Y25rLm5kbwwAAABoajRzbDVqMS5mdXkMAAAAczR4bmJoMmMudGgwDAAAADVobHZvZ2l3LndtMQwA
+ AABjcTBuNDVwei5mc3AMAAAAemYydndqaXIuZXVxDAAAADVqeHZkNTMwLnp2NQwAAABqc2N2b3lj
+ Yy5xcWcMAAAAbHNqbnp2ZmIua3J3DAAAADRwYWliaHoxLnYxcAwAAAB1cmkwMmFjMy5zYnkMAAAA
+ bWc1cXdiMXEudGVqDAAAAG5sYmd5b2k1LmZkZwwAAABrM3ZiMW1vby5xYWsMAAAAdmN5Z3FzcWUu
+ dXZiDAAAAGRobWFheWc1LnNrYQwAAAB0dW9sZ3lobS5seGQMAAAAcW1mdXJrMWcucmNnDAAAAHMy
+ ZmdlMDAzLmNkMQwAAABpM25sY256dy4wNGwMAAAAc2UxNHJmeWwucG1zDAAAAHR0eW9kc251LjQ1
+ ZQwAAABtcmQxamJ0Zy5uZjEMAAAAeWNtcG5ldzQueTFnDAAAAHd6dmF6cHZqLmFoeAwAAAA1bXVy
+ NGt2ei5mZWoMAAAAM2NoYnN6dmYubXl2DAAAAHBldGsyZzVxLmxnZwwAAAA1bTU0Zmdnby5rdjUM
+ AAAAeXptczVvMHMuNTN6DAAAADB4NTRsZHN5LmdxdgwAAABnZWlzemdhMS53ZnIMAAAAamExY2xh
+ dHcuNWNpDAAAAG9ydHVzdnlwLnp1dwwAAAAyYTJueHNxbS5hdHIMAAAAeW5sNXR0eWgubTVsDAAA
+ AG5xY2k0bjUxLjM0dAwAAABrMjRraXpsZC50aXQMAAAAcHBwZmNwMmQuenRxDAAAAGtnbGl5ZXN0
+ LmFmdgwAAAAzbGFlb25nbi5qenoMAAAAaDA1djA1YnQuc253DAAAAGVrZGp0Y3U1LjNicAwAAAA0
+ dmp3eTJhei5kc3cMAAAAYzR3MjF6ZXAuYWNzDAAAAG1hZmtrdGh1LjN5dAwAAABqaDV2ZGx6eC54
+ aGIMAAAAanYzZ2lhMDAuemFxDAAAAGxucjAxemRkLmh0eAwAAABtbmNkZjRudS5idnQMAAAAY3l1
+ ajNjcjUuYmVhDAAAAGt2cG5kem94Lm1vbQwAAAAyZjB0c2Vuby5tNWkMAAAAcTJvbGRtbDQuZHly
+ DAAAAHFqMTBqY3BjLmhrdwwAAABjMXZ3bWtvYi56azUMAAAAdWRtNGFiMXMuM3FtDAAAAGtxZ2I1
+ ZndsLnV6MwwAAABla21uYjBoZC55c3IMAAAAYWdqYnNrbnIuMmd5DAAAAGZwNGRqamxsLm1meQwA
+ AABibzVkZW1oeC5taHcMAAAAcnppZ29ldWkuYnhkDAAAAHhhZmUwaWlrLnQ1ZQwAAABybXZreHN6
+ ZS5id2EMAAAAaHRxNWZndm8uaGdlDAAAAGczeXBicGprLnY0ZQwAAABtbXYwb3lieC5rM2cMAAAA
+ ZGhqMGIxY3kudm5tDAAAAGJoYm5kZGRjLnp1cgwAAABid2NicDQxZC55dG4MAAAAZGhoZ2d0dGku
+ MWhrDAAAAHFwa3J2MW40LmlvcAwAAABnMGNsdDUxbS5wYnEMAAAAbnhsbGRhYW8ua2RwDAAAADBu
+ cTV0Y3J3LmpldAwAAAAzNDAzbW9tai5nbGgMAAAAcG1kNHp6aGsueXJzDAAAAGYxcmMwNGp0LjFr
+ bAwAAAA0dXhmc2loaS5tMHUMAAAAZWx6Z2t4dmoucmplDAAAAGxrdmY1b3gyLmpqMAwAAABhejIy
+ NG1qci5zZ24MAAAAemYwemFwdW0udnZjDAAAAGNjZnBqMG95LjRpZgwAAABtazB4dXZ5MS5pMjEM
+ AAAAMjRmbjJ6eHIudGtqDAAAAG96eWZ1b3JuLjFybgwAAABhdnN3dTF2Zy5vYXMMAAAAcmNtaHhv
+ czMucnptDAAAAGhyajVmZ3NnLjM1MQwAAAB0eWlibmV5bC54aHQMAAAANXIzZHV6b2cuamlnDAAA
+ AHBuMXJ5ZWFnLmV1bAwAAAB6MmFsbXJ6ZS5tdHkMAAAAenpxMGtmeTQudmJuDAAAAHJ0cTBkZG9n
+ LjV1ZwwAAAB3ZXRlc2hteS5kYW0MAAAAZWc0M2tvMG8uamhnDAAAAHNxaGdhaW1wLnQ0YgwAAAB6
+ cDRtdmh1Yy5xbW0MAAAAM2dnd3F3aHYuZ3MzDAAAAHd1emNxb3Z4LmZqMgwAAAAxbDFtNDFiai5n
+ ZHcMAAAAdnFib3FrcHQuMzJ2DAAAAGU1bTR0MmVxLnhsNAwAAABmMXhtMTN6eS5langMAAAAMXNl
+ cTVjaG0ub3BoDAAAAHgzYmt3Z3JyLjViYQwAAAA1MXNqeWNncy51bWgMAAAAMHNrdmJvanEueTBo
+ DAAAAHo0anJ5YmYwLmVvbAwAAABxaXNmbDRsci5iZXEMAAAAb2xmZ2RhYnoud3djDAAAAGFnem1o
+ eHV1LmN3aAwAAABiNXB4bTR2dy5yamIMAAAAbTBzb28xanYubG5xDAAAAHJ4dWJ2dmdwLnhnZgwA
+ AAB0MzJuM3huZS5kZWgMAAAAdWZvMG1sNWsuanphDAAAAGJqZmQ0cWNvLjRtZAwAAABkdnJmZW0y
+ cC51bGgMAAAAdGJ6Z2loM3YudHQ1DAAAAGlmeTJlcHVrLnNxNQwAAABmYWlsMzVieS5ycTMMAAAA
+ bTVlZ24yZmsuYWllDAAAADBsaGlrbHFrLm9iegwAAABsb3h0eHlvdS4wMWcMAAAAbXYzcm5lZW8u
+ cmljDAAAAHI0cnpyeWkyLnF3NQwAAABxcmJsMDVxei4wNWUMAAAAYXcycHJqYmEubTNhDAAAAGJo
+ Z3l2aXZqLmNiMwwAAABkbHhlcTVjMC5vcnYMAAAAbjN2MDRyaHAuYWV4DAAAAGQxcXZ1ZmltLnBi
+ dwwAAABveWVyanp2dS5wZm8MAAAAbnVheGtib3YucXB1DAAAAGtkeWRhcWlyLndjcgwAAAB3YTM0
+ Y3VrMy5iZGcMAAAAZTVuMWl4anoud3JrDAAAADJycmk0MXBqLmV2cgwAAABoeHJqNHJzZS54Y20M
+ AAAAdzQxanFwemMueDF4DAAAAGJqbTJhdTNyLnR5eQwAAAB5eTFieDNtZS5tbHgMAAAAZ2I1MG11
+ bzUudTNoDAAAAG1pd3Z3anQ0Lmo0aQwAAABxY3JpbWFoby5jbnYMAAAAdWdlc3R5dzEudXBsDAAA
+ AHNqczJ1NGVwLmdlMwwAAAB6NWZqc2N3Yi41NWIMAAAAaGxmeDFncXMucTRqDAAAAG0zbnduMGUy
+ LmhscAwAAAB2cm9iendrMS50cG0MAAAAaGFyYXF2ZGYuZDBkDAAAAG16YTR0NXNnLnV1dgwAAAAw
+ aGh2cGpkNS55bXAMAAAAcHByanQxbWIuZ3RzDAAAADE0dnJkemEyLnhtcwwAAAAzbWltdnF1bi5o
+ dTAMAAAAa2NsbGdqdGUuY2I0DAAAAHN6eGdsYWlqLjJvdAwAAABubWg0bmg1MS4xbjAMAAAAZ2Zy
+ b3ZieGwucWJtDAAAAGUwbnBsbndqLnlzZQwAAABkYWhodXF2Mi4zb3IMAAAAcHhuMXQzemkuYWNn
+ DAAAAHl0MDBodGtrLnd0dwwAAABwend4NTIzMi5ocWcMAAAAbXJ1eWx6dHQua3BiDAAAADBiaWNz
+ eXFvLmJxZAwAAABndnpwbnZ4cC5xbGwMAAAAM3V6bDFmaXUucmYyDAAAAG9mZGptbnN2LnVodAwA
+ AAAyeWhndHVzei4xa2YMAAAAMXcwYnhkY24ucHgxDAAAADFwbWx3Ymt2Lml3MwwAAAB5ampoa3Fs
+ bi5pdWIMAAAAMHh3MW95bG8udHdlDAAAAGtteml4cTR3LnUzcAwAAAB0djEzd3F2eS55dWIMAAAA
+ b2EyZzNlanQucmlmDAAAAGViZXBnanc1Lm10cQwAAAAyZnkxMzAzZy5ueXUMAAAAMGM1dXR1bWYu
+ M3RzDAAAAGZuY3RrY2JnLmMwYwwAAABibmtzZXdzZy53em0MAAAAeXlpajEwMW8ucGlqDAAAAHA1
+ anlkbHI0Lmh2MgwAAAAzaXBjZGF3dy5hcXIMAAAAMDRtdzV6MnMudW0wDAAAAHdjdHBua2ZoLjJ1
+ bQwAAAByenBxc2JzMC41dGEMAAAAdmFoeHF6MGMuMnBtDAAAAHZyMHNza29yLm4ydwwAAAB4dDUw
+ MHUyYi5yaGsMAAAAY3ZpeTI0ZHguY2t6DAAAAHU0c3dkb2x4LnFqZwwAAABqc2V0emMwZS5qaGUM
+ AAAAaGI1NGIxdGkuM3F2DAAAAGVyNXFzcHZyLnUxMAwAAABibzRpMnNmdi53MnUMAAAAbXpwdnNu
+ dWIua2xoDAAAAGtrMG14djBmLnNsbgwAAABjemJlbGVqZy5xaXEMAAAANXhob2txNTQuY29qDAAA
+ AHVyaWhzbjR5LmVreAwAAAB2dGFtaWl2MC5sd2IMAAAAbHhhc3g1eTQuejMyDAAAAG12dnJ2czFu
+ LmRodQwAAAB5ejJxa2h3ZC50ZGUMAAAAeGwyYWd6dHYuMXNmDAAAAHZnNGNybm0yLjNjYgwAAABr
+ NTVmNWtwcS55cWIMAAAAa2RlbGI0bWkucWNtDAAAADN4NWxldGk0LmtkYgwAAABqd3FnYnVtYi5p
+ cnQMAAAAaGVkbHlpNXQud3FsDAAAAGZ0ZXRzM2tvLmhtbAwAAAByZ2MzdjN5cC4xY3AMAAAAZ3Bo
+ MzNqcGwudHoxDAAAADR1eDNzd2l5LjNhMgwAAABuY211d3V1MS41ZjAMAAAAaGhrYjBrdzAueWky
+ DAAAAHZobG1ha3VwLmhzaQwAAAAyd3dkdXFzdy50dzEMAAAAamJmZ3FxeDUudHoyDAAAAG80dWk0
+ a2RyLnAybQwAAAB4aWd3ZHBxZS4zencMAAAAamIwemtsbDEuMmFoDAAAADB3eHBpZWlpLmVndAwA
+ AABuNDNudG81NS5ueWYMAAAAeW1ocjFxeDUuMW9yDAAAAGY0bGZ3b3hpLm50ZgwAAABuemZyYmJ2
+ eC5weXkMAAAAeWhyNXZvaXouMnVvDAAAADN5NXAyZXp3Lm55YwwAAABuNXFnYWgxbS5vM28MAAAA
+ cDNzMWUwMWQua2pnDAAAAGVxZDFoa2NhLnkzbgwAAAB2YTN1Y251ay4yMXAMAAAAYWVrYTE1Z3Eu
+ cXFkDAAAAGNwdDNvNGZhLnhzdwwAAABsMXMyZ3Fhay52cWQMAAAAanJvM2hzcDMuMmYzDAAAAGJz
+ Z2FhdTBvLnBvawwAAABybHgxZGVoaC56eHoMAAAAdmZlNGlibmMuYjJyDAAAAG5paTFtc3YzLnBz
+ dQwAAAA1cWtkbnR5ci5xa3QMAAAAa2Yxa3Yxb3kuaGsyDAAAAHh1bmd3dWlqLnViMwwAAAB2Ymx3
+ MndldC5rcm0MAAAAanFkZ29tNWEudmMxDAAAAHk1amtjbG4zLmxwNQwAAABqcW1xeWVkdy5naWEM
+ AAAAMW9qYjIwaWEudnRqDAAAAHRmaXZkdjIxLmF4MAwAAABwaWQwaHpwcy5kdjUMAAAAd2ZnY2Rx
+ NGYueG8yDAAAAGNicDA1eG0yLnM1MAwAAABhMjAxYXBodi4wZjQMAAAAZGwxMnl6bXIuZWJmDAAA
+ AHgwZXZ5dHFyLmEydwwAAABnZm91NHlrMS55NXQMAAAAdzJqZHZsMmIuZmJ3DAAAADJ4a3c0eHhy
+ LnVpawwAAABneHFsaWdsMi5scHMMAAAAanN5dXl1emguZGhyDAAAAGRkem5lMGpnLmV2NAwAAAB6
+ d3pkdXBjcy5mMWMMAAAAbHZzYWFsYzEubWxqDAAAAHhheDBhZTVlLnpjeAwAAAByZmRncm4xZS5y
+ ZHYMAAAAc201MnV4bm0uYjMwDAAAADF2cWt5NWZhLm54ZwwAAAB5Y3lreGVnYy4zYmwMAAAAajNq
+ MnV5ZGIuZ3JmDAAAAGh6aHozNG1mLnB6NAwAAABhMHJzaWUxci5pcTUMAAAAMGp1cmoyMWkuNDAz
+ DAAAADAyM3c0YnJ4LjNzMAwAAAA0em95YjRzdy4zbXMMAAAAcGlvMnM1MHAueGprDAAAAHBpYWpi
+ bXpyLmgzcgwAAAA1ZDMxeW5ndS54a3IMAAAAZ2dlMGMwdWEucmswDAAAAGpvZHIxbHVjLmk0cAwA
+ AAAxcmNrZDN5NC5pbWoMAAAAeGxhbXhwZ3YuMWp0DAAAADJlMGszMWJwLm4xdAwAAAB1MW1sazF3
+ NC52bjIMAAAAa3Y1YWhldmoudjBuDAAAAGMwdDVyMm9jLnI1cAwAAAB4d20wdGt2bS5xbHkMAAAA
+ dWpqcW9pM3IuamoyDAAAAG5sdHl0amd4LjN3YQwAAABoZmF4Mnhydi5yc3YMAAAAdmdyYnlxdXYu
+ cXQ0DAAAADFqc3d4YWh3Lnk1awwAAAAza3Ftb3d3di5ia24MAAAAZDFocWk1dmMuY20yDAAAADFx
+ MGRseGNpLmhjcgwAAABkemJsazRyai52ZHYMAAAAZ3loeDBwNXQuZGlzDAAAAGNsaWY1b3h2LnQw
+ bgwAAABwYm52dzJ2Yy5oMDUMAAAAaWUxajNldXoudmMyDAAAAGNqcnNjaWp3LmJzcAwAAAAxcGxt
+ bjN3ai5kZzIMAAAAd3BxeW15cWMuZXBvDAAAADNteGpyYTBhLjVudAwAAABhcGxhZTVocS5ibG0M
+ AAAAc3VjajQwcG8uMzRjDAAAAHpiY2twcDQzLjV1agwAAABhbG5sYjRlNS5ibnkMAAAAYWl3amdz
+ cWUuZW1mDAAAAGswbzFsbTUwLmNxYwwAAAA0cm1tbDVlYi5xZXAMAAAAYXBpbWdvdGYueXE0DAAA
+ AGF6b3Jwd2QwLmR3NQwAAAB5M2x0ZGkzYi5xZXMMAAAANHhvbHRmcDAuZDV0DAAAAGhocDI1d2Fp
+ LnFxMAwAAAB4Y21obGJ6NS5paXIMAAAAbnpqd3p6MGYudmprDAAAAHhyMTFmNHVuLjJidQwAAAB3
+ ZGhqeHBuei5neG0MAAAAMnh5bGlsM2wuazF4DAAAAHZzMXZqd2cxLmdqMgwAAABrMHRzbjRmaC5v
+ a2wMAAAAZDFqb2N6MmQuaHljDAAAAHF2MmpucTVzLmx5ZAwAAABxZHpwNWRyby4xcXcMAAAAa2Zh
+ YmkzdHYuaXRmDAAAAHB5NG9xeWRiLjJ6MgwAAAAyNGV0dGMwdS53MGgMAAAAZGZkNDN6dHcubWly
+ DAAAAGF6Zno1eWk0Lm8zagwAAAAzdDV1d2Ruby5tdHoMAAAAb3lsZjF4aHguZ2RqDAAAADR5bnAw
+ dmFuLnpidQwAAAA1enF4bXZqcC4yNTUMAAAANXFnc3F0Y2QuMmpkDAAAADRuMm5kMGlvLm53ZAwA
+ AAAxMm1qNWlrdy4yY3MMAAAAY3ZvZnd1dmwucXhnDAAAADBobHU1ZnJ1LmRjcwwAAAB4NGpoNXBk
+ ci51bzUMAAAAcWRxNHdib24ucWFyDAAAAGhvMHBhbHF4LnNocgwAAABhMmJ0bWJ5YS5xZ2UMAAAA
+ bGk1b3NwamouMGxsDAAAAHpldGgyMTFkLjBoYwwAAABsY2Y0NXkybi52bjQMAAAAZXpvemI0M2su
+ YTR6DAAAAHR1ZHVoanlyLmdnbwwAAABuZHBqaXJneC5rbHUMAAAAMnBsbXVrdHIuYnB4DAAAAGhm
+ eGxnb3RjLmcxYwwAAAB2cGtiMTF5Zy5pMHEMAAAAcW4ybmpvMTMuZ21sDAAAAHJpY2o0eGs1LnBq
+ bQwAAABqZ2RuMmN5Zi4zYW4MAAAAZDB3aGk0djEuY2wwDAAAAHAxbGdncnVzLnB5bAwAAABqb3R3
+ cW95ei5jZjUMAAAAM3p1cnZ3Y2oueWZnDAAAAGkxcGFkdnVuLm96bgwAAABhdGhucnJ6di5pdG8M
+ AAAAc2Nmc21zZzQuc2lsDAAAAGdxZGp0MXNtLnZ4bAwAAAAzMG1iaDNraS5rYm8MAAAAZzRoZnNo
+ YWwuY2JpDAAAAHZlbmptanFtLnRmegwAAABhNTVpdnQ0My5zcWoMAAAAbGY1cG14YXguYWJ6DAAA
+ AGdtb3cwcmI0Lm13egwAAAByM3Nlemh6ai5xZzIMAAAAMGN2NHh6dzUuaXU1DAAAAHlzMjMzZm52
+ LmNscAwAAABzaDJuZ2Fvdi5lY3QMAAAAbXFudG4ybXEuend2DAAAAG8ydHFzM2NuLjBxcgwAAABy
+ cnF5ZWt6di5pcnQMAAAAcDVxMXkzdmQucDV5DAAAAGUzYzVtY29qLmExcAwAAABtNXNxd2Nkai5v
+ bHkMAAAAeW1uaG40bGguZ2lpDAAAAGZ0ZmJrbXlyLmoxMgwAAABoc3ozcWdoNC53MTMMAAAAZWN0
+ Zm9paHMuenV1DAAAADVsbHl5b2dhLmp0cgwAAAB2cmd5Mnl0eC5kMzMMAAAANXA1YW1ja2wuam1s
+ DAAAAGdrZXpkZmNzLjAwdQwAAAB0MzF2eHViaS55cmIMAAAAZzJ1MzJrenQudGllDAAAAGEzdG9n
+ ZnBjLjJ4MAwAAABrYzM1cDF2bC4wMXYMAAAAaml0MW9zNXcuanVjDAAAAGVia3h2bXExLjJ0aQwA
+ AABqYnd6cXVvbC54cDAMAAAAaHJrM2JwaHYuaW5qDAAAAHkweWNjbTQxLnQxbAwAAAB3aW55a2Ft
+ Zy5rMjMMAAAAaGtpamsxNTMuZTRwDAAAAGd4ZHprY3phLm1zbgwAAAAzaWtwa2tteC5xZjIMAAAA
+ YnRoc2dnNXQubnl4DAAAAG50M21pdGJ0LmowNQwAAABwamdpNTBuMC41cWYMAAAAM25uZGNobWcu
+ eXZrDAAAADRhaXdwMWVhLjI1dAwAAABobXhjMmxqcC5ja3cMAAAAd2lveTF5bmIuZ3gxDAAAAGdj
+ dDNqbzEzLjJwMwwAAAB0cTB1MnZwbS4wdDMMAAAAb21ncW53dzEueTUxDAAAADIzcmVlbjI0Lngz
+ MgwAAAB6amVheWVzZy56dWsMAAAAZ2trd2x4MGYubnNvDAAAAHpzdWl2em1jLnRmMwwAAABvMmt4
+ bXBicS50bXEMAAAAdHBhbzNsMmgucG9zDAAAADBmbXozdHNxLndzcQwAAAA0dDIxaDB0Yi56dDIM
+ AAAAZXp1anB2ZXkuaWs1DAAAAHNoY2RzeW9nLmRlMwwAAABpdmt3ZWxteC5kaHoMAAAAc2JvNHRj
+ eXcuNHV3DAAAAHJzbnpkbWExLmFlcwwAAABjYXd3YW5pbi5nYncMAAAAajJvNXdkcncuZ3VrDAAA
+ AGF5MHVodG9mLnN5ZQwAAAAwYnQ0d2l6bi4yaWwMAAAAeHFtamtvNTUueGZwDAAAADVvdnlydHpt
+ LmQxawwAAABsY3VoaDR3cC5ldzMMAAAAYWJ6cGhhMTEuM2tkDAAAAHZ2MWVkcnI0Lm1rcAwAAAB1
+ aXEwajFrei5yNXcMAAAAeHFydWd2NG8uYWpkDAAAAHo0a3hibjVmLmJjcAwAAAB5ZGVzcGpjZy5p
+ ajUMAAAAb25yMHJvZGsubGN6DAAAAGoxd2Z3eGVhLnMyNAwAAAB0cDRtNXR0dC53bXgMAAAAcGpk
+ Y3Bzd3MuYWoyDAAAAGtrcXgza25qLmh2ZgwAAABwdHJubm5jeC41ZW8MAAAAc2I1MTJ5YmouM3Jj
+ DAAAAHExenBoamN2LmNpaQwAAABwdGNka2ZxYy55M2MMAAAAZGl5bmJjc2gueHR1DAAAAG8yYTFi
+ ZjVoLmJlMAwAAABwMDBhc2psci5rengMAAAAM3hwYnRmYXMub2R5DAAAAHNwZmZ3bHhwLjRtcQwA
+ AABjZGMxd25iay5sbWgMAAAAYjBvbm5ueTQueHkxDAAAAGJ0cXdrNWpmLnhjYgwAAABncTR4c3dx
+ dC54ZjIMAAAAeHNheHVzbmsua2pzDAAAAG9pYzE0azI1LnducwwAAABsdnpvdzRpMy5jNHYMAAAA
+ ankzbWtueGUuajJ0DAAAAGxnNXI1ZnFnLmJwNAwAAAAxZWFqZ2JsaS5tcGQMAAAAbzBydHh1Ymcu
+ MWdnDAAAAG1panliYXlrLjRtNAwAAAAxNW9wZjIydC56aW0MAAAAMGJlaDRta2QueWVrDAAAAHVj
+ c2pka3FxLmJpbAwAAABwbjRndzJwZC5nZXMMAAAAem92ajRqYjUuMXVhDAAAAGMyMjN6Y3JsLmlj
+ cgwAAABiamp0NWRhNC5heDMMAAAAMnl6a3Fvc3kuZ3Z5DAAAAGJrNGVwa2hrLnVhdQwAAABzbG40
+ cmZxYS5jMnAMAAAAdnB4aXh1dnEuMmR0DAAAAGtpdDJndzFhLmMzdAwAAAB3ZWowcGhmbi4xa2sM
+ AAAAdHh1aGhxcGUuNDEwDAAAAHhzeHR3NGgyLmZjdwwAAAAzZm4ycmR0NC5qZmMMAAAAYmdpMnN0
+ YTEuams1DAAAAGlxbmRvamJqLnA1YgwAAAB1cG4zYnh5bS53NTAMAAAAbmdkdDBybnIueGtzDAAA
+ AGN2M25tMjJlLmN3MQwAAABqZmZqeWE0bC41aWoMAAAAcmJhbXB0NGkub3JrDAAAAHdveTFvZ3N0
+ LmIyMAwAAABicHcyNHN6dy50am0MAAAAd3pmams0bDIuc2l0DAAAAHYxcXRtZzFlLnV0cwwAAABy
+ ajJjcWRycC5taDQMAAAAMGU0dWRxd3cucG9qDAAAAG5lazV6c25yLjB0MAwAAAA1am9zZG5oZi5n
+ dmYMAAAAbXd6aXA0MWkuaTQ1DAAAAGlqZmsxc2l0LjR3eQwAAAAxbXZ1eDFzcS55cHEMAAAAZnpi
+ Z2JocDUueW1xDAAAAHVpMTFkenFuLnR0bAwAAABqMTBiMDNsaS54NGMMAAAAMXJ4MHFuaXQueW96
+ DAAAADJzc2puMWF2LnptbAwAAAA0bWMxMzR4dy5yNGcMAAAAaXRlaTVxa3oudXZiDAAAAHIxMWlk
+ ZW5sLjBycwwAAABzaWoxMDU1eC50eGsMAAAAamIxMTJkYnQuY3Z2DAAAAGIwd2tncGFuLm5xawwA
+ AAAzNXBlamIzZC5mZDUMAAAAMm5oeHB4MmQudDNlDAAAADFkbnhrbzRxLmRhdgwAAABhdzB5cWZw
+ by4xbTIMAAAAb2U1MnN0cXguMnJsDAAAAHBubGhjd2t6Lmt4MwwAAAB4bGdvNHgxdy5odXUMAAAA
+ bzRrNHJvNW0uMmdiDAAAAGF1azJ3dHhnLmVmMAwAAAB3ZzBkYWwzZy50bXIMAAAAa2p4MGVyb2Eu
+ cGYwDAAAADJnNHlwdHVlLjMzegwAAABoMjNpeXJlZS5qaWoMAAAAaGR0dzNsZWouaHdyDAAAAG5z
+ Y3JjdXkyLjFkbgwAAABrY2ZudjJzcS5qMGUMAAAAMjJxMHB3MmwuNWZsDAAAAHhoZWd5d3Z6Lncx
+ YwwAAAByMnhzaTVtaC5wbzEMAAAAcHp2dTV5bXYudXh3DAAAADVxZGRrYmJiLnFnbgwAAAAzZnM0
+ ZDBnMS5qeHcMAAAAZW9meW9ueDUudHpoDAAAAHd2djRwcW0xLmV4dAwAAABweXZudXJ0ZC4zZGMM
+ AAAAaXhlNGF0czQudHEzDAAAADFycjMxNGcyLmQyeQwAAAA1YmRzeTR1cy4yMmQMAAAAamxiMGJ0
+ enIubGt3DAAAADR1MGhiYWQzLnhyNQwAAAB2dmdrbDJjby4yeXQMAAAAa2c1anNqNXIubG96DAAA
+ AGkyaDNoZ3NhLnhkMwwAAABudnVkMTNicC5iNTQMAAAAYnAza21yd3AuNHUzDAAAAHd3MGFzc3l4
+ Lmp6MQwAAABvaGJ1dXNwdS5ha3cMAAAAcmNpNHpxemQuNHNmDAAAAGZ1b2pmcTQwLmZ5dAwAAABt
+ YXBiazJpdS5jNHEMAAAAanUxdm8wbG8ubHF5DAAAAG1hMHNxZXRqLnF4cgwAAABxbnd1dGx6YS5n
+ eXkMAAAAamtybnJkdTMucW5vDAAAAGF2NHNsZ3cyLm5qNQwAAAB4a2xpamN2ai4zcjEMAAAAc3cx
+ YnZyMHIucWN3DAAAAHZydnI0amFwLnJkMwwAAAAzM2pqYXBhcS5xbGMMAAAAczFwZ3psaHgueXRw
+ DAAAAHBseDN3aWh0Lnp5bwwAAABwY2llMGp5Zi4ydGEMAAAAd3NocmV0dGYubzAyDAAAAHNyZXZ3
+ eGN4LmY0dwwAAAAyZjNleW4yeC5nc2MMAAAAZXF3MGFsZnUud2JrDAAAADBpdDFtZnhzLmpxMAwA
+ AABpbHl4dXR4ei5tNXoMAAAANHJobG9pcjAuaTAzDAAAADJ2b2NmZzNtLnhycwwAAABkd295eWll
+ aC5wZWMMAAAANWIycGk0NWEuZGk1DAAAAHlkbWRrMWJwLmtlaQwAAABqaWRjNW5paC41enEMAAAA
+ MDJnYjJ6aXQuM3VtDAAAAHE1ZmFjM2p6LnczaQwAAABnZmswc2JjMy5wYWsMAAAAd3Nnd3B0d2Iu
+ bG8xDAAAAGRtd3FycXpvLmthdQwAAAB5ZWVrbGp3YS5oZWwMAAAAdHpoNHN2dTIuaHp6DAAAAHBj
+ bXhrMWZuLjRseQwAAABjMWt1M3p2bS5hMXAMAAAAa2owMDExNWUudXZnDAAAAGJuNHN5cWdrLjBj
+ MgwAAAAyb21sNWJ2NS4zdGsMAAAAdzB5eHBjd3cubWwwDAAAAGQxZmNqYmsxLnFseAwAAAAzcmhv
+ M3Rkdy51MnoMAAAAb2FrdGoyZGMuZjVuDAAAAHoyaTF4MTIxLmY0eQwAAABra2lldXZ0NC5zY3gM
+ AAAAeHJweXVia3kub2NwDAAAADVieXR0Z29oLmRtMgwAAABkYXYzYmpvdi5waTIMAAAAb3NoaWh4
+ ZG8ueTFwDAAAAG0wYnJramU0LngwagwAAAB4ZHU1ZXg0cS5memUMAAAAeGVnNDBib2QudWp3DAAA
+ AHBnMXYzczJiLjN0egwAAABuc2FqdWY0ci52dGcMAAAAY3FrdWtzbHIuMjJwDAAAAGZ2dmh3aWs0
+ LjF0NAwAAABkanRudmJwdC5seHQMAAAAa3Nkdm1wMzEuenNzDAAAAGF3cHczZGpiLjBnZAwAAABw
+ b21kYzF0cS52amgMAAAAZHJqZm9pbnUuejQzDAAAAGYyc2NpaHI0LjJubQwAAABweWR1bGNpYi56
+ YzQMAAAAMDF3d3llNGcucGZzDAAAAGNxd2ZnaG11LnYydwwAAAB5anphNGJrbC5ocWcMAAAAbG5q
+ MmpyNW0udGJtDAAAAHl2MG9tcWl6LngxdAwAAABzYXNueWEyZC40d28MAAAAem5iejRoYmQubHoz
+ DAAAAHZ6MzFuYXNzLjM1cgwAAAAxc2I0bnlsZy5yejMMAAAAYTQzemVkaW4uMXYyDAAAAGV5YTUw
+ cnZmLmg1YQwAAABkMXV4YnFkMy53bjQMAAAAMHRsNTU0bWYuZnMxDAAAAHlmendwNHlxLnp5bAwA
+ AAAwYXNiZHJuci5yYXcMAAAAbjNqeXZrdnAuZ3doDAAAAHJja3A1c2ljLm1mawwAAABrZWVmcG1n
+ Yy50dGcMAAAAcXAwZXlrdDMucTRxDAAAAHowc3UwZ3c0LmxwaAwAAABkNWZ4cXpldS5ua2kMAAAA
+ bTVraGpscHcuZzMxDAAAAHRjMGtqeXF1LnV5ZQwAAABhaG5ncmlvdS56bWUMAAAAaGVxa2R1bHUu
+ dHE0DAAAAHlwZHZ3MXRtLnN0dQwAAAB2ZHc0NG4yMC5lcHkMAAAAbGN6aTQ1MnAuaWEyDAAAAGEw
+ cmY1azRwLnQwcwwAAABhcWg0YWc0bC5uZ2MMAAAAZWNwdWE1cWkubWd0DAAAADV3b25lcTUyLnJn
+ dwwAAAB3NW9rNWp2ZS5xbHcMAAAAMnpjcWJrZmEubGVvDAAAAGR1eXpvNXVlLjNuYwwAAABqNG9n
+ MnlzdS5sd2kMAAAAZGttcWp6ZTMuYjQyDAAAAGVmZ2FvcmRxLnhyeQwAAAA0bzNhY3B0ZC41c3EM
+ AAAAa2J5cHJpMm8ubGJnDAAAAGtxZ253ZXJ4LnB3dwwAAAB6dXRnenA1bi52enUMAAAAZHZycHZ5
+ M3EuejJzDAAAAHNidjFqcGh3LmdyYwwAAAB6ZDFoaDFsdy5wZGwMAAAAYW1veWtvZGkuNW9nDAAA
+ AG1uMWkzYjMzLmF5YQwAAAB2cHllbGFvci52M3IMAAAAeWpibmgwcGouMzF2DAAAADMwcndocHBs
+ Lmt1NQwAAABrdWJwcWxvYi53MXkMAAAAazNsZm9pbWEudGtmDAAAADNleGlsbXB2Lmp6aQwAAABs
+ YWF1bW1nby51em0MAAAAMHIwcTV0bHkud2ZwDAAAADN4YTBxZ2x5LmljcgwAAAA1NHBhMnBtdy5y
+ amkMAAAAYW9nZWs1dzEudzMzDAAAADNvZ2t3cWVvLmhpaQwAAABpZmxlaTFuMS5idGsMAAAAYmxk
+ d2R0b3Uudmk0DAAAAGFiMXNhdGo0Lm1xdQwAAABkd2ViZGwwbC5tcjIMAAAAYTRxZG94ZWsuajMx
+ DAAAAGszMHA1c2NuLnRsMwwAAAB1MHoxMHloby5pbXcMAAAAY3lrampkMWMuNGd5DAAAADVqM2wx
+ MHEwLnlmcgwAAABhdXF6cmp1aC5ld2QMAAAAemdubGx6bnUuc3FvDAAAAGI1ZjNmcWRpLjB5NQwA
+ AABzeWpobG9pby41YnMMAAAAcDVucm4weHkuMmkwDAAAAHVkeGxjdmdtLmpnagwAAAAzZmMwZXdi
+ bS5lYXUMAAAAejFkMHVvdDAudnNqDAAAADIzeTNzZnFjLmZnZAwAAABxMnRmYjB2ay5uMmQMAAAA
+ a2xieXcwczUuZ2ozDAAAADN0bWhjaHExLjFxdQwAAABjZXU1M2o1dy5rcXYMAAAAbWRjcGVld2Iu
+ NXhxDAAAAHl6MmFpd3k1Lm9scAwAAABidHZycTFiZy5jeXIMAAAAeXlhbGJ1Y3MuYW5nDAAAAHAz
+ eHRvcDFpLnFlZwwAAAB3ZXdrM2dmZC5uaW0MAAAAZm1qb2d4b2cuNTU0DAAAAGVydTJsbmowLnN1
+ dAwAAAB6bG5xa3hnYS53MHIMAAAAZXgxeDB1MXUuYnpuDAAAAHZmeGJidWFkLm5tNQwAAABidmo1
+ eWxwZC53ZnYMAAAAZW5rY3FzNTUudGx0DAAAAHdsZzBxcWh2LnNyZwwAAABvZWVrcjJ0eC51aXkM
+ AAAAdmh0aTB3cXAudWYxDAAAADV0cXh0enYzLnk0cgwAAAB4ZXdlbGRrdi56YXEMAAAAamJ4YzB3
+ dWkuMWlkDAAAAG9rdXB6MnN2LmhmaAwAAAB1MWJ5eDFlbi5taXIMAAAAaGhwejQyeHQuZ3F4DAAA
+ ADBxbDMzZXk0LmMwagwAAAA1bTVsbjVsbi4wdTIMAAAAcnN0a2JxdWwudWQyDAAAAG94MDQ1azFv
+ LmdtbwwAAAB0dWRrcW0wdS50dmwMAAAAY2ZjMWlvam8uNGluDAAAAGozcGM1c20wLm1sYwwAAABp
+ c2Q0MGpzdC50ZmcMAAAAazM0ZHdjd2IuejNtDAAAAHZleDV1c2RvLm1nYQwAAAB5ZWpnb2d4by55
+ bnAMAAAAdjRvbjB1bGwucHlmDAAAAHB3MmUwbHpzLjVnawwAAAB2enEzMW94Yi50djMMAAAAeHFz
+ MGthZ3QueTV4DAAAAGhyYmlrNGllLnNndgwAAABjZWtsNDBzaS5ycnkMAAAAMDV0Y3h0MmwucXo1
+ DAAAAHF4bHZnczFiLnVjbAwAAABnMndsNDBrMS5qeTIMAAAAdWExcnIxZGwudWVlDAAAAHFzdWdu
+ eXZmLnhycQwAAAB6bXoxd3V0dC40bzAMAAAAYTJuajNxZ3kuajR6DAAAADUxeW01YmhxLmVybAwA
+ AABpMXJsMnBlYi5odmoMAAAAcWJyanptcnUubWZqDAAAAHljNWdrZ3lsLm1wdAwAAABkZDV3dGh5
+ aS5xeGcMAAAAa3dlZHV2cG4uZnRhDAAAAGFqZDNkdjBoLmtqYwwAAABocGdudG5qaC56dHIMAAAA
+ eDRmYWF5b24uemd6DAAAAGRleDR4YjVsLnJtbQwAAAA1NWZvcXJybC4ybXUMAAAAd2lrdXB4b2ou
+ c2V1DAAAAHVkYWxnenR0LmMzbwwAAAA0czJ6aG15cC4waTEMAAAAMHB4MWRpY2wucWd3DAAAAHVx
+ YTF4bGRxLnQydgwAAAB1MXF1aHRzdi5xdXUMAAAAMnMycmJmdm8uanZpDAAAAGQ0bDQwbGJxLjUw
+ ZgwAAAB4YTNsajR3Yi5udHYMAAAAam9jZnc1dmQubG5tDAAAAHowYmNsa2R1LmNwawwAAAB3MGpv
+ Z3BzMS5hNXUMAAAAMDM0bDBvaDEuNWh2DAAAADNzY3Vzd2JzLnl3aQwAAABidXp6MmpuMi52MzUM
+ AAAAa2V0c2IyeHQuaXgzDAAAAG01a3RycmtsLmJmNQwAAABkeXVqMXRydC5rdXgMAAAAYzExcG9l
+ MDMuaHJjDAAAAGJvd2lyZDQzLmI0YgwAAAB6M2E1eDR6dS41em8MAAAANWw1MWswdGsueGRsDAAA
+ AGZzNXgyYWxuLmpkZwwAAABpcno1aHAxcC54dzEMAAAANDRobGZsdjQub2lpDAAAAHVzMzMyMDJy
+ Lm1tbQwAAAAwZGV2aGIwMC5lbm8MAAAAeWdva2FscHQubXpuDAAAAGx5ZmNscmh3LnJ0NAwAAABk
+ a3hrY2l1ai4zZnAMAAAAemtkbHNwcjEuaHQyDAAAAGE0aDNvMmFyLnBzNQwAAABxd2YwM2lxZC5o
+ ZmUMAAAAanl0cHZ2YWEudWYwDAAAAGFvdno1ZjRhLmlhMAwAAABjdjFlMnhvdS4xbngMAAAAbGFs
+ bzVncmoueWV6DAAAAHgzanRjbzRjLjJsaAwAAABycDR0c3ZibS5oa2kMAAAAeTB2MjM1eG4uMG5m
+ DAAAAG56eDR2MXBpLmNlMAwAAABocWFleXd2by5zazAMAAAAcXMwYmRudjEuNDVjDAAAAGhpM3p5
+ cjFsLmlidgwAAAB6YzJoM28xdy5iMnUMAAAAZ2F5eXo1dDUuNWNlDAAAAGZhZXEwdTNrLmZndQwA
+ AABtcmZwZ3FzdS5ldm4MAAAAY2hlbTRsb3kuZnMyDAAAAGlyc2xnb2hkLjVibgwAAAB2YWR0YXNs
+ aC5oeGIMAAAAZnhpMmwyeXAuNGdhDAAAAGd1aHFibjExLnVyagwAAABmcTJ5bmZiMS5tb3IMAAAA
+ Zm50aWR4dHEudDJjDAAAAHNxenZhcnQ1LnlmZgwAAABnbDEyZ2ZxMy5nZWYMAAAAcWNtYmpha2cu
+ cGc0DAAAAG4wanFyaDNjLnBtdQwAAABpNGdmdmN0Zy5sa3gMAAAAeW1vNXlsengudmt3DAAAAHZ1
+ bWFocGV0LmVqMAwAAABza254ZXVhby41eG0MAAAAdHF5bmFoaGcudW8zDAAAAG4zMm00aGVkLnRt
+ cgwAAAAwcHVpbjRwdy54NHAMAAAAbGgxZTBjM3QuamNlDAAAADBjeXBuZGVwLjNrdwwAAABrdWg0
+ NGp3aC53c3IMAAAAb3UzNDFwd2sud2lxDAAAAHBobWZtZ3dkLmlicAwAAABhc2szdXNzcy56YjUM
+ AAAAaHgwYzFnZmIudXQzDAAAAGFxaWloMGxlLnYyawwAAABleHVlaWVmZi5sc3gMAAAAa2pmMG9u
+ bmIueTNiDAAAADJ5dG1vZHpwLnMyZQwAAAB3NHczZjUyai5vaGEMAAAAajJuamJtZHEuMTRhDAAA
+ AG1xenExcGptLnM1NAwAAAA1ZjBvb2h4My4xamsMAAAAaWJxcjUwanAudmVnDAAAADFsM3phZ3F4
+ Lm80cQwAAABueGN4MzBpbS4wdDAMAAAAb3ZkYmVnZGcuMWRmDAAAADR3MTJncHAzLmRycwwAAABx
+ MnlkYjJtci4xNGQMAAAANWZyZHJqNG4udmduDAAAAGtua3B5MGtvLjFucAwAAAA0aW54a3YzZC54
+ eWgMAAAAYm1ucnBscWcuMHdxDAAAAHh5Z2U0ZDM0LjQ1eQwAAAAzbGN1aGZpcS4yYWYMAAAAeGtp
+ NXYxMGguZHkzDAAAADA0bWJzeWJzLnAzdQwAAAAzZXlpYjNqMi5sZ2sMAAAAeHlxZXE1ejMubTRh
+ DAAAAGtqcG9ud3hqLnNjYwwAAAA1a3EyYm0wby52azEMAAAAcnNjc21uNWkudzFuDAAAAHptNWtp
+ Y3JyLjV4ZgwAAAB3dGVvdHcxci54dW0MAAAAcXZkMDIzemguYmNwDAAAAHlranlrY3F4LnJqMAwA
+ AABqZHQxYnV0Zy41d2UMAAAAbW53ZjJnbXUuM3hxDAAAAG1nb2VrdTNhLnl3ZAwAAAA0bnAwdGdo
+ NS5ybWoMAAAANHF2c3JndnIudnBqDAAAAHhjZGN6cnl4LmZhcgwAAAA0azEwdnV6by56d3cMAAAA
+ b3NhZHYyeWouc2RnDAAAAGx4c2VsYXF2LjJjYwwAAAB2dGkyMDE0di4zY3YMAAAAaGNhMGx3cjMu
+ eGp0DAAAAGJqbnIxMHN6LnM1eQwAAABzcjVvZ25jNS5ocHMMAAAAYTJqaHRxeWIuczVjDAAAAGtm
+ ZG92aXptLmljdwwAAABvZDMzNDVvMS41MXoMAAAAY2VzM24zdjIudm53DAAAAHZycDBncG1mLnky
+ YQwAAAB2MDFmYWJsYi41djUMAAAAanIwZnRoYWYuNWJ1DAAAAG4xdnYxdHN1LjFpbAwAAABnZjFi
+ aDV6by5iNWkMAAAAY25sNHhpM3Uuc2NkDAAAAHMxaGpub2t0Lmx3agwAAABqbmE1em0wYy5hb3gM
+ AAAAY2phenp1bXguNXE0DAAAADVvaW81bWN4LnoxMQwAAABrbm41cW1ueS5kbDAMAAAAbTNkd3Jx
+ MmEuMnJ2DAAAAGJ3YmlmM20zLm94YgwAAAB0aXdpb3VsaS4yMmMMAAAAMXU1cjFuYXoueWhjDAAA
+ AG52MGgxNHRzLnBpeQwAAAB3cnNzY2htcy5obWEMAAAANXF4MG81MmIuZnlwDAAAAGJuNHJ6aXNy
+ LjV5cwwAAAB1cmZvMmJxYi51Y3cMAAAAc3ZlZ3Rpb2UuaWNzDAAAAGZ6aWpmcGpsLmMwagwAAABn
+ M3lwdTJobS5qanQMAAAAd2llaG1mejIuMTJkDAAAAGQ1eXViM3NuLmRoagwAAAAyZnZ3eGlsdi5p
+ d2gMAAAAdTV4NWtwMXguenJlDAAAADEyc3Q0MDVnLmJ4dQwAAABucWZtMWJvZS51ZG4MAAAAdGxh
+ czJ6Z2QuZWswDAAAAG0xdmhyMWl6LnhucgwAAAB6cHpuNHczeC5uM20MAAAAYnNqbDBudmkuaW5o
+ DAAAADJ0amlwd2J6LjR5NQwAAABnZ3BrZGxvdy5vd2QMAAAAZHpoM2NmYXguNWZmDAAAAGlnM2x0
+ ZWdkLjVpNQwAAAA1eTBnZWszdS5pMm4MAAAAa2JiZGEza3MubWl0DAAAAG1mbzF0amV4LjR5bAwA
+ AABlNXFpNXppYS5sMXgMAAAAeTRjNHZsM3EuMnF6DAAAAGRhZHhtMjN4Lmx4cQwAAAB6amlqZGV2
+ cS55bmEMAAAAM290ZXByancubW93DAAAAGQ1NXA0b3BjLng1aAwAAAB4bGE0NGYxaS5jbmIMAAAA
+ NTFiNWZndXkuaDB4DAAAAGdsb2RnM2lmLmlyMwwAAAAwZGR2anNhZS5vdWYMAAAAZG5qd25lcnYu
+ ZGZ4DAAAADRoYXA1c3ZsLmowMQwAAAB2a3JsbHFndS5zemcMAAAAMTEyYnFwcWYuaWMzDAAAAGtw
+ NHhyeWdmLm9tawwAAAB1dWx6bmFwdS4yaGQMAAAAb2V6cmgwc2kuajJ4DAAAAHNudnF3aGkxLml3
+ aAwAAAB6aWZsa24zcC5sMGoMAAAANGJ5ZnhkMDUucGJxDAAAAGRsc2Fpb2FzLmhzMwwAAAAweGZh
+ dDNxei5vYWkVABWO+gEVjvoBLBXQDxUAFQYVBhwYDHp6cTBrZnk0LnZibhgMMDF3d3llNGcucGZz
+ FgAW0A8YDHp6cTBrZnk0LnZibhgMMDF3d3llNGcucGZzAAAAAwAAANAPAQwAAABtZGlmanQ1NS5l
+ YTMMAAAANWRtdnFldmcuamswDAAAAHNmdGdtZ3N4LmIxZAwAAAB6cm9xdnM1dC5samkMAAAAYW8z
+ amF0bmMuMXZoDAAAAHUzYmZ1dmRsLjF3cgwAAABqcWN3M2VyMy5sdDIMAAAAc2gxc3doZXQuYncz
+ DAAAAGkwc3EzMDVvLmg1dQwAAAB1NTNjZWxhMC5zZ2IMAAAAemZybTVobHEud3J1DAAAAGN6Y2Nr
+ a3QyLnJpMAwAAABxMG40NTJlNC51bnkMAAAAanVvenVtYWEudmZ2DAAAADFtdGZvMTNtLnhlaQwA
+ AABjd3RhZWQyci5xZHcMAAAAM215czB5a2YuYWdqDAAAAHZlYXVpbTNtLjNhMwwAAAB1NHh1cWZx
+ ci5ubXEMAAAAbHd1aG5kbTAud2pmDAAAAGtqdXkycm50LnVqdAwAAABxeGNpd3JpMS5seDEMAAAA
+ bHBlYnRqNXcuZmMwDAAAAHp0aWoxcWNiLml5MwwAAAAzbXdyZXpwMi5xaTAMAAAAYXoyamF3M2Eu
+ Y2RmDAAAAHBjanpvdzF1Lm0wMAwAAAAzZHlxdmg0MS5wYWMMAAAAMGFqY3lkcHMuYTRkDAAAAGI1
+ MnJtY2htLnNoZQwAAABwczBzZGZzei5lcmMMAAAAZjUxdDNkaGIuanZjDAAAADV6cmhzYnpqLjF4
+ YgwAAABqMmxtZnpzMi5xZmIMAAAAcjBlcngxaXQuaXRyDAAAAGpiMGRzdTAxLnBlbwwAAAAzd2ow
+ ZGsybi5hczIMAAAAem5iemhnaXAuY2xxDAAAAG5xYmJwcHJ1LmZncQwAAABncDF4emYxZy4zeGQM
+ AAAAcm95ZG9udWsuYjJqDAAAAGVlZ2czY3FzLml0eAwAAABtNHYxd29sdC40bGgMAAAAcHV4MHp5
+ ZGMubHZsDAAAAGRiZGZtc3IyLmlrNAwAAAB1cXQ1c2EzaS5hbmsMAAAANWpjaWpoMWcua2dtDAAA
+ AHIwbm50eTRwLnFlMAwAAAA0eGMxcGMzai5vemYMAAAAZDN4dzNoZ2EuYWZkDAAAAHZlMHVtZnl5
+ Lms1agwAAABhcHljZ2h1aC5hbHIMAAAAY3l6Z2twaDQuM2ljDAAAAGJjZTJ5dmNxLmhhbQwAAABv
+ eGxhdGdudy5hdG8MAAAAdGpnb2tzZTIudTRzDAAAAGt1MWw1NDVkLnB3ZgwAAAB1Y2VhYmxjcS5o
+ dnUMAAAAc2x3dXZjaXkucXlmDAAAAG9seWMwcml2LmhuYgwAAAB3cmN6bXEwbC5yZ3cMAAAAc3F3
+ aTVla3UuZnl6DAAAAHdua2VzY25rLm5kbwwAAABoajRzbDVqMS5mdXkMAAAAczR4bmJoMmMudGgw
+ DAAAADVobHZvZ2l3LndtMQwAAABjcTBuNDVwei5mc3AMAAAAemYydndqaXIuZXVxDAAAADVqeHZk
+ NTMwLnp2NQwAAABqc2N2b3ljYy5xcWcMAAAAbHNqbnp2ZmIua3J3DAAAADRwYWliaHoxLnYxcAwA
+ AAB1cmkwMmFjMy5zYnkMAAAAbWc1cXdiMXEudGVqDAAAAG5sYmd5b2k1LmZkZwwAAABrM3ZiMW1v
+ by5xYWsMAAAAdmN5Z3FzcWUudXZiDAAAAGRobWFheWc1LnNrYQwAAAB0dW9sZ3lobS5seGQMAAAA
+ cW1mdXJrMWcucmNnDAAAAHMyZmdlMDAzLmNkMQwAAABpM25sY256dy4wNGwMAAAAc2UxNHJmeWwu
+ cG1zDAAAAHR0eW9kc251LjQ1ZQwAAABtcmQxamJ0Zy5uZjEMAAAAeWNtcG5ldzQueTFnDAAAAHd6
+ dmF6cHZqLmFoeAwAAAA1bXVyNGt2ei5mZWoMAAAAM2NoYnN6dmYubXl2DAAAAHBldGsyZzVxLmxn
+ ZwwAAAA1bTU0Zmdnby5rdjUMAAAAeXptczVvMHMuNTN6DAAAADB4NTRsZHN5LmdxdgwAAABnZWlz
+ emdhMS53ZnIMAAAAamExY2xhdHcuNWNpDAAAAG9ydHVzdnlwLnp1dwwAAAAyYTJueHNxbS5hdHIM
+ AAAAeW5sNXR0eWgubTVsDAAAAG5xY2k0bjUxLjM0dAwAAABrMjRraXpsZC50aXQMAAAAcHBwZmNw
+ MmQuenRxDAAAAGtnbGl5ZXN0LmFmdgwAAAAzbGFlb25nbi5qenoMAAAAaDA1djA1YnQuc253DAAA
+ AGVrZGp0Y3U1LjNicAwAAAA0dmp3eTJhei5kc3cMAAAAYzR3MjF6ZXAuYWNzDAAAAG1hZmtrdGh1
+ LjN5dAwAAABqaDV2ZGx6eC54aGIMAAAAanYzZ2lhMDAuemFxDAAAAGxucjAxemRkLmh0eAwAAABt
+ bmNkZjRudS5idnQMAAAAY3l1ajNjcjUuYmVhDAAAAGt2cG5kem94Lm1vbQwAAAAyZjB0c2Vuby5t
+ NWkMAAAAcTJvbGRtbDQuZHlyDAAAAHFqMTBqY3BjLmhrdwwAAABjMXZ3bWtvYi56azUMAAAAdWRt
+ NGFiMXMuM3FtDAAAAGtxZ2I1ZndsLnV6MwwAAABla21uYjBoZC55c3IMAAAAYWdqYnNrbnIuMmd5
+ DAAAAGZwNGRqamxsLm1meQwAAABibzVkZW1oeC5taHcMAAAAcnppZ29ldWkuYnhkDAAAAHhhZmUw
+ aWlrLnQ1ZQwAAABybXZreHN6ZS5id2EMAAAAaHRxNWZndm8uaGdlDAAAAGczeXBicGprLnY0ZQwA
+ AABtbXYwb3lieC5rM2cMAAAAZGhqMGIxY3kudm5tDAAAAGJoYm5kZGRjLnp1cgwAAABid2NicDQx
+ ZC55dG4MAAAAZGhoZ2d0dGkuMWhrDAAAAHFwa3J2MW40LmlvcAwAAABnMGNsdDUxbS5wYnEMAAAA
+ bnhsbGRhYW8ua2RwDAAAADBucTV0Y3J3LmpldAwAAAAzNDAzbW9tai5nbGgMAAAAcG1kNHp6aGsu
+ eXJzDAAAAGYxcmMwNGp0LjFrbAwAAAA0dXhmc2loaS5tMHUMAAAAZWx6Z2t4dmoucmplDAAAAGxr
+ dmY1b3gyLmpqMAwAAABhejIyNG1qci5zZ24MAAAAemYwemFwdW0udnZjDAAAAGNjZnBqMG95LjRp
+ ZgwAAABtazB4dXZ5MS5pMjEMAAAAMjRmbjJ6eHIudGtqDAAAAG96eWZ1b3JuLjFybgwAAABhdnN3
+ dTF2Zy5vYXMMAAAAcmNtaHhvczMucnptDAAAAGhyajVmZ3NnLjM1MQwAAAB0eWlibmV5bC54aHQM
+ AAAANXIzZHV6b2cuamlnDAAAAHBuMXJ5ZWFnLmV1bAwAAAB6MmFsbXJ6ZS5tdHkMAAAAenpxMGtm
+ eTQudmJuDAAAAHJ0cTBkZG9nLjV1ZwwAAAB3ZXRlc2hteS5kYW0MAAAAZWc0M2tvMG8uamhnDAAA
+ AHNxaGdhaW1wLnQ0YgwAAAB6cDRtdmh1Yy5xbW0MAAAAM2dnd3F3aHYuZ3MzDAAAAHd1emNxb3Z4
+ LmZqMgwAAAAxbDFtNDFiai5nZHcMAAAAdnFib3FrcHQuMzJ2DAAAAGU1bTR0MmVxLnhsNAwAAABm
+ MXhtMTN6eS5langMAAAAMXNlcTVjaG0ub3BoDAAAAHgzYmt3Z3JyLjViYQwAAAA1MXNqeWNncy51
+ bWgMAAAAMHNrdmJvanEueTBoDAAAAHo0anJ5YmYwLmVvbAwAAABxaXNmbDRsci5iZXEMAAAAb2xm
+ Z2RhYnoud3djDAAAAGFnem1oeHV1LmN3aAwAAABiNXB4bTR2dy5yamIMAAAAbTBzb28xanYubG5x
+ DAAAAHJ4dWJ2dmdwLnhnZgwAAAB0MzJuM3huZS5kZWgMAAAAdWZvMG1sNWsuanphDAAAAGJqZmQ0
+ cWNvLjRtZAwAAABkdnJmZW0ycC51bGgMAAAAdGJ6Z2loM3YudHQ1DAAAAGlmeTJlcHVrLnNxNQwA
+ AABmYWlsMzVieS5ycTMMAAAAbTVlZ24yZmsuYWllDAAAADBsaGlrbHFrLm9iegwAAABsb3h0eHlv
+ dS4wMWcMAAAAbXYzcm5lZW8ucmljDAAAAHI0cnpyeWkyLnF3NQwAAABxcmJsMDVxei4wNWUMAAAA
+ YXcycHJqYmEubTNhDAAAAGJoZ3l2aXZqLmNiMwwAAABkbHhlcTVjMC5vcnYMAAAAbjN2MDRyaHAu
+ YWV4DAAAAGQxcXZ1ZmltLnBidwwAAABveWVyanp2dS5wZm8MAAAAbnVheGtib3YucXB1DAAAAGtk
+ eWRhcWlyLndjcgwAAAB3YTM0Y3VrMy5iZGcMAAAAZTVuMWl4anoud3JrDAAAADJycmk0MXBqLmV2
+ cgwAAABoeHJqNHJzZS54Y20MAAAAdzQxanFwemMueDF4DAAAAGJqbTJhdTNyLnR5eQwAAAB5eTFi
+ eDNtZS5tbHgMAAAAZ2I1MG11bzUudTNoDAAAAG1pd3Z3anQ0Lmo0aQwAAABxY3JpbWFoby5jbnYM
+ AAAAdWdlc3R5dzEudXBsDAAAAHNqczJ1NGVwLmdlMwwAAAB6NWZqc2N3Yi41NWIMAAAAaGxmeDFn
+ cXMucTRqDAAAAG0zbnduMGUyLmhscAwAAAB2cm9iendrMS50cG0MAAAAaGFyYXF2ZGYuZDBkDAAA
+ AG16YTR0NXNnLnV1dgwAAAAwaGh2cGpkNS55bXAMAAAAcHByanQxbWIuZ3RzDAAAADE0dnJkemEy
+ LnhtcwwAAAAzbWltdnF1bi5odTAMAAAAa2NsbGdqdGUuY2I0DAAAAHN6eGdsYWlqLjJvdAwAAABu
+ bWg0bmg1MS4xbjAMAAAAZ2Zyb3ZieGwucWJtDAAAAGUwbnBsbndqLnlzZQwAAABkYWhodXF2Mi4z
+ b3IMAAAAcHhuMXQzemkuYWNnDAAAAHl0MDBodGtrLnd0dwwAAABwend4NTIzMi5ocWcMAAAAbXJ1
+ eWx6dHQua3BiDAAAADBiaWNzeXFvLmJxZAwAAABndnpwbnZ4cC5xbGwMAAAAM3V6bDFmaXUucmYy
+ DAAAAG9mZGptbnN2LnVodAwAAAAyeWhndHVzei4xa2YMAAAAMXcwYnhkY24ucHgxDAAAADFwbWx3
+ Ymt2Lml3MwwAAAB5ampoa3Fsbi5pdWIMAAAAMHh3MW95bG8udHdlDAAAAGtteml4cTR3LnUzcAwA
+ AAB0djEzd3F2eS55dWIMAAAAb2EyZzNlanQucmlmDAAAAGViZXBnanc1Lm10cQwAAAAyZnkxMzAz
+ Zy5ueXUMAAAAMGM1dXR1bWYuM3RzDAAAAGZuY3RrY2JnLmMwYwwAAABibmtzZXdzZy53em0MAAAA
+ eXlpajEwMW8ucGlqDAAAAHA1anlkbHI0Lmh2MgwAAAAzaXBjZGF3dy5hcXIMAAAAMDRtdzV6MnMu
+ dW0wDAAAAHdjdHBua2ZoLjJ1bQwAAAByenBxc2JzMC41dGEMAAAAdmFoeHF6MGMuMnBtDAAAAHZy
+ MHNza29yLm4ydwwAAAB4dDUwMHUyYi5yaGsMAAAAY3ZpeTI0ZHguY2t6DAAAAHU0c3dkb2x4LnFq
+ ZwwAAABqc2V0emMwZS5qaGUMAAAAaGI1NGIxdGkuM3F2DAAAAGVyNXFzcHZyLnUxMAwAAABibzRp
+ MnNmdi53MnUMAAAAbXpwdnNudWIua2xoDAAAAGtrMG14djBmLnNsbgwAAABjemJlbGVqZy5xaXEM
+ AAAANXhob2txNTQuY29qDAAAAHVyaWhzbjR5LmVreAwAAAB2dGFtaWl2MC5sd2IMAAAAbHhhc3g1
+ eTQuejMyDAAAAG12dnJ2czFuLmRodQwAAAB5ejJxa2h3ZC50ZGUMAAAAeGwyYWd6dHYuMXNmDAAA
+ AHZnNGNybm0yLjNjYgwAAABrNTVmNWtwcS55cWIMAAAAa2RlbGI0bWkucWNtDAAAADN4NWxldGk0
+ LmtkYgwAAABqd3FnYnVtYi5pcnQMAAAAaGVkbHlpNXQud3FsDAAAAGZ0ZXRzM2tvLmhtbAwAAABy
+ Z2MzdjN5cC4xY3AMAAAAZ3BoMzNqcGwudHoxDAAAADR1eDNzd2l5LjNhMgwAAABuY211d3V1MS41
+ ZjAMAAAAaGhrYjBrdzAueWkyDAAAAHZobG1ha3VwLmhzaQwAAAAyd3dkdXFzdy50dzEMAAAAamJm
+ Z3FxeDUudHoyDAAAAG80dWk0a2RyLnAybQwAAAB4aWd3ZHBxZS4zencMAAAAamIwemtsbDEuMmFo
+ DAAAADB3eHBpZWlpLmVndAwAAABuNDNudG81NS5ueWYMAAAAeW1ocjFxeDUuMW9yDAAAAGY0bGZ3
+ b3hpLm50ZgwAAABuemZyYmJ2eC5weXkMAAAAeWhyNXZvaXouMnVvDAAAADN5NXAyZXp3Lm55YwwA
+ AABuNXFnYWgxbS5vM28MAAAAcDNzMWUwMWQua2pnDAAAAGVxZDFoa2NhLnkzbgwAAAB2YTN1Y251
+ ay4yMXAMAAAAYWVrYTE1Z3EucXFkDAAAAGNwdDNvNGZhLnhzdwwAAABsMXMyZ3Fhay52cWQMAAAA
+ anJvM2hzcDMuMmYzDAAAAGJzZ2FhdTBvLnBvawwAAABybHgxZGVoaC56eHoMAAAAdmZlNGlibmMu
+ YjJyDAAAAG5paTFtc3YzLnBzdQwAAAA1cWtkbnR5ci5xa3QMAAAAa2Yxa3Yxb3kuaGsyDAAAAHh1
+ bmd3dWlqLnViMwwAAAB2Ymx3MndldC5rcm0MAAAAanFkZ29tNWEudmMxDAAAAHk1amtjbG4zLmxw
+ NQwAAABqcW1xeWVkdy5naWEMAAAAMW9qYjIwaWEudnRqDAAAAHRmaXZkdjIxLmF4MAwAAABwaWQw
+ aHpwcy5kdjUMAAAAd2ZnY2RxNGYueG8yDAAAAGNicDA1eG0yLnM1MAwAAABhMjAxYXBodi4wZjQM
+ AAAAZGwxMnl6bXIuZWJmDAAAAHgwZXZ5dHFyLmEydwwAAABnZm91NHlrMS55NXQMAAAAdzJqZHZs
+ MmIuZmJ3DAAAADJ4a3c0eHhyLnVpawwAAABneHFsaWdsMi5scHMMAAAAanN5dXl1emguZGhyDAAA
+ AGRkem5lMGpnLmV2NAwAAAB6d3pkdXBjcy5mMWMMAAAAbHZzYWFsYzEubWxqDAAAAHhheDBhZTVl
+ LnpjeAwAAAByZmRncm4xZS5yZHYMAAAAc201MnV4bm0uYjMwDAAAADF2cWt5NWZhLm54ZwwAAAB5
+ Y3lreGVnYy4zYmwMAAAAajNqMnV5ZGIuZ3JmDAAAAGh6aHozNG1mLnB6NAwAAABhMHJzaWUxci5p
+ cTUMAAAAMGp1cmoyMWkuNDAzDAAAADAyM3c0YnJ4LjNzMAwAAAA0em95YjRzdy4zbXMMAAAAcGlv
+ MnM1MHAueGprDAAAAHBpYWpibXpyLmgzcgwAAAA1ZDMxeW5ndS54a3IMAAAAZ2dlMGMwdWEucmsw
+ DAAAAGpvZHIxbHVjLmk0cAwAAAAxcmNrZDN5NC5pbWoMAAAAeGxhbXhwZ3YuMWp0DAAAADJlMGsz
+ MWJwLm4xdAwAAAB1MW1sazF3NC52bjIMAAAAa3Y1YWhldmoudjBuDAAAAGMwdDVyMm9jLnI1cAwA
+ AAB4d20wdGt2bS5xbHkMAAAAdWpqcW9pM3IuamoyDAAAAG5sdHl0amd4LjN3YQwAAABoZmF4Mnhy
+ di5yc3YMAAAAdmdyYnlxdXYucXQ0DAAAADFqc3d4YWh3Lnk1awwAAAAza3Ftb3d3di5ia24MAAAA
+ ZDFocWk1dmMuY20yDAAAADFxMGRseGNpLmhjcgwAAABkemJsazRyai52ZHYMAAAAZ3loeDBwNXQu
+ ZGlzDAAAAGNsaWY1b3h2LnQwbgwAAABwYm52dzJ2Yy5oMDUMAAAAaWUxajNldXoudmMyDAAAAGNq
+ cnNjaWp3LmJzcAwAAAAxcGxtbjN3ai5kZzIMAAAAd3BxeW15cWMuZXBvDAAAADNteGpyYTBhLjVu
+ dAwAAABhcGxhZTVocS5ibG0MAAAAc3VjajQwcG8uMzRjDAAAAHpiY2twcDQzLjV1agwAAABhbG5s
+ YjRlNS5ibnkMAAAAYWl3amdzcWUuZW1mDAAAAGswbzFsbTUwLmNxYwwAAAA0cm1tbDVlYi5xZXAM
+ AAAAYXBpbWdvdGYueXE0DAAAAGF6b3Jwd2QwLmR3NQwAAAB5M2x0ZGkzYi5xZXMMAAAANHhvbHRm
+ cDAuZDV0DAAAAGhocDI1d2FpLnFxMAwAAAB4Y21obGJ6NS5paXIMAAAAbnpqd3p6MGYudmprDAAA
+ AHhyMTFmNHVuLjJidQwAAAB3ZGhqeHBuei5neG0MAAAAMnh5bGlsM2wuazF4DAAAAHZzMXZqd2cx
+ LmdqMgwAAABrMHRzbjRmaC5va2wMAAAAZDFqb2N6MmQuaHljDAAAAHF2MmpucTVzLmx5ZAwAAABx
+ ZHpwNWRyby4xcXcMAAAAa2ZhYmkzdHYuaXRmDAAAAHB5NG9xeWRiLjJ6MgwAAAAyNGV0dGMwdS53
+ MGgMAAAAZGZkNDN6dHcubWlyDAAAAGF6Zno1eWk0Lm8zagwAAAAzdDV1d2Ruby5tdHoMAAAAb3ls
+ ZjF4aHguZ2RqDAAAADR5bnAwdmFuLnpidQwAAAA1enF4bXZqcC4yNTUMAAAANXFnc3F0Y2QuMmpk
+ DAAAADRuMm5kMGlvLm53ZAwAAAAxMm1qNWlrdy4yY3MMAAAAY3ZvZnd1dmwucXhnDAAAADBobHU1
+ ZnJ1LmRjcwwAAAB4NGpoNXBkci51bzUMAAAAcWRxNHdib24ucWFyDAAAAGhvMHBhbHF4LnNocgwA
+ AABhMmJ0bWJ5YS5xZ2UMAAAAbGk1b3NwamouMGxsDAAAAHpldGgyMTFkLjBoYwwAAABsY2Y0NXky
+ bi52bjQMAAAAZXpvemI0M2suYTR6DAAAAHR1ZHVoanlyLmdnbwwAAABuZHBqaXJneC5rbHUMAAAA
+ MnBsbXVrdHIuYnB4DAAAAGhmeGxnb3RjLmcxYwwAAAB2cGtiMTF5Zy5pMHEMAAAAcW4ybmpvMTMu
+ Z21sDAAAAHJpY2o0eGs1LnBqbQwAAABqZ2RuMmN5Zi4zYW4MAAAAZDB3aGk0djEuY2wwDAAAAHAx
+ bGdncnVzLnB5bAwAAABqb3R3cW95ei5jZjUMAAAAM3p1cnZ3Y2oueWZnDAAAAGkxcGFkdnVuLm96
+ bgwAAABhdGhucnJ6di5pdG8MAAAAc2Nmc21zZzQuc2lsDAAAAGdxZGp0MXNtLnZ4bAwAAAAzMG1i
+ aDNraS5rYm8MAAAAZzRoZnNoYWwuY2JpDAAAAHZlbmptanFtLnRmegwAAABhNTVpdnQ0My5zcWoM
+ AAAAbGY1cG14YXguYWJ6DAAAAGdtb3cwcmI0Lm13egwAAAByM3Nlemh6ai5xZzIMAAAAMGN2NHh6
+ dzUuaXU1DAAAAHlzMjMzZm52LmNscAwAAABzaDJuZ2Fvdi5lY3QMAAAAbXFudG4ybXEuend2DAAA
+ AG8ydHFzM2NuLjBxcgwAAABycnF5ZWt6di5pcnQMAAAAcDVxMXkzdmQucDV5DAAAAGUzYzVtY29q
+ LmExcAwAAABtNXNxd2Nkai5vbHkMAAAAeW1uaG40bGguZ2lpDAAAAGZ0ZmJrbXlyLmoxMgwAAABo
+ c3ozcWdoNC53MTMMAAAAZWN0Zm9paHMuenV1DAAAADVsbHl5b2dhLmp0cgwAAAB2cmd5Mnl0eC5k
+ MzMMAAAANXA1YW1ja2wuam1sDAAAAGdrZXpkZmNzLjAwdQwAAAB0MzF2eHViaS55cmIMAAAAZzJ1
+ MzJrenQudGllDAAAAGEzdG9nZnBjLjJ4MAwAAABrYzM1cDF2bC4wMXYMAAAAaml0MW9zNXcuanVj
+ DAAAAGVia3h2bXExLjJ0aQwAAABqYnd6cXVvbC54cDAMAAAAaHJrM2JwaHYuaW5qDAAAAHkweWNj
+ bTQxLnQxbAwAAAB3aW55a2FtZy5rMjMMAAAAaGtpamsxNTMuZTRwDAAAAGd4ZHprY3phLm1zbgwA
+ AAAzaWtwa2tteC5xZjIMAAAAYnRoc2dnNXQubnl4DAAAAG50M21pdGJ0LmowNQwAAABwamdpNTBu
+ MC41cWYMAAAAM25uZGNobWcueXZrDAAAADRhaXdwMWVhLjI1dAwAAABobXhjMmxqcC5ja3cMAAAA
+ d2lveTF5bmIuZ3gxDAAAAGdjdDNqbzEzLjJwMwwAAAB0cTB1MnZwbS4wdDMMAAAAb21ncW53dzEu
+ eTUxDAAAADIzcmVlbjI0LngzMgwAAAB6amVheWVzZy56dWsMAAAAZ2trd2x4MGYubnNvDAAAAHpz
+ dWl2em1jLnRmMwwAAABvMmt4bXBicS50bXEMAAAAdHBhbzNsMmgucG9zDAAAADBmbXozdHNxLndz
+ cQwAAAA0dDIxaDB0Yi56dDIMAAAAZXp1anB2ZXkuaWs1DAAAAHNoY2RzeW9nLmRlMwwAAABpdmt3
+ ZWxteC5kaHoMAAAAc2JvNHRjeXcuNHV3DAAAAHJzbnpkbWExLmFlcwwAAABjYXd3YW5pbi5nYncM
+ AAAAajJvNXdkcncuZ3VrDAAAAGF5MHVodG9mLnN5ZQwAAAAwYnQ0d2l6bi4yaWwMAAAAeHFtamtv
+ NTUueGZwDAAAADVvdnlydHptLmQxawwAAABsY3VoaDR3cC5ldzMMAAAAYWJ6cGhhMTEuM2tkDAAA
+ AHZ2MWVkcnI0Lm1rcAwAAAB1aXEwajFrei5yNXcMAAAAeHFydWd2NG8uYWpkDAAAAHo0a3hibjVm
+ LmJjcAwAAAB5ZGVzcGpjZy5pajUMAAAAb25yMHJvZGsubGN6DAAAAGoxd2Z3eGVhLnMyNAwAAAB0
+ cDRtNXR0dC53bXgMAAAAcGpkY3Bzd3MuYWoyDAAAAGtrcXgza25qLmh2ZgwAAABwdHJubm5jeC41
+ ZW8MAAAAc2I1MTJ5YmouM3JjDAAAAHExenBoamN2LmNpaQwAAABwdGNka2ZxYy55M2MMAAAAZGl5
+ bmJjc2gueHR1DAAAAG8yYTFiZjVoLmJlMAwAAABwMDBhc2psci5rengMAAAAM3hwYnRmYXMub2R5
+ DAAAAHNwZmZ3bHhwLjRtcQwAAABjZGMxd25iay5sbWgMAAAAYjBvbm5ueTQueHkxDAAAAGJ0cXdr
+ NWpmLnhjYgwAAABncTR4c3dxdC54ZjIMAAAAeHNheHVzbmsua2pzDAAAAG9pYzE0azI1LnducwwA
+ AABsdnpvdzRpMy5jNHYMAAAAankzbWtueGUuajJ0DAAAAGxnNXI1ZnFnLmJwNAwAAAAxZWFqZ2Js
+ aS5tcGQMAAAAbzBydHh1YmcuMWdnDAAAAG1panliYXlrLjRtNAwAAAAxNW9wZjIydC56aW0MAAAA
+ MGJlaDRta2QueWVrDAAAAHVjc2pka3FxLmJpbAwAAABwbjRndzJwZC5nZXMMAAAAem92ajRqYjUu
+ MXVhDAAAAGMyMjN6Y3JsLmljcgwAAABiamp0NWRhNC5heDMMAAAAMnl6a3Fvc3kuZ3Z5DAAAAGJr
+ NGVwa2hrLnVhdQwAAABzbG40cmZxYS5jMnAMAAAAdnB4aXh1dnEuMmR0DAAAAGtpdDJndzFhLmMz
+ dAwAAAB3ZWowcGhmbi4xa2sMAAAAdHh1aGhxcGUuNDEwDAAAAHhzeHR3NGgyLmZjdwwAAAAzZm4y
+ cmR0NC5qZmMMAAAAYmdpMnN0YTEuams1DAAAAGlxbmRvamJqLnA1YgwAAAB1cG4zYnh5bS53NTAM
+ AAAAbmdkdDBybnIueGtzDAAAAGN2M25tMjJlLmN3MQwAAABqZmZqeWE0bC41aWoMAAAAcmJhbXB0
+ NGkub3JrDAAAAHdveTFvZ3N0LmIyMAwAAABicHcyNHN6dy50am0MAAAAd3pmams0bDIuc2l0DAAA
+ AHYxcXRtZzFlLnV0cwwAAAByajJjcWRycC5taDQMAAAAMGU0dWRxd3cucG9qDAAAAG5lazV6c25y
+ LjB0MAwAAAA1am9zZG5oZi5ndmYMAAAAbXd6aXA0MWkuaTQ1DAAAAGlqZmsxc2l0LjR3eQwAAAAx
+ bXZ1eDFzcS55cHEMAAAAZnpiZ2JocDUueW1xDAAAAHVpMTFkenFuLnR0bAwAAABqMTBiMDNsaS54
+ NGMMAAAAMXJ4MHFuaXQueW96DAAAADJzc2puMWF2LnptbAwAAAA0bWMxMzR4dy5yNGcMAAAAaXRl
+ aTVxa3oudXZiDAAAAHIxMWlkZW5sLjBycwwAAABzaWoxMDU1eC50eGsMAAAAamIxMTJkYnQuY3Z2
+ DAAAAGIwd2tncGFuLm5xawwAAAAzNXBlamIzZC5mZDUMAAAAMm5oeHB4MmQudDNlDAAAADFkbnhr
+ bzRxLmRhdgwAAABhdzB5cWZwby4xbTIMAAAAb2U1MnN0cXguMnJsDAAAAHBubGhjd2t6Lmt4MwwA
+ AAB4bGdvNHgxdy5odXUMAAAAbzRrNHJvNW0uMmdiDAAAAGF1azJ3dHhnLmVmMAwAAAB3ZzBkYWwz
+ Zy50bXIMAAAAa2p4MGVyb2EucGYwDAAAADJnNHlwdHVlLjMzegwAAABoMjNpeXJlZS5qaWoMAAAA
+ aGR0dzNsZWouaHdyDAAAAG5zY3JjdXkyLjFkbgwAAABrY2ZudjJzcS5qMGUMAAAAMjJxMHB3Mmwu
+ NWZsDAAAAHhoZWd5d3Z6LncxYwwAAAByMnhzaTVtaC5wbzEMAAAAcHp2dTV5bXYudXh3DAAAADVx
+ ZGRrYmJiLnFnbgwAAAAzZnM0ZDBnMS5qeHcMAAAAZW9meW9ueDUudHpoDAAAAHd2djRwcW0xLmV4
+ dAwAAABweXZudXJ0ZC4zZGMMAAAAaXhlNGF0czQudHEzDAAAADFycjMxNGcyLmQyeQwAAAA1YmRz
+ eTR1cy4yMmQMAAAAamxiMGJ0enIubGt3DAAAADR1MGhiYWQzLnhyNQwAAAB2dmdrbDJjby4yeXQM
+ AAAAa2c1anNqNXIubG96DAAAAGkyaDNoZ3NhLnhkMwwAAABudnVkMTNicC5iNTQMAAAAYnAza21y
+ d3AuNHUzDAAAAHd3MGFzc3l4Lmp6MQwAAABvaGJ1dXNwdS5ha3cMAAAAcmNpNHpxemQuNHNmDAAA
+ AGZ1b2pmcTQwLmZ5dAwAAABtYXBiazJpdS5jNHEMAAAAanUxdm8wbG8ubHF5DAAAAG1hMHNxZXRq
+ LnF4cgwAAABxbnd1dGx6YS5neXkMAAAAamtybnJkdTMucW5vDAAAAGF2NHNsZ3cyLm5qNQwAAAB4
+ a2xpamN2ai4zcjEMAAAAc3cxYnZyMHIucWN3DAAAAHZydnI0amFwLnJkMwwAAAAzM2pqYXBhcS5x
+ bGMMAAAAczFwZ3psaHgueXRwDAAAAHBseDN3aWh0Lnp5bwwAAABwY2llMGp5Zi4ydGEMAAAAd3No
+ cmV0dGYubzAyDAAAAHNyZXZ3eGN4LmY0dwwAAAAyZjNleW4yeC5nc2MMAAAAZXF3MGFsZnUud2Jr
+ DAAAADBpdDFtZnhzLmpxMAwAAABpbHl4dXR4ei5tNXoMAAAANHJobG9pcjAuaTAzDAAAADJ2b2Nm
+ ZzNtLnhycwwAAABkd295eWllaC5wZWMMAAAANWIycGk0NWEuZGk1DAAAAHlkbWRrMWJwLmtlaQwA
+ AABqaWRjNW5paC41enEMAAAAMDJnYjJ6aXQuM3VtDAAAAHE1ZmFjM2p6LnczaQwAAABnZmswc2Jj
+ My5wYWsMAAAAd3Nnd3B0d2IubG8xDAAAAGRtd3FycXpvLmthdQwAAAB5ZWVrbGp3YS5oZWwMAAAA
+ dHpoNHN2dTIuaHp6DAAAAHBjbXhrMWZuLjRseQwAAABjMWt1M3p2bS5hMXAMAAAAa2owMDExNWUu
+ dXZnDAAAAGJuNHN5cWdrLjBjMgwAAAAyb21sNWJ2NS4zdGsMAAAAdzB5eHBjd3cubWwwDAAAAGQx
+ ZmNqYmsxLnFseAwAAAAzcmhvM3Rkdy51MnoMAAAAb2FrdGoyZGMuZjVuDAAAAHoyaTF4MTIxLmY0
+ eQwAAABra2lldXZ0NC5zY3gMAAAAeHJweXVia3kub2NwDAAAADVieXR0Z29oLmRtMgwAAABkYXYz
+ Ympvdi5waTIMAAAAb3NoaWh4ZG8ueTFwDAAAAG0wYnJramU0LngwagwAAAB4ZHU1ZXg0cS5memUM
+ AAAAeGVnNDBib2QudWp3DAAAAHBnMXYzczJiLjN0egwAAABuc2FqdWY0ci52dGcMAAAAY3FrdWtz
+ bHIuMjJwDAAAAGZ2dmh3aWs0LjF0NAwAAABkanRudmJwdC5seHQMAAAAa3Nkdm1wMzEuenNzDAAA
+ AGF3cHczZGpiLjBnZAwAAABwb21kYzF0cS52amgMAAAAZHJqZm9pbnUuejQzDAAAAGYyc2NpaHI0
+ LjJubQwAAABweWR1bGNpYi56YzQMAAAAMDF3d3llNGcucGZzDAAAAGNxd2ZnaG11LnYydwwAAAB5
+ anphNGJrbC5ocWcMAAAAbG5qMmpyNW0udGJtDAAAAHl2MG9tcWl6LngxdAwAAABzYXNueWEyZC40
+ d28MAAAAem5iejRoYmQubHozDAAAAHZ6MzFuYXNzLjM1cgwAAAAxc2I0bnlsZy5yejMMAAAAYTQz
+ emVkaW4uMXYyDAAAAGV5YTUwcnZmLmg1YQwAAABkMXV4YnFkMy53bjQMAAAAMHRsNTU0bWYuZnMx
+ DAAAAHlmendwNHlxLnp5bAwAAAAwYXNiZHJuci5yYXcMAAAAbjNqeXZrdnAuZ3doDAAAAHJja3A1
+ c2ljLm1mawwAAABrZWVmcG1nYy50dGcMAAAAcXAwZXlrdDMucTRxDAAAAHowc3UwZ3c0LmxwaAwA
+ AABkNWZ4cXpldS5ua2kMAAAAbTVraGpscHcuZzMxDAAAAHRjMGtqeXF1LnV5ZQwAAABhaG5ncmlv
+ dS56bWUMAAAAaGVxa2R1bHUudHE0DAAAAHlwZHZ3MXRtLnN0dQwAAAB2ZHc0NG4yMC5lcHkMAAAA
+ bGN6aTQ1MnAuaWEyDAAAAGEwcmY1azRwLnQwcwwAAABhcWg0YWc0bC5uZ2MMAAAAZWNwdWE1cWku
+ bWd0DAAAADV3b25lcTUyLnJndwwAAAB3NW9rNWp2ZS5xbHcMAAAAMnpjcWJrZmEubGVvDAAAAGR1
+ eXpvNXVlLjNuYwwAAABqNG9nMnlzdS5sd2kMAAAAZGttcWp6ZTMuYjQyDAAAAGVmZ2FvcmRxLnhy
+ eQwAAAA0bzNhY3B0ZC41c3EMAAAAa2J5cHJpMm8ubGJnDAAAAGtxZ253ZXJ4LnB3dwwAAAB6dXRn
+ enA1bi52enUMAAAAZHZycHZ5M3EuejJzDAAAAHNidjFqcGh3LmdyYwwAAAB6ZDFoaDFsdy5wZGwM
+ AAAAYW1veWtvZGkuNW9nDAAAAG1uMWkzYjMzLmF5YQwAAAB2cHllbGFvci52M3IMAAAAeWpibmgw
+ cGouMzF2DAAAADMwcndocHBsLmt1NQwAAABrdWJwcWxvYi53MXkMAAAAazNsZm9pbWEudGtmDAAA
+ ADNleGlsbXB2Lmp6aQwAAABsYWF1bW1nby51em0MAAAAMHIwcTV0bHkud2ZwDAAAADN4YTBxZ2x5
+ LmljcgwAAAA1NHBhMnBtdy5yamkMAAAAYW9nZWs1dzEudzMzDAAAADNvZ2t3cWVvLmhpaQwAAABp
+ ZmxlaTFuMS5idGsMAAAAYmxkd2R0b3Uudmk0DAAAAGFiMXNhdGo0Lm1xdQwAAABkd2ViZGwwbC5t
+ cjIMAAAAYTRxZG94ZWsuajMxDAAAAGszMHA1c2NuLnRsMwwAAAB1MHoxMHloby5pbXcMAAAAY3lr
+ ampkMWMuNGd5DAAAADVqM2wxMHEwLnlmcgwAAABhdXF6cmp1aC5ld2QMAAAAemdubGx6bnUuc3Fv
+ DAAAAGI1ZjNmcWRpLjB5NQwAAABzeWpobG9pby41YnMMAAAAcDVucm4weHkuMmkwDAAAAHVkeGxj
+ dmdtLmpnagwAAAAzZmMwZXdibS5lYXUMAAAAejFkMHVvdDAudnNqDAAAADIzeTNzZnFjLmZnZAwA
+ AABxMnRmYjB2ay5uMmQMAAAAa2xieXcwczUuZ2ozDAAAADN0bWhjaHExLjFxdQwAAABjZXU1M2o1
+ dy5rcXYMAAAAbWRjcGVld2IuNXhxDAAAAHl6MmFpd3k1Lm9scAwAAABidHZycTFiZy5jeXIMAAAA
+ eXlhbGJ1Y3MuYW5nDAAAAHAzeHRvcDFpLnFlZwwAAAB3ZXdrM2dmZC5uaW0MAAAAZm1qb2d4b2cu
+ NTU0DAAAAGVydTJsbmowLnN1dAwAAAB6bG5xa3hnYS53MHIMAAAAZXgxeDB1MXUuYnpuDAAAAHZm
+ eGJidWFkLm5tNQwAAABidmo1eWxwZC53ZnYMAAAAZW5rY3FzNTUudGx0DAAAAHdsZzBxcWh2LnNy
+ ZwwAAABvZWVrcjJ0eC51aXkMAAAAdmh0aTB3cXAudWYxDAAAADV0cXh0enYzLnk0cgwAAAB4ZXdl
+ bGRrdi56YXEMAAAAamJ4YzB3dWkuMWlkDAAAAG9rdXB6MnN2LmhmaAwAAAB1MWJ5eDFlbi5taXIM
+ AAAAaGhwejQyeHQuZ3F4DAAAADBxbDMzZXk0LmMwagwAAAA1bTVsbjVsbi4wdTIMAAAAcnN0a2Jx
+ dWwudWQyDAAAAG94MDQ1azFvLmdtbwwAAAB0dWRrcW0wdS50dmwMAAAAY2ZjMWlvam8uNGluDAAA
+ AGozcGM1c20wLm1sYwwAAABpc2Q0MGpzdC50ZmcMAAAAazM0ZHdjd2IuejNtDAAAAHZleDV1c2Rv
+ Lm1nYQwAAAB5ZWpnb2d4by55bnAMAAAAdjRvbjB1bGwucHlmDAAAAHB3MmUwbHpzLjVnawwAAAB2
+ enEzMW94Yi50djMMAAAAeHFzMGthZ3QueTV4DAAAAGhyYmlrNGllLnNndgwAAABjZWtsNDBzaS5y
+ cnkMAAAAMDV0Y3h0MmwucXo1DAAAAHF4bHZnczFiLnVjbAwAAABnMndsNDBrMS5qeTIMAAAAdWEx
+ cnIxZGwudWVlDAAAAHFzdWdueXZmLnhycQwAAAB6bXoxd3V0dC40bzAMAAAAYTJuajNxZ3kuajR6
+ DAAAADUxeW01YmhxLmVybAwAAABpMXJsMnBlYi5odmoMAAAAcWJyanptcnUubWZqDAAAAHljNWdr
+ Z3lsLm1wdAwAAABkZDV3dGh5aS5xeGcMAAAAa3dlZHV2cG4uZnRhDAAAAGFqZDNkdjBoLmtqYwwA
+ AABocGdudG5qaC56dHIMAAAAeDRmYWF5b24uemd6DAAAAGRleDR4YjVsLnJtbQwAAAA1NWZvcXJy
+ bC4ybXUMAAAAd2lrdXB4b2ouc2V1DAAAAHVkYWxnenR0LmMzbwwAAAA0czJ6aG15cC4waTEMAAAA
+ MHB4MWRpY2wucWd3DAAAAHVxYTF4bGRxLnQydgwAAAB1MXF1aHRzdi5xdXUMAAAAMnMycmJmdm8u
+ anZpDAAAAGQ0bDQwbGJxLjUwZgwAAAB4YTNsajR3Yi5udHYMAAAAam9jZnc1dmQubG5tDAAAAHow
+ YmNsa2R1LmNwawwAAAB3MGpvZ3BzMS5hNXUMAAAAMDM0bDBvaDEuNWh2DAAAADNzY3Vzd2JzLnl3
+ aQwAAABidXp6MmpuMi52MzUMAAAAa2V0c2IyeHQuaXgzDAAAAG01a3RycmtsLmJmNQwAAABkeXVq
+ MXRydC5rdXgMAAAAYzExcG9lMDMuaHJjDAAAAGJvd2lyZDQzLmI0YgwAAAB6M2E1eDR6dS41em8M
+ AAAANWw1MWswdGsueGRsDAAAAGZzNXgyYWxuLmpkZwwAAABpcno1aHAxcC54dzEMAAAANDRobGZs
+ djQub2lpDAAAAHVzMzMyMDJyLm1tbQwAAAAwZGV2aGIwMC5lbm8MAAAAeWdva2FscHQubXpuDAAA
+ AGx5ZmNscmh3LnJ0NAwAAABka3hrY2l1ai4zZnAMAAAAemtkbHNwcjEuaHQyDAAAAGE0aDNvMmFy
+ LnBzNQwAAABxd2YwM2lxZC5oZmUMAAAAanl0cHZ2YWEudWYwDAAAAGFvdno1ZjRhLmlhMAwAAABj
+ djFlMnhvdS4xbngMAAAAbGFsbzVncmoueWV6DAAAAHgzanRjbzRjLjJsaAwAAABycDR0c3ZibS5o
+ a2kMAAAAeTB2MjM1eG4uMG5mDAAAAG56eDR2MXBpLmNlMAwAAABocWFleXd2by5zazAMAAAAcXMw
+ YmRudjEuNDVjDAAAAGhpM3p5cjFsLmlidgwAAAB6YzJoM28xdy5iMnUMAAAAZ2F5eXo1dDUuNWNl
+ DAAAAGZhZXEwdTNrLmZndQwAAABtcmZwZ3FzdS5ldm4MAAAAY2hlbTRsb3kuZnMyDAAAAGlyc2xn
+ b2hkLjVibgwAAAB2YWR0YXNsaC5oeGIMAAAAZnhpMmwyeXAuNGdhDAAAAGd1aHFibjExLnVyagwA
+ AABmcTJ5bmZiMS5tb3IMAAAAZm50aWR4dHEudDJjDAAAAHNxenZhcnQ1LnlmZgwAAABnbDEyZ2Zx
+ My5nZWYMAAAAcWNtYmpha2cucGc0DAAAAG4wanFyaDNjLnBtdQwAAABpNGdmdmN0Zy5sa3gMAAAA
+ eW1vNXlsengudmt3DAAAAHZ1bWFocGV0LmVqMAwAAABza254ZXVhby41eG0MAAAAdHF5bmFoaGcu
+ dW8zDAAAAG4zMm00aGVkLnRtcgwAAAAwcHVpbjRwdy54NHAMAAAAbGgxZTBjM3QuamNlDAAAADBj
+ eXBuZGVwLjNrdwwAAABrdWg0NGp3aC53c3IMAAAAb3UzNDFwd2sud2lxDAAAAHBobWZtZ3dkLmli
+ cAwAAABhc2szdXNzcy56YjUMAAAAaHgwYzFnZmIudXQzDAAAAGFxaWloMGxlLnYyawwAAABleHVl
+ aWVmZi5sc3gMAAAAa2pmMG9ubmIueTNiDAAAADJ5dG1vZHpwLnMyZQwAAAB3NHczZjUyai5vaGEM
+ AAAAajJuamJtZHEuMTRhDAAAAG1xenExcGptLnM1NAwAAAA1ZjBvb2h4My4xamsMAAAAaWJxcjUw
+ anAudmVnDAAAADFsM3phZ3F4Lm80cQwAAABueGN4MzBpbS4wdDAMAAAAb3ZkYmVnZGcuMWRmDAAA
+ ADR3MTJncHAzLmRycwwAAABxMnlkYjJtci4xNGQMAAAANWZyZHJqNG4udmduDAAAAGtua3B5MGtv
+ LjFucAwAAAA0aW54a3YzZC54eWgMAAAAYm1ucnBscWcuMHdxDAAAAHh5Z2U0ZDM0LjQ1eQwAAAAz
+ bGN1aGZpcS4yYWYMAAAAeGtpNXYxMGguZHkzDAAAADA0bWJzeWJzLnAzdQwAAAAzZXlpYjNqMi5s
+ Z2sMAAAAeHlxZXE1ejMubTRhDAAAAGtqcG9ud3hqLnNjYwwAAAA1a3EyYm0wby52azEMAAAAcnNj
+ c21uNWkudzFuDAAAAHptNWtpY3JyLjV4ZgwAAAB3dGVvdHcxci54dW0MAAAAcXZkMDIzemguYmNw
+ DAAAAHlranlrY3F4LnJqMAwAAABqZHQxYnV0Zy41d2UMAAAAbW53ZjJnbXUuM3hxDAAAAG1nb2Vr
+ dTNhLnl3ZAwAAAA0bnAwdGdoNS5ybWoMAAAANHF2c3JndnIudnBqDAAAAHhjZGN6cnl4LmZhcgwA
+ AAA0azEwdnV6by56d3cMAAAAb3NhZHYyeWouc2RnDAAAAGx4c2VsYXF2LjJjYwwAAAB2dGkyMDE0
+ di4zY3YMAAAAaGNhMGx3cjMueGp0DAAAAGJqbnIxMHN6LnM1eQwAAABzcjVvZ25jNS5ocHMMAAAA
+ YTJqaHRxeWIuczVjDAAAAGtmZG92aXptLmljdwwAAABvZDMzNDVvMS41MXoMAAAAY2VzM24zdjIu
+ dm53DAAAAHZycDBncG1mLnkyYQwAAAB2MDFmYWJsYi41djUMAAAAanIwZnRoYWYuNWJ1DAAAAG4x
+ dnYxdHN1LjFpbAwAAABnZjFiaDV6by5iNWkMAAAAY25sNHhpM3Uuc2NkDAAAAHMxaGpub2t0Lmx3
+ agwAAABqbmE1em0wYy5hb3gMAAAAY2phenp1bXguNXE0DAAAADVvaW81bWN4LnoxMQwAAABrbm41
+ cW1ueS5kbDAMAAAAbTNkd3JxMmEuMnJ2DAAAAGJ3YmlmM20zLm94YgwAAAB0aXdpb3VsaS4yMmMM
+ AAAAMXU1cjFuYXoueWhjDAAAAG52MGgxNHRzLnBpeQwAAAB3cnNzY2htcy5obWEMAAAANXF4MG81
+ MmIuZnlwDAAAAGJuNHJ6aXNyLjV5cwwAAAB1cmZvMmJxYi51Y3cMAAAAc3ZlZ3Rpb2UuaWNzDAAA
+ AGZ6aWpmcGpsLmMwagwAAABnM3lwdTJobS5qanQMAAAAd2llaG1mejIuMTJkDAAAAGQ1eXViM3Nu
+ LmRoagwAAAAyZnZ3eGlsdi5pd2gMAAAAdTV4NWtwMXguenJlDAAAADEyc3Q0MDVnLmJ4dQwAAABu
+ cWZtMWJvZS51ZG4MAAAAdGxhczJ6Z2QuZWswDAAAAG0xdmhyMWl6LnhucgwAAAB6cHpuNHczeC5u
+ M20MAAAAYnNqbDBudmkuaW5oDAAAADJ0amlwd2J6LjR5NQwAAABnZ3BrZGxvdy5vd2QMAAAAZHpo
+ M2NmYXguNWZmDAAAAGlnM2x0ZWdkLjVpNQwAAAA1eTBnZWszdS5pMm4MAAAAa2JiZGEza3MubWl0
+ DAAAAG1mbzF0amV4LjR5bAwAAABlNXFpNXppYS5sMXgMAAAAeTRjNHZsM3EuMnF6DAAAAGRhZHht
+ MjN4Lmx4cQwAAAB6amlqZGV2cS55bmEMAAAAM290ZXByancubW93DAAAAGQ1NXA0b3BjLng1aAwA
+ AAB4bGE0NGYxaS5jbmIMAAAANTFiNWZndXkuaDB4DAAAAGdsb2RnM2lmLmlyMwwAAAAwZGR2anNh
+ ZS5vdWYMAAAAZG5qd25lcnYuZGZ4DAAAADRoYXA1c3ZsLmowMQwAAAB2a3JsbHFndS5zemcMAAAA
+ MTEyYnFwcWYuaWMzDAAAAGtwNHhyeWdmLm9tawwAAAB1dWx6bmFwdS4yaGQMAAAAb2V6cmgwc2ku
+ ajJ4DAAAAHNudnF3aGkxLml3aAwAAAB6aWZsa24zcC5sMGoMAAAANGJ5ZnhkMDUucGJxDAAAAGRs
+ c2Fpb2FzLmhzMwwAAAAweGZhdDNxei5vYWkVABWOfRWOfSwV0A8VABUGFQYcGAQxOTk5GAQxMDAw
+ FgAW0A8YBDE5OTkYBDEwMDAAAAADAAAA0A8BBAAAADEwMDAEAAAAMTAwMQQAAAAxMDAyBAAAADEw
+ MDMEAAAAMTAwNAQAAAAxMDA1BAAAADEwMDYEAAAAMTAwNwQAAAAxMDA4BAAAADEwMDkEAAAAMTAx
+ MAQAAAAxMDExBAAAADEwMTIEAAAAMTAxMwQAAAAxMDE0BAAAADEwMTUEAAAAMTAxNgQAAAAxMDE3
+ BAAAADEwMTgEAAAAMTAxOQQAAAAxMDIwBAAAADEwMjEEAAAAMTAyMgQAAAAxMDIzBAAAADEwMjQE
+ AAAAMTAyNQQAAAAxMDI2BAAAADEwMjcEAAAAMTAyOAQAAAAxMDI5BAAAADEwMzAEAAAAMTAzMQQA
+ AAAxMDMyBAAAADEwMzMEAAAAMTAzNAQAAAAxMDM1BAAAADEwMzYEAAAAMTAzNwQAAAAxMDM4BAAA
+ ADEwMzkEAAAAMTA0MAQAAAAxMDQxBAAAADEwNDIEAAAAMTA0MwQAAAAxMDQ0BAAAADEwNDUEAAAA
+ MTA0NgQAAAAxMDQ3BAAAADEwNDgEAAAAMTA0OQQAAAAxMDUwBAAAADEwNTEEAAAAMTA1MgQAAAAx
+ MDUzBAAAADEwNTQEAAAAMTA1NQQAAAAxMDU2BAAAADEwNTcEAAAAMTA1OAQAAAAxMDU5BAAAADEw
+ NjAEAAAAMTA2MQQAAAAxMDYyBAAAADEwNjMEAAAAMTA2NAQAAAAxMDY1BAAAADEwNjYEAAAAMTA2
+ NwQAAAAxMDY4BAAAADEwNjkEAAAAMTA3MAQAAAAxMDcxBAAAADEwNzIEAAAAMTA3MwQAAAAxMDc0
+ BAAAADEwNzUEAAAAMTA3NgQAAAAxMDc3BAAAADEwNzgEAAAAMTA3OQQAAAAxMDgwBAAAADEwODEE
+ AAAAMTA4MgQAAAAxMDgzBAAAADEwODQEAAAAMTA4NQQAAAAxMDg2BAAAADEwODcEAAAAMTA4OAQA
+ AAAxMDg5BAAAADEwOTAEAAAAMTA5MQQAAAAxMDkyBAAAADEwOTMEAAAAMTA5NAQAAAAxMDk1BAAA
+ ADEwOTYEAAAAMTA5NwQAAAAxMDk4BAAAADEwOTkEAAAAMTEwMAQAAAAxMTAxBAAAADExMDIEAAAA
+ MTEwMwQAAAAxMTA0BAAAADExMDUEAAAAMTEwNgQAAAAxMTA3BAAAADExMDgEAAAAMTEwOQQAAAAx
+ MTEwBAAAADExMTEEAAAAMTExMgQAAAAxMTEzBAAAADExMTQEAAAAMTExNQQAAAAxMTE2BAAAADEx
+ MTcEAAAAMTExOAQAAAAxMTE5BAAAADExMjAEAAAAMTEyMQQAAAAxMTIyBAAAADExMjMEAAAAMTEy
+ NAQAAAAxMTI1BAAAADExMjYEAAAAMTEyNwQAAAAxMTI4BAAAADExMjkEAAAAMTEzMAQAAAAxMTMx
+ BAAAADExMzIEAAAAMTEzMwQAAAAxMTM0BAAAADExMzUEAAAAMTEzNgQAAAAxMTM3BAAAADExMzgE
+ AAAAMTEzOQQAAAAxMTQwBAAAADExNDEEAAAAMTE0MgQAAAAxMTQzBAAAADExNDQEAAAAMTE0NQQA
+ AAAxMTQ2BAAAADExNDcEAAAAMTE0OAQAAAAxMTQ5BAAAADExNTAEAAAAMTE1MQQAAAAxMTUyBAAA
+ ADExNTMEAAAAMTE1NAQAAAAxMTU1BAAAADExNTYEAAAAMTE1NwQAAAAxMTU4BAAAADExNTkEAAAA
+ MTE2MAQAAAAxMTYxBAAAADExNjIEAAAAMTE2MwQAAAAxMTY0BAAAADExNjUEAAAAMTE2NgQAAAAx
+ MTY3BAAAADExNjgEAAAAMTE2OQQAAAAxMTcwBAAAADExNzEEAAAAMTE3MgQAAAAxMTczBAAAADEx
+ NzQEAAAAMTE3NQQAAAAxMTc2BAAAADExNzcEAAAAMTE3OAQAAAAxMTc5BAAAADExODAEAAAAMTE4
+ MQQAAAAxMTgyBAAAADExODMEAAAAMTE4NAQAAAAxMTg1BAAAADExODYEAAAAMTE4NwQAAAAxMTg4
+ BAAAADExODkEAAAAMTE5MAQAAAAxMTkxBAAAADExOTIEAAAAMTE5MwQAAAAxMTk0BAAAADExOTUE
+ AAAAMTE5NgQAAAAxMTk3BAAAADExOTgEAAAAMTE5OQQAAAAxMjAwBAAAADEyMDEEAAAAMTIwMgQA
+ AAAxMjAzBAAAADEyMDQEAAAAMTIwNQQAAAAxMjA2BAAAADEyMDcEAAAAMTIwOAQAAAAxMjA5BAAA
+ ADEyMTAEAAAAMTIxMQQAAAAxMjEyBAAAADEyMTMEAAAAMTIxNAQAAAAxMjE1BAAAADEyMTYEAAAA
+ MTIxNwQAAAAxMjE4BAAAADEyMTkEAAAAMTIyMAQAAAAxMjIxBAAAADEyMjIEAAAAMTIyMwQAAAAx
+ MjI0BAAAADEyMjUEAAAAMTIyNgQAAAAxMjI3BAAAADEyMjgEAAAAMTIyOQQAAAAxMjMwBAAAADEy
+ MzEEAAAAMTIzMgQAAAAxMjMzBAAAADEyMzQEAAAAMTIzNQQAAAAxMjM2BAAAADEyMzcEAAAAMTIz
+ OAQAAAAxMjM5BAAAADEyNDAEAAAAMTI0MQQAAAAxMjQyBAAAADEyNDMEAAAAMTI0NAQAAAAxMjQ1
+ BAAAADEyNDYEAAAAMTI0NwQAAAAxMjQ4BAAAADEyNDkEAAAAMTI1MAQAAAAxMjUxBAAAADEyNTIE
+ AAAAMTI1MwQAAAAxMjU0BAAAADEyNTUEAAAAMTI1NgQAAAAxMjU3BAAAADEyNTgEAAAAMTI1OQQA
+ AAAxMjYwBAAAADEyNjEEAAAAMTI2MgQAAAAxMjYzBAAAADEyNjQEAAAAMTI2NQQAAAAxMjY2BAAA
+ ADEyNjcEAAAAMTI2OAQAAAAxMjY5BAAAADEyNzAEAAAAMTI3MQQAAAAxMjcyBAAAADEyNzMEAAAA
+ MTI3NAQAAAAxMjc1BAAAADEyNzYEAAAAMTI3NwQAAAAxMjc4BAAAADEyNzkEAAAAMTI4MAQAAAAx
+ MjgxBAAAADEyODIEAAAAMTI4MwQAAAAxMjg0BAAAADEyODUEAAAAMTI4NgQAAAAxMjg3BAAAADEy
+ ODgEAAAAMTI4OQQAAAAxMjkwBAAAADEyOTEEAAAAMTI5MgQAAAAxMjkzBAAAADEyOTQEAAAAMTI5
+ NQQAAAAxMjk2BAAAADEyOTcEAAAAMTI5OAQAAAAxMjk5BAAAADEzMDAEAAAAMTMwMQQAAAAxMzAy
+ BAAAADEzMDMEAAAAMTMwNAQAAAAxMzA1BAAAADEzMDYEAAAAMTMwNwQAAAAxMzA4BAAAADEzMDkE
+ AAAAMTMxMAQAAAAxMzExBAAAADEzMTIEAAAAMTMxMwQAAAAxMzE0BAAAADEzMTUEAAAAMTMxNgQA
+ AAAxMzE3BAAAADEzMTgEAAAAMTMxOQQAAAAxMzIwBAAAADEzMjEEAAAAMTMyMgQAAAAxMzIzBAAA
+ ADEzMjQEAAAAMTMyNQQAAAAxMzI2BAAAADEzMjcEAAAAMTMyOAQAAAAxMzI5BAAAADEzMzAEAAAA
+ MTMzMQQAAAAxMzMyBAAAADEzMzMEAAAAMTMzNAQAAAAxMzM1BAAAADEzMzYEAAAAMTMzNwQAAAAx
+ MzM4BAAAADEzMzkEAAAAMTM0MAQAAAAxMzQxBAAAADEzNDIEAAAAMTM0MwQAAAAxMzQ0BAAAADEz
+ NDUEAAAAMTM0NgQAAAAxMzQ3BAAAADEzNDgEAAAAMTM0OQQAAAAxMzUwBAAAADEzNTEEAAAAMTM1
+ MgQAAAAxMzUzBAAAADEzNTQEAAAAMTM1NQQAAAAxMzU2BAAAADEzNTcEAAAAMTM1OAQAAAAxMzU5
+ BAAAADEzNjAEAAAAMTM2MQQAAAAxMzYyBAAAADEzNjMEAAAAMTM2NAQAAAAxMzY1BAAAADEzNjYE
+ AAAAMTM2NwQAAAAxMzY4BAAAADEzNjkEAAAAMTM3MAQAAAAxMzcxBAAAADEzNzIEAAAAMTM3MwQA
+ AAAxMzc0BAAAADEzNzUEAAAAMTM3NgQAAAAxMzc3BAAAADEzNzgEAAAAMTM3OQQAAAAxMzgwBAAA
+ ADEzODEEAAAAMTM4MgQAAAAxMzgzBAAAADEzODQEAAAAMTM4NQQAAAAxMzg2BAAAADEzODcEAAAA
+ MTM4OAQAAAAxMzg5BAAAADEzOTAEAAAAMTM5MQQAAAAxMzkyBAAAADEzOTMEAAAAMTM5NAQAAAAx
+ Mzk1BAAAADEzOTYEAAAAMTM5NwQAAAAxMzk4BAAAADEzOTkEAAAAMTQwMAQAAAAxNDAxBAAAADE0
+ MDIEAAAAMTQwMwQAAAAxNDA0BAAAADE0MDUEAAAAMTQwNgQAAAAxNDA3BAAAADE0MDgEAAAAMTQw
+ OQQAAAAxNDEwBAAAADE0MTEEAAAAMTQxMgQAAAAxNDEzBAAAADE0MTQEAAAAMTQxNQQAAAAxNDE2
+ BAAAADE0MTcEAAAAMTQxOAQAAAAxNDE5BAAAADE0MjAEAAAAMTQyMQQAAAAxNDIyBAAAADE0MjME
+ AAAAMTQyNAQAAAAxNDI1BAAAADE0MjYEAAAAMTQyNwQAAAAxNDI4BAAAADE0MjkEAAAAMTQzMAQA
+ AAAxNDMxBAAAADE0MzIEAAAAMTQzMwQAAAAxNDM0BAAAADE0MzUEAAAAMTQzNgQAAAAxNDM3BAAA
+ ADE0MzgEAAAAMTQzOQQAAAAxNDQwBAAAADE0NDEEAAAAMTQ0MgQAAAAxNDQzBAAAADE0NDQEAAAA
+ MTQ0NQQAAAAxNDQ2BAAAADE0NDcEAAAAMTQ0OAQAAAAxNDQ5BAAAADE0NTAEAAAAMTQ1MQQAAAAx
+ NDUyBAAAADE0NTMEAAAAMTQ1NAQAAAAxNDU1BAAAADE0NTYEAAAAMTQ1NwQAAAAxNDU4BAAAADE0
+ NTkEAAAAMTQ2MAQAAAAxNDYxBAAAADE0NjIEAAAAMTQ2MwQAAAAxNDY0BAAAADE0NjUEAAAAMTQ2
+ NgQAAAAxNDY3BAAAADE0NjgEAAAAMTQ2OQQAAAAxNDcwBAAAADE0NzEEAAAAMTQ3MgQAAAAxNDcz
+ BAAAADE0NzQEAAAAMTQ3NQQAAAAxNDc2BAAAADE0NzcEAAAAMTQ3OAQAAAAxNDc5BAAAADE0ODAE
+ AAAAMTQ4MQQAAAAxNDgyBAAAADE0ODMEAAAAMTQ4NAQAAAAxNDg1BAAAADE0ODYEAAAAMTQ4NwQA
+ AAAxNDg4BAAAADE0ODkEAAAAMTQ5MAQAAAAxNDkxBAAAADE0OTIEAAAAMTQ5MwQAAAAxNDk0BAAA
+ ADE0OTUEAAAAMTQ5NgQAAAAxNDk3BAAAADE0OTgEAAAAMTQ5OQQAAAAxNTAwBAAAADE1MDEEAAAA
+ MTUwMgQAAAAxNTAzBAAAADE1MDQEAAAAMTUwNQQAAAAxNTA2BAAAADE1MDcEAAAAMTUwOAQAAAAx
+ NTA5BAAAADE1MTAEAAAAMTUxMQQAAAAxNTEyBAAAADE1MTMEAAAAMTUxNAQAAAAxNTE1BAAAADE1
+ MTYEAAAAMTUxNwQAAAAxNTE4BAAAADE1MTkEAAAAMTUyMAQAAAAxNTIxBAAAADE1MjIEAAAAMTUy
+ MwQAAAAxNTI0BAAAADE1MjUEAAAAMTUyNgQAAAAxNTI3BAAAADE1MjgEAAAAMTUyOQQAAAAxNTMw
+ BAAAADE1MzEEAAAAMTUzMgQAAAAxNTMzBAAAADE1MzQEAAAAMTUzNQQAAAAxNTM2BAAAADE1MzcE
+ AAAAMTUzOAQAAAAxNTM5BAAAADE1NDAEAAAAMTU0MQQAAAAxNTQyBAAAADE1NDMEAAAAMTU0NAQA
+ AAAxNTQ1BAAAADE1NDYEAAAAMTU0NwQAAAAxNTQ4BAAAADE1NDkEAAAAMTU1MAQAAAAxNTUxBAAA
+ ADE1NTIEAAAAMTU1MwQAAAAxNTU0BAAAADE1NTUEAAAAMTU1NgQAAAAxNTU3BAAAADE1NTgEAAAA
+ MTU1OQQAAAAxNTYwBAAAADE1NjEEAAAAMTU2MgQAAAAxNTYzBAAAADE1NjQEAAAAMTU2NQQAAAAx
+ NTY2BAAAADE1NjcEAAAAMTU2OAQAAAAxNTY5BAAAADE1NzAEAAAAMTU3MQQAAAAxNTcyBAAAADE1
+ NzMEAAAAMTU3NAQAAAAxNTc1BAAAADE1NzYEAAAAMTU3NwQAAAAxNTc4BAAAADE1NzkEAAAAMTU4
+ MAQAAAAxNTgxBAAAADE1ODIEAAAAMTU4MwQAAAAxNTg0BAAAADE1ODUEAAAAMTU4NgQAAAAxNTg3
+ BAAAADE1ODgEAAAAMTU4OQQAAAAxNTkwBAAAADE1OTEEAAAAMTU5MgQAAAAxNTkzBAAAADE1OTQE
+ AAAAMTU5NQQAAAAxNTk2BAAAADE1OTcEAAAAMTU5OAQAAAAxNTk5BAAAADE2MDAEAAAAMTYwMQQA
+ AAAxNjAyBAAAADE2MDMEAAAAMTYwNAQAAAAxNjA1BAAAADE2MDYEAAAAMTYwNwQAAAAxNjA4BAAA
+ ADE2MDkEAAAAMTYxMAQAAAAxNjExBAAAADE2MTIEAAAAMTYxMwQAAAAxNjE0BAAAADE2MTUEAAAA
+ MTYxNgQAAAAxNjE3BAAAADE2MTgEAAAAMTYxOQQAAAAxNjIwBAAAADE2MjEEAAAAMTYyMgQAAAAx
+ NjIzBAAAADE2MjQEAAAAMTYyNQQAAAAxNjI2BAAAADE2MjcEAAAAMTYyOAQAAAAxNjI5BAAAADE2
+ MzAEAAAAMTYzMQQAAAAxNjMyBAAAADE2MzMEAAAAMTYzNAQAAAAxNjM1BAAAADE2MzYEAAAAMTYz
+ NwQAAAAxNjM4BAAAADE2MzkEAAAAMTY0MAQAAAAxNjQxBAAAADE2NDIEAAAAMTY0MwQAAAAxNjQ0
+ BAAAADE2NDUEAAAAMTY0NgQAAAAxNjQ3BAAAADE2NDgEAAAAMTY0OQQAAAAxNjUwBAAAADE2NTEE
+ AAAAMTY1MgQAAAAxNjUzBAAAADE2NTQEAAAAMTY1NQQAAAAxNjU2BAAAADE2NTcEAAAAMTY1OAQA
+ AAAxNjU5BAAAADE2NjAEAAAAMTY2MQQAAAAxNjYyBAAAADE2NjMEAAAAMTY2NAQAAAAxNjY1BAAA
+ ADE2NjYEAAAAMTY2NwQAAAAxNjY4BAAAADE2NjkEAAAAMTY3MAQAAAAxNjcxBAAAADE2NzIEAAAA
+ MTY3MwQAAAAxNjc0BAAAADE2NzUEAAAAMTY3NgQAAAAxNjc3BAAAADE2NzgEAAAAMTY3OQQAAAAx
+ NjgwBAAAADE2ODEEAAAAMTY4MgQAAAAxNjgzBAAAADE2ODQEAAAAMTY4NQQAAAAxNjg2BAAAADE2
+ ODcEAAAAMTY4OAQAAAAxNjg5BAAAADE2OTAEAAAAMTY5MQQAAAAxNjkyBAAAADE2OTMEAAAAMTY5
+ NAQAAAAxNjk1BAAAADE2OTYEAAAAMTY5NwQAAAAxNjk4BAAAADE2OTkEAAAAMTcwMAQAAAAxNzAx
+ BAAAADE3MDIEAAAAMTcwMwQAAAAxNzA0BAAAADE3MDUEAAAAMTcwNgQAAAAxNzA3BAAAADE3MDgE
+ AAAAMTcwOQQAAAAxNzEwBAAAADE3MTEEAAAAMTcxMgQAAAAxNzEzBAAAADE3MTQEAAAAMTcxNQQA
+ AAAxNzE2BAAAADE3MTcEAAAAMTcxOAQAAAAxNzE5BAAAADE3MjAEAAAAMTcyMQQAAAAxNzIyBAAA
+ ADE3MjMEAAAAMTcyNAQAAAAxNzI1BAAAADE3MjYEAAAAMTcyNwQAAAAxNzI4BAAAADE3MjkEAAAA
+ MTczMAQAAAAxNzMxBAAAADE3MzIEAAAAMTczMwQAAAAxNzM0BAAAADE3MzUEAAAAMTczNgQAAAAx
+ NzM3BAAAADE3MzgEAAAAMTczOQQAAAAxNzQwBAAAADE3NDEEAAAAMTc0MgQAAAAxNzQzBAAAADE3
+ NDQEAAAAMTc0NQQAAAAxNzQ2BAAAADE3NDcEAAAAMTc0OAQAAAAxNzQ5BAAAADE3NTAEAAAAMTc1
+ MQQAAAAxNzUyBAAAADE3NTMEAAAAMTc1NAQAAAAxNzU1BAAAADE3NTYEAAAAMTc1NwQAAAAxNzU4
+ BAAAADE3NTkEAAAAMTc2MAQAAAAxNzYxBAAAADE3NjIEAAAAMTc2MwQAAAAxNzY0BAAAADE3NjUE
+ AAAAMTc2NgQAAAAxNzY3BAAAADE3NjgEAAAAMTc2OQQAAAAxNzcwBAAAADE3NzEEAAAAMTc3MgQA
+ AAAxNzczBAAAADE3NzQEAAAAMTc3NQQAAAAxNzc2BAAAADE3NzcEAAAAMTc3OAQAAAAxNzc5BAAA
+ ADE3ODAEAAAAMTc4MQQAAAAxNzgyBAAAADE3ODMEAAAAMTc4NAQAAAAxNzg1BAAAADE3ODYEAAAA
+ MTc4NwQAAAAxNzg4BAAAADE3ODkEAAAAMTc5MAQAAAAxNzkxBAAAADE3OTIEAAAAMTc5MwQAAAAx
+ Nzk0BAAAADE3OTUEAAAAMTc5NgQAAAAxNzk3BAAAADE3OTgEAAAAMTc5OQQAAAAxODAwBAAAADE4
+ MDEEAAAAMTgwMgQAAAAxODAzBAAAADE4MDQEAAAAMTgwNQQAAAAxODA2BAAAADE4MDcEAAAAMTgw
+ OAQAAAAxODA5BAAAADE4MTAEAAAAMTgxMQQAAAAxODEyBAAAADE4MTMEAAAAMTgxNAQAAAAxODE1
+ BAAAADE4MTYEAAAAMTgxNwQAAAAxODE4BAAAADE4MTkEAAAAMTgyMAQAAAAxODIxBAAAADE4MjIE
+ AAAAMTgyMwQAAAAxODI0BAAAADE4MjUEAAAAMTgyNgQAAAAxODI3BAAAADE4MjgEAAAAMTgyOQQA
+ AAAxODMwBAAAADE4MzEEAAAAMTgzMgQAAAAxODMzBAAAADE4MzQEAAAAMTgzNQQAAAAxODM2BAAA
+ ADE4MzcEAAAAMTgzOAQAAAAxODM5BAAAADE4NDAEAAAAMTg0MQQAAAAxODQyBAAAADE4NDMEAAAA
+ MTg0NAQAAAAxODQ1BAAAADE4NDYEAAAAMTg0NwQAAAAxODQ4BAAAADE4NDkEAAAAMTg1MAQAAAAx
+ ODUxBAAAADE4NTIEAAAAMTg1MwQAAAAxODU0BAAAADE4NTUEAAAAMTg1NgQAAAAxODU3BAAAADE4
+ NTgEAAAAMTg1OQQAAAAxODYwBAAAADE4NjEEAAAAMTg2MgQAAAAxODYzBAAAADE4NjQEAAAAMTg2
+ NQQAAAAxODY2BAAAADE4NjcEAAAAMTg2OAQAAAAxODY5BAAAADE4NzAEAAAAMTg3MQQAAAAxODcy
+ BAAAADE4NzMEAAAAMTg3NAQAAAAxODc1BAAAADE4NzYEAAAAMTg3NwQAAAAxODc4BAAAADE4NzkE
+ AAAAMTg4MAQAAAAxODgxBAAAADE4ODIEAAAAMTg4MwQAAAAxODg0BAAAADE4ODUEAAAAMTg4NgQA
+ AAAxODg3BAAAADE4ODgEAAAAMTg4OQQAAAAxODkwBAAAADE4OTEEAAAAMTg5MgQAAAAxODkzBAAA
+ ADE4OTQEAAAAMTg5NQQAAAAxODk2BAAAADE4OTcEAAAAMTg5OAQAAAAxODk5BAAAADE5MDAEAAAA
+ MTkwMQQAAAAxOTAyBAAAADE5MDMEAAAAMTkwNAQAAAAxOTA1BAAAADE5MDYEAAAAMTkwNwQAAAAx
+ OTA4BAAAADE5MDkEAAAAMTkxMAQAAAAxOTExBAAAADE5MTIEAAAAMTkxMwQAAAAxOTE0BAAAADE5
+ MTUEAAAAMTkxNgQAAAAxOTE3BAAAADE5MTgEAAAAMTkxOQQAAAAxOTIwBAAAADE5MjEEAAAAMTky
+ MgQAAAAxOTIzBAAAADE5MjQEAAAAMTkyNQQAAAAxOTI2BAAAADE5MjcEAAAAMTkyOAQAAAAxOTI5
+ BAAAADE5MzAEAAAAMTkzMQQAAAAxOTMyBAAAADE5MzMEAAAAMTkzNAQAAAAxOTM1BAAAADE5MzYE
+ AAAAMTkzNwQAAAAxOTM4BAAAADE5MzkEAAAAMTk0MAQAAAAxOTQxBAAAADE5NDIEAAAAMTk0MwQA
+ AAAxOTQ0BAAAADE5NDUEAAAAMTk0NgQAAAAxOTQ3BAAAADE5NDgEAAAAMTk0OQQAAAAxOTUwBAAA
+ ADE5NTEEAAAAMTk1MgQAAAAxOTUzBAAAADE5NTQEAAAAMTk1NQQAAAAxOTU2BAAAADE5NTcEAAAA
+ MTk1OAQAAAAxOTU5BAAAADE5NjAEAAAAMTk2MQQAAAAxOTYyBAAAADE5NjMEAAAAMTk2NAQAAAAx
+ OTY1BAAAADE5NjYEAAAAMTk2NwQAAAAxOTY4BAAAADE5NjkEAAAAMTk3MAQAAAAxOTcxBAAAADE5
+ NzIEAAAAMTk3MwQAAAAxOTc0BAAAADE5NzUEAAAAMTk3NgQAAAAxOTc3BAAAADE5NzgEAAAAMTk3
+ OQQAAAAxOTgwBAAAADE5ODEEAAAAMTk4MgQAAAAxOTgzBAAAADE5ODQEAAAAMTk4NQQAAAAxOTg2
+ BAAAADE5ODcEAAAAMTk4OAQAAAAxOTg5BAAAADE5OTAEAAAAMTk5MQQAAAAxOTkyBAAAADE5OTME
+ AAAAMTk5NAQAAAAxOTk1BAAAADE5OTYEAAAAMTk5NwQAAAAxOTk4BAAAADE5OTkVABWO+gEVjvoB
+ LBXQDxUAFQYVBhwYDHp6bGd5eGE1LjR5YRgMMDExY3FhbjQueXpzFgAW0A8YDHp6bGd5eGE1LjR5
+ YRgMMDExY3FhbjQueXpzAAAAAwAAANAPAQwAAAB2MWtnNWhtci5maGoMAAAAZG5zdGNwbHYuZWRr
+ DAAAAG1ta3lucHR0Lmw0awwAAAB5c3E1d2NrZy5idG8MAAAAcHJlZXpmdGwubXEzDAAAAGdmdXg0
+ MWF2LmNvegwAAABnaHpnMmNqZS4yaDEMAAAAM2R0dngwMWkuZ2tyDAAAAGV1emQxYjQxLmJxMgwA
+ AAA0YXRkMnpuby5nNDEMAAAAeWtkc240dWkuYjNlDAAAAHRud2tmaXNkLnFqNQwAAAB2ZmtpbGsy
+ dS4xYjQMAAAAdWN0MnIzdG0ubjEwDAAAAGRjdHdocWNvLnZnegwAAABhc2hvYXZvMS5vamYMAAAA
+ dWdzcWJicHMuNXQyDAAAADBwcHlyNGVoLmhtcQwAAABsNWRheHZ1cy5wcDIMAAAAa3d3MTFwMmEu
+ ZHhvDAAAAHNobWx6YzNpLnpkMAwAAABraTJva2FteC5hc2QMAAAAaTFiYnUyd2IuZGpqDAAAADJ5
+ dnZ1ZnRsLm1lcQwAAABmZzB4Y2xoay5odGgMAAAAY2l6cHh1c20ubDQzDAAAAGFtcnRlMGxhLjJ0
+ cwwAAAA1ZDUzZWY1NC5tMHkMAAAAcmxpczR4NG4ubXp6DAAAAHp5aGRjdnZsLnhieAwAAAB4ZDR3
+ MGZxZi5sMHMMAAAAdnFzeWFoNDAuYmFuDAAAAGtvYW1raWJxLmtvcgwAAABzNHBtdTI0dC5ia3AM
+ AAAAMzE1ZzI0aGsucTQ0DAAAAHN3aDVxZmVnLnduagwAAAB3Z2Z4d3dmNC5jMmsMAAAAMWpwMmls
+ d3IubDVzDAAAAGNvcW90NHU1LmhncQwAAABsaXgzZ2dmaS5leG0MAAAAcnhlbnNva3UuamlmDAAA
+ AGUya2d5aWQ0LmYwYwwAAABkZWs1NHB4bC5pYmoMAAAAdTRpMDNiYXAubjJ4DAAAADVqd3Yyc2M1
+ LjJydAwAAAB1ZzR6NGxtcC4xMzAMAAAAMW5lMXVjbmgua2gzDAAAADQzb3N5cjVuLmpzaQwAAAB1
+ NWpicGFmMi5mcjAMAAAAbWMxY2FvYmcuMW9xDAAAAGJlemVteHZyLmlhZwwAAABleHJ0Z2xhMS4x
+ dTEMAAAAb21waWxlYWwucjFnDAAAAGg0bXoxdmFiLmJlbgwAAAByZ3BkYWx2dy5kaXgMAAAANW1p
+ b2NiNWsuaHR0DAAAAGt0c25mdnBlLnEwZQwAAABjNDFoYWV5Yi5zdW4MAAAAaHVobGZpdTMubG5q
+ DAAAADBlb2F2Y3BvLmxwNQwAAABrajQ1ZXpyeC5tZTIMAAAAYXNtejVvNW0ueXVtDAAAAHN5ZGJq
+ cG9uLmRmeQwAAAB5dHc1Y3FtaS5iZGMMAAAAcTN6M3JlamQuMHRmDAAAAG8zdHB2cmJkLmtncAwA
+ AABpbWp1MWcxay40bWQMAAAAaGVwdzF0ankuZGRyDAAAADJic2NpYWd6LmF1ZAwAAABwdWN5bWFl
+ di5xajAMAAAAb29ncmtlY3kuMGdiDAAAAHZnMXBjNHd6LmFoeAwAAAB3ZHRkcXRnYy5oNXAMAAAA
+ Y2FieHdwbzAub3pxDAAAADIxcWFjYnRwLmlpdgwAAABqMHltdWJpYS40amwMAAAAMmUzeWliNXku
+ b294DAAAAGIxMjF0YnlvLjFtZgwAAAAyZWVpeXRteC5jMmEMAAAAaXdramt2djQudWcyDAAAAGh4
+ aGgwb3gwLmh4ZwwAAABkcWFpanYyZi5mYTQMAAAAejJ2YjNqbWEudjUzDAAAAHBzNHZqdHhwLnNj
+ NAwAAAAzMHlyMW1kZS5lZGMMAAAAeGlhZ2UzazQuZTRlDAAAADRoNG93YWFiLmh5cAwAAABiejR0
+ M2xkYy5ybnIMAAAANHFhZ2cwY3ouMG12DAAAAHB4aWxodWtxLm9jcAwAAAB6c2hjMXAxeC5yY2wM
+ AAAAMWphMXlzNW0uYXFnDAAAAHQ1ZGh0c2txLnVpdgwAAAB4cm5mZGJveS5mdmEMAAAAdnp6MDJw
+ YWQuMHdrDAAAAHB2eHNpNXRwLnFzdAwAAAB5MnZhdG1iMS5vZTUMAAAAYW1taWp6bjAuYXMxDAAA
+ AGt3dnVlMG0yLm01cQwAAABiNDVyYzF2di5xZjQMAAAAdWJwMDBxYWYuNDNzDAAAAHdybXpvaTFu
+ Lm1yZAwAAAB6NDBpY3hmMS54YTQMAAAAY241eXkxaDUuYWh0DAAAAGRkbjNmaXF0LmR6YwwAAABv
+ dXJ4ZTJrcS5mam4MAAAANXgzMXpwM2MuZ2pqDAAAAGdtMW5oZXBzLmJzYgwAAABmbWZ4cnRsZS5j
+ MXQMAAAAenZwYW1hc3kuemRwDAAAAHV0empqb2VmLnBscgwAAAB2Z3l3bmt2Zi5hNHMMAAAAY2lu
+ eG0zYXouYXkyDAAAAGp6YnF5czBtLmdzZwwAAAAxeGltM2lwdS4xYmsMAAAAYTRzZDU0aW0ueWIz
+ DAAAAGV6YXQwZ2dsLnVqMgwAAAB2cWxmM25sMy5ieGUMAAAAYXFjNXUzeHouNW5pDAAAAGlxYWYw
+ eHZuLmQ1bwwAAAB3YzJyM3pmdi5zY3AMAAAAbHJxbHp1bmIuMW90DAAAADFvY2FnM2Y1LnBxbQwA
+ AAB6YmIxaDJ5Yy5kZGoMAAAAbWFreDB4c2oud2NpDAAAADNyZ3RmamdsLmg0cAwAAAB1M2hyMGFn
+ NC5ndHQMAAAAcjRqZmlxdTIuZmJpDAAAAGllaXoyNTBqLmswdgwAAAB1cjR4YjFtcC56dmUMAAAA
+ MjVuZ3FqeWgueWp2DAAAAGQwZDRyYnJmLjVnagwAAAAxb2ZjaGZkNC53NGwMAAAAa25sYXRpYWcu
+ eTV2DAAAAGtyb3dza2xkLm5sYgwAAABlZWl1Mnhnbi5ldWQMAAAAbGVyeWt1dWUuYnl4DAAAAG9u
+ eDEwa2dnLnVnawwAAAB3Z2NlYjIwYS5jcm4MAAAAb3NycHMyczQucG95DAAAAHkyc2FtZTR4LmZx
+ cwwAAABkc2kydGRsMi5rdHUMAAAAc3FyMHAyNGcuMTJrDAAAAG1zcmt0ejNoLnJuaAwAAAB1YjR1
+ dmNpbC5ocjAMAAAANTFxb2tiNGEuc29vDAAAAHVxcDR2dWhsLnZleAwAAAB4aHExcTVrbC5ydDEM
+ AAAAZ3h3aDNzdnQubjFvDAAAAGYza20ycXNwLmdtdgwAAAAxaHJjcHI1ZC5hc24MAAAAMXp5MzB6
+ M2EubXpsDAAAAGhvc2R5b2ozLnJnNAwAAAA1anRoam14ZC5kZXYMAAAAdmhreTVrMGkuYm9pDAAA
+ AG5tcGVsdjEzLjIxNQwAAAA0ZXp5czFmZy5mcnQMAAAAYWNlYmtlMTUuMzJlDAAAAHdtbXBobjNw
+ LjNidQwAAABidHNmZXJpcS5naXIMAAAAeWQwbzJ1emsubHpwDAAAAGwzbmdsYXQyLjIzeAwAAABy
+ NGdob3hxYi5veHgMAAAAdnp2dG9vMXEucXJzDAAAADRoa3djbmRnLmVvYwwAAAB6MDFjMm55ei55
+ ZHoMAAAAem1vcjExeDQucTAyDAAAAGI1eHZ0YjMzLjFxbAwAAABxcjNjbXluNS5vcGUMAAAAbTVj
+ dmJoMnouYjF2DAAAAGJrMWZybG4zLmp4cQwAAAB5c3pleWdkbS5zZjIMAAAAbWJ3Z2xiNTQuZWRi
+ DAAAAHFjMWJseTNuLjMxZQwAAABhamMwaWtycy56dXYMAAAAc2VjYm5yankuMXdpDAAAADUydWFs
+ aGFwLml5MwwAAAA0b2pzcXlyay4wcmwMAAAAeWxrNG9udncuc2JwDAAAAGNjNTJhdmh1LnAxZQwA
+ AABvdmF1ZmVoZi50bHIMAAAAdzJmbGZtYWYuc2RsDAAAAHZhY2tvaWN0LnZ3YgwAAAB5dHRhaHdi
+ eS4waGUMAAAAcHpiY3I1ZGkud3U1DAAAAGluajBueGpiLmkxdAwAAABleGZoeWIzby4ya3oMAAAA
+ NTFuY295dDQubGxjDAAAAHFkamUzbmZiLjFyMAwAAABkeHl5NTRtei4wcDAMAAAAZm9iZXcwbHgu
+ bnViDAAAAHB2ZDJjamdhLmhnYQwAAAAwcHNhMWJmNC5qejAMAAAAaXVsM2d6eGouem9tDAAAAHY0
+ MG5rZXByLmlycgwAAAB0MWIxcmQwZi56YmoMAAAAemJ2NWJncTAuMjB2DAAAAGhkb3UwbTBpLnlv
+ dwwAAAAzZTFzaDQxay5pbWwMAAAAZW12b3pjeG4ubGtsDAAAAGwycHp1MXBrLnBnbAwAAABjMWhv
+ cXJtZi5na3EMAAAAeG1ma3R4M3Iua3g0DAAAAHB5NXR2eWFtLmRsegwAAABkZ2l1ZXlmbS5taXMM
+ AAAAZG5wZzN0ZGMueGhjDAAAAHV6d256Y3FhLm94egwAAAB0YXoxdm5kci5uNHAMAAAAdGFwdnB0
+ aHIueXdzDAAAAGRwMXk1anZ0Lmc1dQwAAAA0M2V1dnFkZC51emkMAAAAMDIwbG0xMGgud3dlDAAA
+ AGNkM2dtbWVpLmwxZgwAAAB4ZW1tM2VkcS54enQMAAAANHV3M3d4dHUubnAxDAAAADNjbGtrdmQy
+ LnJsbgwAAAB1NHRpajN4ZS5vY20MAAAANWdicTFxaHouM3dyDAAAAGpvZXJnd3cyLm5mMgwAAAB2
+ MnVqbXd0bi5pZngMAAAAc3lkb3hrZncuZ253DAAAAGJ1dzE0bGQ1LmdmcwwAAAB3M2FrbGVxdS52
+ Z2kMAAAAY2NwaDF3ZDIueGR5DAAAADBnMG9vcW4zLnZwaQwAAABjcmFmMGYwbC5icWQMAAAAcHBl
+ ZnVobjAuM2hmDAAAAGljemt4NHozLmhjaAwAAABncTRhY25laC5pYW8MAAAAbWQ1cXRwbXcub3pt
+ DAAAAG5jY3ZtZTMwLndvagwAAABpbWVyYW5yaC54aTUMAAAAb2J4ZXZsdXIuZjBlDAAAADVoZ3p1
+ c3ZrLmVlYgwAAABzazA0Y215bC5keXoMAAAANHh1cXZ2M3ouaWMxDAAAAHZveHV1b2ZxLm1jcQwA
+ AAB0djUzc21idy5hbTAMAAAAcHU0azJ2aXYuMHJyDAAAAGtubHNvaW1uLnZsdgwAAABlMGQ0NGo0
+ ei53NG4MAAAAcDBoaWZ3dDEudjVtDAAAAHJoY2F6c3FzLmx2aAwAAABheWFtY2RicS5zMHkMAAAA
+ Ynh1Z3FsbDEubTFlDAAAADB4Y3V4b2ZtLm94dgwAAAB2cXZ2bXdjcS5sMzEMAAAAaG5mbzRwd2Iu
+ cjBiDAAAAHV1eDNmaHBzLmw1MQwAAABpNWpoeWJncy5tdGkMAAAAb3pmNXIza2Eudnh2DAAAAGR6
+ dDR4bmNwLmJldQwAAABqNGpnNDRlYS5jM3IMAAAAYmlvajVxYXguNGNlDAAAAHVtdDAwcXZyLjJm
+ bwwAAABhZXprenJwby5mZ3cMAAAAZG40ZmJxNHcuajF4DAAAAGRkeXp2bnFkLmNtcgwAAABhbXIy
+ ZWx1Mi5yaGcMAAAAZmY0cTJiemkuc20xDAAAADU0aXZ2ancwLnFiZQwAAAAwMWVid2p0bi53eXkM
+ AAAAaGJ1bWRqZGkuYmZ5DAAAAGxsdmNlMTBhLnF0ZQwAAAAxeXF6MXN1Yi4wb2YMAAAAa3RsbXh4
+ ZTUucHJjDAAAAGM0NGMzemd4Lmd4dAwAAABwd3h2MnJibC4zY3gMAAAAMjFuNWl1bm4ubzFiDAAA
+ AHNpM2JnYmUxLm5hdAwAAAB3cXRieWkzeS5td2IMAAAAcDBrd2NkcGkucHphDAAAAG53dnRjcWIw
+ LmMwYwwAAAA1eTRmbnIzZi5wZHgMAAAAeWlxdHdlenkuZjExDAAAAHJwbnZuenpyLm40cgwAAABu
+ a3ExdXExZi53MmsMAAAAZ3cxbHBjbmYueTN2DAAAADBwbHVhbDJ1LmpkMgwAAAB1a2RsMzAwZC5z
+ b3AMAAAAd2NubG92aHcuMWxiDAAAAGNwZXVjcjN6LnZ6egwAAABic2tqemJnYy41ajQMAAAANDNk
+ eml5ZHYubXZpDAAAAHd5anJ5d3FrLmtycgwAAABieTF0NHVucC54YmsMAAAAaWloZWVmbWYudnFt
+ DAAAADJrdWZ6eWtxLmE1MgwAAABkaG01eDFkMi50dmQMAAAAbmc0NGVoNDMuZzV4DAAAAGp6cGZt
+ M21qLnJreAwAAABwcXR1bHdwMS5iYXUMAAAAYmlwaWlvemcucjBpDAAAAGxyYzJnNHNrLnJudwwA
+ AAA0NWhnZHhxZS5scHEMAAAAd3B4emZoZWQubDUxDAAAAHg0MTJuand6LmJ4eQwAAABwdGZieWxj
+ Yy5tYnEMAAAAeXA0eHNuZ3guZXlvDAAAAG16NTJ5cXAwLnBkZQwAAAByajJyZGhhei5za3QMAAAA
+ Y3pobjJzZ3Iub2J6DAAAAHFveGVweWE0LnR4MgwAAAB6bDRoZXBuby55eTIMAAAAYWh1cHFwMHou
+ d2NlDAAAAHltMzBuajF3LnAydAwAAAAzcDBubzNvYy5xNG4MAAAAMGZncXVya3MuY2RhDAAAAHh3
+ MGFxY3VyLnEycAwAAAB6a2ZzZnRveC4xYWUMAAAAbHZoZ3gyZ2wuZ2wzDAAAAHlmcnRtamViLnhz
+ cwwAAABoYTBqb25jeS5hNWoMAAAAc3VqNXl1NG0uMmV0DAAAAHZqb3NnMDI0LmswdwwAAABxcGx0
+ cXd1cS5vbWYMAAAANGZhcjBnd3ouemJsDAAAAGNibGVrY2Z6LmxkbQwAAABlMHF1dm5qYi5rbGYM
+ AAAAZnp3NW12cjQuNHNqDAAAADJpbGN0MzVtLnpucQwAAABxb2FrZnk0dy4xeWMMAAAAZ3N2bDA1
+ bnIuZGVvDAAAADRud2kzb3l2LnVybgwAAABheDMyZ2N1by5sanEMAAAANG5xMnBvY2YuM2RwDAAA
+ AHlncHNodmJ0LjNmcAwAAABrZjEwZTVqdy5iYjIMAAAAMHoxbTFjNGoud3l0DAAAAG9waWt3aWpo
+ LnM0egwAAABkZmhydTQway52eXEMAAAAem1zemMxcWIuZG51DAAAAGF5NW5rMTN4LnJmdwwAAABl
+ bDFjajBtaC5kZGYMAAAAbmNrdGh4bDIua2ZoDAAAAGtuZnoxMTVlLmU1awwAAABoZGt3NWdnai5h
+ Zm0MAAAAczN4c2FtbHcuZG55DAAAAHUwZDFxbWRlLm9ubgwAAAAyMnlodDV0cy40eHEMAAAAbXpt
+ MGl2ZXkudTEzDAAAAGExNG8yd3p2LmowbAwAAABwZzBuMzI0ZC5mejIMAAAAdGkxM2M1MW8uNXps
+ DAAAAHphYnYxaTVjLmJiegwAAAB0ZWh3cHJldi55bjIMAAAAenpsZ3l4YTUuNHlhDAAAADVjNTI1
+ MGNmLmZzeQwAAAB6dGFzcms1dC5peWoMAAAAdDBuNW5uZXAudnNhDAAAAG55dmVvc3gwLndvcAwA
+ AABsZ3hjZHRoMC5hbWEMAAAAdGIwb3FwM2wuZXZ3DAAAAGRlY2J1azEzLmxwZQwAAABzZnFjNXJ3
+ eS5uZGYMAAAAMnQ1M2p5NWEua2lqDAAAAG12Z2hqdW8xLmdpagwAAAB4MWZodmlrby5wcnoMAAAA
+ czM1eWVmZ3AuYXVqDAAAAG1vZ2FhYm15Lm9sbQwAAABzZGo0M2g1bS5iZXEMAAAAdHZyaDRuM2wu
+ a3hxDAAAAGNka3oycnd0LnUxcAwAAAB4enkwaHZvci5nMHEMAAAAbWpscWlrc2wuYml1DAAAAHgz
+ cWZxNTFxLnh3ZQwAAAAwemZwYWVlYy5rNTIMAAAAY2wzM2xwZWoudGc1DAAAADUxcTRxa2duLmw1
+ dAwAAABiNHZucjNqby41d3gMAAAAMXVmb2YxZ3UuYjJoDAAAAG1rbTJ0a2h0LnhheQwAAAA0bWJx
+ bjVyNC52MGsMAAAAcXZxb2NjeXkuZnlnDAAAADRqbHgwamkxLndqcAwAAABmenlyNXlmbS5wZG8M
+ AAAAbTVyeXI0ZG4ubGZoDAAAAGxsMXFidHF4LnRidwwAAABtbDQ0em90NC5yaG0MAAAAbjNqcDV2
+ Zm8ubjV1DAAAAHh4eW91cm8wLnA0cAwAAABkY2s1MXRwdi5jcWwMAAAAcmRvMmxxYnEueXFsDAAA
+ AGx2cnEzb2ZjLml2dwwAAABmaHY0MDJyaS55ZWIMAAAAM2h2ZXYxbWsucXdkDAAAAGp2bnRvZWY1
+ LnJueQwAAABieXVzeW1kdS5wc2gMAAAAb2lib2x2cHAucGplDAAAAGZ5NGFnMGgzLmR6ZAwAAABx
+ ZmlleHpsZy5mMngMAAAAd3V3Yno1anYucHZ6DAAAAG9qNHJoNXN4LmgwawwAAAA0Mm52c2k1dS4y
+ ZG8MAAAAMnZ4dTVsZGMua295DAAAAHdsbGxxdXptLmR4NQwAAAB3M3ZweGxyYy4yM3kMAAAAaGFp
+ Y2gza2YucmVnDAAAAHdvZGQ0b2V2LndpYgwAAAByMGFvc3FvaS5ocmwMAAAAc3k0YnhsdnIuYm14
+ DAAAAHJuMXU1MXd1LmhsZQwAAABqazVudm90ei5iM2QMAAAAb3BvY3V3ZHUubjVwDAAAAGt2MHB2
+ dWl3LnZidQwAAABoMjQwNXptZC5kNG0MAAAAdXl0aXZzZW8udjR3DAAAAHdiZ29md3phLmZxZAwA
+ AABzcWRpcHl1dS5qcXYMAAAANG8wYmp2YWcuNTM1DAAAAGdhNHBkc3BhLjUzYgwAAABiaXBiaTVj
+ di5ham4MAAAAeHhyaWEwaGMudHZmDAAAAHp2ZXVvZWN6LjRrZgwAAAB5eWFseW50Mi50bWEMAAAA
+ ZDIxbG41NTEubjBxDAAAAGp3Z29mbGYzLnlwMAwAAAA0bWpwc3diYy5udGcMAAAAMnMya3Bjc2Mu
+ cW16DAAAAGY0cjJmdnJ5Lnp1awwAAAA0eWhtcTVheS5uczEMAAAAd3hmMjVlZHAuaDBzDAAAAGUy
+ d3htMXF3Lm96egwAAAAyc2M0NXB3aS4xZXcMAAAAanEzbWp6NXcuYTRsDAAAADJncGFua2d4Lnlx
+ egwAAABreHNtZWNycS5oeGkMAAAAMnhlMmlzM28uMXUyDAAAADRpd3Brb3MzLnp4ZgwAAAAwbmI1
+ Z2Nwbi5paWMMAAAAcm5tbDUwMDEuMWN5DAAAAGplcWZoZjBuLnltegwAAABzem9yc2tlcS54cjQM
+ AAAAbjRiMjB4MmUud2ZvDAAAAG11ZHlyYXUyLmtnMgwAAABoMTRhZG51ci5uc2cMAAAAZDJnNWdk
+ MjAucjR1DAAAADRneGNodXMxLjFvdAwAAABva2t0dnFmdC56cmsMAAAAbDBtbXp2bTMuZGd5DAAA
+ AGFtY3hma2J6LnZobAwAAABzMjNrYjNqYS5zbGcMAAAAZ3h4b20za3MueG5oDAAAAHV6bHdlbGo0
+ LjRyagwAAAAycHRjMDJzay5jbGYMAAAANGtiZmMxemQuYXcxDAAAADBha2Roam5rLmF3bAwAAABs
+ bHNiM3Z3eS5lM3gMAAAAYmp3eHp5YzQueHNwDAAAAGdpM3lsdnJoLnRxcQwAAAAyc2l2YW5iaS5k
+ aHEMAAAAajIxZ2M0ZTMuM2NsDAAAAGJnMjRpZHh6Lm4yZQwAAAB2b3pnZXJmai5yd3YMAAAAY2py
+ MXcxdGouazRkDAAAAGdoam5seGVjLjFuegwAAAB2dnllcGFjNC5qNGIMAAAAYWF1dHN2YnYucWRu
+ DAAAAHF3ZTAwYzJiLjExcQwAAABjYXh2d3AzZy55bjIMAAAAbXJpYzF1YWQuMHJsDAAAAGp0YjVz
+ ZXF1LmF4MgwAAABzY3pyZ2xlaS5oZnUMAAAAamdseDB3aHcuZW1lDAAAAGR4cG4xa210LmtkbgwA
+ AABteHplZG1qaS5qcnIMAAAAa3FiajRjNWouYXp3DAAAADR0MnJhejFvLnlqaQwAAAB1a2Z3aTNl
+ Yy5nemQMAAAAemVjbmx6b2QubDM1DAAAAGVia2JhZDFyLnlocQwAAAB5am1xaXlycC5ld2sMAAAA
+ Z3ozaWVnNHAuaWQwDAAAADBlbmFvZXQ1LnVvagwAAAB2cGUzZTJwaS5qZHAMAAAANXVsdGpweWQu
+ c3RvDAAAAHQybmtiNHJlLmkwZwwAAAAxaHI0M2R0di4wc3EMAAAAMXdhZ2pyencueXRxDAAAAHlt
+ Y3VieWdrLnduZwwAAABibG1tMmdtei52Y2gMAAAAbXM0cm1lZjEuaGxlDAAAAHN1eG9vanFmLmxu
+ dQwAAABnamFpb2JiMC55cmkMAAAAa3lkbWU1c28ueHRiDAAAAHEydTN1cmh5Lm5zeQwAAAAxeTJm
+ bHp1dC53M2IMAAAAZnJwbHlwc24ubWFpDAAAADJsbm1hdzRwLnJnegwAAABzeXRkd2J2aS5jd3oM
+ AAAAeWc1ZTJmemYuZjFoDAAAAGZpYjVnaGZrLndlMAwAAABjMmJ1MTF6eC5jY2UMAAAAYnc1aW1p
+ YjUuMDJ3DAAAAHRhZTBmb2x5LmxlcAwAAABnamExM254eS41aGUMAAAAengzbWt0bzQuNXV5DAAA
+ AGVrend6bTMyLnNicwwAAABnZzB6MXh2Yi5mNG0MAAAAczIwNDVkaDQudGJqDAAAADUwcmdoYmhi
+ LnBzZgwAAAB5ajAxcHAzdS4za2oMAAAAcjFzaHdtYm8uYm9rDAAAADQxYWQxdWFlLmRhdQwAAABk
+ ZmJ2MDJ1ei4xZTUMAAAAenQyMGs1ZGwubzFqDAAAAGV3Y2Npemp6LnZ6YgwAAABzZDF5cTU1Yy41
+ M2cMAAAAaDBpaGZmd2MuY3BvDAAAAHV1NDBraDBkLjR5ZwwAAABkam4yZXczMC5lbmIMAAAAc3Uw
+ emdtaG0uaHkzDAAAADRhaXRtd2psLnpyYgwAAABzYng1Zmlwbi40cHQMAAAAY2NjeGlicG0ud2Ji
+ DAAAADBieHVxeDJuLmEzMAwAAAB4ZWxqcGx5dC55dWUMAAAAcXQ0bTJnYXoueXlmDAAAADN4aWJp
+ Y3R4LmJ1ZAwAAABnb3BhMWY0cC5icnAMAAAAcG9oc2pmMDIuaGUyDAAAAGFmYm1peXU0Lnl6bwwA
+ AAAwbXJsZWdreC5wa2gMAAAAeW5sempseGwubmR2DAAAAGZ0eWNtMTJrLmJkdAwAAABzMWVpa3hv
+ dy5qZTIMAAAAaG9sYjNjZmkuYW9iDAAAAHp4dDNhc3IxLm40agwAAAB0ZnMxZmxrMy51ZGwMAAAA
+ ZTJ6ZWZkYzQuNHRvDAAAAHFhdXI1cTFvLmthdQwAAABoNHRjMjVxMi5yNWoMAAAAajBibmhleG8u
+ YWp0DAAAAHF0cm1rNXV0LjRpMwwAAABrZ2NuZnI0eC5oaGkMAAAAMHRweTNjdnQuaDNiDAAAAHlr
+ MHBicGkzLmxycgwAAABkand1ZGkyaS5rdW8MAAAAaDRxamo1aWQuNGZtDAAAAGxyNDB0amIwLm8y
+ cwwAAAB5emxjdTB5bi5pd2UMAAAAMHZlcDViZDUuZ2ZrDAAAAHhtenhibnJnLmY1egwAAAB6bnFx
+ bWp3dy52aHMMAAAAYmhycmx4YnUucHkwDAAAAGJvcHplMTNvLmxhagwAAABzNGJ4ejBndy51bTMM
+ AAAAMmgyb3J6ZHAudnUzDAAAAGpkZGs1bWZ1Lm9hawwAAABhdHExanlseC55cXkMAAAAMGV5Y3hm
+ d2wuaWY1DAAAADBnMmpqbXZnLnUyaQwAAABlMGJtdXJ5bi5sZnMMAAAAaWRmazE0aTUueG5tDAAA
+ AGVzMndic3RzLmxmdgwAAABycXVyb3V1aS54eGEMAAAAdGNxMXJjejIucXhtDAAAAGRoeXRzdXhl
+ LjU1egwAAAByMGNzeWxodC5samYMAAAAandndzNmM2MuaWZiDAAAAHptcGVvbHkzLjR0MwwAAAB6
+ aXdtNHRtbS5yd2oMAAAAeXhrdnhneTEud3RhDAAAAHM0emF4cWE1LnpvcwwAAAB4cW5icmkwdC5t
+ bnEMAAAAMmV2M2MzZ3AuZHpmDAAAAHBxNXZiem9wLmh3agwAAABjM3Qzd3IzMy5qY3gMAAAANXhq
+ a2YxenMudTF2DAAAAGtkbXVvYzNrLmhodAwAAABhZ2RkY3V2bC5lbnoMAAAAMnZseXYyYzUucWp1
+ DAAAADV2c29rY2I0LnBocgwAAABiZmZnNWZmby40dGQMAAAAa2thY25xdHkuMnptDAAAAHcxdGs0
+ cjUxLjBkNAwAAABudG5sbmJ4bi51c2sMAAAAcHQya3pobGsucTRwDAAAAHd1cmcyb2IzLjVjMwwA
+ AAA1cXA0MmdvaS50cGMMAAAAdGQ1dnBla3EuM2p0DAAAAHdwd20zY24xLmNqegwAAABtYWZhdnRk
+ Yi56cXUMAAAAcWZuams0a28ucXpkDAAAAGRja2wxdTN3LmtwYQwAAAAxc3Jha291MS5rMG8MAAAA
+ YWRrazQwdXYuaXhkDAAAAG5uMXE0MGxvLnYzYgwAAABpY2JnbWF3by5hdnEMAAAAYTRkMWZleTIu
+ NXNvDAAAAGcxejVzMWJ4LndwYQwAAAAwZWt1djU1Mi5mczAMAAAAaWcxNTFwZngua29tDAAAAHZ6
+ cGJocDBnLnBxZAwAAABmMDV3dmUzby5xZDQMAAAAMWV6dWt0cXIudmZvDAAAAHpxbXB1aTRtLjNq
+ MwwAAABjNXFkaXBpMy55cGsMAAAAbnhvZXhvbG4udHFtDAAAAG8wazQxcTFtLmwydgwAAAA1Ymp5
+ dzRibi4xNDIMAAAAZjNkZGRwaXIuM3Z5DAAAAGpnbzR6YWhsLnZpNAwAAAA0ZGMzcnNteC4zMHEM
+ AAAAZGNxMGozNGEuY2dqDAAAAHBhNWRsa3NzLmNxcAwAAABobGhhZXFsMy5zMG4MAAAAZHlweWJ0
+ cWQuMTBpDAAAAG50NDBmZ3JqLmRqeQwAAAAzZ3V1emJubC4yMnIMAAAAd2Qyc29zcHcuMWVpDAAA
+ ADRnNWxhc2liLmVyMQwAAAB6aGtlYmxkcC5xbW0MAAAANHl3cGRxMWguZHpuDAAAAGpjMmJ4aHRu
+ Lmw1cgwAAAB6djJqZG93cS5reW4MAAAAM2N0cXZncnkuMTFvDAAAADMyMjV2cXpoLms0YwwAAABr
+ b2gxMGMxMC5mbWEMAAAAemlieGR1ZXcuNXJjDAAAAHZ6cTFtYmFyLjEyZgwAAAB5cnBucDJnZy5p
+ NGsMAAAAY3N0MGl4cXUudmNnDAAAAG5veXkzY3p6LmwybwwAAABvdmdvaWs1cS54c3MMAAAAaW5x
+ cHhxMHoueWdpDAAAAGJ0ZGtnazBrLnZxcQwAAABjazFzbXlnei5xb3UMAAAAeXBicndkd3YubWFi
+ DAAAAGlmYml0ejJ1LmpvMAwAAAB5YXcwMjUxMi5xY2UMAAAAYWZ1cTNzb3IubGRiDAAAAHFyeXJh
+ MWFsLjJwdQwAAAAzZ3cwdGtrdy5sNWEMAAAAdXF2eGJ6NGMuenhmDAAAAGZ4cTVmZHplLnJ1bwwA
+ AAB6aTRvZGpvNS52Z2IMAAAAaXJpdmN5c20ubjVpDAAAAG15NHlwcmVoLnVueAwAAAB5c2ZocWpq
+ dS4xa2UMAAAAMmQwazA0MHkuM2kwDAAAAHk1NWhud29kLnp4dQwAAABsNXV2YTNoaC5oNHAMAAAA
+ cDVoYXZ2bmMubHo1DAAAAHhraHpzdmZsLjB4dwwAAAA1dDN3cjFhaC5hdW4MAAAAaHdwMDRjZnUu
+ bWFjDAAAAHJvNHkwMXc1LmowawwAAABrdXozYmN0ai40dG0MAAAAcnR3c2prd3MubzF3DAAAADNj
+ eXN0cGtuLnZ2YwwAAAAyZWR5M2hrcS56cmsMAAAAczN1emNqeTUueGF0DAAAADM1ZmNndWpwLjNs
+ dAwAAAAybmEzbXpmei5mY3oMAAAANXllcWphYXouMjBvDAAAADBna29pNHZwLmI1dwwAAAAyZHli
+ ZWN2NC5iYWUMAAAAaWQxbno1YTUua3d5DAAAAGZzc3ExM3FvLm9yZgwAAAAxeGJxMjBudi5oM2YM
+ AAAAazRsZ3F4aTAuZjN4DAAAAGgxYTR3MWZoLmRmbQwAAABqYTB0eDFiay53MDAMAAAAbDVmZnhk
+ YnkuMHVhDAAAADJzZTRhZ3B4Lmc1bAwAAABnbmdzY2l3MS53MGsMAAAAMWZ0bXhrYzMubGF0DAAA
+ AHNzbWF0b3JiLmJtbAwAAABseHlkajNidS4wYm0MAAAAaGwwaWkxc2suMHAzDAAAAGJhbnJ4MWwx
+ LmJ2bgwAAABwcnppcGd0eS51MXQMAAAANWFhNWwwcG8ucmUzDAAAAHQzM2VjeHI0LmJpaQwAAABp
+ bHh6MTRoMC5ycXAMAAAAdWFxMmx1MGsuemF2DAAAAGl6eTM1ZGZiLnluZgwAAABvMjJjYmV2bS5j
+ bGIMAAAAcGxsNGhjaXYuZHNnDAAAAHRidWl3c3RuLjJneAwAAABnM3dnMmJ0aS4yd2MMAAAAMWNv
+ NWY1MXIuMjRnDAAAAHNnZG56cXhkLjBqbgwAAAByenh6MTMzei55bW4MAAAAMm95ZWVpajEuMXVs
+ DAAAAHVmYnZ2MTRjLjBhNQwAAABhYWJnY2VtaC5iZm4MAAAAMXd1eGJhZncubHp6DAAAADFwdDEy
+ ZGxxLmxzdQwAAAAybjJ2d2U0bi51ajAMAAAAdTFnZ3YzdzAuaHkzDAAAAGlua2kxbXB3LmhkMgwA
+ AABrc3V5bWx6by5reHgMAAAAbWt4enR0cWMubXR5DAAAADNiNGI1czR0Lnd2bwwAAAB5enVoaGdw
+ NS5oZnQMAAAAbjNneWM0cTUuZzMwDAAAAGVndW9ldHg0LmNtMAwAAABta2JobmJyZS51djUMAAAA
+ eWt5eHYwbjQuc3NmDAAAAGw0bmhhYWFsLnFnbQwAAAB6b3hlMGVnZC50MXkMAAAAZnZhbXQycWou
+ MWVlDAAAAG16Y2J2b2ljLnE0cwwAAABoMmtrZGdsbi5vemYMAAAAYnpkbGhhMTEuczJyDAAAADVj
+ MWZxb2RmLnBxcwwAAABkanRxcXN1aS55MnYMAAAAYXVpdG13NWEuemZtDAAAAG9kdzEwZ3RsLmFx
+ NAwAAAB4cHJkdDFwcS52NW0MAAAAbG1qcWtycXYuYjFuDAAAAHBhY21pcjJnLnBkNAwAAABvbGdo
+ M2F3Zi5qanAMAAAAeXF6bG9uMHQucnMwDAAAAHh6eHNpeGdvLnVocAwAAAB0emt1bG5jaS5ndGcM
+ AAAAd2tlamFwMHkuemZlDAAAAGwzYnQzb2UwLmxnbAwAAAB6YnVoYmNlci40d2QMAAAAMnFwcDNu
+ b2QuZmNnDAAAAHZ4M3IydHZ2Lnl1MAwAAAB6NHVidnQxby5xYWkMAAAAemNlc2JuZW4uM3ZyDAAA
+ ADV5Znh2ZHV1LmhtbwwAAABvbXdjajFoNS5zbnIMAAAAaTJuaG9rZGEuM21zDAAAAHc1aGxwYXg1
+ Lms1ZQwAAAB2NHAzcHQ0Zy52Z2oMAAAAMzMwNXFtZGguZngzDAAAAHNycjV2a2liLjN0NQwAAAB2
+ cHJ0Z3N6ai4yYWkMAAAAY2dva3pqc2EuYWdwDAAAAGk0MGFzeDN4LjAybQwAAABnMGgxZ3d5aC4y
+ NDAMAAAAZWIwczBoaGYucjByDAAAAHlscnFua21nLndyZwwAAAA0c3Ayd3J2My40bzIMAAAAcXE1
+ Z2ZyZ2YuZTRkDAAAAHprMjF4aHRxLnM1bwwAAAA0aWh3NXEzcC5zMDQMAAAAZmRxdmdmNG8udGxs
+ DAAAAGYxdnlnbmQzLnF3MwwAAAB4bGN6cWV0Mi5maXoMAAAAamVpNXl0NGEuNHVhDAAAAHJmNGti
+ ZmdmLndxegwAAAB4bnNoYWJ0aS5oYnQMAAAAenhwcnN4cnkuaGJ6DAAAADFnYWI1dW1kLnN5ZAwA
+ AABvdm1uem01MS5sNXYMAAAAd3BlZGF0NWcub2thDAAAAGp4YjV3aDU0LjVnZAwAAAAxYTIyZXBj
+ cS4xMnoMAAAAM2VucDFsaHYueDVhDAAAAGRtd29ocGdpLnJuYgwAAABqdmZ1MGRwMC4weXUMAAAA
+ Zmt6aHVwcjIudGx1DAAAAGN6Z2l3emV4LmRqYgwAAABxcGptM201ei56dmIMAAAAMHd1d2VobW4u
+ bW9hDAAAAHkxZ3FtajEzLnFkZAwAAABoc2pwYWlkdS40eWwMAAAAaG52cHdyMWUuaTRrDAAAAHNt
+ dG1yZHlmLnYwawwAAABrdXBlb3hqbi5mMzAMAAAAZW9ucGNubnguYmIzDAAAAGRvdmh5MXd4Lmhl
+ YgwAAAAydHRuMXRjby5nZmgMAAAAMmhkbzQ0bjAucmRiDAAAAGVpZTF1dmJtLmxkZgwAAABqenBl
+ dXduay4wZjQMAAAAZDIxZjVjenYudWN4DAAAAHB5aWZmaTRxLnlxNAwAAABtZXNsNXRldy40dmYM
+ AAAAc3ZyMDFjcHEudWduDAAAAGpvemx1Mmp4LnJnZwwAAAB4cGhoZWEycy5rbG0MAAAAbnJ3cTVt
+ NWkuMmx5DAAAAGlqZ3Nnc3Q0LjBmbwwAAAA0dWdmbHVmei5xdGUMAAAAeHkxZG4xMWkucDBsDAAA
+ AGR0dHdvY2R1LjNuNAwAAABxYW9xMGdhaS5uMW0MAAAAbHNncnB3bXcuemsxDAAAAGUxMHhwb2Jx
+ LmZnbwwAAAAzbGMydGo0aC5lemIMAAAAa3d3azBydjUuMm8xDAAAAHAya3ZhZGNpLmpkYgwAAAB4
+ cmR2bW5sbi52MXcMAAAAYXowYm51bG4ua3drDAAAAGNtaXF5NHZqLmFlMwwAAAAxbmNmMmEwbC5s
+ MXQMAAAAMzVhM2ZmcmIuZmFnDAAAAGh4bHJpZDIwLmNhbQwAAABhczNwcHNmdS5xd2IMAAAAdjBp
+ MXZ6ZXguZXduDAAAAHczcHNqZ21iLnYxZwwAAAB4angyNG9uZy56bGYMAAAAM3RnbzFnZnAuYnIx
+ DAAAAGkxaDJ1b2hqLmt3NQwAAAB4ZGp6YWIway53eXEMAAAAZGphMnowMjEuNTJpDAAAAHBxdHpo
+ cmNkLm93cgwAAABobXZkaXdndy4wb2cMAAAAM2d5aGd0YzMuanBkDAAAAHgxYWxnZGVuLnd0dgwA
+ AABqYjBrcGhneC51MHgMAAAAa2kxMjRpdmQuMHhqDAAAAHkxYnpyb3p1LmZqaQwAAABtM20xZGIz
+ di5ka2IMAAAAZDAzbHB2cWYuaHl3DAAAAHdvcmZyZnhuLjJ0agwAAABjMnJxemk0bC5kdXIMAAAA
+ MjNoMmtraHEuc2h6DAAAAGxjeXl3Y2ZrLmZjegwAAABleWQ0M2NyYy41d2kMAAAAMmhycWdzM28u
+ amkyDAAAADJ0eTR1a2tsLjVjcwwAAAB3aHJnbmQ1Yi5lYTAMAAAAamcxa2J2Y2cuYXR2DAAAADFq
+ cWFyemhiLmNyYgwAAAAwdWhkbWY0NS5meW4MAAAAamIzYW9tMm8uMGhtDAAAAHR1cnppcTRvLmpi
+ bgwAAAB5c2d0dHN4aS5ucHcMAAAAcDN0eHVtcXIubWFzDAAAAHZqemVlanEzLmsydwwAAABmcG01
+ bmdrcy52eDAMAAAAbXBzMXRtcXguM3VvDAAAADVoajFsajJkLnp5cAwAAABtMXhnb3oyay50Z3IM
+ AAAAZHNpcXpvdGgucnFqDAAAAHFxb3B5d3R5LmhoaQwAAABjaXVsYWtzdC5wdXEMAAAAeWdvNGJ1
+ MmsuMnVnDAAAAGZtY2ticm5vLnIxYgwAAABobGhhaDRuby5wcncMAAAAZGI1dm92cGoudXFzDAAA
+ ADM1MnpoM3h5LjJhYgwAAAAzY3poa3VvMC5penMMAAAAM2YxanljZzMuajB2DAAAAGtiZHIwdzR1
+ LmdtdAwAAAB6eDNhNHZsYS51c2sMAAAAc2J1ZmZibjQubzRwDAAAADJjMGZ2c2UzLmt2eQwAAABw
+ ZWN4MzNjMS56MDQMAAAAa21zYjFrNDIuNXBqDAAAAGNwM3ZianZ0LnU1egwAAAAwbDRkbWhxdC40
+ eG4MAAAAYWwzM2piY2MuZ3hrDAAAADNxaXBqeHYxLnhhMAwAAABlaTVjZ3BiMi5qdWEMAAAAZTVv
+ dWNnd2subW1mDAAAAGVqZmpzMGhzLm1jbAwAAAAzaXhuZWt4bS54d28MAAAAdGRybWdoenoudGNi
+ DAAAAHU0dzFldjNnLnJ5ZAwAAAByY3Bta3p3ai5lcXcMAAAANWVrbG41MHcuNXM0DAAAAHh4NWx6
+ djBtLnV3bQwAAAAwMTFjcWFuNC55enMMAAAAa25iY3JwYmwuZmx6DAAAADUzbXo1d2dvLnVsbQwA
+ AAB6eTByMGxzci5zMjIMAAAAYWhudGJ4ajQuYmJtDAAAADQybDF3MnlhLmJzawwAAAB6bzAxNW01
+ aS50enQMAAAAYmF2YWZndTIucTNlDAAAAGdzaHljcXFmLjFpZAwAAAA1YjAzNXN5ZC4ybGcMAAAA
+ bHlpZnkwaG4uenh3DAAAAGV0YXBwbGdqLmczYQwAAABtNGp0dXFhdi52ZWwMAAAAcWRvb2t5eHYu
+ cnF3DAAAAG9qeGI0YWhsLnZjMAwAAAA0eWNqeXd6ai54aWQMAAAAc3ZqdW1uNXguNW9rDAAAADJ4
+ amZsMmZhLm9icgwAAABjd2Z0aHBqdC5hcXMMAAAAdGM1M2JxeHMueDRjDAAAAHl4amRnYnYwLm9s
+ aAwAAABpcW5tNWh0ZS4wd2IMAAAAbGcxeXprNHEuNWpkDAAAADUydG92MmJ6LjVkaAwAAABrYzNx
+ MWtjMS5qeXkMAAAAZ3NoeHYzeTEuNXR6DAAAAGpydWtvMGNxLnJnYwwAAABlamFydmxmaS41cDUM
+ AAAAeXgwdGpzeWEudGlvDAAAAGd1MGJ5NGJvLm4weAwAAABrejVraDB6Yy53MGQMAAAAejNwZm5h
+ eHIuaWF6DAAAAHR5ZWI1YnFqLjN4NQwAAAByd3RzbmJuci56dGEMAAAANXB0dDV5MzQuNWhiDAAA
+ AGhwZmVwMHFyLmFrYwwAAABiaW5rMHlyYy5qd28MAAAAcG1lenBzamwuamQzDAAAADAzbGVnZHRv
+ Lmx5eQwAAABiMzNkYWk0My5xZXgMAAAAZGxudHFnbzMubm5xDAAAAGJnaGJoa2VlLnRpcwwAAABy
+ azBxM3Btay5jNDAMAAAAdnFjYXIxMnUua3pwDAAAADVid2FvZmJuLnVwZwwAAABiZzJremkwZS53
+ cGkMAAAAZTU0enhjZnMubHR5DAAAAGVtMDVzMnBpLm90MQwAAABvYjFwMzUxbi54bWwMAAAAMGh1
+ a3R4d2wuamV0DAAAAGtiaDF6dWxpLnA0MgwAAAB6b2NrZWtiYy5razAMAAAAd2pwYTFjMnIudmpx
+ DAAAAHVkbmFrMXlhLjJscQwAAABub3BsenF1Zy5mY3cMAAAAZWdhZGJpd2EuZnN0DAAAAGJ2cmdk
+ M2tjLmZmYgwAAABybnhrY2xnMy5lcmEMAAAAZGhmeGtoMmwud2wxDAAAAGFyZHBqbDNoLmJvYwwA
+ AAB3a2gzdWZ4eC55cGoMAAAAeXF5YmJoc2IucHVpDAAAAHRtem41cXlzLnpwcwwAAABhNGVjZ3Zi
+ Yi51cGsMAAAAem5wMmd6MmoubGwwDAAAAHJwMHJhcHhuLml6cwwAAAA0dHp0ZWRtbC54ZXcMAAAA
+ bXEwc2Zqem0uMGVyDAAAAGN5Mmx3b24xLnczdwwAAAAxbHV1cm5xYi5qcGUMAAAAc2g1dmdrM3Au
+ aHRqDAAAAHRlMHduYm8yLmJwcgwAAABteTB1czE1NC51b24MAAAANWhmZ2NyanYuanJjDAAAAGlm
+ bGxpMHl3LjNkegwAAAA1eWJkamdnaC5nZHEMAAAAY2dqaWFvejUubHlpDAAAAHJ6aXc1MnViLmM0
+ ZQwAAAByNG1xMGlzZC4xbWMMAAAAeGJlcW5md2UuNG8xDAAAAHVwdTF3aXN4LnhvaQwAAABoaGd4
+ ZHk0cS5qYnYMAAAAcXYzYjBqb3AubWFhDAAAAGR3NGQxZ2hjLjRjMQwAAAB0cHNrdnJyMS5iczAM
+ AAAAb3h0Z2N1M2EuZ2gxDAAAADNvamFlaGJ4Lm9rdAwAAAA1dGF0ZmZwby50ZjQMAAAAdHM1c2N5
+ c2gudnZwDAAAAHZncGE0amJrLnRrMgwAAABoamN3c2RvMi5waHEMAAAAenZjMTMwZ3UuYjBpDAAA
+ AHI0MWdrb2pjLnV3ZwwAAABnaHUwazByai40c24MAAAAZnoxM294NGgubWxqDAAAAHMyZ2JjNXBq
+ LnF0NQwAAAAycHJmb3Joai5mYjEMAAAAdm1icm1ucWIubGIzDAAAAG1paHd2NWxhLmFmZwwAAABk
+ dGhuZTRubC5saWsMAAAAdHh0dmZpdHcubnN2DAAAAGtiZHR5bjBsLjFhaAwAAABzYmhia3Zhcy5q
+ Mm8MAAAAMHJzcDRtZmouZXU1DAAAAHpxeXVzZTV3LmY1NQwAAABrZ2dwZzVzZS5nYWgMAAAAbTRj
+ aTV4ZXoubGxhDAAAADEycTFkenBxLmEwdAwAAABuY3lyMnFzcy41YTAMAAAAc2Zka2VsbW0ub3Ry
+ DAAAADRiZWdsMmZtLnh4NQwAAABzdnBscXhoNS5lbHcMAAAAZ3hhb2FhbzUuZjJ4DAAAAG40c3Jk
+ Zmt6LjQ0dgwAAABicHR2Mm5qbS50amwMAAAAY2FoZTBidGouYTBzDAAAAGFkMGQ1dHJoLm0xdgwA
+ AAB6dWswMW9hMy51M3gMAAAAcXoxdm90c2kudXg1DAAAAGl2YnduMjAxLnIzNQwAAABveW5xaHd2
+ YS5ldGIMAAAAdHAzaG56b3AuZjVlDAAAAGpxcjJwbHhqLmVldAwAAABnY2FvZG1iYS56M3MMAAAA
+ andxejBkaGEueGF1DAAAAGt2MG5oMmZuLnZpYgwAAAAxNGMzanEwdS5peW0MAAAAM212NGw0NTEu
+ aGFsDAAAAGVxbXpoMXgwLjJuawwAAABzbGZub2xndy5jMHgMAAAAdTNmZjVkdmIuZHozDAAAADVw
+ NWZlMm9pLnN6cwwAAAAybmF5ajFwdS5pZG8MAAAAZDAycmZiM24udjBhDAAAAGx3eW40d29jLmQy
+ ZwwAAAAycjR6bHRubS5qMWoMAAAAMWlyYnltMnQudXdpDAAAADBheHpqbTRwLjJycQwAAABibXR1
+ eTBsaS4yZ2UVABWO+gEVjvoBLBXQDxUAFQYVBhwYDHp6bGd5eGE1LjR5YRgMMDExY3FhbjQueXpz
+ FgAW0A8YDHp6bGd5eGE1LjR5YRgMMDExY3FhbjQueXpzAAAAAwAAANAPAQwAAAB2MWtnNWhtci5m
+ aGoMAAAAZG5zdGNwbHYuZWRrDAAAAG1ta3lucHR0Lmw0awwAAAB5c3E1d2NrZy5idG8MAAAAcHJl
+ ZXpmdGwubXEzDAAAAGdmdXg0MWF2LmNvegwAAABnaHpnMmNqZS4yaDEMAAAAM2R0dngwMWkuZ2ty
+ DAAAAGV1emQxYjQxLmJxMgwAAAA0YXRkMnpuby5nNDEMAAAAeWtkc240dWkuYjNlDAAAAHRud2tm
+ aXNkLnFqNQwAAAB2ZmtpbGsydS4xYjQMAAAAdWN0MnIzdG0ubjEwDAAAAGRjdHdocWNvLnZnegwA
+ AABhc2hvYXZvMS5vamYMAAAAdWdzcWJicHMuNXQyDAAAADBwcHlyNGVoLmhtcQwAAABsNWRheHZ1
+ cy5wcDIMAAAAa3d3MTFwMmEuZHhvDAAAAHNobWx6YzNpLnpkMAwAAABraTJva2FteC5hc2QMAAAA
+ aTFiYnUyd2IuZGpqDAAAADJ5dnZ1ZnRsLm1lcQwAAABmZzB4Y2xoay5odGgMAAAAY2l6cHh1c20u
+ bDQzDAAAAGFtcnRlMGxhLjJ0cwwAAAA1ZDUzZWY1NC5tMHkMAAAAcmxpczR4NG4ubXp6DAAAAHp5
+ aGRjdnZsLnhieAwAAAB4ZDR3MGZxZi5sMHMMAAAAdnFzeWFoNDAuYmFuDAAAAGtvYW1raWJxLmtv
+ cgwAAABzNHBtdTI0dC5ia3AMAAAAMzE1ZzI0aGsucTQ0DAAAAHN3aDVxZmVnLnduagwAAAB3Z2Z4
+ d3dmNC5jMmsMAAAAMWpwMmlsd3IubDVzDAAAAGNvcW90NHU1LmhncQwAAABsaXgzZ2dmaS5leG0M
+ AAAAcnhlbnNva3UuamlmDAAAAGUya2d5aWQ0LmYwYwwAAABkZWs1NHB4bC5pYmoMAAAAdTRpMDNi
+ YXAubjJ4DAAAADVqd3Yyc2M1LjJydAwAAAB1ZzR6NGxtcC4xMzAMAAAAMW5lMXVjbmgua2gzDAAA
+ ADQzb3N5cjVuLmpzaQwAAAB1NWpicGFmMi5mcjAMAAAAbWMxY2FvYmcuMW9xDAAAAGJlemVteHZy
+ LmlhZwwAAABleHJ0Z2xhMS4xdTEMAAAAb21waWxlYWwucjFnDAAAAGg0bXoxdmFiLmJlbgwAAABy
+ Z3BkYWx2dy5kaXgMAAAANW1pb2NiNWsuaHR0DAAAAGt0c25mdnBlLnEwZQwAAABjNDFoYWV5Yi5z
+ dW4MAAAAaHVobGZpdTMubG5qDAAAADBlb2F2Y3BvLmxwNQwAAABrajQ1ZXpyeC5tZTIMAAAAYXNt
+ ejVvNW0ueXVtDAAAAHN5ZGJqcG9uLmRmeQwAAAB5dHc1Y3FtaS5iZGMMAAAAcTN6M3JlamQuMHRm
+ DAAAAG8zdHB2cmJkLmtncAwAAABpbWp1MWcxay40bWQMAAAAaGVwdzF0ankuZGRyDAAAADJic2Np
+ YWd6LmF1ZAwAAABwdWN5bWFldi5xajAMAAAAb29ncmtlY3kuMGdiDAAAAHZnMXBjNHd6LmFoeAwA
+ AAB3ZHRkcXRnYy5oNXAMAAAAY2FieHdwbzAub3pxDAAAADIxcWFjYnRwLmlpdgwAAABqMHltdWJp
+ YS40amwMAAAAMmUzeWliNXkub294DAAAAGIxMjF0YnlvLjFtZgwAAAAyZWVpeXRteC5jMmEMAAAA
+ aXdramt2djQudWcyDAAAAGh4aGgwb3gwLmh4ZwwAAABkcWFpanYyZi5mYTQMAAAAejJ2YjNqbWEu
+ djUzDAAAAHBzNHZqdHhwLnNjNAwAAAAzMHlyMW1kZS5lZGMMAAAAeGlhZ2UzazQuZTRlDAAAADRo
+ NG93YWFiLmh5cAwAAABiejR0M2xkYy5ybnIMAAAANHFhZ2cwY3ouMG12DAAAAHB4aWxodWtxLm9j
+ cAwAAAB6c2hjMXAxeC5yY2wMAAAAMWphMXlzNW0uYXFnDAAAAHQ1ZGh0c2txLnVpdgwAAAB4cm5m
+ ZGJveS5mdmEMAAAAdnp6MDJwYWQuMHdrDAAAAHB2eHNpNXRwLnFzdAwAAAB5MnZhdG1iMS5vZTUM
+ AAAAYW1taWp6bjAuYXMxDAAAAGt3dnVlMG0yLm01cQwAAABiNDVyYzF2di5xZjQMAAAAdWJwMDBx
+ YWYuNDNzDAAAAHdybXpvaTFuLm1yZAwAAAB6NDBpY3hmMS54YTQMAAAAY241eXkxaDUuYWh0DAAA
+ AGRkbjNmaXF0LmR6YwwAAABvdXJ4ZTJrcS5mam4MAAAANXgzMXpwM2MuZ2pqDAAAAGdtMW5oZXBz
+ LmJzYgwAAABmbWZ4cnRsZS5jMXQMAAAAenZwYW1hc3kuemRwDAAAAHV0empqb2VmLnBscgwAAAB2
+ Z3l3bmt2Zi5hNHMMAAAAY2lueG0zYXouYXkyDAAAAGp6YnF5czBtLmdzZwwAAAAxeGltM2lwdS4x
+ YmsMAAAAYTRzZDU0aW0ueWIzDAAAAGV6YXQwZ2dsLnVqMgwAAAB2cWxmM25sMy5ieGUMAAAAYXFj
+ NXUzeHouNW5pDAAAAGlxYWYweHZuLmQ1bwwAAAB3YzJyM3pmdi5zY3AMAAAAbHJxbHp1bmIuMW90
+ DAAAADFvY2FnM2Y1LnBxbQwAAAB6YmIxaDJ5Yy5kZGoMAAAAbWFreDB4c2oud2NpDAAAADNyZ3Rm
+ amdsLmg0cAwAAAB1M2hyMGFnNC5ndHQMAAAAcjRqZmlxdTIuZmJpDAAAAGllaXoyNTBqLmswdgwA
+ AAB1cjR4YjFtcC56dmUMAAAAMjVuZ3FqeWgueWp2DAAAAGQwZDRyYnJmLjVnagwAAAAxb2ZjaGZk
+ NC53NGwMAAAAa25sYXRpYWcueTV2DAAAAGtyb3dza2xkLm5sYgwAAABlZWl1Mnhnbi5ldWQMAAAA
+ bGVyeWt1dWUuYnl4DAAAAG9ueDEwa2dnLnVnawwAAAB3Z2NlYjIwYS5jcm4MAAAAb3NycHMyczQu
+ cG95DAAAAHkyc2FtZTR4LmZxcwwAAABkc2kydGRsMi5rdHUMAAAAc3FyMHAyNGcuMTJrDAAAAG1z
+ cmt0ejNoLnJuaAwAAAB1YjR1dmNpbC5ocjAMAAAANTFxb2tiNGEuc29vDAAAAHVxcDR2dWhsLnZl
+ eAwAAAB4aHExcTVrbC5ydDEMAAAAZ3h3aDNzdnQubjFvDAAAAGYza20ycXNwLmdtdgwAAAAxaHJj
+ cHI1ZC5hc24MAAAAMXp5MzB6M2EubXpsDAAAAGhvc2R5b2ozLnJnNAwAAAA1anRoam14ZC5kZXYM
+ AAAAdmhreTVrMGkuYm9pDAAAAG5tcGVsdjEzLjIxNQwAAAA0ZXp5czFmZy5mcnQMAAAAYWNlYmtl
+ MTUuMzJlDAAAAHdtbXBobjNwLjNidQwAAABidHNmZXJpcS5naXIMAAAAeWQwbzJ1emsubHpwDAAA
+ AGwzbmdsYXQyLjIzeAwAAAByNGdob3hxYi5veHgMAAAAdnp2dG9vMXEucXJzDAAAADRoa3djbmRn
+ LmVvYwwAAAB6MDFjMm55ei55ZHoMAAAAem1vcjExeDQucTAyDAAAAGI1eHZ0YjMzLjFxbAwAAABx
+ cjNjbXluNS5vcGUMAAAAbTVjdmJoMnouYjF2DAAAAGJrMWZybG4zLmp4cQwAAAB5c3pleWdkbS5z
+ ZjIMAAAAbWJ3Z2xiNTQuZWRiDAAAAHFjMWJseTNuLjMxZQwAAABhamMwaWtycy56dXYMAAAAc2Vj
+ Ym5yankuMXdpDAAAADUydWFsaGFwLml5MwwAAAA0b2pzcXlyay4wcmwMAAAAeWxrNG9udncuc2Jw
+ DAAAAGNjNTJhdmh1LnAxZQwAAABvdmF1ZmVoZi50bHIMAAAAdzJmbGZtYWYuc2RsDAAAAHZhY2tv
+ aWN0LnZ3YgwAAAB5dHRhaHdieS4waGUMAAAAcHpiY3I1ZGkud3U1DAAAAGluajBueGpiLmkxdAwA
+ AABleGZoeWIzby4ya3oMAAAANTFuY295dDQubGxjDAAAAHFkamUzbmZiLjFyMAwAAABkeHl5NTRt
+ ei4wcDAMAAAAZm9iZXcwbHgubnViDAAAAHB2ZDJjamdhLmhnYQwAAAAwcHNhMWJmNC5qejAMAAAA
+ aXVsM2d6eGouem9tDAAAAHY0MG5rZXByLmlycgwAAAB0MWIxcmQwZi56YmoMAAAAemJ2NWJncTAu
+ MjB2DAAAAGhkb3UwbTBpLnlvdwwAAAAzZTFzaDQxay5pbWwMAAAAZW12b3pjeG4ubGtsDAAAAGwy
+ cHp1MXBrLnBnbAwAAABjMWhvcXJtZi5na3EMAAAAeG1ma3R4M3Iua3g0DAAAAHB5NXR2eWFtLmRs
+ egwAAABkZ2l1ZXlmbS5taXMMAAAAZG5wZzN0ZGMueGhjDAAAAHV6d256Y3FhLm94egwAAAB0YXox
+ dm5kci5uNHAMAAAAdGFwdnB0aHIueXdzDAAAAGRwMXk1anZ0Lmc1dQwAAAA0M2V1dnFkZC51emkM
+ AAAAMDIwbG0xMGgud3dlDAAAAGNkM2dtbWVpLmwxZgwAAAB4ZW1tM2VkcS54enQMAAAANHV3M3d4
+ dHUubnAxDAAAADNjbGtrdmQyLnJsbgwAAAB1NHRpajN4ZS5vY20MAAAANWdicTFxaHouM3dyDAAA
+ AGpvZXJnd3cyLm5mMgwAAAB2MnVqbXd0bi5pZngMAAAAc3lkb3hrZncuZ253DAAAAGJ1dzE0bGQ1
+ LmdmcwwAAAB3M2FrbGVxdS52Z2kMAAAAY2NwaDF3ZDIueGR5DAAAADBnMG9vcW4zLnZwaQwAAABj
+ cmFmMGYwbC5icWQMAAAAcHBlZnVobjAuM2hmDAAAAGljemt4NHozLmhjaAwAAABncTRhY25laC5p
+ YW8MAAAAbWQ1cXRwbXcub3ptDAAAAG5jY3ZtZTMwLndvagwAAABpbWVyYW5yaC54aTUMAAAAb2J4
+ ZXZsdXIuZjBlDAAAADVoZ3p1c3ZrLmVlYgwAAABzazA0Y215bC5keXoMAAAANHh1cXZ2M3ouaWMx
+ DAAAAHZveHV1b2ZxLm1jcQwAAAB0djUzc21idy5hbTAMAAAAcHU0azJ2aXYuMHJyDAAAAGtubHNv
+ aW1uLnZsdgwAAABlMGQ0NGo0ei53NG4MAAAAcDBoaWZ3dDEudjVtDAAAAHJoY2F6c3FzLmx2aAwA
+ AABheWFtY2RicS5zMHkMAAAAYnh1Z3FsbDEubTFlDAAAADB4Y3V4b2ZtLm94dgwAAAB2cXZ2bXdj
+ cS5sMzEMAAAAaG5mbzRwd2IucjBiDAAAAHV1eDNmaHBzLmw1MQwAAABpNWpoeWJncy5tdGkMAAAA
+ b3pmNXIza2Eudnh2DAAAAGR6dDR4bmNwLmJldQwAAABqNGpnNDRlYS5jM3IMAAAAYmlvajVxYXgu
+ NGNlDAAAAHVtdDAwcXZyLjJmbwwAAABhZXprenJwby5mZ3cMAAAAZG40ZmJxNHcuajF4DAAAAGRk
+ eXp2bnFkLmNtcgwAAABhbXIyZWx1Mi5yaGcMAAAAZmY0cTJiemkuc20xDAAAADU0aXZ2ancwLnFi
+ ZQwAAAAwMWVid2p0bi53eXkMAAAAaGJ1bWRqZGkuYmZ5DAAAAGxsdmNlMTBhLnF0ZQwAAAAxeXF6
+ MXN1Yi4wb2YMAAAAa3RsbXh4ZTUucHJjDAAAAGM0NGMzemd4Lmd4dAwAAABwd3h2MnJibC4zY3gM
+ AAAAMjFuNWl1bm4ubzFiDAAAAHNpM2JnYmUxLm5hdAwAAAB3cXRieWkzeS5td2IMAAAAcDBrd2Nk
+ cGkucHphDAAAAG53dnRjcWIwLmMwYwwAAAA1eTRmbnIzZi5wZHgMAAAAeWlxdHdlenkuZjExDAAA
+ AHJwbnZuenpyLm40cgwAAABua3ExdXExZi53MmsMAAAAZ3cxbHBjbmYueTN2DAAAADBwbHVhbDJ1
+ LmpkMgwAAAB1a2RsMzAwZC5zb3AMAAAAd2NubG92aHcuMWxiDAAAAGNwZXVjcjN6LnZ6egwAAABi
+ c2tqemJnYy41ajQMAAAANDNkeml5ZHYubXZpDAAAAHd5anJ5d3FrLmtycgwAAABieTF0NHVucC54
+ YmsMAAAAaWloZWVmbWYudnFtDAAAADJrdWZ6eWtxLmE1MgwAAABkaG01eDFkMi50dmQMAAAAbmc0
+ NGVoNDMuZzV4DAAAAGp6cGZtM21qLnJreAwAAABwcXR1bHdwMS5iYXUMAAAAYmlwaWlvemcucjBp
+ DAAAAGxyYzJnNHNrLnJudwwAAAA0NWhnZHhxZS5scHEMAAAAd3B4emZoZWQubDUxDAAAAHg0MTJu
+ and6LmJ4eQwAAABwdGZieWxjYy5tYnEMAAAAeXA0eHNuZ3guZXlvDAAAAG16NTJ5cXAwLnBkZQwA
+ AAByajJyZGhhei5za3QMAAAAY3pobjJzZ3Iub2J6DAAAAHFveGVweWE0LnR4MgwAAAB6bDRoZXBu
+ by55eTIMAAAAYWh1cHFwMHoud2NlDAAAAHltMzBuajF3LnAydAwAAAAzcDBubzNvYy5xNG4MAAAA
+ MGZncXVya3MuY2RhDAAAAHh3MGFxY3VyLnEycAwAAAB6a2ZzZnRveC4xYWUMAAAAbHZoZ3gyZ2wu
+ Z2wzDAAAAHlmcnRtamViLnhzcwwAAABoYTBqb25jeS5hNWoMAAAAc3VqNXl1NG0uMmV0DAAAAHZq
+ b3NnMDI0LmswdwwAAABxcGx0cXd1cS5vbWYMAAAANGZhcjBnd3ouemJsDAAAAGNibGVrY2Z6Lmxk
+ bQwAAABlMHF1dm5qYi5rbGYMAAAAZnp3NW12cjQuNHNqDAAAADJpbGN0MzVtLnpucQwAAABxb2Fr
+ Znk0dy4xeWMMAAAAZ3N2bDA1bnIuZGVvDAAAADRud2kzb3l2LnVybgwAAABheDMyZ2N1by5sanEM
+ AAAANG5xMnBvY2YuM2RwDAAAAHlncHNodmJ0LjNmcAwAAABrZjEwZTVqdy5iYjIMAAAAMHoxbTFj
+ NGoud3l0DAAAAG9waWt3aWpoLnM0egwAAABkZmhydTQway52eXEMAAAAem1zemMxcWIuZG51DAAA
+ AGF5NW5rMTN4LnJmdwwAAABlbDFjajBtaC5kZGYMAAAAbmNrdGh4bDIua2ZoDAAAAGtuZnoxMTVl
+ LmU1awwAAABoZGt3NWdnai5hZm0MAAAAczN4c2FtbHcuZG55DAAAAHUwZDFxbWRlLm9ubgwAAAAy
+ MnlodDV0cy40eHEMAAAAbXptMGl2ZXkudTEzDAAAAGExNG8yd3p2LmowbAwAAABwZzBuMzI0ZC5m
+ ejIMAAAAdGkxM2M1MW8uNXpsDAAAAHphYnYxaTVjLmJiegwAAAB0ZWh3cHJldi55bjIMAAAAenps
+ Z3l4YTUuNHlhDAAAADVjNTI1MGNmLmZzeQwAAAB6dGFzcms1dC5peWoMAAAAdDBuNW5uZXAudnNh
+ DAAAAG55dmVvc3gwLndvcAwAAABsZ3hjZHRoMC5hbWEMAAAAdGIwb3FwM2wuZXZ3DAAAAGRlY2J1
+ azEzLmxwZQwAAABzZnFjNXJ3eS5uZGYMAAAAMnQ1M2p5NWEua2lqDAAAAG12Z2hqdW8xLmdpagwA
+ AAB4MWZodmlrby5wcnoMAAAAczM1eWVmZ3AuYXVqDAAAAG1vZ2FhYm15Lm9sbQwAAABzZGo0M2g1
+ bS5iZXEMAAAAdHZyaDRuM2wua3hxDAAAAGNka3oycnd0LnUxcAwAAAB4enkwaHZvci5nMHEMAAAA
+ bWpscWlrc2wuYml1DAAAAHgzcWZxNTFxLnh3ZQwAAAAwemZwYWVlYy5rNTIMAAAAY2wzM2xwZWou
+ dGc1DAAAADUxcTRxa2duLmw1dAwAAABiNHZucjNqby41d3gMAAAAMXVmb2YxZ3UuYjJoDAAAAG1r
+ bTJ0a2h0LnhheQwAAAA0bWJxbjVyNC52MGsMAAAAcXZxb2NjeXkuZnlnDAAAADRqbHgwamkxLndq
+ cAwAAABmenlyNXlmbS5wZG8MAAAAbTVyeXI0ZG4ubGZoDAAAAGxsMXFidHF4LnRidwwAAABtbDQ0
+ em90NC5yaG0MAAAAbjNqcDV2Zm8ubjV1DAAAAHh4eW91cm8wLnA0cAwAAABkY2s1MXRwdi5jcWwM
+ AAAAcmRvMmxxYnEueXFsDAAAAGx2cnEzb2ZjLml2dwwAAABmaHY0MDJyaS55ZWIMAAAAM2h2ZXYx
+ bWsucXdkDAAAAGp2bnRvZWY1LnJueQwAAABieXVzeW1kdS5wc2gMAAAAb2lib2x2cHAucGplDAAA
+ AGZ5NGFnMGgzLmR6ZAwAAABxZmlleHpsZy5mMngMAAAAd3V3Yno1anYucHZ6DAAAAG9qNHJoNXN4
+ LmgwawwAAAA0Mm52c2k1dS4yZG8MAAAAMnZ4dTVsZGMua295DAAAAHdsbGxxdXptLmR4NQwAAAB3
+ M3ZweGxyYy4yM3kMAAAAaGFpY2gza2YucmVnDAAAAHdvZGQ0b2V2LndpYgwAAAByMGFvc3FvaS5o
+ cmwMAAAAc3k0YnhsdnIuYm14DAAAAHJuMXU1MXd1LmhsZQwAAABqazVudm90ei5iM2QMAAAAb3Bv
+ Y3V3ZHUubjVwDAAAAGt2MHB2dWl3LnZidQwAAABoMjQwNXptZC5kNG0MAAAAdXl0aXZzZW8udjR3
+ DAAAAHdiZ29md3phLmZxZAwAAABzcWRpcHl1dS5qcXYMAAAANG8wYmp2YWcuNTM1DAAAAGdhNHBk
+ c3BhLjUzYgwAAABiaXBiaTVjdi5ham4MAAAAeHhyaWEwaGMudHZmDAAAAHp2ZXVvZWN6LjRrZgwA
+ AAB5eWFseW50Mi50bWEMAAAAZDIxbG41NTEubjBxDAAAAGp3Z29mbGYzLnlwMAwAAAA0bWpwc3di
+ Yy5udGcMAAAAMnMya3Bjc2MucW16DAAAAGY0cjJmdnJ5Lnp1awwAAAA0eWhtcTVheS5uczEMAAAA
+ d3hmMjVlZHAuaDBzDAAAAGUyd3htMXF3Lm96egwAAAAyc2M0NXB3aS4xZXcMAAAAanEzbWp6NXcu
+ YTRsDAAAADJncGFua2d4LnlxegwAAABreHNtZWNycS5oeGkMAAAAMnhlMmlzM28uMXUyDAAAADRp
+ d3Brb3MzLnp4ZgwAAAAwbmI1Z2Nwbi5paWMMAAAAcm5tbDUwMDEuMWN5DAAAAGplcWZoZjBuLnlt
+ egwAAABzem9yc2tlcS54cjQMAAAAbjRiMjB4MmUud2ZvDAAAAG11ZHlyYXUyLmtnMgwAAABoMTRh
+ ZG51ci5uc2cMAAAAZDJnNWdkMjAucjR1DAAAADRneGNodXMxLjFvdAwAAABva2t0dnFmdC56cmsM
+ AAAAbDBtbXp2bTMuZGd5DAAAAGFtY3hma2J6LnZobAwAAABzMjNrYjNqYS5zbGcMAAAAZ3h4b20z
+ a3MueG5oDAAAAHV6bHdlbGo0LjRyagwAAAAycHRjMDJzay5jbGYMAAAANGtiZmMxemQuYXcxDAAA
+ ADBha2Roam5rLmF3bAwAAABsbHNiM3Z3eS5lM3gMAAAAYmp3eHp5YzQueHNwDAAAAGdpM3lsdnJo
+ LnRxcQwAAAAyc2l2YW5iaS5kaHEMAAAAajIxZ2M0ZTMuM2NsDAAAAGJnMjRpZHh6Lm4yZQwAAAB2
+ b3pnZXJmai5yd3YMAAAAY2pyMXcxdGouazRkDAAAAGdoam5seGVjLjFuegwAAAB2dnllcGFjNC5q
+ NGIMAAAAYWF1dHN2YnYucWRuDAAAAHF3ZTAwYzJiLjExcQwAAABjYXh2d3AzZy55bjIMAAAAbXJp
+ YzF1YWQuMHJsDAAAAGp0YjVzZXF1LmF4MgwAAABzY3pyZ2xlaS5oZnUMAAAAamdseDB3aHcuZW1l
+ DAAAAGR4cG4xa210LmtkbgwAAABteHplZG1qaS5qcnIMAAAAa3FiajRjNWouYXp3DAAAADR0MnJh
+ ejFvLnlqaQwAAAB1a2Z3aTNlYy5nemQMAAAAemVjbmx6b2QubDM1DAAAAGVia2JhZDFyLnlocQwA
+ AAB5am1xaXlycC5ld2sMAAAAZ3ozaWVnNHAuaWQwDAAAADBlbmFvZXQ1LnVvagwAAAB2cGUzZTJw
+ aS5qZHAMAAAANXVsdGpweWQuc3RvDAAAAHQybmtiNHJlLmkwZwwAAAAxaHI0M2R0di4wc3EMAAAA
+ MXdhZ2pyencueXRxDAAAAHltY3VieWdrLnduZwwAAABibG1tMmdtei52Y2gMAAAAbXM0cm1lZjEu
+ aGxlDAAAAHN1eG9vanFmLmxudQwAAABnamFpb2JiMC55cmkMAAAAa3lkbWU1c28ueHRiDAAAAHEy
+ dTN1cmh5Lm5zeQwAAAAxeTJmbHp1dC53M2IMAAAAZnJwbHlwc24ubWFpDAAAADJsbm1hdzRwLnJn
+ egwAAABzeXRkd2J2aS5jd3oMAAAAeWc1ZTJmemYuZjFoDAAAAGZpYjVnaGZrLndlMAwAAABjMmJ1
+ MTF6eC5jY2UMAAAAYnc1aW1pYjUuMDJ3DAAAAHRhZTBmb2x5LmxlcAwAAABnamExM254eS41aGUM
+ AAAAengzbWt0bzQuNXV5DAAAAGVrend6bTMyLnNicwwAAABnZzB6MXh2Yi5mNG0MAAAAczIwNDVk
+ aDQudGJqDAAAADUwcmdoYmhiLnBzZgwAAAB5ajAxcHAzdS4za2oMAAAAcjFzaHdtYm8uYm9rDAAA
+ ADQxYWQxdWFlLmRhdQwAAABkZmJ2MDJ1ei4xZTUMAAAAenQyMGs1ZGwubzFqDAAAAGV3Y2Npemp6
+ LnZ6YgwAAABzZDF5cTU1Yy41M2cMAAAAaDBpaGZmd2MuY3BvDAAAAHV1NDBraDBkLjR5ZwwAAABk
+ am4yZXczMC5lbmIMAAAAc3UwemdtaG0uaHkzDAAAADRhaXRtd2psLnpyYgwAAABzYng1Zmlwbi40
+ cHQMAAAAY2NjeGlicG0ud2JiDAAAADBieHVxeDJuLmEzMAwAAAB4ZWxqcGx5dC55dWUMAAAAcXQ0
+ bTJnYXoueXlmDAAAADN4aWJpY3R4LmJ1ZAwAAABnb3BhMWY0cC5icnAMAAAAcG9oc2pmMDIuaGUy
+ DAAAAGFmYm1peXU0Lnl6bwwAAAAwbXJsZWdreC5wa2gMAAAAeW5sempseGwubmR2DAAAAGZ0eWNt
+ MTJrLmJkdAwAAABzMWVpa3hvdy5qZTIMAAAAaG9sYjNjZmkuYW9iDAAAAHp4dDNhc3IxLm40agwA
+ AAB0ZnMxZmxrMy51ZGwMAAAAZTJ6ZWZkYzQuNHRvDAAAAHFhdXI1cTFvLmthdQwAAABoNHRjMjVx
+ Mi5yNWoMAAAAajBibmhleG8uYWp0DAAAAHF0cm1rNXV0LjRpMwwAAABrZ2NuZnI0eC5oaGkMAAAA
+ MHRweTNjdnQuaDNiDAAAAHlrMHBicGkzLmxycgwAAABkand1ZGkyaS5rdW8MAAAAaDRxamo1aWQu
+ NGZtDAAAAGxyNDB0amIwLm8ycwwAAAB5emxjdTB5bi5pd2UMAAAAMHZlcDViZDUuZ2ZrDAAAAHht
+ enhibnJnLmY1egwAAAB6bnFxbWp3dy52aHMMAAAAYmhycmx4YnUucHkwDAAAAGJvcHplMTNvLmxh
+ agwAAABzNGJ4ejBndy51bTMMAAAAMmgyb3J6ZHAudnUzDAAAAGpkZGs1bWZ1Lm9hawwAAABhdHEx
+ anlseC55cXkMAAAAMGV5Y3hmd2wuaWY1DAAAADBnMmpqbXZnLnUyaQwAAABlMGJtdXJ5bi5sZnMM
+ AAAAaWRmazE0aTUueG5tDAAAAGVzMndic3RzLmxmdgwAAABycXVyb3V1aS54eGEMAAAAdGNxMXJj
+ ejIucXhtDAAAAGRoeXRzdXhlLjU1egwAAAByMGNzeWxodC5samYMAAAAandndzNmM2MuaWZiDAAA
+ AHptcGVvbHkzLjR0MwwAAAB6aXdtNHRtbS5yd2oMAAAAeXhrdnhneTEud3RhDAAAAHM0emF4cWE1
+ LnpvcwwAAAB4cW5icmkwdC5tbnEMAAAAMmV2M2MzZ3AuZHpmDAAAAHBxNXZiem9wLmh3agwAAABj
+ M3Qzd3IzMy5qY3gMAAAANXhqa2YxenMudTF2DAAAAGtkbXVvYzNrLmhodAwAAABhZ2RkY3V2bC5l
+ bnoMAAAAMnZseXYyYzUucWp1DAAAADV2c29rY2I0LnBocgwAAABiZmZnNWZmby40dGQMAAAAa2th
+ Y25xdHkuMnptDAAAAHcxdGs0cjUxLjBkNAwAAABudG5sbmJ4bi51c2sMAAAAcHQya3pobGsucTRw
+ DAAAAHd1cmcyb2IzLjVjMwwAAAA1cXA0MmdvaS50cGMMAAAAdGQ1dnBla3EuM2p0DAAAAHdwd20z
+ Y24xLmNqegwAAABtYWZhdnRkYi56cXUMAAAAcWZuams0a28ucXpkDAAAAGRja2wxdTN3LmtwYQwA
+ AAAxc3Jha291MS5rMG8MAAAAYWRrazQwdXYuaXhkDAAAAG5uMXE0MGxvLnYzYgwAAABpY2JnbWF3
+ by5hdnEMAAAAYTRkMWZleTIuNXNvDAAAAGcxejVzMWJ4LndwYQwAAAAwZWt1djU1Mi5mczAMAAAA
+ aWcxNTFwZngua29tDAAAAHZ6cGJocDBnLnBxZAwAAABmMDV3dmUzby5xZDQMAAAAMWV6dWt0cXIu
+ dmZvDAAAAHpxbXB1aTRtLjNqMwwAAABjNXFkaXBpMy55cGsMAAAAbnhvZXhvbG4udHFtDAAAAG8w
+ azQxcTFtLmwydgwAAAA1Ymp5dzRibi4xNDIMAAAAZjNkZGRwaXIuM3Z5DAAAAGpnbzR6YWhsLnZp
+ NAwAAAA0ZGMzcnNteC4zMHEMAAAAZGNxMGozNGEuY2dqDAAAAHBhNWRsa3NzLmNxcAwAAABobGhh
+ ZXFsMy5zMG4MAAAAZHlweWJ0cWQuMTBpDAAAAG50NDBmZ3JqLmRqeQwAAAAzZ3V1emJubC4yMnIM
+ AAAAd2Qyc29zcHcuMWVpDAAAADRnNWxhc2liLmVyMQwAAAB6aGtlYmxkcC5xbW0MAAAANHl3cGRx
+ MWguZHpuDAAAAGpjMmJ4aHRuLmw1cgwAAAB6djJqZG93cS5reW4MAAAAM2N0cXZncnkuMTFvDAAA
+ ADMyMjV2cXpoLms0YwwAAABrb2gxMGMxMC5mbWEMAAAAemlieGR1ZXcuNXJjDAAAAHZ6cTFtYmFy
+ LjEyZgwAAAB5cnBucDJnZy5pNGsMAAAAY3N0MGl4cXUudmNnDAAAAG5veXkzY3p6LmwybwwAAABv
+ dmdvaWs1cS54c3MMAAAAaW5xcHhxMHoueWdpDAAAAGJ0ZGtnazBrLnZxcQwAAABjazFzbXlnei5x
+ b3UMAAAAeXBicndkd3YubWFiDAAAAGlmYml0ejJ1LmpvMAwAAAB5YXcwMjUxMi5xY2UMAAAAYWZ1
+ cTNzb3IubGRiDAAAAHFyeXJhMWFsLjJwdQwAAAAzZ3cwdGtrdy5sNWEMAAAAdXF2eGJ6NGMuenhm
+ DAAAAGZ4cTVmZHplLnJ1bwwAAAB6aTRvZGpvNS52Z2IMAAAAaXJpdmN5c20ubjVpDAAAAG15NHlw
+ cmVoLnVueAwAAAB5c2ZocWpqdS4xa2UMAAAAMmQwazA0MHkuM2kwDAAAAHk1NWhud29kLnp4dQwA
+ AABsNXV2YTNoaC5oNHAMAAAAcDVoYXZ2bmMubHo1DAAAAHhraHpzdmZsLjB4dwwAAAA1dDN3cjFh
+ aC5hdW4MAAAAaHdwMDRjZnUubWFjDAAAAHJvNHkwMXc1LmowawwAAABrdXozYmN0ai40dG0MAAAA
+ cnR3c2prd3MubzF3DAAAADNjeXN0cGtuLnZ2YwwAAAAyZWR5M2hrcS56cmsMAAAAczN1emNqeTUu
+ eGF0DAAAADM1ZmNndWpwLjNsdAwAAAAybmEzbXpmei5mY3oMAAAANXllcWphYXouMjBvDAAAADBn
+ a29pNHZwLmI1dwwAAAAyZHliZWN2NC5iYWUMAAAAaWQxbno1YTUua3d5DAAAAGZzc3ExM3FvLm9y
+ ZgwAAAAxeGJxMjBudi5oM2YMAAAAazRsZ3F4aTAuZjN4DAAAAGgxYTR3MWZoLmRmbQwAAABqYTB0
+ eDFiay53MDAMAAAAbDVmZnhkYnkuMHVhDAAAADJzZTRhZ3B4Lmc1bAwAAABnbmdzY2l3MS53MGsM
+ AAAAMWZ0bXhrYzMubGF0DAAAAHNzbWF0b3JiLmJtbAwAAABseHlkajNidS4wYm0MAAAAaGwwaWkx
+ c2suMHAzDAAAAGJhbnJ4MWwxLmJ2bgwAAABwcnppcGd0eS51MXQMAAAANWFhNWwwcG8ucmUzDAAA
+ AHQzM2VjeHI0LmJpaQwAAABpbHh6MTRoMC5ycXAMAAAAdWFxMmx1MGsuemF2DAAAAGl6eTM1ZGZi
+ LnluZgwAAABvMjJjYmV2bS5jbGIMAAAAcGxsNGhjaXYuZHNnDAAAAHRidWl3c3RuLjJneAwAAABn
+ M3dnMmJ0aS4yd2MMAAAAMWNvNWY1MXIuMjRnDAAAAHNnZG56cXhkLjBqbgwAAAByenh6MTMzei55
+ bW4MAAAAMm95ZWVpajEuMXVsDAAAAHVmYnZ2MTRjLjBhNQwAAABhYWJnY2VtaC5iZm4MAAAAMXd1
+ eGJhZncubHp6DAAAADFwdDEyZGxxLmxzdQwAAAAybjJ2d2U0bi51ajAMAAAAdTFnZ3YzdzAuaHkz
+ DAAAAGlua2kxbXB3LmhkMgwAAABrc3V5bWx6by5reHgMAAAAbWt4enR0cWMubXR5DAAAADNiNGI1
+ czR0Lnd2bwwAAAB5enVoaGdwNS5oZnQMAAAAbjNneWM0cTUuZzMwDAAAAGVndW9ldHg0LmNtMAwA
+ AABta2JobmJyZS51djUMAAAAeWt5eHYwbjQuc3NmDAAAAGw0bmhhYWFsLnFnbQwAAAB6b3hlMGVn
+ ZC50MXkMAAAAZnZhbXQycWouMWVlDAAAAG16Y2J2b2ljLnE0cwwAAABoMmtrZGdsbi5vemYMAAAA
+ YnpkbGhhMTEuczJyDAAAADVjMWZxb2RmLnBxcwwAAABkanRxcXN1aS55MnYMAAAAYXVpdG13NWEu
+ emZtDAAAAG9kdzEwZ3RsLmFxNAwAAAB4cHJkdDFwcS52NW0MAAAAbG1qcWtycXYuYjFuDAAAAHBh
+ Y21pcjJnLnBkNAwAAABvbGdoM2F3Zi5qanAMAAAAeXF6bG9uMHQucnMwDAAAAHh6eHNpeGdvLnVo
+ cAwAAAB0emt1bG5jaS5ndGcMAAAAd2tlamFwMHkuemZlDAAAAGwzYnQzb2UwLmxnbAwAAAB6YnVo
+ YmNlci40d2QMAAAAMnFwcDNub2QuZmNnDAAAAHZ4M3IydHZ2Lnl1MAwAAAB6NHVidnQxby5xYWkM
+ AAAAemNlc2JuZW4uM3ZyDAAAADV5Znh2ZHV1LmhtbwwAAABvbXdjajFoNS5zbnIMAAAAaTJuaG9r
+ ZGEuM21zDAAAAHc1aGxwYXg1Lms1ZQwAAAB2NHAzcHQ0Zy52Z2oMAAAAMzMwNXFtZGguZngzDAAA
+ AHNycjV2a2liLjN0NQwAAAB2cHJ0Z3N6ai4yYWkMAAAAY2dva3pqc2EuYWdwDAAAAGk0MGFzeDN4
+ LjAybQwAAABnMGgxZ3d5aC4yNDAMAAAAZWIwczBoaGYucjByDAAAAHlscnFua21nLndyZwwAAAA0
+ c3Ayd3J2My40bzIMAAAAcXE1Z2ZyZ2YuZTRkDAAAAHprMjF4aHRxLnM1bwwAAAA0aWh3NXEzcC5z
+ MDQMAAAAZmRxdmdmNG8udGxsDAAAAGYxdnlnbmQzLnF3MwwAAAB4bGN6cWV0Mi5maXoMAAAAamVp
+ NXl0NGEuNHVhDAAAAHJmNGtiZmdmLndxegwAAAB4bnNoYWJ0aS5oYnQMAAAAenhwcnN4cnkuaGJ6
+ DAAAADFnYWI1dW1kLnN5ZAwAAABvdm1uem01MS5sNXYMAAAAd3BlZGF0NWcub2thDAAAAGp4YjV3
+ aDU0LjVnZAwAAAAxYTIyZXBjcS4xMnoMAAAAM2VucDFsaHYueDVhDAAAAGRtd29ocGdpLnJuYgwA
+ AABqdmZ1MGRwMC4weXUMAAAAZmt6aHVwcjIudGx1DAAAAGN6Z2l3emV4LmRqYgwAAABxcGptM201
+ ei56dmIMAAAAMHd1d2VobW4ubW9hDAAAAHkxZ3FtajEzLnFkZAwAAABoc2pwYWlkdS40eWwMAAAA
+ aG52cHdyMWUuaTRrDAAAAHNtdG1yZHlmLnYwawwAAABrdXBlb3hqbi5mMzAMAAAAZW9ucGNubngu
+ YmIzDAAAAGRvdmh5MXd4LmhlYgwAAAAydHRuMXRjby5nZmgMAAAAMmhkbzQ0bjAucmRiDAAAAGVp
+ ZTF1dmJtLmxkZgwAAABqenBldXduay4wZjQMAAAAZDIxZjVjenYudWN4DAAAAHB5aWZmaTRxLnlx
+ NAwAAABtZXNsNXRldy40dmYMAAAAc3ZyMDFjcHEudWduDAAAAGpvemx1Mmp4LnJnZwwAAAB4cGho
+ ZWEycy5rbG0MAAAAbnJ3cTVtNWkuMmx5DAAAAGlqZ3Nnc3Q0LjBmbwwAAAA0dWdmbHVmei5xdGUM
+ AAAAeHkxZG4xMWkucDBsDAAAAGR0dHdvY2R1LjNuNAwAAABxYW9xMGdhaS5uMW0MAAAAbHNncnB3
+ bXcuemsxDAAAAGUxMHhwb2JxLmZnbwwAAAAzbGMydGo0aC5lemIMAAAAa3d3azBydjUuMm8xDAAA
+ AHAya3ZhZGNpLmpkYgwAAAB4cmR2bW5sbi52MXcMAAAAYXowYm51bG4ua3drDAAAAGNtaXF5NHZq
+ LmFlMwwAAAAxbmNmMmEwbC5sMXQMAAAAMzVhM2ZmcmIuZmFnDAAAAGh4bHJpZDIwLmNhbQwAAABh
+ czNwcHNmdS5xd2IMAAAAdjBpMXZ6ZXguZXduDAAAAHczcHNqZ21iLnYxZwwAAAB4angyNG9uZy56
+ bGYMAAAAM3RnbzFnZnAuYnIxDAAAAGkxaDJ1b2hqLmt3NQwAAAB4ZGp6YWIway53eXEMAAAAZGph
+ MnowMjEuNTJpDAAAAHBxdHpocmNkLm93cgwAAABobXZkaXdndy4wb2cMAAAAM2d5aGd0YzMuanBk
+ DAAAAHgxYWxnZGVuLnd0dgwAAABqYjBrcGhneC51MHgMAAAAa2kxMjRpdmQuMHhqDAAAAHkxYnpy
+ b3p1LmZqaQwAAABtM20xZGIzdi5ka2IMAAAAZDAzbHB2cWYuaHl3DAAAAHdvcmZyZnhuLjJ0agwA
+ AABjMnJxemk0bC5kdXIMAAAAMjNoMmtraHEuc2h6DAAAAGxjeXl3Y2ZrLmZjegwAAABleWQ0M2Ny
+ Yy41d2kMAAAAMmhycWdzM28uamkyDAAAADJ0eTR1a2tsLjVjcwwAAAB3aHJnbmQ1Yi5lYTAMAAAA
+ amcxa2J2Y2cuYXR2DAAAADFqcWFyemhiLmNyYgwAAAAwdWhkbWY0NS5meW4MAAAAamIzYW9tMm8u
+ MGhtDAAAAHR1cnppcTRvLmpibgwAAAB5c2d0dHN4aS5ucHcMAAAAcDN0eHVtcXIubWFzDAAAAHZq
+ emVlanEzLmsydwwAAABmcG01bmdrcy52eDAMAAAAbXBzMXRtcXguM3VvDAAAADVoajFsajJkLnp5
+ cAwAAABtMXhnb3oyay50Z3IMAAAAZHNpcXpvdGgucnFqDAAAAHFxb3B5d3R5LmhoaQwAAABjaXVs
+ YWtzdC5wdXEMAAAAeWdvNGJ1MmsuMnVnDAAAAGZtY2ticm5vLnIxYgwAAABobGhhaDRuby5wcncM
+ AAAAZGI1dm92cGoudXFzDAAAADM1MnpoM3h5LjJhYgwAAAAzY3poa3VvMC5penMMAAAAM2Yxanlj
+ ZzMuajB2DAAAAGtiZHIwdzR1LmdtdAwAAAB6eDNhNHZsYS51c2sMAAAAc2J1ZmZibjQubzRwDAAA
+ ADJjMGZ2c2UzLmt2eQwAAABwZWN4MzNjMS56MDQMAAAAa21zYjFrNDIuNXBqDAAAAGNwM3ZianZ0
+ LnU1egwAAAAwbDRkbWhxdC40eG4MAAAAYWwzM2piY2MuZ3hrDAAAADNxaXBqeHYxLnhhMAwAAABl
+ aTVjZ3BiMi5qdWEMAAAAZTVvdWNnd2subW1mDAAAAGVqZmpzMGhzLm1jbAwAAAAzaXhuZWt4bS54
+ d28MAAAAdGRybWdoenoudGNiDAAAAHU0dzFldjNnLnJ5ZAwAAAByY3Bta3p3ai5lcXcMAAAANWVr
+ bG41MHcuNXM0DAAAAHh4NWx6djBtLnV3bQwAAAAwMTFjcWFuNC55enMMAAAAa25iY3JwYmwuZmx6
+ DAAAADUzbXo1d2dvLnVsbQwAAAB6eTByMGxzci5zMjIMAAAAYWhudGJ4ajQuYmJtDAAAADQybDF3
+ MnlhLmJzawwAAAB6bzAxNW01aS50enQMAAAAYmF2YWZndTIucTNlDAAAAGdzaHljcXFmLjFpZAwA
+ AAA1YjAzNXN5ZC4ybGcMAAAAbHlpZnkwaG4uenh3DAAAAGV0YXBwbGdqLmczYQwAAABtNGp0dXFh
+ di52ZWwMAAAAcWRvb2t5eHYucnF3DAAAAG9qeGI0YWhsLnZjMAwAAAA0eWNqeXd6ai54aWQMAAAA
+ c3ZqdW1uNXguNW9rDAAAADJ4amZsMmZhLm9icgwAAABjd2Z0aHBqdC5hcXMMAAAAdGM1M2JxeHMu
+ eDRjDAAAAHl4amRnYnYwLm9saAwAAABpcW5tNWh0ZS4wd2IMAAAAbGcxeXprNHEuNWpkDAAAADUy
+ dG92MmJ6LjVkaAwAAABrYzNxMWtjMS5qeXkMAAAAZ3NoeHYzeTEuNXR6DAAAAGpydWtvMGNxLnJn
+ YwwAAABlamFydmxmaS41cDUMAAAAeXgwdGpzeWEudGlvDAAAAGd1MGJ5NGJvLm4weAwAAABrejVr
+ aDB6Yy53MGQMAAAAejNwZm5heHIuaWF6DAAAAHR5ZWI1YnFqLjN4NQwAAAByd3RzbmJuci56dGEM
+ AAAANXB0dDV5MzQuNWhiDAAAAGhwZmVwMHFyLmFrYwwAAABiaW5rMHlyYy5qd28MAAAAcG1lenBz
+ amwuamQzDAAAADAzbGVnZHRvLmx5eQwAAABiMzNkYWk0My5xZXgMAAAAZGxudHFnbzMubm5xDAAA
+ AGJnaGJoa2VlLnRpcwwAAAByazBxM3Btay5jNDAMAAAAdnFjYXIxMnUua3pwDAAAADVid2FvZmJu
+ LnVwZwwAAABiZzJremkwZS53cGkMAAAAZTU0enhjZnMubHR5DAAAAGVtMDVzMnBpLm90MQwAAABv
+ YjFwMzUxbi54bWwMAAAAMGh1a3R4d2wuamV0DAAAAGtiaDF6dWxpLnA0MgwAAAB6b2NrZWtiYy5r
+ azAMAAAAd2pwYTFjMnIudmpxDAAAAHVkbmFrMXlhLjJscQwAAABub3BsenF1Zy5mY3cMAAAAZWdh
+ ZGJpd2EuZnN0DAAAAGJ2cmdkM2tjLmZmYgwAAABybnhrY2xnMy5lcmEMAAAAZGhmeGtoMmwud2wx
+ DAAAAGFyZHBqbDNoLmJvYwwAAAB3a2gzdWZ4eC55cGoMAAAAeXF5YmJoc2IucHVpDAAAAHRtem41
+ cXlzLnpwcwwAAABhNGVjZ3ZiYi51cGsMAAAAem5wMmd6MmoubGwwDAAAAHJwMHJhcHhuLml6cwwA
+ AAA0dHp0ZWRtbC54ZXcMAAAAbXEwc2Zqem0uMGVyDAAAAGN5Mmx3b24xLnczdwwAAAAxbHV1cm5x
+ Yi5qcGUMAAAAc2g1dmdrM3AuaHRqDAAAAHRlMHduYm8yLmJwcgwAAABteTB1czE1NC51b24MAAAA
+ NWhmZ2NyanYuanJjDAAAAGlmbGxpMHl3LjNkegwAAAA1eWJkamdnaC5nZHEMAAAAY2dqaWFvejUu
+ bHlpDAAAAHJ6aXc1MnViLmM0ZQwAAAByNG1xMGlzZC4xbWMMAAAAeGJlcW5md2UuNG8xDAAAAHVw
+ dTF3aXN4LnhvaQwAAABoaGd4ZHk0cS5qYnYMAAAAcXYzYjBqb3AubWFhDAAAAGR3NGQxZ2hjLjRj
+ MQwAAAB0cHNrdnJyMS5iczAMAAAAb3h0Z2N1M2EuZ2gxDAAAADNvamFlaGJ4Lm9rdAwAAAA1dGF0
+ ZmZwby50ZjQMAAAAdHM1c2N5c2gudnZwDAAAAHZncGE0amJrLnRrMgwAAABoamN3c2RvMi5waHEM
+ AAAAenZjMTMwZ3UuYjBpDAAAAHI0MWdrb2pjLnV3ZwwAAABnaHUwazByai40c24MAAAAZnoxM294
+ NGgubWxqDAAAAHMyZ2JjNXBqLnF0NQwAAAAycHJmb3Joai5mYjEMAAAAdm1icm1ucWIubGIzDAAA
+ AG1paHd2NWxhLmFmZwwAAABkdGhuZTRubC5saWsMAAAAdHh0dmZpdHcubnN2DAAAAGtiZHR5bjBs
+ LjFhaAwAAABzYmhia3Zhcy5qMm8MAAAAMHJzcDRtZmouZXU1DAAAAHpxeXVzZTV3LmY1NQwAAABr
+ Z2dwZzVzZS5nYWgMAAAAbTRjaTV4ZXoubGxhDAAAADEycTFkenBxLmEwdAwAAABuY3lyMnFzcy41
+ YTAMAAAAc2Zka2VsbW0ub3RyDAAAADRiZWdsMmZtLnh4NQwAAABzdnBscXhoNS5lbHcMAAAAZ3hh
+ b2FhbzUuZjJ4DAAAAG40c3JkZmt6LjQ0dgwAAABicHR2Mm5qbS50amwMAAAAY2FoZTBidGouYTBz
+ DAAAAGFkMGQ1dHJoLm0xdgwAAAB6dWswMW9hMy51M3gMAAAAcXoxdm90c2kudXg1DAAAAGl2Yndu
+ MjAxLnIzNQwAAABveW5xaHd2YS5ldGIMAAAAdHAzaG56b3AuZjVlDAAAAGpxcjJwbHhqLmVldAwA
+ AABnY2FvZG1iYS56M3MMAAAAandxejBkaGEueGF1DAAAAGt2MG5oMmZuLnZpYgwAAAAxNGMzanEw
+ dS5peW0MAAAAM212NGw0NTEuaGFsDAAAAGVxbXpoMXgwLjJuawwAAABzbGZub2xndy5jMHgMAAAA
+ dTNmZjVkdmIuZHozDAAAADVwNWZlMm9pLnN6cwwAAAAybmF5ajFwdS5pZG8MAAAAZDAycmZiM24u
+ djBhDAAAAGx3eW40d29jLmQyZwwAAAAycjR6bHRubS5qMWoMAAAAMWlyYnltMnQudXdpDAAAADBh
+ eHpqbTRwLjJycQwAAABibXR1eTBsaS4yZ2UVAhlMSBVwYXJxdWV0LWRvdG5ldC1zY2hlbWEVBgAV
+ DCUCGAJpZCUAABUMJQIYB3N0cmluZzElAAAVDCUCGAdzdHJpbmcyJQAAFqAfGSwZPCYIHBUMGTUG
+ CAAZGAJpZBUAFtAPFrhsFrhsJgg8GAM5OTkYATAWABbQDxgDOTk5GAEwAAAAJsBsHBUMGTUGCAAZ
+ GAdzdHJpbmcxFQAW0A8WuPsBFrj7ASbAbDwYDHp6cTBrZnk0LnZibhgMMDF3d3llNGcucGZzFgAW
+ 0A8YDHp6cTBrZnk0LnZibhgMMDF3d3llNGcucGZzAAAAJvjnAhwVDBk1BggAGRgHc3RyaW5nMhUA
+ FtAPFrj7ARa4+wEm+OcCPBgMenpxMGtmeTQudmJuGAwwMXd3eWU0Zy5wZnMWABbQDxgMenpxMGtm
+ eTQudmJuGAwwMXd3eWU0Zy5wZnMAAAAWqOMEFtAPABk8JrDjBBwVDBk1BggAGRgCaWQVABbQDxb0
+ fRb0fSaw4wQ8GAQxOTk5GAQxMDAwFgAW0A8YBDE5OTkYBDEwMDAAAAAmpOEFHBUMGTUGCAAZGAdz
+ dHJpbmcxFQAW0A8WuPsBFrj7ASak4QU8GAx6emxneXhhNS40eWEYDDAxMWNxYW40Lnl6cxYAFtAP
+ GAx6emxneXhhNS40eWEYDDAxMWNxYW40Lnl6cwAAACbc3AccFQwZNQYIABkYB3N0cmluZzIVABbQ
+ Dxa4+wEWuPsBJtzcBzwYDHp6bGd5eGE1LjR5YRgMMDExY3FhbjQueXpzFgAW0A8YDHp6bGd5eGE1
+ LjR5YRgMMDExY3FhbjQueXpzAAAAFuT0BBbQDwAoTFBhcnF1ZXQuTmV0IHZlcnNpb24gMy41LjMg
+ KGJ1aWxkICcwNTc0NTFiMzc2ZmE3ZDM1ODFmMmQxODAxZmIwOTY1YWZiZWFhMGMyJykAxQIAAFBB
+ UjE=
+ headers:
+ Accept:
+ - application/json
+ Accept-Encoding:
+ - gzip, deflate
+ Connection:
+ - keep-alive
+ Content-Length:
+ - '80087'
+ Content-Type:
+ - application/json
+ User-Agent:
+ - azsdk-python-storage-dfs/12.4.0b1 Python/3.8.5 (Windows-10-10.0.19041-SP0)
+ x-ms-client-request-id:
+ - 66b6659e-996d-11eb-9ac2-c8348e5fffbf
+ x-ms-date:
+ - Fri, 09 Apr 2021 19:54:31 GMT
+ x-ms-version:
+ - '2020-06-12'
+ method: PATCH
+ uri: https://storagename.dfs.core.windows.net/utqqcontainercdb31860/csvfilecdb31860?action=append&position=0
+ response:
+ body:
+ string: ''
+ headers:
+ Content-Length:
+ - '0'
+ Date:
+ - Fri, 09 Apr 2021 19:54:31 GMT
+ Server:
+ - Windows-Azure-HDFS/1.0 Microsoft-HTTPAPI/2.0
+ x-ms-request-id:
+ - 1b04ce31-501f-000b-7d7a-2dd77b000000
+ x-ms-request-server-encrypted:
+ - 'true'
+ x-ms-version:
+ - '2020-06-12'
+ status:
+ code: 202
+ message: Accepted
+- request:
+ body: null
+ headers:
+ Accept:
+ - application/json
+ Accept-Encoding:
+ - gzip, deflate
+ Connection:
+ - keep-alive
+ Content-Length:
+ - '0'
+ If-Match:
+ - '"0x8D8FB914AE5DEAD"'
+ User-Agent:
+ - azsdk-python-storage-dfs/12.4.0b1 Python/3.8.5 (Windows-10-10.0.19041-SP0)
+ x-ms-client-request-id:
+ - 66dabc17-996d-11eb-bb26-c8348e5fffbf
+ x-ms-date:
+ - Fri, 09 Apr 2021 19:54:32 GMT
+ x-ms-version:
+ - '2020-06-12'
+ method: PATCH
+ uri: https://storagename.dfs.core.windows.net/utqqcontainercdb31860/csvfilecdb31860?action=flush&position=80087&close=true
+ response:
+ body:
+ string: ''
+ headers:
+ Content-Length:
+ - '0'
+ Date:
+ - Fri, 09 Apr 2021 19:54:31 GMT
+ ETag:
+ - '"0x8D8FB914B1C8907"'
+ Last-Modified:
+ - Fri, 09 Apr 2021 19:54:32 GMT
+ Server:
+ - Windows-Azure-HDFS/1.0 Microsoft-HTTPAPI/2.0
+ x-ms-request-id:
+ - 1b04ce32-501f-000b-7e7a-2dd77b000000
+ x-ms-request-server-encrypted:
+ - 'false'
+ x-ms-version:
+ - '2020-06-12'
+ status:
+ code: 200
+ message: OK
+version: 1
diff --git a/sdk/storage/azure-storage-file-datalake/tests/test_datalake_service_client.py b/sdk/storage/azure-storage-file-datalake/tests/test_datalake_service_client.py
index 32e1f00ba6a8..472a6d62605b 100644
--- a/sdk/storage/azure-storage-file-datalake/tests/test_datalake_service_client.py
+++ b/sdk/storage/azure-storage-file-datalake/tests/test_datalake_service_client.py
@@ -263,7 +263,8 @@ def test_set_logging(self):
@record
def test_set_hour_metrics(self):
- hour_metrics = Metrics(enabled=True, include_apis=True, retention_policy=RetentionPolicy(enabled=True, days=5))
+ hour_metrics = Metrics(
+ include_apis=False, enabled=True, retention_policy=RetentionPolicy(enabled=True, days=5))
# Act
self.dsc.set_service_properties(hour_metrics=hour_metrics)
diff --git a/sdk/storage/azure-storage-file-datalake/tests/test_datalake_service_client_async.py b/sdk/storage/azure-storage-file-datalake/tests/test_datalake_service_client_async.py
index ed9b9c2c8e3b..4246f3e85e7d 100644
--- a/sdk/storage/azure-storage-file-datalake/tests/test_datalake_service_client_async.py
+++ b/sdk/storage/azure-storage-file-datalake/tests/test_datalake_service_client_async.py
@@ -300,7 +300,8 @@ def test_set_logging(self):
loop.run_until_complete(self._test_set_logging())
async def _test_set_hour_metrics(self):
- hour_metrics = Metrics(enabled=True, include_apis=True, retention_policy=RetentionPolicy(enabled=True, days=5))
+ hour_metrics = Metrics(
+ include_apis=False, enabled=True, retention_policy=RetentionPolicy(enabled=True, days=5))
# Act
await self.dsc.set_service_properties(hour_metrics=hour_metrics)
diff --git a/sdk/storage/azure-storage-file-datalake/tests/test_file_system.py b/sdk/storage/azure-storage-file-datalake/tests/test_file_system.py
index b7f26dace2ab..fd305b6e4f41 100644
--- a/sdk/storage/azure-storage-file-datalake/tests/test_file_system.py
+++ b/sdk/storage/azure-storage-file-datalake/tests/test_file_system.py
@@ -417,8 +417,8 @@ def test_get_deleted_paths(self):
dir2.delete_directory()
file_in_dir3.delete_file()
file_in_subdir.delete_file()
- deleted_paths = list(file_system.get_deleted_paths())
- dir3_paths = list(file_system.get_deleted_paths(name_starts_with="dir3/"))
+ deleted_paths = list(file_system.list_deleted_paths())
+ dir3_paths = list(file_system.list_deleted_paths(path_prefix="dir3/"))
# Assert
self.assertEqual(len(deleted_paths), 6)
@@ -428,10 +428,10 @@ def test_get_deleted_paths(self):
self.assertEqual(dir3_paths[0].name, 'dir3/file_in_dir3')
self.assertEqual(dir3_paths[1].name, 'dir3/subdir/file_in_subdir')
- paths_generator1 = file_system.get_deleted_paths(max_results=2).by_page()
+ paths_generator1 = file_system.list_deleted_paths(max_results=2).by_page()
paths1 = list(next(paths_generator1))
- paths_generator2 = file_system.get_deleted_paths(max_results=4).by_page(
+ paths_generator2 = file_system.list_deleted_paths(max_results=4).by_page(
continuation_token=paths_generator1.continuation_token)
paths2 = list(next(paths_generator2))
diff --git a/sdk/storage/azure-storage-file-datalake/tests/test_file_system_async.py b/sdk/storage/azure-storage-file-datalake/tests/test_file_system_async.py
index 937e05e4c5ab..b65a9a865be8 100644
--- a/sdk/storage/azure-storage-file-datalake/tests/test_file_system_async.py
+++ b/sdk/storage/azure-storage-file-datalake/tests/test_file_system_async.py
@@ -654,10 +654,10 @@ async def _test_get_deleted_paths(self):
await file_in_dir3.delete_file()
await file_in_subdir.delete_file()
deleted_paths = []
- async for path in file_system.get_deleted_paths():
+ async for path in file_system.list_deleted_paths():
deleted_paths.append(path)
dir3_paths = []
- async for path in file_system.get_deleted_paths(name_starts_with="dir3/"):
+ async for path in file_system.list_deleted_paths(path_prefix="dir3/"):
dir3_paths.append(path)
# Assert
@@ -668,12 +668,12 @@ async def _test_get_deleted_paths(self):
self.assertEqual(dir3_paths[0].name, 'dir3/file_in_dir3')
self.assertEqual(dir3_paths[1].name, 'dir3/subdir/file_in_subdir')
- paths_generator1 = file_system.get_deleted_paths(max_results=2).by_page()
+ paths_generator1 = file_system.list_deleted_paths(max_results=2).by_page()
paths1 = []
async for path in await paths_generator1.__anext__():
paths1.append(path)
- paths_generator2 = file_system.get_deleted_paths(max_results=4) \
+ paths_generator2 = file_system.list_deleted_paths(max_results=4) \
.by_page(continuation_token=paths_generator1.continuation_token)
paths2 = []
async for path in await paths_generator2.__anext__():
diff --git a/sdk/storage/azure-storage-file-datalake/tests/test_quick_query.py b/sdk/storage/azure-storage-file-datalake/tests/test_quick_query.py
index 0aae5aca4ad5..0668835b1cc5 100644
--- a/sdk/storage/azure-storage-file-datalake/tests/test_quick_query.py
+++ b/sdk/storage/azure-storage-file-datalake/tests/test_quick_query.py
@@ -6,6 +6,7 @@
# license information.
# --------------------------------------------------------------------------
import base64
+import os
import pytest
@@ -22,6 +23,7 @@
)
# ------------------------------------------------------------------------------
from azure.storage.filedatalake import DataLakeServiceClient
+from azure.storage.filedatalake import QuickQueryDialect
CSV_DATA = b'Service,Package,Version,RepoPath,MissingDocs\r\nApp Configuration,' \
b'azure-data-appconfiguration,1,appconfiguration,FALSE\r\nEvent Hubs' \
@@ -845,4 +847,45 @@ def on_error(error):
on_error=on_error,
file_format=input_format)
+ @record
+ def test_quick_query_input_in_parquet_format(self):
+ # Arrange
+ file_name = self._get_file_reference()
+ file_client = self.dsc.get_file_client(self.filesystem_name, file_name)
+ errors = []
+
+ def on_error(error):
+ errors.append(error)
+ expression = "select * from blobstorage where id < 1;"
+ expected_data = b"0,mdifjt55.ea3,mdifjt55.ea3\n"
+
+ parquet_path = "parquet.parquet"
+ with open(parquet_path, "rb") as parquet_data:
+ file_client.upload_data(parquet_data, overwrite=True)
+
+ reader = file_client.query_file(expression, file_format=QuickQueryDialect.ParquetDialect, on_error=on_error)
+ real_data = reader.readall()
+
+ self.assertEqual(real_data, expected_data)
+
+ @record
+ def test_quick_query_output_in_parquet_format(self):
+ # Arrange
+ file_name = self._get_file_reference()
+ file_client = self.dsc.get_file_client(self.filesystem_name, file_name)
+ errors = []
+
+ def on_error(error):
+ errors.append(error)
+
+ expression = "SELECT * from BlobStorage"
+ parquet_path = "parquet.parquet"
+ with open(parquet_path, "rb") as parquet_data:
+ file_client.upload_data(parquet_data, overwrite=True)
+
+ with self.assertRaises(ValueError):
+ file_client.query_file(
+ expression, file_format=QuickQueryDialect.ParquetDialect,
+ output_format=QuickQueryDialect.ParquetDialect, on_error=on_error)
+
# ------------------------------------------------------------------------------
diff --git a/sdk/storage/azure-storage-file-share/CHANGELOG.md b/sdk/storage/azure-storage-file-share/CHANGELOG.md
index a43c5bfdc1c0..a7c701c865aa 100644
--- a/sdk/storage/azure-storage-file-share/CHANGELOG.md
+++ b/sdk/storage/azure-storage-file-share/CHANGELOG.md
@@ -1,6 +1,6 @@
# Release History
-## 12.4.2 (Unreleased)
+## 12.5.0b1 (Unreleased)
## 12.4.1 (2021-01-20)
diff --git a/sdk/storage/azure-storage-file-share/azure/storage/fileshare/_version.py b/sdk/storage/azure-storage-file-share/azure/storage/fileshare/_version.py
index 91cf474e0d6f..bfd3230dfa42 100644
--- a/sdk/storage/azure-storage-file-share/azure/storage/fileshare/_version.py
+++ b/sdk/storage/azure-storage-file-share/azure/storage/fileshare/_version.py
@@ -4,4 +4,4 @@
# license information.
# --------------------------------------------------------------------------
-VERSION = "12.4.2"
+VERSION = "12.5.0b1"
diff --git a/shared_requirements.txt b/shared_requirements.txt
index e945638b35e2..626927eb4f34 100644
--- a/shared_requirements.txt
+++ b/shared_requirements.txt
@@ -144,15 +144,15 @@ avro<2.0.0,>=1.10.0
#override azure-ai-formrecognizer msrest>=0.6.21
#override azure-ai-formrecognizer azure-core<2.0.0,>=1.8.2
#override azure-storage-blob azure-core<2.0.0,>=1.10.0
-#override azure-storage-blob msrest>=0.6.18
+#override azure-storage-blob msrest>=0.6.21
#override azure-storage-blob-changefeed azure-storage-blob>=12.5.0,<13.0.0
#override azure-storage-queue azure-core<2.0.0,>=1.10.0
#override azure-storage-queue msrest>=0.6.18
#override azure-storage-file-share msrest>=0.6.18
#override azure-storage-file-share azure-core<2.0.0,>=1.10.0
#override azure-storage-file-datalake azure-core<2.0.0,>=1.10.0
-#override azure-storage-file-datalake msrest>=0.6.18
-#override azure-storage-file-datalake azure-storage-blob<13.0.0,>=12.8.0b1
+#override azure-storage-file-datalake msrest>=0.6.21
+#override azure-storage-file-datalake azure-storage-blob<13.0.0,>=12.9.0b1
#override azure-security-attestation msrest>=0.6.0
#override azure-security-attestation azure-core<2.0.0,>=1.8.2
#override azure-data-tables msrest>=0.6.19